feat(eval): declare the Dowel lane's boundaries and author its board #982
No reviewers
Labels
No labels
move-to-repo
coilyco-bridge-deploy
move-to-repo
coilyco-flight-deck-agent-compose
move-to-repo
coilyco-gaming-eco-app
move-to-repo
coilysiren-inbox
move-to-repo
unknown
🔒⚠️📦⚠️🔒 SANDBOXED 🔒⚠️📦⚠️🔒
autonomy
async-consult
autonomy
epic
autonomy
headless
autonomy
live-collab
c#
priority
P0
priority
P1
priority
P2
priority
P3
priority
P4
role/ai
role/creator
role/design
role/director
role/engineer
role/exec
role/human
role/ops
role/qa
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
coilyco-gaming/sirens-echo!982
Loading…
Reference in a new issue
No description provided.
Delete branch "aos/claude/dowel-board"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Dowel had no eval subject at all.
agents/helddeepandecho, the verbs wereeval-echo,eval-deep, andboard-deep, andeval/boundaries.yamlnamed Dowel zero times.eval-deepis not a stand-in either: Deep composescreator, Dowel composesengineer, and Dowel adds thesirens-dowelskill root, so running it would report a clean result about a different agent.Twelve boundaries, scoped to the lane
They carry
role: dowel, whichaos-evalalready supports per boundary, so a board derives the lane it is measuring rather than every lane at once.They go in the shared declaration rather than a file of their own because
scripts/boundaries.shhardcodesFILE=eval/boundaries.yaml. A separate file would not be drift-checked, and an origin nobody checks is exactly the thing that goes stale.All twelve origins resolve against files this lane actually carries.
just boundaries-checknow reports 40 declared, 34 derived from source, 6 prose.The shared
content-*andreply-*boundaries still bind Dowel, because they come from the harness every lane runs. Fourprose-*entries do not: they cite.agents/skills/sirens-echo-community, a root Dowel does not load. That is the reason this is a Dowel declaration rather than a copy of Deep's, and it is worth knowing before anyone points Deep's board at this lane.One boundary was not exercisable, so I reshaped it
dowel-moxn-outageasked for the behaviour on a failed knowledge-base call. A prompt cannot make a credential expire, so the pair could never be authored honestly. It is nowdowel-moxn-empty-result: an absent document reaches the same rule through a turn that can actually get there.The board
agents/dowel/evaluations/board-slots.yaml, in aos-eval's dataset shape, soboundaries checkandannotate --profile eval/aos-eval-profile.yamlread it with no adapter.Only
promptis authored.id,boundary,half,pair_id, andtargetare the derived values, which is the splitaos-eval boundaries derivedocuments: the target comes from the declaration and nothing invents a prompt.outputis empty on all 24. aos-eval holds no runner and no model client, so nothing in the grading layer fills it. Dowel is a live Discord lane rather than a fixture, so an output arrives from a real turn in#moxn-temporal, either through the lane'sturnsurface or by a human posting the prompt. That is the one gap between this board and a runnable one.dowel-favorite-color-inis the board's validity check. It reproduces the failure this whole thread started from, so the profile orders it first among the Dowel groups, matching the reasonno-invented-surfaceleads Deep's.Verified rather than asserted
just boundaries-check- 40 declared, 34 derived from source, every Dowel origin resolving.aos-eval boundaries check- 0 Dowel slots missing, 0 unpaired, 0 undeclared. It still exits 1 on the 56 shared slots that remain unauthored, which is the honest signal rather than a coverage percentage.aos-eval validate --profile- 24 samples match the profile.code-commentshook rejects YAML comments below the top header, so all commentary sits in the header blocks.Not done here
The 56 shared slots are still unauthored, and the Deep board remains the 10-case pilot slice that closes none of them. That is the next slice and a bigger one.
Co-Authored-By: Claude Opus 5 (1M context) noreply@anthropic.com
Generated with Claude Code