Mode Resolution
The orchestrator passesartifact_store.mode with one of: engram | openspec | none.
Default Resolution
When the orchestrator does not explicitly set a mode:- If Engram is available → use
engram - Otherwise → use
none
openspec is NEVER used by default — only when the orchestrator explicitly passes openspec.
When falling back to none, sub-agents should recommend the user enable engram or openspec for better results.
Behavior Per Mode
| Mode | Read from | Write to | Project files |
|---|---|---|---|
engram | Engram (see Engram Convention) | Engram | Never |
openspec | Filesystem (see OpenSpec Convention) | Filesystem | Yes |
none | Orchestrator prompt context | Nowhere | Never |
Common Rules
- If mode is
none, DO NOT create or modify any project files. Return results inline only. - If mode is
engram, DO NOT write any project files. Persist to Engram and return observation IDs. - If mode is
openspec, write files ONLY to the paths defined in OpenSpec Convention. - NEVER force
openspec/creation unless the orchestrator explicitly passedopenspecmode. - If you are unsure which mode to use, default to
none.
Detail Level
The orchestrator may also passdetail_level: concise | standard | deep.
This controls output verbosity but does NOT affect what gets persisted — always persist the full artifact.
Examples
Example 1: Engram Mode
Example 2: OpenSpec Mode
Example 3: None Mode
Why Three Modes?
Engram Mode (engram)
Use case: Ephemeral exploration, prototyping, no file pollution
- Stores artifacts in memory (Engram tool)
- No project files created
- Fast iteration
- Disappears when conversation ends (unless Engram persists across sessions)
- No filesystem pollution
- Works in any project without initialization
- Fast
- Not shareable with team
- No audit trail outside conversation
- Depends on Engram availability
OpenSpec Mode (openspec)
Use case: Long-term projects, team collaboration, audit trail
- Stores artifacts on filesystem in
openspec/directory - Full audit trail
- Shareable with team (commit to git)
- Survives conversation end
- Persistent across sessions
- Shareable via git
- Complete audit trail
- No tool dependencies
- Creates project files
- Requires initialization (
sdd-init) - More verbose
None Mode (none)
Use case: One-off questions, quick prototyping, no persistence needed
- No storage
- All context inline in conversation
- No files created
- Simplest mode
- No side effects
- Loses everything when conversation ends
- Can’t resume work later
- Not suitable for real projects
Migration Between Modes
You can switch modes mid-workflow:From none to openspec
- Run
/sdd-initwithopenspecmode - Orchestrator re-runs previous sub-agents with
openspecmode - Artifacts written to filesystem
From engram to openspec
- Run
/sdd-initwithopenspecmode - Orchestrator retrieves artifacts from Engram
- Orchestrator re-runs sub-agents with
openspecmode, passing retrieved context - Artifacts written to filesystem
From openspec to engram
Not recommended — you’d lose the filesystem audit trail. If needed:
- Read artifacts from
openspec/ - Save to Engram with proper topic_keys
- Optionally delete
openspec/(not recommended)
Related
- Engram Convention — How artifacts are named and stored in Engram
- OpenSpec Convention — Directory structure and file paths
- Result Contract — How sub-agents return results