Task: Scaffold story: Let the plan state domain rows, not a bag
Table of Contents
This page documents a task in the Let the plan state domain rows, not a bag story. It captures the goal, current status, acceptance, and any notes or results.
1. Goal
Create the story through compass story new so it carries an identity the
document index can resolve, wire it into sprint 29, and put its reasoning back
into the file the tool owns.
2. Status
| Field | Value |
|---|---|
| State | DONE |
| Parent story | Let the plan state domain rows, not a bag |
| Now | Nothing. |
| Waiting on | Nothing. |
| Next | Nothing. |
| Last touched | 2026-10-28 |
3. Acceptance
- The story carries a properties drawer with its ID and every header field, so
compass task new --storyresolves it. - Sprint 29's stories table names the story by its real ID, with no dangling link.
- The story states the model, the defect and the decisions, and points at the design note.
4. Plan
Write the story body as prose first, then create the story with compass story
new, passing the goal and the acceptance bullets so the generated file starts
from the real text rather than a placeholder. Splice the remaining sections —
decisions, why, what the bag is, the defect underneath, the model, the design
record — into the generated file, and never touch the header.
5. Measurements
Every number this task claims about a tree, with the command that produced it
and the commit it was measured at. A number without both is not a measurement,
because a clean-up record describes a tree and trunk moves under a branch: a
consumer count, a gate's component count and a suite's size all change with no
code changing, and the reader of a bare number cannot tell which tree it came
from. Where the raw output matters, put it in an evidence/ file beside the
task and name that file in the Command column.
| What | Value | Command | Commit |
|---|---|---|---|
6. Notes
7. Test Scenarios
Manual QA scenarios (scaffolded via compass add test_scenario)
that verify this task. Link
new ones here as they're created; the scenario doc itself links back
via its "Verifies task" field.
| Scenario | State | Notes |
|---|---|---|
8. PRs
| PR | Title |
|---|---|
| #4018 | [agile] Let the plan state domain rows, not a bag |
9. Review
| Comment summary | File | Decision | Notes |
|---|---|---|---|
10. Result
The story exists at 9BB217A3-C60C-482C-9384-DC2E7DF8E322 and
compass task new --story 9BB217A3-C60C-482C-9384-DC2E7DF8E322 resolves it,
which it could not do before.
The first attempt was hand-written and had no header at all: no properties
drawer, no #+title, no #+type, no ID. The index therefore never saw it, and
the sprint row added by hand named 6D920523, an ID that existed nowhere on
disk, so sprint 29 carried a dangling reference. Both are gone. The branch was
reset onto origin/main (it was fifteen commits behind) and the story was
created through the tool.