Task: Generate container add verbs in the shell command facet
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
Teach the shell-command facet to render an add verb that assembles a container
across several services in one command. The bond instrument add verb writes
the issue, the instrument, and the engaged option or trs fact row, and it
mints the keys that link them. The facet renders one row from one entity
model, so bond_instrument stays hand-written until the model and the facet
can express that container.
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
- The
bond_instrumentmodel carries:ores.cpp.shell-command.enabled:again, and a regeneration of the opted-in trading entities leaves the tree clean. - The generated bond instrument add verb takes the same arguments as the hand-written unit, and produces the same rows, in the same order, through the same services.
- The container shape is stated in the model, not in the template: which entity each row comes from, the service that owns it, the save order, and the key that flows from one row to the next.
- The generated unit carries a test that covers the container build, including the failure that leaves the earlier rows saved.
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, run
through the QA Validation Runner panel) 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.