Elnor Repo Reader

DOC80_Owner_Map.md

Memory Rebuild Docs/Flattening/Execution Ledger/Stage_5R3/baseline_snapshot/DOC80_Owner_Map.md

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

Open text page · Open raw txt · Open path URL

# DOC80 — Owner Map

**Repository:** github.com/wbrody/Elnor-Specs — branch `main`
**Document status:** `target-baseline` (companion to `DOC80_Skeletal_Target_Baseline.md`).
**Versioning discipline:** git-native — stable filename, no version suffix. Git history is the version record.
**Round:** Stage 5R (patches applied 2026-05-26).

Per-schema ownership table. The canonical source: this file + the Supersession Matrix.

**Stage 5R one-owner rule (B3 / §1.2 of Skeletal Baseline):** every schema has exactly one `schema_owner`. If two docs both seem to "own" a schema, that's a symptom that two distinct schemas were mislabeled as one — split the row. Secondary relationships use a closed verb set: **owns** / **stores** / **executes** / **generates** / **consumes**.

- **owns** — defines the schema; one and only one owner.
- **stores** — holds the runtime payload (e.g. DOC72 stores Assertion graph payload).
- **executes** — runs the operation (e.g. EC executes durable writes).
- **generates** — produces instances (e.g. DOC83 generates AssertionCandidateEmission).
- **consumes** — imports by reference.

Lint `owner_map.compound_schema_owner` fires on any row that names two owners under `owns`.

---

## 1. Memory truth / knowledge family

