Elnor Repo Reader

E0_Design_Fix_Record.md

Memory Rebuild Docs/Stage_6_Charters/E0_DOC80_Core/E0_Design_Fix_Record.md

Short text page 9579e24e28b6. Generated 2026-06-09T01:23:58.539Z from commit dbaa25962edc11ab30e8d4ca1715f9ae5bf77331. Worktree: clean.

Open readable HTML page · Open raw txt · Open path URL

ELNOR REPO READER TEXT MIRROR
Original path: Memory Rebuild Docs/Stage_6_Charters/E0_DOC80_Core/E0_Design_Fix_Record.md
Source repo: /Users/OpenClaw1/Elnor/Elnor Specs
Git branch: main
Git commit: dbaa25962edc11ab30e8d4ca1715f9ae5bf77331
Generated: 2026-06-09T01:23:58.539Z

---

# E0 / DOC80 Core — Design-Pass Fix Record

**Date:** 2026-06-01
**Target (edited in place, uncommitted):** `DOC80_Core_Charter_Draft.md` (1,852 → 1,869 lines).
**Source reviews:** `E0_Design_Review_ChatGPT*.md` and `E0_Design_Review_Claude*.md` (both verdict **`MINOR_FIXES_THEN_RATIFY`**; no family-architecture defect, no design-revision round). Both converged on the render↔§22 egress binding as the one real seam.
**Not done (by design):** no ratification; no git; no tracker / cross-artifact edits. `Ratification.md` + the discharge sweep (CODEX §7 list) are the architect's separate next steps.

## Consolidated fixes applied (8)

| # | Fix | Source | Section(s) | Change | Verified |
|---|---|---|---|---|---|
| 1 | Render↔§22 binding (merged) | ChatGPT B2 + Claude S-1 | §3.3 `RenderMFC`; §22 | Added `outbound_destination_class` + conditional `disclosure_scope_attestation_ref?` to `RenderMFC` (now symmetric with Export/Delegation MFC); added an "Egress attestation invariants" note binding attestation↔MFC bidirectionally; reworded UR-53 KDA bullet so `enforceKdaRenderPolicy` is *additional to*, not a substitute for, the EC/DOC24 egress gate; +3 lints, +2 fixtures | ✅ fields present; invariant note present; "ONLY routes" removed |
| 2 | Blocked-outcome payload hash | ChatGPT B1 | §22 `E0EgressAttestationBase` + INV-E0-EGRESS-1 | Split `payload_hash` → `attempted_payload_hash` (always) + `dispatched_payload_hash?` (non-block only; forbidden on block); updated INV + redaction-map + TOCTOU-lint references | ✅ both fields present; old field gone |
| 3 | Same-machine outcomes | ChatGPT S1 | §22 `SameMachineEgressAttestation` | Narrowed `decision_outcome` to `allow \| block` (no warn/strip/redact without a policy lookup) | ✅ present |
| 4 | Warrant monotonicity scoping | ChatGPT B3 | §2.4 | Renamed `monotonic_effect` → `trigger_emission_effect`; scoped the lifecycle prose to **trigger emission** (not the §12 source-revocation recompute); renamed lint `warrant_trigger.raised_eligibility` → `…emission_raised_eligibility` (2 sites); §12 polarity rule untouched | ✅ field + prose + lint (×2) updated; old gone |
| 5 | B8 table MFC rows | ChatGPT B4 | §4.3 | Added "render with no MFC" + "learning attribution with no MFC" rows (lints already existed in §3.3) | ✅ both rows present |
| 6 | §18 egress phase + fixture | Claude M-2 | §18 | Added egress sub-step 11.5 to the phase order; added `egress_fixture` to the taxonomy + a negative golden fixture | ✅ present |
| 7 | §3.1.1 owner-confirm mapping | Claude M-1 | §3.1.1 | Added a column→confirming-charter sentence (payload_schema_owner→E3/E4; role_band/candidate_injectable/budget→E7/E8) | ✅ present |
| 8 | ReasonCodeCategory wording | ChatGPT M1 | §2.1 | Reworded "Stage 7 confirms" → "E0-owned base set; Stage 7 extends only via namespace-governance" | ✅ present |

ChatGPT M2 (add `E0DurableRecord` examples) was optional editorial and **not** applied (the "illustrative" rule is already clear).

## Reconciliation notes (where the two reviews diverged)

- ChatGPT caught **B1, B3, B4** that the Claude pass missed; all three check out and were applied.
- Both flagged the **render↔§22 seam** from opposite directions (ChatGPT: attestation→MFC link; Claude: MFC→attestation fields). Merged into one **bidirectional** binding (fix 1) rather than picking one.
- Per Claude **D-2**, `disclosure_scope_attestation_ref` on `RenderMFC` is kept **conditional** (a same-machine local render is not egress), not mandatory.
- No conflicts; no item required relitigating a settled decision.

## Declines carried (both reviewers agree — left untouched)

Guessing registry owners; adding NAMED-only or `MemorySchemaMigrationPlan` bodies; reopening lifecycle/DOC88; making egress a first-class pipeline-stage primitive; making `disclosure_scope_attestation_ref` non-optional; collapsing `MemoryCoordinationTrace` + `MemoryProvenanceGraph`.

## Status

Design-pass fixes complete and re-verified; sanity-checked (MemoryFlowKind still 9; ContextProductKind still 17; egress content intact; no broken sections). **The draft is now design-clean per both reviews' `MINOR_FIXES_THEN_RATIFY` verdicts.** Remaining to close E0: architect **ratification** (`Ratification.md`) + the **discharge sweep** (SM-060 "14→17", Owner Map, Import Graph, Retired Names, SPEC_STATE entry, OPA per-owner folding, ADQ landing notes — per the CODEX audit §7 list).