Story: Roll the generator fixes out to the components outside the test list
Table of Contents
This page documents a story in Sprint 26. It captures the goal, current status, acceptance criteria, and the tasks that compose it.
1. Goal
Every component outside COMPONENTS_UNDER_TEST carries the four generator
fixes the refdata clean-standard pass landed: a put response and a
single-version response carry their row in a std::optional; a batch removal
of an empty key list answers instead of rendering an empty IN (; the
protocol-dependency gate keeps the ores.doc.shell-recipe family alive, so
each component's recipes regenerate; and each response shape's TypeScript twin
matches its header. The work is captured in the next bucket as
shell-recipes-no-longer-run.
2. Status
| Field | Value |
|---|---|
| State | DONE |
| Parent sprint | Sprint 26 |
| Now | Nothing. |
| Waiting on | Nothing. |
| Next | Nothing in this story. trading and workspace-cpp stay in shell-recipes-no-longer-run in the next bucket. |
| Last touched | 2026-09-28 |
3. Acceptance
history,scheduler,storage,marketdataandsyntheticare regenerated against the current templates, one commit per component, andcheck_component_drift.py --allreports no drift.- Every hand-written caller the new response shapes break is migrated, with the break named in the commit that fixes it.
- A full
compass buildexits 0,compass db recreate -y -kexits 0, the fleet comes up 25 of 25, and the fullctestsuite passes. - The two components that stay outside —
tradingandworkspace-cpp— are recorded with the reason each is out, so the remainder is not assumed done.
4. Tasks
| Task | State | Start | End | Description |
|---|---|---|---|---|
| Regenerate the five components and fix the callers the new shapes break | DONE | 2026-09-28 | 2026-09-28 | Regenerate history, scheduler, storage, marketdata and synthetic against the current templates, commit each component on its own, and migrate every hand-written caller the new response shapes break. |
5. Decisions
tradingis deliberately not regenerated. Its model holds 64 entities, and the regeneration rewrites the whole component rather than refreshing a stale corner of it.workspace-cppis deferred rather than out. Its regeneration is structural: it materialises 30 files, 10 of them new eventing, history-provider, registrar, handler and presentation files the component does not carry.
6. Out of scope
tradingandworkspace-cpp, for the reasons above. Both stay inshell-recipes-no-longer-runso the next pass picks them up.
7. Result
Merged as 17fa9f47fd through PR #2334, with 14 checks green. Five of the seven components are regenerated and the shell's scheduler command reads the optional definition the new shape carries. The merge tree is identical to the verified branch head.