Task: Construct every bond product by name
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
Every routed bond code is constructed by a function that names it, the writer translates no bond product, and a provisioning run books the same bond population as before.
2. Status
| Field | Value |
|---|---|
| State | ABANDONED |
| Parent story | Let the plan state domain rows, not a bag |
| Now | Nothing. |
| Waiting on | Nothing. |
| Next | Nothing. |
| Last touched | 2026-10-29 |
3. Acceptance
- One constructor per routed bond code, with the trade type fixed by it.
- Terms hold only the columns each product's shape states, and the closed vocabularies are refused at construction.
- The writer hands the constructed row to the batch and no longer translates a bond.
- A provisioning run books the same bond population as before this change, and the suites are green.
4. Plan
(Implementation strategy. Written when work starts; key decisions
are distilled into the parent story's * Decisions at close, but the
plan itself stays — it is the historical record of what we did.)
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 |
|---|---|
| #4040 | [agile] Record two populations that do not book |
9. Review
| Comment summary | File | Decision | Notes |
|---|---|---|---|
10. Result
Abandoned, because the measurement changed the task. Nine of the ten routed
bond codes are never drawn: the planner states one product, Bond, for every
slot. Measured on a recreated database at 0f0533fc7a, the bond instrument
table holds 24 rows and all 24 are Bond; the family's own fact rows are
empty, because the writer fills only the instrument header.
Constructing nine products nothing draws would have been dead code with a test attached, and constructing the tenth would have fixed a trade type the planner already hardcodes. So the work is not a constructor's: the population has to draw the products before a constructor can state them.
Recorded as captures:
The rates family is where constructors pay next: eight of its ten codes are drawn, across a header table and its fact tables.