E1_E2_CODEX_Application_Audit_Prompt.md
Memory Rebuild Docs/Stage_6_Charters/E1_E2_DOC81_Scope_Policy/E1_E2_CODEX_Application_Audit_Prompt.md
# E1/E2 (DOC81) — R2 Application-Fidelity Audit Commission (CODEX) **Repository:** github.com/wbrody/Elnor-Specs — branch `main` **Date issued:** 2026-06-04 · **Architect:** Will Brody. **You produce the audit report; Will reviews it before the delta design re-review.** **You are:** an independent auditor verifying that the **R2 application** of the adjudicated design-red-team fixes to the DOC81 charter **landed exactly as the adjudication card directs** — nothing skipped, nothing improvised, no review patch pasted wholesale, no architect ruling diluted. This is an **application-fidelity audit** (did the card land?), NOT a design review (the delta re-review by other models comes next; log design concerns as `DESIGN_ADVISORY`, don't act on them). **Why this audit exists:** the applier (Claude Code) self-reports all 19 edit units + 5 architect rulings landed, all 10 regression checks passing, and a complete U/F/R/D mapping table. A drafter's self-report of its own pass is exactly what an independent check must confirm or refute against the actual text. Precedent: the E0 application audit found 3 of 64 units mis-landed despite a clean self-report, and the R1 fidelity audit caught a stale lineage table (§14.2) that a fix round had missed — stale-table and silent-substitution defects are your priority class. --- ## 1. Inputs (paths repo-relative under `Memory Rebuild Docs/Stage_6_Charters/E1_E2_DOC81_Scope_Policy/`; read directly — if you cannot access the repo, stop and tell Will) **The artifact under audit** 1. `DOC81_Scope_Policy_Charter_Draft.md` — the R2 draft (~2,255 lines). **The instruction layer it must satisfy (grade against these)** 2. `E1_E2_Adjudication_Card.md` — THE AUTHORITY. §1-bis rulings R-1…R-5 govern; then forks F1–F10 (F8 superseded by R-2); then U-cluster merge decisions (§2); §5 declines D1–D12 are binding NON-changes; §6 new-schema inventory; §7 the 19 edit units + 10-point regression checklist. 3. `E1_E2_R2_Application_Commission_Claude_Code.md` — the commission (authority hierarchy, pass structure, hard constraints, report requirements). 4. `E1_E2_R2_Application_Report.md` — the applier's self-report. **Verify it; do not trust it.** **The source bodies the card points into (for field-by-field comparison)** 5. `Reviews/E1_E2_Design_Review_Claude_Opus_4.8.md` (CL §2.x) · `Reviews/DOC81_consolidated_red_team_final_review_AUDITED.md` (GPT §4.x — the AUDITED copy) · `Reviews/S6 E1:E2 DOC81 Charter Grok RT Reviews.md` (GK). **Ground truth (no-phantom + boundary checks)** 6. `../E0_DOC80_Core/DOC80_Core_Charter_Draft.md` (ratified E0 — §2.1/§2.2/§3.2/§3.3/§5.1/§7.1/§8.3/§12.1/§22); `Memory Rebuild Docs/DOC80 Target Baseline/` (Owner Map / Skeletal / Import Graph / Retired Names); Round D R0.2; `OPA_V3_18.md` §6.25; the ADQ ledger. ## 2. What to check **2.A Mapping-table verification (the core).** The report's final table maps every **U1–U33, F1–F10, R-1–R-5, D1–D12** to a landing or a blocked-report. Re-derive each row against the actual R2 text: confirm the landing exists at the claimed location, matches the card's merge decision (not merely the raw review body), and report PASS/FAIL per row with `§+line` evidence. Any row where the report claims a landing you cannot find, or where the text differs materially from the card's instruction, is a finding. **2.B The trap list (highest-value checks — silent substitutions).** Verify each binding NON-change held: **D12** — `TopicRiskClass.risk_level` still carries `unbounded_requires_review`; GPT's `unknown` swap NOT adopted; the §4.24 *additions* (confirmation proof, `auto_created_lens_only`) present. **F7** — `visible_action_disposition` appears ONLY as an excision note/guard lint, never as a field on `PolicyUIExport`. **F1** — malformed axis floors THAT axis (with `excluded_decision_refs`/audit), not GPT's block-whole-action. **F2** — cluster confidence = MIN-over-spanning + firewall-crossing-only-by-explicit-binding; GPT's full-pairwise recorded as declined alternative only. **D3** — the crosswalk is a constraint table (GPT §4.8 audited shape); GK's total function absent; no `unknown_destination`/`blocked_destination` inside `E0OutboundDestinationClass` (8 values exactly). **F10** — "exactly 5 settled planes" language preserved; the DOC83 freeze framed as pre-fanout step; published-views a row within the DOC84 plane. **R-2 supersession** — F8's disclosure-raising⇒human tier is GONE; `human_required` IFF firewalled crossing; the rationale (send-time gate = the human checkpoint) present. **D1/D2/D4** — no camelCase field renames; no `defer_to_safe_label_only` enum member; no `PolicyEpochVersion` added to E0 §5.1 (Phase-2 flag only). **2.C The architect rulings (R-1…R-5), normatively expressed.** R-1: §4.0 exists with the **exhaustive 4-item** internal-block list + the explicit non-blockers (privilege/holds/privacy-topics/cross-matter) + lint + negative fixture — and **§1-bis boundary audit:** nothing anywhere in R2 blocks an internal-use action on any other basis, classifies destinations, runs confirmations, or owns a privilege taxonomy. R-3: surface-keyed notice posture pair in §4.2 (in-app specific for non-wall; output-embeddable generic; walls produce NO notice) as decision postures, not new schemas. R-4: ambiguity disposition `defer_review_fail_closed` + reviewable queue, no interrupting prompt. R-5: §12-ter + the principal-assumption lint; principal keys mandatory (spot-check `PolicyEvaluationContext.principal_ref` required). **2.D Field-by-field diff on the three largest adoptions.** For (a) §3.0 `PolicyLattice` + rank maps, (b) §3.2 meet v2 pipeline, (c) §3.4 stamp/ceiling/restamp block: diff the R2 text against the cited review bodies (CL §2.1/§2.4/§2.5; GPT §4.4/§4.6/§4.9) and confirm every divergence from the raw bodies is one the card *directs* (merge decisions, R-2, F1, F3 merged seed) — and every divergence the card directs is present. Uninstructed divergences (added/dropped/renamed fields, changed enum members, altered defaults) are findings, each with `§+line`. **2.E Regression checklist, re-run independently.** Re-execute the card §7 10-point list yourself (no E0 re-declaration; no retired names; §9 downward-only; §7.3↔§14.2 row-for-row; one-owner incl. F7/F9 — `ContaminationRiskMeasurement` declared DOC84-owned; zero `| string` escapes + zero bare-string primary IDs on owned schemas; gate+lint+fixture triple per new invariant incl. the §10 table rows; golden-scenario/§18 updates incl. the `same_firewall_only` chain change rippled into rank maps and fixtures; §0 bind-list + counts + header updated; §1-bis boundary audit). Report each PASS/FAIL with evidence. **2.F No-phantom on new content + structural integrity.** Sample ≥20 NEW R2 schemas/enums/lints across §2–§9: each carries a citation (source + `Adj U-n/F-n/R-n` provenance) or a `(seed — architect confirm, §13.6)` marker; §13.6 lists exactly the card's seed set (F3 floor cells, U29 predicate minima, U16 protection rank, U19 closure default, F2 stricter-alternative note). Verify: balanced code fences; no duplicate type definitions (the multi-source merge risk — check `DisclosureClass`, `MemoryPolicyAction`, the axis-level types, branded refs declared once); §-numbering monotonic with the new §3.0/§4.0/§4.7/§6.5–§6.7/§12-ter inserts; OFAR open count = 0 (definition + zero-statement mentions only). ## 3. Output One Markdown file: `Reviews/E1_E2_R2_Application_Fidelity_Audit_CODEX.md` (or return inline; Will saves it). Structure: **verdict** — `READY_FOR_DELTA_REVIEW` / `FIXES_NEEDED_BEFORE_DELTA_REVIEW` (any 2.B trap failure, missing R-ruling, or mis-landed Blocking-cluster ⇒ the latter) — then findings by severity (**Blocking / Substantive / Minor / DESIGN_ADVISORY**), each with `§+line`, the card/commission clause violated, and a paste-ready fix; then the 2.A mapping-table results, the 2.E checklist results, and a one-paragraph bottom line. Cite evidence for PASSes on the trap list too — confirmations need line numbers here. **Start** by confirming repo access and your one-line bottom line.