Work from another session, committed as found (tests green): - `plan` reads an intake into a plan.yaml (a model decides needs, stages, forms and budgets; a person reads the result before build). - Plans gain `doors` (a first question before the forms, when a front door would carry more than five needs), `groups` with labels that a select may draw its options from (`options_from: groups`), `private` fields kept off public pages, `multiple` selects, and `max_fields` as what the intake said the person will tolerate. - `card.rs`: an alternative as the visitor meets it, in text, so the answering visitor and `rate` read the served card, not the heading. - `rate` reads followup pages from the repo and reports "what happens next" as not measured rather than zero when it cannot. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01L4jrCgLiKKHAEFuZUJjckH
A machine hire yard behind two doors
plans/hire.yaml: four needs, two doors (hiring, firms), one
aggregate walked by two roles (the counter reserves, the yard hands
out and takes back), and the yard's own damage report. Built with
nemotron-3.5-lightning:30b-a3b writing the words, all 11 pages
worded, verifier green by construction. Visitor: qwen3:8b, one task
per call. Seven held-out personas, ten tasks.
| Visitor could read | Routed right |
|---|---|
| Headings and descriptions | 10 of 10 |
| Headings only | 10 of 10 |
The one case of the day with nothing to fix. The doors separate two kinds of visitor who never confuse themselves (a person with a job to do, and a firm that wants an account), and the two forms behind the hiring door are "I need a machine" and "the machine has stopped", which no visitor mixes up either. Doors work when the first question is one the visitor already knows the answer to.
rate.txt is the page-by-page rate; see rate.json.