Task: Retire the per-entity shell units the facet already generates
Table of Contents
This page documents a task in the Generate shell command units per component story. It captures the goal, current status, acceptance, and any notes or results.
1. Goal
Nine of the hand-written units at the top level of ores.shell/application/src/app/commands/ map one-to-one to an entity model the ores.cpp.shell-command facet can already render: accounts, account parties, tenants, countries, currencies, parties, change reasons, change reason categories and variability settings. Generate them into a part per component, create those parts, delete the units they replace, and prove each one regenerates clean. This is the step trading already took, taken for the rest of the tree.
2. Status
| Field | Value |
|---|---|
| State | ABANDONED |
| Parent story | Generate shell command units per component |
| Now | Nothing. |
| Waiting on | Nothing. |
| Next | Nothing. |
| Last touched | 2026-09-23 |
3. Acceptance
- Each of the nine is generated into a component part of ores.shell and its hand-written predecessor is deleted.
- Each generated unit regenerates as a no-op from its own model and the committed templates.
- The shell drift gate covers the new parts.
- The build and the shell suites pass with the fleet up.
- Any entity needing a facet change to generate is moved to the accounting task with the reason written down.
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. Notes
6. 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 |
|---|---|---|
7. PRs
| PR | Title |
|---|---|
8. Review
| Comment summary | File | Decision | Notes |
|---|---|---|---|
9. Result
Abandoned at sprint 25 close. Sprint 26 replaces the codegen approaches tried so far with one method: for each module, sync codegen and clear its drift. Sprint 26 opens new, clean stories for each module. This story is not carried forward.