| D01 | local-first engineI/T | current component factories register memory, errors, projects, context, sessions, briefs, edges, goals, instances, sync, cache, schedules, cognition, monitoring and catalog. | brain-mcp-server/src/engine/index.ts:67-141; brain-mcp-server/src/engine/__tests__/legacy-bridge.test.ts | retired worker, coordination and metrics components are not current factories; source/test presence is not a running registration result. |
|---|
| D02 | strict tool inputI/T | one gateway rejects missing required keys and extra keys for strict tools. | brain-mcp-server/src/engine/gateway.ts:126-196; brain-mcp-server/src/engine/__tests__/gateway-strict-input.test.ts | this is not complete schema validation or universal authorization. |
|---|
| D03 | bounded delivery/recoveryI | architect plans, forger builds, sentinel verifies, warden reviews; mender assists diagnosis before re-test and review; orchestrator commits. | core/skills/hunt/SKILL.md; core/agents/sentinel.md:1-19; core/agents/warden.md:1-19; README.md:74-100 | sentinel has Bash; warden declares read-only tools. role separation does not make all writes impossible or establish a recovery rate. |
|---|
| D04 | brief-first covered writesI/T | a pre-tool hook can deny covered edits without qualifying brief state. | core/hooks/shared/pre_tool_use.sh:291-310; core/hooks/shared/pre_tool_use.sh:348-501; test/phase_guard.test.bash is a witness for the separate phase gate | exemptions, unknown-project no-op, filesystem fallback, explicit bypass and final fail-soft behavior exist. arbitrary shell writes are not contained. |
|---|
| D05 | phase and closing commitI/T | pre-commit phase checks and closing-footer checks cover acceptance criteria, named-role agent events, commit format and secret scanning. | scripts/git-hooks/pre-commit; scripts/git-hooks/commit-msg:131-332; test/phase_guard.test.bash; test/agent_event_gate.test.bash | one-shot bypasses exist. the configured committing sequence is not an unbypassable review guarantee. |
|---|
| D06 | brief ownershipI/T | conditional SQL update grants a local claim, permits owner re-entry and refuses a different owner. | brain-mcp-server/src/engine/components/briefs/handlers.ts:32-90; brain-mcp-server/src/engine/components/briefs/__tests__/claim.test.ts:111-165 | atomicity is local to the database, not global consensus across replicas. |
|---|
| D07 | per-instance handoffI/T | session gathering restores resume fields and distinguishes rested work, live siblings and abandoned live state. | cli/src/verbs/session.ts:105-121; cli/src/verbs/session.ts:312-338; cli/src/verbs/session.ts:408-562; cli/src/__tests__/session-gather.test.ts:192-325; core/skills/boot/SKILL.md:115-142 | a live sibling is not free work; there is no single shared CURRENT_SESSION.md authority. |
|---|
| D08 | crash awarenessI/T | process id plus start time checks local liveness without confusing reused ids. | cli/src/lib/process-liveness.ts:17-65; core/skills/boot/SKILL.md:241-248; cli/src/__tests__/session-gather.test.ts:279-325 | remote or missing metadata remains unknown. staleness does not authorize claim theft or instance deletion. |
|---|
| D09 | stable machine identityWIP/T | minted machine id takes precedence; null-id legacy rows can fall back to hostname aliases. | brain-mcp-server/src/machine-identity.ts:18-65; cli/src/lib/machine-identity.ts; brain-mcp-server/src/__tests__/machine-identity-parity.test.ts; cli/src/__tests__/machine-identity-sweep.test.ts | untracked hardening in this snapshot, not verified release content. |
|---|
| D10 | personal replicationI/T | asynchronous merges use applicable-table last-write-wins, natural/composite keys and append/dedup variants; local JSONL and brain SQL queues retain pending work. | brain-mcp-server/src/tools/sync.ts:120-164; brain-mcp-server/src/tools/sync.ts:745-852; brain-mcp-server/src/tools/sync.ts:948-988; cli/src/lib/sync/data.ts; cli/src/__tests__/sync-queue.test.ts | not a CRDT, consensus protocol or cross-machine atomic ownership mechanism; full cross-machine evidence remains frontier. |
|---|
| D11 | cross-owner bundlesI/T | tiered project slice → checked archive → ancestry/conflict preview → explicit import policy → receiving brain; checksums, executable/unknown-store rejection and idempotency ledger constrain import. | cli/src/verbs/export.ts:1-25; cli/src/verbs/import.ts:1-22; cli/src/verbs/import.ts:79-82; cli/src/__tests__/import.test.ts:386-405 | distinct from personal replication. free text can retain sensitive material despite structural checks. |
|---|
| D12 | guarded projectionI/T | canonical brain state is projected to disk; rebuild protects newer local brief text unless forced. | brain-mcp-server/src/engine/components/cache/index.ts; brain-mcp-server/src/engine/components/cache/__tests__/projection-guard.test.ts; docs/architecture/SYSTEM.md:54-55; docs/architecture/SYSTEM.md:70-71 | a guarded cache, not a two-way text CRDT; working tree and standards remain separate authorities. |
|---|
| D13 | context and catalogI | context types and a reusable-asset catalog separate experience, project standards and assets; reuse, harvest, ground and promote supply procedural access. | core/context-doc-types/INDEX.md; core/os/knowledge-map.md; core/skills/ground/SKILL.md; core/skills/harvest/SKILL.md; brain-mcp-server/src/engine/components/catalog/index.ts | these surfaces do not establish automatic architectural understanding. |
|---|
| D14 | promotion lineageI | promotion retains a document pointer on the learning. | brain-mcp-server/src/tools/memory.ts:880-894; brain-mcp-server/src/tools/memory.ts:934-944; core/skills/promote/SKILL.md | traceability does not automatically remove every duplicate fact. |
|---|
| D15 | descriptor extensionsI/T | declared skills, agents, MCP, hooks and context types feed adapter projections, add-core and generated module indexes. | cli/src/lib/harness-descriptor.ts:1-30; cli/src/lib/harness-descriptor.ts:46-60; cli/src/verbs/add-core.ts:10-25; core/scripts/gen_os_index.sh:1-36; core/scripts/gen_os_index.sh:193-198; cli/src/__tests__/harness-descriptor.test.ts | new emitters or delegation shapes may require code; cognition registration remains explicit. |
|---|
| D16 | harness tiersI/T | Claude Code, OpenCode and Antigravity have supported hook projections; Codex, Gemini CLI and Cursor have advisory bridges. | README.md:160-170; cli/src/lib/harness-descriptor.ts:89-100; core/hooks/bridges/; cli/src/__tests__/antigravity-hooks.test.ts | static-agent projection, hook gating and cognition backend support are separate capability sets, not parity across harnesses. |
|---|
| D17 | doctor and driftI/T + WIP | checks missing/stale core, broken bridges and channel mismatches; working-tree changes add machine-identity diagnostics. | cli/src/verbs/doctor.ts:1-95; cli/src/verbs/doctor.ts:135-141; cli/src/lib/drift/; cli/src/__tests__/doctor.test.ts | detection is not universal autonomous repair; current identity hardening is not a release claim. |
|---|
| D18 | agent and ceremony evidenceI/T + WIP | brain-timed agent_events and ceremony_events support derived cost/workflow diagnostics; closing checks inspect named-role presence. | cli/src/lib/kpi-read.ts:20-30; cli/src/lib/kpi-read.ts:96-103; brain-mcp-server/src/engine/components/instances/index.ts; cli/src/verbs/ceremony.ts; scripts/git-hooks/commit-msg:222-332 | emissions can fail softly. no measured token, cost, recovery or success outcome follows from event infrastructure alone. |
|---|