| schema | owner | storage / executes / generates / consumes | supersession ref | notes |
|---|---|---|---|---|
| Assertion | **DOC82** | DOC72 stores graph payload; EC executes writes | SM-007, SM-008 | Canonical reusable truth-apt object (ADQ-201) |
| AssertionVariant | **DOC82** | DOC72 stores; EC executes | SM-008 | Scoped / conditional variants |
| AssertionCandidate | **DOC82** | DOC83 generates `AssertionCandidateEmission` (handoff to DOC82); EC executes resolution | SM-008 | Full lifecycle owned by DOC82 (B9) |
| AssertionCandidateEmission | **DOC82** | DOC83 generates; DOC82 owns the contract | (new at Stage 5R per B9) | Named E3↔E5 handoff object |
| AssertionResolution | **DOC82** | DOC83 + EC execute | SM-008 | Resolution path |
| AssertionDedupeOutcome | **DOC82** | DOC83 + EC execute | SM-202, ABC §7.8 | Orthogonal axis to AssertionCandidateDisposition |
| AssertionMergeOperation / Reconciliation / Split / Unmerge | **DOC82** | EC executes | SM-204 | Reversible, auditable |
| AssertionRelationEdge | **DOC82** | DOC72 stores graph payload; EC executes traversal scope checks | SM-008 | Schema at DOC82 only; storage at DOC72; one-owner (B3 split applied) |
| AssertionIdentitySignature | **DOC82** | EC + DAMS V5 consume for dedupe | SM-008 | Identity hash |
| AssertionLifecycleState | **DOC82** | EC + DOC1 (Write Gate) execute | SM-008 / B9 | Full state machine owned by DOC82 |
| AssertionTemporalProfile | **DOC82** | DAMS V5 + EC consume | SM-008 | 10 temporal classes |
| EpistemicKind / UseWarrant / EffectiveWarrant | **DOC82** | EC executes warrant evaluation | SM-008 | Warrant ladder |
| ConsolidatedUnderstanding | **DOC73** | DOC82 consumes (per ADQ-219) | SM-005 | DOC73 owns semantics; if divergent, DOC82 wraps as `SourceBoundSynthesisAdapter` |
| SourceBoundSynthesisAdapter | **DOC82** (wrapper only) | activates only if DOC73 reconciliation surfaces divergence | (new) | Wrapper + mapping table; not a redefinition of CU |
| ConsolidatedUnderstandingSupportContract | **DOC73** | DOC82 consumes | (ABC §4.5) | Source-span backing rule |
| VersionedClaim | **DOC73** (Stage 5R2 resolution per synthesis #8) | DOC73 retains; DOC82 defines `VersionedClaim → AssertionVariant` lineage table | F2 / DR-003 (resolved at Stage 5R2) | DOC73-owned legacy lineage; DOC82 owns the mapping table. Charter: DOC82/DOC73 charter must define versioned_claim_ref / source_cu_ref / source_span_refs / assertion_variant_ref / lineage_kind / preserved_fields / lost_or_transformed_fields / migration_status / review_required |
| VersionedClaim → AssertionVariant lineage table | **DOC82** (Stage 5R2 — added per synthesis #8) | DOC82 defines mapping; DOC73 supplies VersionedClaim refs | F2 / DR-003 | Lineage mapping artifact |
| Six-dimensional knowledge + graph topology | **DOC72** | DOC82 consumes | (plan §6.4 crown-jewel) | DOC72 retains |
| ProceduralTaxonomy | **DOC72** (Stage 5R2 split per synthesis #2(a)) | DOC83 references | (plan §6.4 crown-jewel) | DOC72 owns taxonomy schema |
| SkillLifecycle / AppSkill lifecycle seams | **DOC3** (Stage 5R2 split per synthesis #2(a)) | DOC83 references via ProcedureExtractionRoute | (plan §6.4 crown-jewel) | DOC3 owns procedural-memory / skill lifecycle |
| ProcedureExtractionRoute / ProcedureCandidateRoute | **DOC83** (Stage 5R2 split per synthesis #2(a)) | consumes DOC72/DOC3 procedural contracts | (plan §6.4 crown-jewel) | DOC83 owns the extraction-route side |

## 2. Source and evidence family

| schema | owner | storage / executes / generates / consumes | supersession ref | notes |
|---|---|---|---|---|
| SourceEnvelope | **DOC82** | DOC83 consumes | (ABC §1.4) | Carries source ref, kind, authority, visibility, parse quality, injection risk, materialization |
| SourceArtifact | **DOC25** | DOC82 consumes via envelope refs | (DOC25 retained) | DOC25 owns parsing |
| ArtifactSegment | **DOC25** | DOC82 consumes via envelope refs | (DOC25 retained) | DOC25 owns segmentation |
| SourceRegionRef / SourceSegmentRef | **DOC82** | DOC25 generates refs; DOC82 consumes | (new) | Pointer types |
| SourceParseQualitySidecar | **DOC25** | DOC82 consumes to bound candidate eligibility | SM-207 | Parse quality bounds |
| EvidenceRecord | **DOC82** | DOC72 stores graph payload; EC executes writes | SM-200 | Evidence-only record |
| EvidenceSupportEdge | **DOC82** | DOC72 stores; EC executes | SM-200, ABC §4.2 | support_relation enum |
| SourceAuthorityScope + SourceAuthorityClass | **DOC82** | DOC25 + EC + PropA consume | (new) | Authority classification |
| ExtractionRouteContext | **DOC82** | DOC83 + DOC25 consume | SM-201 | Route is provenance not identity (ABC §1.2) |
| VisualGroundingState | **DOC82** | DOC25 generates | (ABC) | Visual grounding |
| ExtractionRoutePolicyEnvelope | **DOC81** | DOC83 + EC consume | (Round D §1.x) | Policy envelope on extraction route |
| LibrarySourceBinding | **DOC25** (Stage 5R2 split per synthesis #2(a)) | DOC82 + DOC87 consume | (per B2 step 6 — decomposed "Library") | DOC25 retains the binding schema; DOC82's consumption contract is a separate row below |
| LibrarySourceBindingConsumptionContract | **DOC82** (Stage 5R2 — added per synthesis #2(a)) | consumes DOC25 LibrarySourceBinding | (B2 step 6) | Source-bound discipline through SourceEnvelope; distinct from the binding schema itself |
| CorpusIndex / SourceCollection | **DOC25** | DOC82 imports for source-bound discipline | (per B2 step 6 — decomposed "Library") | DOC25 retains |

## 3. Scope and policy family

| schema | owner | storage / executes / generates / consumes | supersession ref | notes |
|---|---|---|---|---|
| ScopeIdentityRoot | **DOC81** | EC executes | (Round D §3.x) | Identity root |
| ScopeEquivalenceBinding | **DOC81** | EC executes dedupe collapse | (Round D §3.x) | Equivalence |
| ScopeContainerRelation | **DOC81** | EC + DOC72 + DOC73 reference | (Round D §3.x) | Container relations |
| ScopeBoundary | **DOC81** | EC executes boundary check | SM-010, SM-011 | Topology only |
| ScopeAffinity | **DOC81** | EC + DOC82 + DOC84 consume | (Round D §3.x) | direct / secondary / shared / analogical / background |
| ScopeResolutionResult | **DOC81** | EC executes; DOC82 + DOC84 + DOC87 consume | (Round D §3.x) | boundary_kind + affinity + minimum_conservatism_floor |
| ScopeResolutionTrace | **DOC81** | DOC86 surfaces in Inspector | (Round D §3.x) | Auditable resolution trace |
| ScopePopulationHealth | **DOC81** | EC + DOC83 (NullResultMemory) consume | (DAMS V5 outline) | Population health |
| MemoryPolicyDecision | **DOC81** | EC executes; PropA contributes inputs | SM-012 | 5 axes (dimensional) |
| EffectiveMemoryPolicy | **DOC81** | EC executes meet; DOC80 core defines only the cross-cutting *consumption protocol* reference (B4 correction — citation is SM-013 / Round D §1.5, NOT ADQ-211; ADQ-211 covers MemoryContextPlan) | SM-013 | Wholly owned by DOC81 |
| PolicyMembraneDecision | **DOC81** | EC executes membrane-crossing decision | SM-014 | Membrane crossing only |
| PolicyObligation | **DOC81** | EC executes; PropA enforces | (Round D §1.7) | require_redaction / require_safe_label / etc. |
| PolicyStamp + PolicyStampScope + PolicyStampInvalidation | **DOC81** | EC executes; DOC86 surfaces in restamp UI | (Round D §2.x) | Stamping + invalidation |
| PolicyDisambiguationRequest | **DOC81** | EC executes (replaces ask_user); DOC84 implements pipeline park/resume per F-async | SM-102 | Safe question + fallback |
| EpisodePolicyEpoch | **DOC81** | EC executes; DOC83 consumes for episode bounds | SM-101 | Atomic policy-generation boundary |
| ReasonCode | **DOC80 core** | EC / PropA / DOC24 / DOC8 / DOC20 own namespaced producer entries | SM-213, ADQ-310 | Canonical registry in core |
| SafeLabelDisclosurePolicy | **DOC81** (Stage 5R2 split per synthesis #2(a)) | DOC86 references; EC enforces | SM-105, ADQ-308 | Policy / disclosure meaning for safe labels |
| ApprovedSafeLabelVocabularyRegistry | **PropA** (Stage 5R2c — one-owner rule applied; was compound `PropA / EC`. PropA owns the vocabulary registry per Round D §6.2; EC enforces under ECSeamContract (OPA-031), it does not own.) | EC enforces; DOC24 / DOC11 / DOC86 consume | SM-105, ADQ-308 | Approved safe-label vocabulary; must not derive labels from protected content |
| SafeLabelRenderContract | **DOC86** (Stage 5R2 split per synthesis #2(a)) | DOC20 / Q render | SM-105, ADQ-308 | UI / Inspector / rendered-notice contract for safe labels |
| PolicyCappedDAMSInput | **DOC81** | DAMS V5 + DOC84 consume | SM-107 | Eligibility ceiling |
| contamination_risk threshold rule | **DOC81** | DAMS V5 + DOC84 execute veto | SM-106 | Threshold rule at DOC81 |
| contamination_risk computation | **DOC84** (Stage 5R2 — DAMS V5 is a substrate inside DOC84, not an owner per SM-020) | DOC81 consumes for veto threshold | SM-106 (split from threshold per B3) | Computation at DOC84 (DAMS substrate section); threshold rule at DOC81 |
| disclosure_class | **DOC81** | EC executes; DOC86 surfaces | SM-104 | Capability meet vs disclosure meet (orthogonal) |
| CascadingSourceInvalidation envelope | **DOC81** | EC executes | SM-208 (split per B3 / II-7) | Envelope at DOC81 (policy-driven); source-side payload at DOC82; execution at EC |
| CascadingSourceInvalidation source-side payload | **DOC82** | EC executes | SM-208 (split per B3 / II-7) | Source-side payload distinct from envelope |

## 4. Extraction spine + temporal family

| schema | owner | storage / executes / generates / consumes | supersession ref | notes |
|---|---|---|---|---|
| ExtractionContextPlan | **DOC83** | EC + DOC23 + DAMS V5 execute | (ABC §7) | Extraction plan |
| AssertionCandidateDisposition | **DOC83** (7-value enum per ABC §7.8) | EC executes | SM-202, ABC §7.8 | 7 values per G-2 guardrail |
| AlternativeExtractionRouting | **DOC83** | EC executes the non-Assertion paths | (new at Stage 5R per B9 / F-3) | Re-homes the capabilities behind the 4 retired enum values: directive_candidate, procedure_candidate, cu_component_handling, evaluation_path |
| ExtractionOutputKind / ExtractionSidecarKind | **DOC83** | DOC25 + EC consume | (ABC §7; F7 provenance note) | Output kinds; provenance traceable to ABC §7 |
| ABC §7.7 12-step (Steps 0–11) extraction triage | **DOC83** (Stage 5R2b correction — was "Six-step" through Stage 5R; ABC R0.2 §7.7 is "Step 0 through Step 11") | DOC83 executes; DAMS V5 substrate inside DOC84 hosts attenuator scoring referenced by tree steps | (ABC §7.7) | One-pass normative classification decision tree |
| ReviewQueueEntry + ReviewQueueBatch | **DOC83** | DOC86 surfaces; EC executes | SM-210, ADQ-306 | Auto-archive = suppress, not delete |
| IssueFrame | **DOC83** | DOC72 stores graph payload; EC executes | SM-081 | Workbench; not assertion store |
| IssueFrameUpdate / WorkingStateEvent | **DOC83** | DOC72 stores; EC executes | SM-080 | Append-only |
| WorkEpisode | **DOC83** (lifecycle) | EC executes | (Round D §2.x; B3 split) | DOC73 generates state if real; lifecycle at DOC83 |
| WorkSession | **DOC83** (assigned at Stage 5R per F2 / DR-005) | EC executes | F2 / DR-005 (matrix gap logged) | Working-state object; either assigned to DOC83 or retired in favor of WorkEpisode — decided at Stage 5R: assign to DOC83 pending DR-005 resolution |
| EpisodeSegment | **DOC83** | EC executes | (Round D §2.x) | Segment under WorkEpisode |
| RecentActivityRollup (generation) | **DOC73** | DOC73 generates; DOC83 consumes | SM-108, ADQ-405 (B3 split per II-1) | Generation owned by DOC73 |
| RecentActivityRollupConsumptionContract | **DOC83** | DOC24 / KDA consume only policy-cleared orientation products | SM-108, ADQ-405 (B3 split per II-1) | Consumption contract + can_orient_only invariant + lints |
| IncidentObservation | **DOC83** | EC executes | (ABC §7.14) | Observation lifecycle |
| FrictionEvent | **DOC83** | EC executes; DOC85 consumes for learning | (ABC §7.14) | Event lifecycle |
| FrictionPattern | **DOC83** | EC executes promotion (per ADQ-302) | SM-206 | ≥2 consistent events OR 1 authoritative |
| NullResultMemory | **DOC83** | EC checks freshness | SM-103, SM-205 | With scope_population_generation_id, source_index_generation_id, policy_generation_id, access_set_hash |
| TopicCollectionDirective | **DOC83** | EC + PropA + DOC23 execute; references DOC87 Topic identity (lateral import) | SM-072, ADQ-205 | Stays at DOC83 per B2 step 5 |
| TopicCollectionDirectiveBudget | **DOC83** | EC + DOC86 consume | SM-211, ADQ-307 | Velocity tiers + actions |

## 5. Runtime delivery + prompt / proof family

| schema | owner | storage / executes / generates / consumes | supersession ref | notes |
|---|---|---|---|---|
| ContextProduct (registry) | **DOC80 core** | DOC84 owns assembly contract; DOC24 executes assembly | SM-060, ADQ-203 | 14 product kinds; B3 split applied (registry / assembly distinct) |
| ContextProduct (assembly contract) | **DOC84** | DOC24 executes | SM-060, ADQ-203 (B3 split) | Assembly distinct from registry |
| MemoryContextPlan (contract) | **DOC80 core** | DOC84 implements | ADQ-211 | Contract in core (B4 — ADQ-211 covers THIS object, not EffectiveMemoryPolicy) |
| MemoryContextPlan (implementation) | **DOC84** | DOC24 consumes | (B3 split) | Implementation distinct from contract |
| MemoryMembershipEdge | **DOC87** (Stage 5R — MOVED from DOC84 per ADQ-220) | DOC72 stores; EC writes; DOC83 / DOC84 / DOC86 consume | (B2 step 3) | One-owner: DOC87 |
| MembershipLifecycleState | **DOC87** | EC executes | (new at Stage 5R) | candidate / confirmed / pinned / rule-matched / removed / blocked / stale |
| MembershipSource | **DOC87** | EC executes | (new at Stage 5R) | user-pinned / rule-matched / extraction-suggested / Project-mode / Library / etc. |
| MembershipInvalidationPolicy | **DOC87** | EC executes | (new at Stage 5R) | Invalidation rules |
| Topic (object) | **DOC87** (Stage 5R per ADQ-220) | DOC86 renders | (B2 step 2) | Identity owned at DOC87; rendering at DOC86 |
| TopicLens organization semantics | **DOC87** (MOVED from DOC86 per ADQ-220) | DOC86 renders | (B2 step 2) | Was at DOC86; moved at Stage 5R |
| TopicActivationState | **DOC87** (MOVED from DOC86 per ADQ-220) | DOC86 renders state | (B2 step 4) | Lifecycle: latent_cluster / suggested_review / auto_created_lens / user_confirmed_topic / collection_enabled / paused / archived |
| Library-as-organizational-container | **DOC87** | DOC86 renders | (B2 step 6 — decomposed "Library") | LibrarySourceBinding / CorpusIndex / SourceCollection stay at DOC82 / DOC25 |
| DeliveryProjection + DeliveryProjectionInvalidationPolicy | **DOC84** (Stage 5R2b narrow — was generic `SemanticProjection`) | EC executes invalidation | (Stage 5R2b — synthesis #15 audit-gap fold) | Concrete projection axis for delivery surfaces (ContextProduct / DAMS substrate consumers); under SemanticProjectionContract |
| UIProjection + UIProjectionInvalidationPolicy | **DOC86** (Stage 5R2b narrow) | EC + DOC20 execute | (Stage 5R2b — synthesis #15 audit-gap fold) | Concrete projection axis for inspector/search/UI surfaces; under SemanticProjectionContract |
| OrganizationProjection + OrganizationProjectionInvalidationPolicy | **DOC87** (Stage 5R2b narrow) | EC executes | (Stage 5R2b — synthesis #15 audit-gap fold) | Concrete projection axis for Topic / Library / membership organizational lenses; under SemanticProjectionContract |
| KnowledgeProjection + KnowledgeProjectionInvalidationPolicy | **DOC82** (Stage 5R2b narrow) | EC executes | (Stage 5R2b — synthesis #15 audit-gap fold) | Concrete projection axis for Assertion / Source-Evidence consumer views (e.g. SourceBoundSynthesisAdapter is a KnowledgeProjection wrapper case); under SemanticProjectionContract |
| DAMS attenuator | **DOC84** (Stage 5R2 — DAMS V5 is a substrate inside DOC84 per SM-020, not a standalone owner) | DOC84 hosts the DAMS substrate section | SM-020, SM-021, ADQ-301 | Substrate inside DOC84; not an independent owner doc |
| AttenuatorContributor / ResolvedAttenuator | **DOC84** (Stage 5R2 — DAMS substrate section inside DOC84) | DOC84 hosts | (DAMS V5 outline) | Contributor types within DOC84's DAMS substrate |
| HotPathCostBudget | **DOC84** (declared against DOC80 §15 envelope) | DOC80 owns family-wide envelope (B9 #d) | (DAMS V5 outline) | Member-specific cost; declared against core envelope |
| PromptShellRegistry | **DOC80 core** | DOC24 / KDA / DOC85 consume | (ADQ-208) | Registry in core |
| PromptShellVariant | **DOC80 core** | DOC24 + KDA + DOC85 consume | SM-203, ADQ-208 | Cross-cutting registry |
| PromptShellLearningContract | **DOC80 core** | BDSM consumes via DOC85 | (new seed) | Learning contract |
| RenderSafetyProof (contract) | **DOC80 core** | DOC84 executes; DOC11 finalizes | (Round D §9.2; B3 split) | Contract in core |
| RenderSafetyProof (execution) | **DOC84** | KDA / DOC11 execute | (B3 split) | Execution distinct from contract |
| ContextPacketProof | **DOC80 core** | DOC24 + DOC11 execute | SM-051 | Packet-level proof |
| MemoryFlowCertificate | **DOC80 core** | EC / DOC1 / DOC24 / KDA / DOC11 / DOC85 execute (Stage 5R2c — DOC8 purged per Stage 5R2 synthesis #5 + ADQ-221; runtime learning execution lives in DOC85, not legacy DOC8) | SM-050, ADQ-207 | Mandatory for durable write / render / export / carryover / delegation / learning attribution |
| DynamicHeaderLedger | **DOC84** (Stage 5R2 resolution per synthesis #2(b); DR-004 closed) | DOC24 + KDA finalize manifest/header content | SM-209, ADQ-305 | Owner = DOC84; DOC24/KDA finalize manifest. Stable headers ONLY if hash-pinned AND policy-invariant (per ADQ-305 modification at Stage 4 review). DR-004 closed at Stage 5R2 |
| PriorDeliveryLedger + PriorDeliveryLedgerEntry | **DOC84** | DOC85 consumes for learning | (Round D §9.x) | Prior delivery tracking |
| MemoryContextPlanDeterminismInputs | **DOC84** | EC + DOC24 consume | (Round D §9.x) | Determinism inputs |
| KdaManifestPatch | **KDA** | DOC84 consumes | (KDA crown-jewel) | KDA retains |
| RenderBundle | **KDA** (Stage 5R2 split per synthesis #2(a)) | DOC84 consumes via consumption contract below | (KDA crown-jewel) | KDA owns the render bundle schema |
| PromptTextPackage | **DOC24** (Stage 5R2 split per synthesis #2(a)) | DOC84 consumes via consumption contract below | (DOC24 owner) | DOC24 owns the prompt text package |
| DOC84RenderConsumptionContract | **DOC84** (Stage 5R2 — added per synthesis #2(a)) | consumes RenderBundle + PromptTextPackage | (B3 split) | DOC80-family delivery/proof integration |
| CarryoverCapsule | **DOC84** | EC + DOC11 execute | (DAMS V5 outline) | Carryover state |
| CognitiveDiff + Resume card | **DOC84** | DOC86 surfaces | (DAMS V5 outline) | Resume support |
| SearchAffordance (surface contract) | **DOC86** | EC executes preflight; DOC24 executes runtime | SM-030 (B3 split) | Surface at DOC86 |
| SearchAffordance (runtime eligibility) | **DOC84** | EC + DOC24 execute | (B3 split) | Runtime eligibility distinct from surface |
| Pipeline park/resume state | **DOC84** | EC + DOC24 execute on PolicyDisambiguationRequest | (F-async) | Suspended-pipeline state; resume semantics |

## 6. Learning family (DOC85) — rescoped Stage 5R per Patch B6

| schema | owner | storage / executes / generates / consumes | supersession ref | notes |
|---|---|---|---|---|
| Learning targets enum | **DOC85** (Stage 5R2 — DOC8 references purged per synthesis #5) | BDSM consumes; legacy DOC8 = capability-mining input only | (Adjudication Delta §1.16) | 7 targets; DOC85 owns; BDSM as partial substrate computes utility where pinned |
| Final-prompt-proof-gated utility (gating contract) | **DOC85** (Stage 5R2 — DOC8 reference purged per synthesis #5) | BDSM consumes; EC executes write-back | (Round D §9.2) | No utility without proof; runtime computation is BDSM (partial substrate), not DOC8 (capability-mining only) |
| Learning write-back path | **DOC85** | EC executes durable write; proof-gated via DOC80 §9 | (B9 / II-4 at Stage 5R) | DOC85 owns the path |
| Warrant-degradation-trigger registry | **DOC80 core** (MOVED from DOC85 per B8 / II-5) | DOC85 owns the producers; EC / DOC84 (DAMS substrate) / DOC73 / DOC25 / DOC24 execute owner-specific triggers (Stage 5R2c — DAMS V5 reframed to DOC84 substrate per SM-020; DOC8 purged per Stage 5R2 synthesis #5 + ADQ-221) | (ABC §7.13; ADQ-312) | Registry in core; producers in DOC85 |
| BDSM utility ledgers | **BDSM** (operative source: `DOC24_Addendum_A_BDSM_V6_5_DRAFT_v0_3_1.md`) | DOC85 consumes (ADQ-221 resolved: `dependency_status = partial`; surface contracts named at E9 charter where DOC85 drafting coordinates with BDSM revision) | (BDSM crown-jewel) | BDSM retains computation; DOC85 consumes from BDSM v6.5 Draft v0.3.1 (and forward revisions) |
| DOC8 legacy concepts | **DOC8** (legacy, skeleton-only) | DOC85 mines for capability ideas; NOT a runtime dependency (ADQ-221 resolved) | (DOC8 phantom per Stage 5R review II-3) | DOC8 is capability-mining input only; no runtime contract |
| FalseSuppressionSampling | **DOC85** (Stage 5R2 — DOC8 reference removed per synthesis #2(a) + #5) | DOC84 delivery/proof outcomes, DOC82 assertion outcomes, DOC81 policy partitions feed the sampling | (DAMS V5 outline) | DOC85 owns the sampling artifact; legacy DOC8 is capability-mining input only (NOT a runtime owner per ADQ-221) |
| DAMSFalseSuppressionGuardrail | **DOC84** (Stage 5R2 — DAMS substrate section inside DOC84) | DOC85 consumes for sampling | (DAMS V5 outline) | Separate from FalseSuppressionSampling; DAMS substrate computation inside DOC84 |

## 7. UI / Inspector / Search family (DOC86)

| schema | owner | storage / executes / generates / consumes | supersession ref | notes |
|---|---|---|---|---|
| UserContextSurfacePlan | **DOC86** | DOC20 / Q implement panels | SM-090 | Concrete with typed indicators |
| VisibleContextActionSpec | **DOC86** | DOC20 / Q implement; EC executes commands | (Round D §5.3-5.5) | ECCommandRef + RegisteredRouteRef + degraded_noop_receipt_kind |
| HiddenContextRef | **DOC86** | Inspector consumes | (Round D §5.x) | Hidden context references |
| VisibleIndicator | **DOC86** | DOC20 / Q implement | (Round D §5.x) | Indicator types |
| InspectorVisibilityPlan | **DOC86** | DOC20 implements; DOC72 enforces access | (Round D §5.6) | Policy-gated inspect |
| SearchAffordancePreflight | **DOC86** | EC executes preflight | (Round D §7.2-7.3) | Route + policy + eligible-result check |
| SearchAffordanceExecutionMode | **DOC86** | EC + DOC20 execute | (Round D §7.3) | 4-value enum |
| NullResultNotice route control | **DOC86** | EC + DOC24 execute | (seed D3-1) | Routing |
| AvailabilityDisposition | **DOC86** | DOC20 surfaces | (Round D §6.x) | Availability state |
| BlockedScopeNotice + ReferenceOnlyNotice | **DOC86** | DOC20 surfaces; EC populates | (Round D §6.x) | Notice types |
| ProjectAutoLinkState | **DOC86** | DOC20 surfaces; EC executes | SM-212, ADQ-309 | suggested / quarantined / accepted + TTL |
| TopicRiskClass | **DOC81** (policy) | EC executes; DOC20 surfaces; DOC87 consumes for TopicActivationState transitions | (per ADQ-213) | Risk classification |

## 8. DOC80 core registries / contracts

| schema | owner | notes |
|---|---|---|
| ReasonCode registry | **DOC80 core** | ADQ-310 |
| ContextProduct registry | **DOC80 core** | ADQ-203 |
| PromptShellRegistry | **DOC80 core** | ADQ-208 |
| Warrant-degradation-trigger registry | **DOC80 core** | B8 / II-5 (moved from DOC85) |
| Domain-profile registry | **DOC80 core** | ADQ-313 / B11 |
| ExternalDependencyRecord | **DOC80 core** | B7 |
| MemoryCoordinationTrace | **DOC80 core** | SM-100, ADQ-209 |
| Memory-object taxonomy table | **DOC80 core** | F-struct #1 |
| Family-wide compute-budget envelope | **DOC80 core** | B9 #d |
| Proof spine (ContextPacketProof / RenderSafetyProof / MemoryFlowCertificate) | **DOC80 core** | §9 of skeletal baseline |
| Failure-mode → proof-artifact → lint mapping | **DOC80 core** | B8 / §9.4 of skeletal baseline |
| SemanticProjectionContract (umbrella contract) | **DOC80 core** (Stage 5R2b — added per audit-gap item 16) | Names the projection axes (Delivery / UI / Organization / Knowledge); concrete projections owned per-family below | (new at Stage 5R2b) | Replaces the over-general `SemanticProjection` placeholder; each axis is a distinct schema with one owner |

**Removed from DOC80 core at Stage 5R (B10):**

- `DispositionMove` — moved out (flattening-process vocabulary; lives in `Memory Rebuild Docs/Flattening/Current Flattening Plan/` as plan §9.2)
- `LedgerInvalidationState` — moved out (flattening-process vocabulary; lives in plan §3.7 and ledger artifacts)
- `SourceStatus`, `NormativeWeight`, `CapabilityStatus`, `CapabilityTier` — kept in core ONLY if a named runtime consumer exists; otherwise move out. Stage 6 charters verify runtime consumption; lint `core.process_vocabulary_in_runtime_object` enforces at Stage 9.

---

## 9. Owner-doc summary

| DOC# | role | what they own (in DOC80 context) |
|---|---|---|
| DOC80 (this family) | core / contracts | shared vocab, registries, proof spine, ExternalDependencyRecord, memory-object taxonomy, compute-budget envelope |
| DOC81 (this family) | Scope+Policy plane | dimensional policy + scope topology + CascadingSourceInvalidation envelope |
| DOC82 (this family) | Knowledge+Source-Evidence | Assertion family (full lifecycle) + evidence + source envelope + SourceBoundSynthesisAdapter |
| DOC83 (this family) | Extraction+Temporal | candidate pipeline up to AssertionCandidateEmission + AlternativeExtractionRouting + IssueFrame + RecentActivityRollup consumption |
| DOC84 (this family) | Delivery+Prompt/Proof | DAMS substrate + ContextProduct assembly + render safety execution + pipeline park/resume |
| DOC85 (this family) | Learning (substantive — rescoped B6) | proof-gated learning + write-back path + warrant-degradation producers |
| DOC86 (this family) | UI / Inspector / Search | UserContextSurfacePlan + InspectorVisibilityPlan + SearchAffordance surface + Round D UI surfaces + membership rendering |
| **DOC87 (NEW at Stage 5R)** | **Organization / Membership** | **MemoryMembershipEdge + TopicLens + TopicActivationState + Topic object + Library-as-container + membership invariants** |
| DOC72 | external | knowledge graph topology + procedural taxonomy + Entity object + graph payload storage |
| DOC73 | external | ConsolidatedUnderstanding semantics + RecentActivityRollup generation |
| DOC25 | external | SourceArtifact + ArtifactSegment + parse-quality + materialization + LibrarySourceBinding + CorpusIndex / SourceCollection |
| DOC24 | external | packet assembly + Packet Inspector + PromptTextPackage schema |
| KDA | external | KdaManifestPatch + deterministic rendering + RenderBundle schema |
| BDSM | external | learning computation + utility ledgers — operative source `Current Specs/DOC24/DOC24_Addendum_A_BDSM_V6_5_DRAFT_v0_3_1.md` (ADQ-221 resolved: `dependency_status = partial`; revised alongside DOC85 drafting at E9) |
| DOC8 (legacy) | external — **capability-mining only** | NOT a runtime owner; DOC85 mines for capability ideas only (ADQ-221) |
| EC | external — **`dependency_status = partial / moving`** (Stage 5R2 ECSeamContract per synthesis #9) | durable Assertion writes (DOC82 schema) + durable membership writes (DOC87) + policy enforcement (DOC81) + learning write-back (DOC85) + UI commands (DOC86); requires named ECSeamContract, not assumed-stable import |
| PropA | external | policy rule input + namespaced ReasonCode producers + SafeLabelPolicy vocabulary registry |
| DOC20 | external | Project-mode + Project / Library / Inspector UI implementation |
| DOC23 | external | task graph + ClaimExtractorOutput |
| DOC1 | external | Write Gate (promotion approval) |
| DOC11 | external | final runtime truth + OpenClaw native session |
| DOC3 | external | procedural memory + skill lifecycle |
| DOC9 | external | self-repair — **not imported** by DOC80 family (F4 disclaimer) |
| DOC15 | external | Cognitive Infrastructure Layer (memory-touching seams; verified second importer DOC84 added per F5) |
| DOC26 | external | UnifiedWorkspaceLibrary (aspirational; conditional on ADQ-202/ADQ-404 per F4 correction) |

---

## 10. Outstanding items

- **ADQ-219 reconciliation** (CU/DOC73 alignment) — pinned to E3/E4 charter. If divergent → `SourceBoundSynthesisAdapter` wrapper. Escalates to `architect_stop` if wrapper cannot cleanly absorb.
- **ADQ-221 (BDSM/DOC8 status) — resolved 2026-05-26 inter-round:** BDSM `dependency_status = partial` (operative source BDSM v6.5 Draft v0.3.1; revised alongside DOC85 drafting at E9). DOC8 = capability-mining input only. Specific BDSM surface contracts deferred to E9 charter.
- **DR-002 (SM-040 matrix gap)** — logged at Conflict Register; matrix-row addition deferred to next matrix update.
- **DR-003 (VersionedClaim matrix gap) — resolved at Stage 5R2 per synthesis #8:** VersionedClaim stays DOC73-owned (legacy lineage); DOC82 defines a `VersionedClaim → AssertionVariant` lineage table. Charter requirements named in the Owner Map row.
- **DR-004 (DynamicHeaderLedger ADQ-305 ambiguity) — closed at Stage 5R2 per synthesis #2(b):** owner = DOC84; DOC24/KDA finalize manifest; stable headers only if hash-pinned AND policy-invariant (per ADQ-305 modification at Stage 4 review).
- **DR-005 (WorkSession matrix gap)** — Stage 5R assigned to DOC83 (working-state); recommended Stage 5R2 disposition (per synthesis #8): retained as light temporal grouping under DOC83, not user-visible by default; WorkEpisode remains coherent work unit; EpisodeSegment remains finer boundary.
- **DR-006 (SM-202 carry-forward verification) — RE-OPENED at Stage 5R2 per synthesis #7:** the original "verified consistent" check verified *structure* (7 values + separate AssertionDedupeOutcome) but not the actual *enum values*. The values in SM-202 / Retired Names do NOT match ABC R0.2 §7.8. Stage 5R2 patches the actual values to match the source: `durable_eligible / durable_eligible_confirmation_required / session_scoped / ephemeral_reroute / candidate_only_pending_issueframe / review_queue / reject_not_memory`. See Conflict Register DR-006 re-open entry.
- **DOC72 amendment / DOC24 amendment / DOC73 amendment** — at Stage 6 charter authoring; each receives an amendment to defer schemas now owned by DOC80 family. Tracked via OPA-001 / OPA-006 / OPA-009 / OPA-024 + new OPA-025–030 + Stage 5R2 reconciliation rows OPA-031–034.

## 11. Stage 5R2 reconciliation note (2026-05-27)

Six compound-owner rows split into atomic single-owner rows (LibrarySourceBinding, SafeLabelPolicy + vocabulary, RenderBundle + PromptTextPackage, Procedural taxonomy + skill, FalseSuppressionSampling, contamination_risk computation). Two placeholder rows resolved (VersionedClaim → DOC73 + lineage table; DynamicHeaderLedger → DOC84). DAMS V5 references reframed as substrate sections inside DOC84, not standalone owners. DOC8 references purged from runtime owner rows (DOC8 = capability-mining only). EC marked `partial / moving` with ECSeamContract named. **The Owner Map now passes its own `owner_map.compound_schema_owner` lint.**

## 12. Stage 5R2b reconciliation note (2026-05-27)

Audit-gap items folded in beyond the synthesis distillation:

- **Renames applied across the family:** `NonAssertionExtractionOutcome` → `AlternativeExtractionRouting` (DOC83-owned; clearer semantic that this is the routing layer for the 4 retired enum-value capabilities, not an "outcome" enum); `SourceBoundSynthesisProjection` → `SourceBoundSynthesisAdapter` (DOC82 wrapper-only; clearer that this is an adapter at the DOC73 → DOC82 seam, not a redefinition). Old names recorded in Retired Names as lineage-only entries with cross-refs.
- **SemanticProjection narrowed:** the generic placeholder is replaced by `SemanticProjectionContract` (DOC80 core umbrella) + four concrete owner-specific projections — `DeliveryProjection` (DOC84), `UIProjection` (DOC86), `OrganizationProjection` (DOC87), `KnowledgeProjection` (DOC82). The contract names the axes; each axis is its own single-owner schema with its own ProjectionInvalidationPolicy. `SourceBoundSynthesisAdapter` is now classified as a KnowledgeProjection wrapper case rather than a free-floating object.
- **ABC §7.7 numbering corrected:** "Six-step" → "12-step (Steps 0–11)" per ABC R0.2 §7.7 source; corrected in both Skeletal Baseline and this Owner Map.
- **Note: a parallel set of skeletal-baseline notes (§11.1–§11.13) captures the broader architectural fold-ins** (bitemporal axes on Assertion, monotonicity laws, recovery/replay seam, consistency model, extraction-side EpisodePolicyEpoch re-gate, invariant enforcement-point naming, DOC15/DOC26 seam checks, DOC85 two-phase charter, Library ADQ-202 gating).