44 lines
2.2 KiB
Markdown
44 lines
2.2 KiB
Markdown
# Vestmark kommune, planned again by Opus after the September additions
|
||||
|
|
|
|||
|
|
`portal-trainer plan --intake intakes/building-permits.yaml --personas
|
|||
|
|
intakes/building-permits-personas.yaml --llm "MODEL=opus EFFORT=medium
|
|||
|
|
engines/claude.sh" --rounds 3`, on 2026-09-30, after the guidance
|
|||
|
|
learnt to name records that answer records (`about`), members-only
|
|||
|
|
needs (`door` + `enters_as`), a group contact, and `grants` as the
|
|||
|
|
moment of membership. The plan came out of round 1 and passed the
|
|||
|
|
builder's checks; rounds 2 and 3 were not needed.
|
|||
|
|
|
|||
|
|
Side by side with the hand-written `plans/building-permits.yaml`
|
|||
|
|
(2026-09-25, before any of those existed):
|
|||
|
|
|
|||
|
|
| | hand-written | Opus, this run |
|
|||
|
|
|---|---|---|
|
|||
|
|
| needs / groups / doors | 14 / 5 / 2 | 14 / 4 / 2 |
|
|||
|
|
| needs `about` another | – | 3: objection, appeal, exemption, all about the application |
|
|||
|
|
| `grants` | – | firm approval lists the firm in `approved_firms` |
|
|||
|
|
| members-only (`door` + `enters_as`) | – | 3: a firm's application, completion certificate, temporary permission, for `approved_firms` |
|
|||
|
|
| `deadlines` | – | 4, incl. the six-week hearing |
|
|||
|
|
| public lists | 6 | 3 |
|
|||
|
|
| `reached_from` | 3 | 3 |
|
|||
|
|
|
|||
|
|
So the new lines were taken up unprompted, and for the right things: an
|
|||
|
|
objection belongs to the application it objects to, and a firm files
|
|||
|
|
because it was approved. What Opus did not carry over from the intake:
|
|||
|
|
the counter's own needs (`log-counter-enquiry`, `case-status-enquiry`),
|
|||
|
|
which two personas name; and the external agencies as a group of their
|
|||
|
|
own, folded into the case officers instead.
|
|||
|
|
|
|||
|
|
## What the run found in the tools
|
|||
|
|
|
|||
|
|
- **The builder wrote one answer page per answering need**, at the
|
|||
|
|
same path, so with three needs about the application only the last
|
|||
|
|
survived and iris found no path for the others. A record's page now
|
|||
|
|
holds one form per need about it (`words[...]["forms"][need]`).
|
|||
|
|
- **iris counted the carried record id as effort.** An objection form
|
|||
|
|
that carries the application's id was one field over its budget.
|
|||
|
|
iris main (with portal v0.5.7) counts what a person fills in.
|
|||
|
|
|
|||
|
|
With both fixed the site lints clean but for the two personas above:
|
|||
|
|
37 questions, 15 aggregates, 225 access rules, 12 of 14 needs met.
|
|||
|
|
Not built with words, not deployed.
|