Relationships
#3331 swamp behavior is the full preferred command group, with every swamp model spelling kept
Opened by stack72 · 10/12/2026· Shipped 10/13/2026
Summary
Make swamp behavior (alias behaviour) the full preferred command group, with every swamp model spelling kept.
Target surface
| Preferred | Legacy (kept) |
|---|---|
| behavior run (shipped in #3265) | model method run, model @type method run |
| behavior create / get / edit / delete / validate / evaluate | model create / get / edit / delete / validate / evaluate |
| behavior search (alias list) | model search / list |
| behavior type describe (alias get) / type search (alias list) | model type ... |
| behavior describe | model method describe |
| behavior history [] + get / search / logs | model method history ... |
| behavior output [] + get / search / logs / data | model output ... |
| behavior cancel / --all | model cancel |
The method level is dropped under behavior. No hidden behavior method ... spelling; the unknown-command handler redirects it.
Scope
- Build the
behaviortree from the factories added in 2a. - Help, examples, usage strings, error hints and next-step messages under
behaviorsay "behavior". Shared log-mode renderers and Ink screens say "behavior". JSON output is unchanged. - Each legacy leaf's
--helppoints at its preferred spelling. No deprecation warning. - Telemetry span attributes and argument classification for every new path, both spellings; reuse the boolean-flag list so flags do not shift positionals (and add the missing
--log). - Unknown-command hints suggest
behavior ...and map hybrid words (behavior method describe,model run).
Acceptance
- Argument/option parity between each
behaviorleaf and its legacy twin, aliases, distinct instances, CLI schema. - Integration parity: create → get → edit → validate → run → history → output → delete give identical records and JSON through both spellings, including
--server. - Legacy JSON output byte-identical vs main; legacy telemetry unchanged.
Direction
behavior replaces model as the product term wherever people or agents read it. swamp-club#3265 shipped swamp behavior run (alias behaviour) as a CLI word only; this series takes the term product-wide.
Glossary: model → behavior, model definition → behavior definition, model type → behavior type, model output → behavior output. "method" stays: swamp behavior run <behavior> <method>.
Compatibility rule (applies to every issue in the series)
The existing system MUST NOT regress. Every change is additive: behavior is the preferred spelling, and every model spelling and stored format keeps working exactly as today.
Unchanged: the models/ directory and .swamp/ layout, JSON output keys and error codes (model_not_found, model_id, ...), audit action names as stored (model.method.run, ...), serve protocol, CEL model.*, libswamp and domain class names, log categories. Writers keep emitting the old form of any stored format.
No-regress gates: swamp-uat passes unchanged (new UAT tests are only added, tracked separately); legacy commands give byte-identical output and exit codes on the released binary vs the branch binary in log and JSON mode; every new test is red-checked against main.
Series
- Design record — the glossary and compatibility rules in design/
2a. Factory refactor of the
modelcommand tree, no visible change 2b. The fullswamp behaviorcommand tree and behavior wording - Skills and generated agent guidance
- Serve dashboard wording
- Stored formats accept the behavior spellings alongside model ones
Shipped
Click a lifecycle step above to view its details.
Sign in to post a ripple.