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_instrument model 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.

Emacs 29.3 (Org mode 9.6.15)