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
       

10. Result

Emacs 29.3 (Org mode 9.6.15)