Files
portal/runs/tomtervel-claude-2026-09-22
Bendik Aagaard LynghaugandClaude Fable 5.1 255aeb4f4b plan: intake to plan by a model; doors, labelled groups, the whole card
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
2026-09-23 12:31:51 +02:00
..

Tomter Vel, built from plans/tomtervel.yaml, Claude Sonnet writing the words

build with MODEL=sonnet engines/claude.sh (Claude Code's print mode on a Max subscription), every one of 21 pages worded, first try, verifier green by construction. Visitor: qwen3:8b, one task per call. Personas: 17, held out. question_lint from portal at d7f60ea.

Visitor could read Routed right
Headings and descriptions 25 of 30
Headings only 22 of 30

Thirty tasks because every persona behind a door is asked twice: the door on /, then the form on the door's page.

What the misroutes say

  • "Utstyr" is the wrong word. The playground form is headed "Få ødelagt utstyr fikset før noen skader seg". A swing on one chain and a rotten plank on the river path both went to the traffic form, on headings alone and with descriptions. To the visitor those are "the playground" and "the path", not equipment. The plan's who says so; the heading should too.
  • Hearing input is behind the wrong door. Both hearing personas ("the municipality wants to build blocks", "Ruter will cut the early train") chose "Meld fra om noe i nabolaget" on headings alone. A resident with an opinion on a municipal case is reporting something, not volunteering. Opus's plan for the same intake put hearing input straight on the front door; that reads better.
  • The bidra door holds three things that blur. The waffle volunteer chose the hearing form on headings, the committee form with descriptions; the planner who wants a committee seat chose the hearing form both times. "Get a seat on the committee that suits you" and "get your view into the vel's hearing reply" overlap for anyone whose interest is planning. Two doors, one for doing and one for having a say, would separate them.
  • Membership on headings alone. A newcomer asking "how do we join and what does it cost" chose "Bli med og gjøre en innsats". "Bli med" (join) is on the wrong heading: it is the words a newcomer is looking for, and it sits on the volunteering door.

None of these is a Norwegian problem; the pages read naturally and LIX is 23 to 35 throughout. They are heading choices, and each names one distinction the vel makes that a resident does not.

Rate, page by page

rate now scores every page on a path: the front door (@/) is where the door is chosen and carries no form; the door's page is where the form and the followup are. The front door's "asked" column is therefore near zero and means nothing there; the door pages all say what the form asks and what happens next. The control fails on "asked" for four pages, where one of two personas said yes to the gutted twin; with two personas the control is strict and one stray yes fails it. See rate.txt.