Skip to main content

Overview

Agent Teams Lite is storage-agnostic. Artifacts can be persisted in three different modes:
  • engram (recommended default) — Persistent, repo-clean storage via Engram
  • openspec (file-based, optional) — File artifacts in project directory
  • none (ephemeral, no persistence) — No writes, artifacts exist only in conversation
The workflow engine is completely pluggable. All 9 sub-agent skills reference shared convention files to ensure consistent behavior across persistence modes.

Mode Resolution

The orchestrator passes artifact_store.mode with one of: engram | openspec | none.

Default Resolution Policy

When the orchestrator does not explicitly set a mode:
  1. If Engram is available → use engram
  2. Otherwise → use none
openspec is NEVER used by default — only when the orchestrator explicitly passes openspec.
When falling back to none, the system recommends the user enable engram or openspec for better results.

Quick Modes by Use Case

Best for:
  • Production workflows
  • Team collaboration
  • Long-running feature development
  • Audit trails and lineage tracking

Privacy: None Mode

Best for:
  • Privacy-sensitive projects
  • Exploratory work
  • Quick prototypes
  • When you don’t want any artifacts written

File-based: OpenSpec Mode

Best for:
  • When you explicitly want file artifacts
  • Projects that prefer file-based specs
  • When Engram is not available and you need persistence
  • Audit trails in version control

Behavior Per Mode

Common Rules

Engram Mode

  • DO NOT write any project files
  • Persist all artifacts to Engram
  • Return observation IDs in result envelope
  • Use deterministic naming: sdd/{change-name}/{artifact-type}
  • Always use two-step recovery: mem_searchmem_get_observation

OpenSpec Mode

  • Write files ONLY to paths defined in openspec-convention.md
  • Create openspec/ directory structure
  • Update tasks.md in-place with [x] marks
  • Follow archive structure: YYYY-MM-DD-{change-name}/

None Mode

  • DO NOT create or modify any project files
  • Return results inline only
  • All artifacts exist only in conversation context
  • No persistence between sessions
NEVER force openspec/ creation unless the orchestrator explicitly passed openspec mode. If you are unsure which mode to use, default to none.

Engram Mode Deep Dive

Deterministic Artifact Naming

All SDD artifacts persisted to Engram MUST follow this naming convention:

Artifact Types

Exception: sdd-init uses sdd-init/{project-name} as both title and topic_key (it’s project-scoped, not change-scoped).

Example: Writing to Engram

Two-Step Recovery Protocol

MANDATORY: To retrieve an artifact, ALWAYS use this two-step process.
NEVER use mem_search results directly as the full artifact — they are truncated previews. ALWAYS call mem_get_observation to get the complete content.

Retrieving Multiple Artifacts

When a skill needs multiple artifacts (e.g., sdd-tasks needs proposal + spec + design):

Loading Project Context

Browsing All Artifacts for a Change

Updating Artifacts

When updating an artifact you already retrieved (e.g., marking tasks complete):

Why This Convention Exists

  • Deterministic titles → recovery works by exact match, not fuzzy search
  • topic_key → enables upserts (updating same artifact without creating duplicates)
  • sdd/ prefix → namespaces all SDD artifacts away from other Engram observations
  • Two-step recoverymem_search previews are always truncated; mem_get_observation is the only way to get full content
  • Lineage → archive-report includes all observation IDs for complete traceability

OpenSpec Mode Deep Dive

Directory Structure

When openspec mode is enabled, a change produces this structure:

Artifact File Paths

Reading Artifacts

Each skill reads its dependencies from the filesystem:

Writing Rules

  • ALWAYS create the change directory (openspec/changes/{change-name}/) before writing artifacts
  • If a file already exists, READ it first and UPDATE it (don’t overwrite blindly)
  • If the change directory already exists with artifacts, the change is being CONTINUED
  • Use the openspec/config.yaml rules section to apply project-specific constraints per phase

Config File Reference

Archive Structure

When archiving, the change folder moves to:
Use today’s date in ISO format. The archive is an AUDIT TRAIL — never delete or modify archived changes.

Detail Level Control

The orchestrator may also pass detail_level: concise | standard | deep. This controls output verbosity but does NOT affect what gets persisted — always persist the full artifact.

Shared Convention Files

All skills reference these shared convention files for consistent behavior:
Why they exist: Previously each skill inlined its own persistence logic (~224 lines of duplication across 9 skills). Now each skill references the shared files for DRY principles and consistent behavior.

Choosing the Right Mode

Engram

Best for most teams
  • Persistent across sessions
  • No repo clutter
  • Full audit trail
  • Deterministic naming

OpenSpec

When you need files
  • File-based workflow
  • Version control integration
  • Explicit artifact request
  • Self-contained changes

None

Privacy first
  • No persistence
  • Ephemeral artifacts
  • Quick exploration
  • No file writes

Next Steps

Complete Workflow

Learn the full SDD workflow

Delta Specs

Understand how delta specs work