Skip to main content

Machine State

The machine state root is ~/.agents/drwn. It contains strict machine intent, standalone inventory, Card sources, published Cards, catalogs, extracted Card trees, registrations, write records, and credentials. Those categories do not share one portability policy.

Important paths:

  • ~/.agents/drwn/machine.json: explicit machine capability intent
  • ~/.agents/drwn/skills: installed package-backed skill bundles
  • ~/.agents/drwn/mcp-servers: user-registered MCP server definitions
  • ~/.agents/drwn/sources: editable card sources
  • ~/.agents/drwn/cards: Git-backed published card repositories
  • ~/.agents/drwn/extracted: immutable extracted card trees
  • ~/.agents/drwn/catalogs: local card catalog clones

Inspect state and plan scoped inventory cleanup:

drwn status --machine
drwn status --machine --json
drwn doctor
drwn machine inventory gc

No public command archives this root wholesale. Treat broad archives produced by prototype releases as sensitive. Remote deploy uses a separate allowlisted Card payload. Portable inventory transfer is a separate active-inventory allowlist, not a Store archive.

drwn machine inventory export --output ./inventory.json
drwn machine inventory bundle --output ./inventory.tar.gz
drwn machine inventory verify --from ./inventory.tar.gz
drwn machine inventory sync --from ./inventory.tar.gz --dry-run

The manifest carries canonical requirements metadata; the bundle adds only active standalone skill-package and MCP bytes. Verify requires an exact match. Sync is additive: known conflicts block the operation, extras are preserved, and installed entries remain inactive. A fresh real sync creates inventory infrastructure but no machine.json; dry-run creates no managed state.

The artifact is not a backup or restore and excludes credentials, intent, projects, Cards, projections, caches, inactive versions, and tombstones. Deterministic checksums detect corruption, but a checksum is not authenticity. Content screening is a source-content safeguard rather than a general secret detector, so operators must review bundles before sharing them.

Readonly mode is useful for validation against mounted or unpacked snapshots:

DRWN_STORE_READONLY=1 drwn status --machine
DRWN_STORE_READONLY=1 drwn card source doctor

Commands that mutate machine state refuse to write when readonly mode is enabled.