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
Tomter Vel: the intake read into a plan by Claude Opus
portal-trainer plan --intake intakes/tomtervel.yaml --llm "MODEL=opus EFFORT=medium engines/claude.sh": Claude Opus 5 on a Max
subscription through Claude Code's print mode, one round, 57 s. The
YAML passed every check build makes first try. No personas attached;
plans/tomtervel.yaml is the hand-written plan for the same intake,
with personas, and is what was built.
Side by side with the hand-written plan:
| hand-written | Opus | |
|---|---|---|
| doors | 3 (medlem, melde-fra, bidra) + sharing on the front door | 4 (medlemskap, meld-fra, bidra, utstyr) + hearing input on the front door |
| needs | 9 | 10 |
| internal need for expenses | yes, enters_as: komiteer, 3 fields |
yes, enters_as: komite, 6 fields |
| member leaves by own link | no | yes, moves_by: { utmeldt: [submitter] } |
| poster takes down own notice | yes | yes |
| sharing | one need, one form, kept small on purpose | a door of its own, offer and borrow as two needs |
What Opus read right that the small model missed on the contractor:
every internal role became an enters_as need, every "they can take
it down themselves" became a submitter move, and stages were read
one verb at a time (open -> tatt_opp -> ordnet -> avvist). Nothing
in the intake was dropped.
What a reader would change:
- The expense claim asks six required fields of a volunteer with a receipt; three is enough (who, how much, what for).
- The equipment board was meant to stay small. Two needs and a door give it the weight of membership; one notice with "I have" or "I need" does the job.
naeromraadetin a door'swho: the ASCII rule is for identifiers, and the model applied it to prose a visitor reads. The words model never seeswho, so it costs nothing here, but a plan meant to be read should saynærområdet.