Task: The bond population books one product of ten
Table of Contents
This page documents a task in the Populate the ACME books with a realistic trade population — the remaining work story. It captures the goal, current status, acceptance, and any notes or results.
1. Goal
Ten trade types route to the bond instrument table. The planner draws exactly one of them, a plain Bond, so every one of the twenty-four bond trades in a provisioned tenant is a Bond and the other nine codes never appear. The family's own fact rows – the option, the repo, the future, the total return swap, the ASCOT, the callable's call dates, the convertible's conversion targets – are all empty, because the writer fills only the instrument header. A tenant therefore cannot see a bond option, a repo or a convertible, and nothing says so.
2. Status
| Field | Value |
|---|---|
| State | DONE |
| Parent story | Populate the ACME books with a realistic trade population — the remaining work |
| Now | Nothing. |
| Waiting on | Nothing. |
| Next | Nothing. |
| Last touched | 2026-10-29 |
3. Acceptance
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 |
|---|---|
9. Review
| Comment summary | File | Decision | Notes |
|---|---|---|---|
10. Scope, before any code
Making the other nine products book needs, in order: a decision about which of them a population should draw, what each one's economics should say (a bond option's strike, a repo's rate and haircut, a convertible's conversion targets), a planner change, and fact-row construction. The tables for those facts exist and are empty.
None of that is a constructor's job, and the decisions are not the constructor's either: they say what ACME's bond trades are.
Delivered by Draw every bond code and state its facts and its sibling Construct every bond product by name: the planner now draws all ten codes the catalogue routes to the bond instrument table, a fresh tenant books four of each, and every bond fact table holds its rows. BondFutureOption is the eleventh bond product and the catalogue routes it to no table, which is captured separately.
This task was the capture that named the gap; the two tasks above carry the work, so it closes with a pointer rather than with a second record of the same measurements.