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

Relationships

#3410 Decide and add behavior spellings for --model flags, enum values and SWAMP_MODELS_DIR outside the behavior tree

Opened by zack · 10/13/2026· Shipped 10/14/2026

Summary

swamp behavior is the preferred spelling of swamp model (swamp-club#3265, swamp-club#3331), and workflow steps, grants, audit filters and extensions already accept a behavior spelling alongside model (swamp-club#3334, swamp-club#3338). Outside those, a user who only knows "behavior" still has to type model for about ten flags and enum values. design/primitives/behaviors.md lists the names that deliberately stay model, but does not mention any of the ones below, so it is not recorded whether they are intentional.

This issue is to decide, per item, whether a behavior spelling is accepted alongside the model one, record the decision in the design doc, and implement the ones that are accepted. It came from an audit of the two command groups; wording inside the swamp behavior tree is swamp-club#3409.

Model-only spellings found

Flags and positionals

Command Spelling Where
data get, list, versions, delete, rename --model <model>, positional [model_id_or_name] src/cli/commands/data_get.ts, data_list.ts, data_versions.ts, data_delete.ts, data_rename.ts
data search --model <name> data_search.ts
report get, report search --model <name> report_get.ts, report_search.ts
datastore lock release --model <model> datastore_lock.ts
serve --restricted-model-types serve.ts

Enum values

Command Value
report search --scope model
data search --owner-type model-method
extension search --content-type models (closed list; anything else is rejected)
extension source add --only models

Other

  • data query uses the predicate field modelName and the function model("…"); no behavior form exists.
  • SWAMP_MODELS_DIR is the only environment variable; there is no behavior-spelled one.
  • The global Cliffy types are model_name and model_type, which appear as option value strings in swamp help JSON.

Help prose and examples (no flag involved)

  • data: "Manage model data".
  • run, run gc, doctor, access can-i: descriptions say model.
  • access grant --on: the example is model:@acme/deploy, although behavior: is accepted.
  • extension fmt, push, quality, version, promote: examples use extensions/models/..., although extensions/behaviors/ loads too.

Questions to settle

  1. Does --behavior become a synonym for --model on data, report and datastore lock release? If so, which spelling does help show first?
  2. Do the enum values (--scope, --owner-type, --content-type, --only) accept a behavior form?
  3. serve --restricted-model-types and SWAMP_MODELS_DIR are operator-facing configuration. Do they get a synonym, or join the list of names that stay model?
  4. Does data query get a behavior("…") function / behaviorName field, or do query predicates stay model like JSON keys do?

Constraints

  • behaviors.md says any new behavior spelling must follow the existing rules: the model form keeps working, swamp keeps writing the model form to stored formats, and the accepted synonyms are listed in src/domain/terminology/behavior_aliases.ts.
  • behaviour is a CLI group alias only, not a synonym in stored formats.
  • The help prose and examples can be changed independently of the decisions above.

Acceptance

  • design/primitives/behaviors.md states, for each item above, whether a behavior spelling is accepted or the name stays model.
  • Each accepted spelling works alongside the model one, with tests for both.
  • Help prose and examples outside the swamp model tree use "behavior".
02Bog Flow
✓OPEN✓TRIAGED✓IN PROGRESS✓SHIPPEDTRIAGE+ 3 MOREFINDINGS+ 10 MOREPR_MERGED+ 2 MORESESSION_SUMMARIZED

Shipped

10/14/2026, 1:17:47 AM

Click a lifecycle step above to view its details.

03Sludge Pulse
stack72 assigned stack7210/13/2026, 10:35:39 PM

Sign in to post a ripple.