Skip to main content
← Back to list
01Issue
FeatureShippedSwamp CLIPublic
Assigneesstack72

Relationships

#3330 Build each swamp model command from a factory so behavior can share it (no visible change)

Opened by stack72 · 10/12/2026· Shipped 10/13/2026

Summary

Prepare the swamp model command tree so a second, independent copy of each command can be built for swamp behavior, without changing anything a user can see.

Scope

  • Turn each model leaf and sub-group (create, get, edit, delete, validate, evaluate, search/list, cancel, type describe/search, method describe, method history get/search/logs, output get/search/logs/data, and the history/output/type groups with their shorthand positionals) into a factory parameterised by per-surface text, the same way createModelMethodRunCommand(syntax) already works. Cliffy reparents shared instances, so each surface needs its own instance.
  • Action bodies, libswamp calls, audit actions, telemetry and output stay shared and unchanged.

Acceptance

  • swamp help JSON and generated shell completions for the whole model tree are byte-identical between main and the branch.
  • Released-vs-branch binary output matrix for every legacy leaf (log and JSON) is identical.

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

  1. Design record — the glossary and compatibility rules in design/ 2a. Factory refactor of the model command tree, no visible change 2b. The full swamp behavior command tree and behavior wording
  2. Skills and generated agent guidance
  3. Serve dashboard wording
  4. Stored formats accept the behavior spellings alongside model ones
02Bog Flow
✓OPEN✓TRIAGED✓IN PROGRESS✓SHIPPED+ 1 MOREASSIGNED+ 5 MOREREVIEW+ 11 MOREPR_MERGED+ 2 MORESESSION_SUMMARIZED

Shipped

10/13/2026, 1:09:44 AM

Click a lifecycle step above to view its details.

03Sludge Pulse
stack72 assigned stack7210/12/2026, 10:31:19 PM

Sign in to post a ripple.