Charter_Input_Deck.md
Memory Rebuild Docs/Stage_6_Charters/E0_DOC80_Core/Charter_Input_Deck.md
# E0 Charter Input Deck **Extracted from:** `STAGE_6_CHARTER_INPUT_INDEX.md` §DOC80 — Core / Memory Control Plane (E0), 2026-05-28. **Purpose:** everything E0 needs to read before drafting. ## OPA V4 rows targeting DOC80 core **0 rows.** The core charter is **ADQ-driven**, not OP-A-row-driven. Its contracts come from cross-cutting ADQ resolutions. ## ADQ rows pinned to E0 | ADQ | tier | direction | |---|---|---| | **ADQ-203** | batch_for_architect / resolved | Define `ContextProduct` contract in DOC80 core; DOC24 owns packet assembly using it. | | **ADQ-208** | batch_for_architect / resolved | `PromptShellVariant` is a cross-cutting contract in DOC80 core; DOC24 + KDA + BDSM consume it. | | **ADQ-210** | batch_for_architect / resolved | Family name: "Memory Control Plane (DOC80 family)"; DAMS is one substrate inside DOC84. | | **ADQ-211** | batch_for_architect / resolved | `MemoryContextPlan` contract defined in DOC80 core; DOC24 owns packet assembly. | | **ADQ-310** | architect_stop / resolved | DOC80 core owns the **canonical ReasonCode registry** + namespace rules; producers (EC / PropA / DOC24 / DOC20 / etc.) own producer-specific entries. **Unblocks E0/E1/E2.** | | **ADQ-313** | batch_for_architect / resolved | Central domain profile registry (Memory Control Plane); explicit fallback rule: missing profile → use 'conservative' default profile (highest restrictiveness). | | **ADQ-403** *(AC-004)* | batch_for_architect / resolved | Memory Intake & At-Use Disciplines: `include_as_future_completion_obligation`; owner DOC80 core + DOC25 + DOC73. **minimum_completion_for_v5 = `schema_plus_lints_and_fixtures`.** | | **ADQ-404** *(AC-005)* | batch_for_architect / resolved | EC Core Addendum A intake-routing for corpus bindings: owner EC Core + DOC80 core; **depends on ADQ-202** (Corpus hierarchy — resolved at E4). | ## Skeletal §10 fold-ins relevant to E0 All from `Memory Rebuild Docs/DOC80 Target Baseline/Skeletal Spec/DOC80_Skeletal_Target_Baseline.md`: | § | content | role for E0 | |---|---|---| | §10.1 | V5 non-goal sentence (local-first, single-principal, single-node, single-EC-writer) | DOC80 §1 (scope/non-goals) | | §10.2 | EC manual deletion / unreachable=uninjectable | DOC80 §1 (scope/non-goals) | | §10.5 | `MemoryMutationEnvelope` NAMED (schema body deferred to Stage 7) | DOC80 cross-cutting named concept | | §10.6 | `MemoryProvenanceGraph` NAMED (schema body deferred to Stage 7) | DOC80 cross-cutting named concept | | §10.7 | (proof spine; see below) | DOC80 §9 (proof spine member) | | §10.9 | `ECSeamContract` (OPA-031) | DOC80 §13 (ExternalDependencyRecord posture for EC) | | §10.12 | Memory-object classification table (column set + seed rows) | DOC80 §14 (memory-object taxonomy) | | §10.13 | `ResumeProjection` / `ResumeCard` rename | DOC80 cross-cutting named concept | | §10.14 | Embedding-model-migration refs (`embedding_model_ref` / `embedding_generation_id`) | DOC80 §15 (cross-cutting fields) | | §10.15 | Observability / health seam (`MemoryPlaneHealthReadModel` + seed counters) | DOC80 §16 (observability) | | §10.16 | `MemoryOperationQuota` + scale assumptions | DOC80 §15 (cross-cutting fields) | | §10.17 | ABC §21 normalization-object placement check (charter input — verify/add Owner Map rows) | DOC80 cross-charter input verification | ## Skeletal §11 (5R2b additions) relevant to E0 | § | content | |---|---| | §11.1 | Recovery / replay seam — EC + DOC72 + DOC25 owned; DOC80 family rebuild hooks | | §11.2 | Consistency / concurrency / ordering model (single-node, single-EC-writer, MemoryMutationEnvelope serial through EC) | | §11.4 | Invariant enforcement-point naming table (runtime gates + Stage 9 lints) | | §11.8 | Bitemporal axes (valid_time / transaction_time) — though primarily DOC82, the cross-cutting carrier is MemoryMutationEnvelope | | §11.9 | Monotonicity / algebraic invariants | ## Conflict Register entries pinned to E0 None pinned exclusively to DOC80 core. (All current Conflict Register entries route to E3/E4/E6 charters or are closed.) ## Open seams E0 must honor - **ReasonCode registry** = shared contract for E1/E2; namespace rules must be unambiguous before E1 drafts policy reason codes. - **ContextProduct / MemoryContextPlan / PromptShellVariant** = consumption contracts DOC24/KDA/BDSM bind to; field-level schemas must be stable before E7/E8 (DOC84) charter authoring. - **MemoryFlowCertificate** = mandatory for durable write / render / export / carryover / delegation / learning attribution (per ADQ-207). - **AC-004 / AC-005** future-completion obligations carry their minimum_completion_for_v5 enum values into E0; AC-005 has a soft dependency on ADQ-202 (E4 Corpus hierarchy) — not blocking E0 entry but blocking AC-005 completion. ## Pre-conditions **None upstream — E0 is foundational.** No prior charter must complete first. E0 itself is a pre-condition for E1/E2 (ReasonCode registry must exist before E1 references it) and E7/E8 (ContextProduct + MemoryContextPlan + PromptShellVariant must exist before DOC84 binds). ## Cross-charter notes - DAMS is a substrate inside DOC84 per ADQ-210 / SM-020 — E0 does NOT own DAMS schemas. - DOC72 retains graph storage (`AssertionIdentitySignature`, the graph payload) — E0 does NOT own DOC72 schemas. - Membership / TopicLens / Library-as-container live at DOC87 per ADQ-220 — E0 does NOT own membership semantics. - Per ADQ-310, producer docs (EC / PropA / DOC24 / DOC20 / etc.) own *their own* reason-code entries within DOC80's registry; E0 owns the registry contract + namespace rules, not the entries themselves.