Relationships
#3329 Design record: behavior is the product term for models, with model kept working
Opened by stack72 · 10/12/2026· Shipped 10/13/2026
Summary
Record the decision to make behavior the product term for models, so later issues in the series have one place to point at.
Scope
- Rename
design/primitives/models.mdtodesign/primitives/behaviors.md, and update the primitive list indesign/README.md,design/architecture.mdand every design/ link to the old file. - Replace the paragraph added in swamp-club#3265 that says behavior is "not a primitive" with the glossary, the compatibility rule and the list of unchanged contracts below.
- Use behavior terminology in design/ prose, keeping
modelwherever it names a stored contract (YAML field, JSON key, error code, audit action, directory).
No code changes.
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.