Story: Populate the ACME books with a realistic trade population — the remaining work
Table of Contents
This page documents a story in Sprint 30, carried unfinished from Sprint 29 at close. It captures the goal, current status, acceptance criteria, and the tasks that compose it.
1. Goal
ACME's books hold a realistic trade population: every asset class the platform can price, in the proportions a dealing institution holds, dated relative to the day the tenant is provisioned, and referencing the parties, books, counterparties and staff the tenant already holds.
The synthetic trade generation machinery produces it. That machinery is scoped by tenant and by party and is driven by a trade generation config, so ACME is the first tenant it serves and Northwind is the next. No task in this story may name a tenant, a party, a book or a counterparty. Those arrive from the config row. The only place that names ACME is the ACME seed data.
The investigation this story commissioned is Investigation: Populating ACME with a trade population. It is the record of what was measured and which mechanism was chosen. It is a snapshot, not a description of the system.
2. Status
| Field | Value |
|---|---|
| State | BACKLOG |
| Parent sprint | Sprint 30 |
| Now | Not yet started. Split from Populate the ACME books with a realistic trade population — the remaining work, which closed in sprint 29 with its done tasks. |
| Waiting on | Nothing. |
| Next | Triage into a sprint. |
| Last touched | 2026-11-08 |
3. Acceptance
- One asset class at a time. A planner exists for every asset class in the refdata catalogue, and the planner for a class books the trade types the catalogue routes to that class.
- The population is a function of (seed, as-of). A review is a rebuild and a diff, and a second run books nothing.
- The product mix matches Trade Population Weights within a stated tolerance, and every routed product appears at least once.
- Every trade names a party, a book, a netting set and a counterparty the tenant holds.
- The population exports as the ORE portfolio the engine reads, and reverse-maps without loss.
- A second tenant runs the same machinery from its own config rows with no code change.
4. Tasks
| Task | State | Start | End | Description |
|---|---|---|---|---|
| Let the wizard state the population as shares | BACKLOG | Task for: Populate the ACME books with a realistic trade population — the remaining work |
5. Decisions
- Split from Populate the ACME books with a realistic trade population — the remaining work on 2026-11-08 at sprint 29 close. The acceptance above is copied from that story; its done tasks are recorded there.
6. Out of scope
- Intraday reports. They belong to the report inputs story.
- Draft reasons, structure holds and structure completion. They belong to the Trade Blotter.