Charter_Opening_Brief.md
Memory Rebuild Docs/Stage_6_Charters/E1_E2_DOC81_Scope_Policy/Charter_Opening_Brief.md
# E1/E2 Charter Opening Brief — DOC81 Scope & Policy Plane
**Date opened:** 2026-06-01
**Charter:** E1 + E2 — DOC81 Scope & Policy (drafted as a **lockstep pair**)
**Architect:** Will
**Pre-condition status:** ✅ MET — E0 (DOC80 core) ratified 2026-06-01; the ReasonCode registry (ADQ-310) and DomainProfile registry (ADQ-313) DOC81 binds to now exist.
**Charter status:** ✅ **APPROVED** by architect (Will), 2026-06-01 — drafting authorized; approach **B** (Claude Code commission).
## Why this is next
DOC81 is the **scope-and-policy foundation** the rest of the family consumes: DOC82/DOC83 gate extraction and writes on it, DOC84 caps delivery on it, DOC86 surfaces it, DOC87 must not overlap it, and EC executes it. Its only upstream prerequisite — E0's ReasonCode registry — is now ratified, so E1/E2 is unblocked.
## The lockstep (plan §12.2)
Scope and policy are interdependent: **scope identifies** (identity, relation, containment, boundary, uncertainty); **policy consumes scope and decides** (capability + disclosure). They are drafted together, in two passes:
- **E1 (pass 1)** — *declare*: the scope objects, the policy objects, the dimensional policy vector, and the import dependencies. Do not draft policy as if scope were unavailable.
- **E2 (pass 2)** — *validate*: the policy meet, the disclosure meet, fail-closed behavior, UI disclosure, PolicyStamp/restamp + invalidation, and the fixtures. Do not draft scope as if it emitted final allow/block decisions.
## Scope — what DOC81 owns
**Scope plane** (Owner Map 71–78): `ScopeIdentityRoot`, `ScopeEquivalenceBinding`, `ScopeContainerRelation`, `ScopeBoundary` (topology only), `ScopeAffinity` (direct/secondary/shared/analogical/background), `ScopeResolutionResult` (boundary_kind + affinity + `minimum_conservatism_floor`), `ScopeResolutionTrace` (Inspector-surfaced), `ScopePopulationHealth`.
**Policy plane** (Owner Map 79–94): `MemoryPolicyDecision` (5-axis dimensional, SM-012), `EffectiveMemoryPolicy` (the meet — wholly DOC81 per SM-013 / Round D §1.5; DOC80 core holds only the consumption-protocol *reference*), `PolicyMembraneDecision` (membrane crossing only, SM-014), `PolicyObligation`, `PolicyStamp` + `PolicyStampScope` + `PolicyStampInvalidation`, `PolicyDisambiguationRequest` (replaces `ask_user`; DOC84 implements park/resume), `EpisodePolicyEpoch` (atomic policy-generation boundary, SM-101).
**Coordination / meet** (Owner Map 87–94; Skeletal DOC81 §3): capability-meet vs disclosure-meet **separation** (Round D §1.6 — orthogonal), `disclosure_class` (SM-104), `ExtractionRoutePolicyEnvelope`, `PolicyCappedDAMSInput` (eligibility ceiling; computation at DOC84/DAMS), `contamination_risk` **threshold rule** (computation at DOC84), `SafeLabelDisclosurePolicy` (SM-105, ADQ-308), `TopicRiskClass` (policy; ADQ-213).
**Cross-cutting invariants DOC81 owns/gates**: `CascadingSourceInvalidation` **envelope** (B3 split; the 5-plane fan-out per Skeletal §10.11; source-side payload at DOC82; EC executes), `LegalHoldState` (Skeletal §10.3; `{held, not_held}` + scope; every destructive job checks before acting; OPA-033), the **DOC81/DOC87 non-overlap invariant** (Skeletal §10.4), **policy monotonicity** (Skeletal §11.9 — narrow-only; restamp is the only widening path and cannot exceed original ceilings per ADQ-316; source revocation monotonically lowers), the **policy-generation re-gate** boundary (Skeletal §11.3), and the **DOC81 → DOC86 export** (Patch B1: PolicyStamp + EffectiveMemoryPolicy ref + disclosure_class + restamp eligibility + safe-label constraints).
## Scope — what DOC81 does NOT own
Truth / canonical objects (DOC82) · source/corpus artifacts (DOC25/DOC73/DOC82) · extraction routing (DOC83) · `TopicCollectionDirective` (DOC83) · membership / Topic identity / Library-as-container (DOC87) · delivery + prompt products + DAMS computation (DOC84) · learning (DOC85) · UI rendering (DOC86/DOC20) · the cross-cutting registries (ReasonCode / DomainProfile / proof spine — DOC80 core) · durable writes + policy enforcement execution + ScopeResolutionResult computation (EC). DOC81 **defines contracts; EC executes them.**
## Draft targets
E1/E2 must define (each as a paste-ready contract with owner/producer/consumer/executor, lifecycle, unhappy paths, lints, fixtures):
**Scope plane (E1):**
1. The scope identity/topology family — `ScopeIdentityRoot`, `ScopeEquivalenceBinding`, `ScopeContainerRelation`, `ScopeBoundary`, `ScopeAffinity`.
2. `ScopeResolutionResult` (+ `minimum_conservatism_floor`) and `ScopeResolutionTrace`; `ScopePopulationHealth`.
**Policy plane (E1):**
3. `MemoryPolicyDecision` — the 5-axis dimensional vector (name the 5 axes; cite SM-012 / Round D §1.x).
4. `EffectiveMemoryPolicy` — the **meet** schema + the meet algorithm (monotonic restriction); bind to DOC80 core's consumption-protocol reference, don't redefine it.
5. `PolicyMembraneDecision`, `PolicyObligation` (require_redaction / require_safe_label / …).
6. `PolicyStamp` + `PolicyStampScope` + `PolicyStampInvalidation` + the **restamp** contract (`PolicyStampRestamp`; cannot exceed original ceilings — ADQ-316).
7. `PolicyDisambiguationRequest` (safe question + fallback; DOC84 park/resume seam).
8. `EpisodePolicyEpoch` + the `policy_generation_id` boundary (bind to E0's policy-generation carrier, §8.3).
**Meet + coordination (E2):**
9. Capability-meet vs disclosure-meet **separation** (Round D §1.6); `disclosure_class`; **fail-closed default** — conservative on missing/unknown/incomparable scope or policy (Skeletal DOC81 §4 / Round D §3.6; ADQ-313).
10. `ExtractionRoutePolicyEnvelope`; `PolicyCappedDAMSInput` (eligibility ceiling); `contamination_risk` threshold rule; `SafeLabelDisclosurePolicy`; `TopicRiskClass`.
**Cross-cutting invariants (E2):**
11. `CascadingSourceInvalidation` envelope + the **5-plane fan-out** wiring check (Skeletal §10.11) — the wiring check is an explicit Stage 6 charter obligation.
12. `LegalHoldState` + the destructive-job invariant (every automated destructive job checks it; OPA-033).
13. DOC81/DOC87 **non-overlap** invariant + its lints (Skeletal §10.4).
14. **Policy monotonicity** invariants + lints (Skeletal §11.9; ADQ-316).
15. `collection_mode` **suppression** (ADQ-406) — collect/suppress/exclude on `TopicCollectionDirective`; **DOC81 owns the governance rules; EC §1 enforces at admission** (`OBL-D81-TOPIC-COLLECTION-SUPPRESSION-01`).
16. The **source-exclusion filter** (`OBL-PROPA-NEW-SOURCE-EXCLUSION-FILTER-01`).
17. `AssertionRelationEdge` traversal scope checks (ADQ-315 — `relation_kind → required scope checks + render gating`; owner-doc EC specifies, **decision pinned to E1**).
18. The **DOC81 → DOC86 export** (Patch B1).
**Consumed-from / bound-to (verify, don't redefine):**
19. The whole **PropA** sensitivity & self-improvement policy content (the 10 OPA obligations retargeted to DOC81 — see Input Deck), folded into the policy plane.
20. Bind to E0: ReasonCode registry (ADQ-310), DomainProfile registry + `conservative` fallback (ADQ-313), the policy-generation carrier, `MemoryFlowCertificate`, and the E0 §12.1 invariants DOC81 gates.
## Exit criteria
E1/E2 is complete when: (1) every draft target above has a paste-ready contract; (2) every ADQ in the Input Deck (310, 315, PASS2-02, 406) and every one of the 10 OPA rows has an explicit landing site; (3) the **capability/disclosure-meet separation** and **fail-closed** behavior are unambiguous; (4) the 5-plane `CascadingSourceInvalidation` wiring check is done; (5) `LegalHoldState`, policy-monotonicity, and DOC81/DOC87 non-overlap invariants each have a runtime gate + a Stage-9 lint + a Stage-8 negative fixture; (6) DOC81 binds to E0's contracts by reference (no re-defined registries); (7) red-team passes; (8) architect ratification logged; (9) discharge sweep.
## Drafting approach
**Recommendation: (B) commission Claude Code for the first draft, same as E0** — the material is dense assembly from Owner Map + Skeletal §DOC81 + §10/§11 + the PropA obligations, well-suited to a Claude Code commission; architect editing happens after. Alternatives: (A) you solo in-session; (C) co-draft here.
If you pick **(B)**, the commission prompt is ready at `E1_E2_Drafting_Commission_Claude_Code.md` in this folder.
## Pre-conditions
- **E0 ratified** (ReasonCode + DomainProfile registries available) — ✅ met.
- DOC87's `TopicIdentityContract` stub is **not** a precondition for E1/E2 (it gates E5/DOC83's `TopicCollectionDirective`, per plan §12.4-bis). DOC81 consumes the corpus/library identity *term* from DOC87 as upstream vocabulary only (ADQ-PASS2-02).
- **High-risk slice:** per plan §13, **architect approval of this charter is mandatory before drafting begins.**
## Estimated time
Consistent with E0's cycle: first draft 0.5–1 day (Option B); red-team 0.5–1 day; synthesis + patch 0.5 day; apply + audit + ratify + discharge ~0.5 day. ~2–3 working days at your cadence.
## Next action
Pick the drafting approach and reply: `commission B` (commission Claude Code with the ready prompt) · `start A`/`start C` · or `change <X>` (adjust scope / targets / exit criteria). Architect charter approval is required before the draft begins regardless of approach.
## Sources
- [E1/E2 Input Deck](Charter_Input_Deck.md)
- [STAGE_6_CHARTER_INPUT_INDEX §DOC81](../../Flattening/Execution%20Ledger/Stage_5R3/STAGE_6_CHARTER_INPUT_INDEX.md)
- [DOC80 Skeletal Target Baseline — §DOC81 + §10/§11](../../DOC80%20Target%20Baseline/Skeletal%20Spec/DOC80_Skeletal_Target_Baseline.md)
- [DOC80 Owner Map — DOC81 rows 62–94](../../DOC80%20Target%20Baseline/Owner%20Map/DOC80_Owner_Map.md)
- [DOC80 Import Graph — DOC81 edges](../../DOC80%20Target%20Baseline/Import%20Graph/DOC80_Import_Graph.md)
- [Architect Decision Queue — ADQ-310/315/406/PASS2-02/316](../../Flattening/Execution%20Ledger/Architect%20Decision%20Queue/Architect_Decision_Queue.md)
- [OPA V4 — DOC81/PropA rows + §6.Z/§6.Z3](../../../OP-A%20and%20Operations%20and%20Trackers/OPA_V4.md)
- [E0 ratified DOC80 core (contracts DOC81 binds to)](../E0_DOC80_Core/DOC80_Core_Charter_Draft.md)