> ## Documentation Index
> Fetch the complete documentation index at: https://prism.ntecdev.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Architectural Decisions

> Index of accepted ADRs. Rationale + alternatives per decision.

ADRs live in Postgres; this index is regenerated by `bin/mintlify-export.py`.

| #                                                                                    | Title                                                                                                            | Status       |
| ------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------- | ------------ |
| [ADR-1](/adrs/adr-001-prism-diff-v2-structured-not-instruction-emitting)             | prism\_diff v2 — structured, not instruction-emitting                                                            | `proposed`   |
| [ADR-2](/adrs/adr-002-retro-close-should-auto-advance-project-phase)                 | Retro-close should auto-advance project.phase                                                                    | `proposed`   |
| [ADR-3](/adrs/adr-003-lesson-scope-promotion-l-g-via-candidate-promote-pipeline)     | Lesson scope promotion (L→G) via candidate/promote pipeline                                                      | `proposed`   |
| [ADR-4](/adrs/adr-004-semantic-recall-needs-type-namespace-filters)                  | semantic\_recall needs type + namespace filters                                                                  | `proposed`   |
| [ADR-5](/adrs/adr-005-probe-timeout-regression-check)                                | Probe — timeout regression check                                                                                 | `proposed`   |
| [ADR-6](/adrs/adr-006-layered-enforcement-architecture-for-prism-methodology-4-rin)  | Layered enforcement architecture for Prism methodology (4 rings)                                                 | `accepted`   |
| [ADR-7](/adrs/adr-007-prism-md-as-composed-template-prism-base-prism-lt-ptype-gt-o)  | PRISM.md as composed template: prism-base + prism-\<ptype> overlays, opt-in upgrades                             | `accepted`   |
| [ADR-8](/adrs/adr-008-new-mcp-verb-hd-exec-symmetric-handoff-pickup-for-cross-agen)  | New MCP verb `hd_exec` — symmetric handoff pickup for cross-agent continuity                                     | `accepted`   |
| [ADR-9](/adrs/adr-009-ring-4-enforcement-soft-warnings-with-telemetry-never-hard-b)  | Ring 4 enforcement — soft warnings with telemetry, never hard blocks                                             | `accepted`   |
| [ADR-10](/adrs/adr-010-ptype-expansion-research-travel-home-improvement-as-first-cl) | Ptype expansion — research, travel, home-improvement as first-class project types                                | `accepted`   |
| [ADR-11](/adrs/adr-011-claude-md-bios-v2-env-var-path-convention-sor-replica-model)  | CLAUDE.md BIOS v2: env-var path convention + SOR/replica model                                                   | `accepted`   |
| [ADR-12](/adrs/adr-012-org-md-override-layer-org-level-scope-stub-for-now)           | ORG.md — override layer, org-level scope, stub for now                                                           | `accepted`   |
| [ADR-13](/adrs/adr-013-env-var-path-convention-sor-replica-extends-to-all-four-chai) | Env-var path convention + SOR/replica extends to all four chain files                                            | `accepted`   |
| [ADR-14](/adrs/adr-014-e1-closed-prism-local-start-end-blocks-are-not-part-of-bios)  | E1 closed — PRISM:LOCAL-START/END blocks are NOT part of BIOS v2                                                 | `accepted`   |
| [ADR-15](/adrs/adr-015-e3-closed-pid-resolution-rule-exact-case-insensitive-ask-nev) | E3 closed — PID resolution rule: exact → case-insensitive → ask, never fuzzy                                     | `accepted`   |
| [ADR-16](/adrs/adr-016-q9-closed-prism-md-is-whole-file-overwrite-on-sync-no-local)  | Q9 closed — PRISM.md is whole-file overwrite on sync, no LOCAL blocks                                            | `accepted`   |
| [ADR-17](/adrs/adr-017-timing-canary-for-todo-16)                                    | Timing canary for TODO #16                                                                                       | `proposed`   |
| [ADR-18](/adrs/adr-018-mcp-config-hostnames-must-be-fqdns-not-bare-on-macos)         | MCP config hostnames must be FQDNs (not bare) on macOS                                                           | `accepted`   |
| [ADR-19](/adrs/adr-019-two-bucket-tiered-environment-resolution-host-env-prism-env)  | Two-bucket tiered environment resolution (HOST\_ENV / PRISM\_ENV + MODE\_PROFILES)                               | `superseded` |
| [ADR-20](/adrs/adr-020-corsmiddleware-always-mounted-cloud-mode-refuses-non-https-o) | CORSMiddleware always mounted; cloud mode refuses non-https origins                                              | `superseded` |
| [ADR-21](/adrs/adr-021-two-bucket-tiered-environment-resolution-host-env-prism-env)  | Two-bucket tiered environment resolution (HOST\_ENV / PRISM\_ENV + MODE\_PROFILES) — modes named local/lan/cloud | `accepted`   |
| [ADR-22](/adrs/adr-022-corsmiddleware-always-mounted-cloud-mode-refuses-non-https-m) | CORSMiddleware always mounted; cloud mode refuses non-https (modes named local/lan/cloud)                        | `accepted`   |
| [ADR-23](/adrs/adr-023-adopt-tri-graph-knowledge-representation-canonical-semantic)  | Adopt tri-graph knowledge representation (Canonical/Semantic/Temporal)                                           | `accepted`   |
| [ADR-24](/adrs/adr-024-session-bootstrap-enforcement-as-ring-0)                      | Session Bootstrap Enforcement as Ring 0                                                                          | `accepted`   |
| [ADR-25](/adrs/adr-025-adr-25-session-lifecycle-verbs-do-not-multiplex-with-messagi) | ADR-25 — Session lifecycle verbs do not multiplex with messaging                                                 | `accepted`   |
| [ADR-26](/adrs/adr-026-diagnostic-tool-library-container-side-python-host-side-node) | Diagnostic Tool Library — Container-Side Python, Host-Side Node, Promote-to-Verb Path                            | `accepted`   |
| [ADR-27](/adrs/adr-027-realtime-state-belongs-to-the-session-manager-storage-backen) | Realtime State Belongs to the Session Manager — Storage Backends Are Hidden Behind Their Owning Service          | `accepted`   |
| [ADR-28](/adrs/adr-028-bash-scripts-and-mcp-verbs-split-along-tty-ownership)         | Bash scripts and MCP verbs split along TTY ownership                                                             | `accepted`   |
| [ADR-37](/adrs/adr-037-dashboard-charts-canvas-not-svg-uplot)                        | Dashboard live-time-series charts use canvas (uPlot), not SVG                                                    | `accepted`   |
