Task: Fix the defects the bond family review found
Table of Contents
This page documents a task in the Fix the defects the bond family review found story. It captures the goal, current status, acceptance, and any notes or results.
1. Goal
Close the defects the review found in the bonds instrument family, so the money that crosses the import boundary keeps its digits and the model states what the schema and the domain type already assume.
2. Status
| Field | Value |
|---|---|
| State | BACKLOG |
| Parent story | Fix the defects the bond family review found |
| Now | Not yet started. |
| Waiting on | Nothing. |
| Next | Begin implementation. |
| Last touched | 2026-10-16 |
3. Acceptance
- The money columns that reach the persisted domain through a binary float are read with a decimal parse instead, or each is recorded with the evidence for why it cannot be.
- bond_forward.premium_amount is exact decimal in the model, the generated domain type and the column.
- instrument_option.premium_amount and instrument_option_exercise_price.price use numeric(38, 12), the scale the family's other money columns use.
- The money-column check flags a money column typed text, and its baselines are seeded rather than empty.
- The schedule parent and schedule-date child agree on the set of owner roles they admit.
- bond_repo.repo_index and bond_trs.funding_index generate an optional domain type, matching their nullable columns.
- The model that cites doc/knowledge/architecture/trading_bond_relational_model.org cites a page that exists.
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 |
|---|---|---|---|