Elnor Repo Reader

Charter_Input_Deck.md

Memory Rebuild Docs/Stage_6_Charters/E0_DOC80_Core/Charter_Input_Deck.md

Generated 2026-06-09T01:23:58.539Z from commit dbaa25962edc11ab30e8d4ca1715f9ae5bf77331. Worktree: clean.

Open text page · Open raw txt · Open path URL

# 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.