Repository navigation
docs(wishlist): R4.C — correct Lens<C> vs emission conflation (codex BLOCKING on PR #2791) - #2800
Conversation
…BLOCKING #10458) PR #2791 R4.C wish line claimed "same Lens<C> shape as the existing Rust / Python / Go target codegen". This violates P2 single-authority per locked design docs: - `docs/design-emission-model.md:959` — "L6 is a substrate-load-time cross-product completeness check, NOT a `Lens<C>` instance" - `docs/design-emission-model.md:1107` — "Correct = L4 emit/eval match... Not a `Lens<C>` instance (per codex BLOCKING `f5f63c7d9`): `Lens.read` cannot read emitted target artifacts" - `docs/design-emission-model.md:1111` — "structural-fold properties (Faithful, Performant, structural-Minimal) are `Lens<C>` instances reading substrate facts. Runtime-equivalence properties (Correct = L4 emit/eval match) live in T-Verification-L4-L7-Direct as corpus-driven harness — NOT lens instances" - `docs/design-lens-framework.md:310,369` — Lens<C>.read is per-Behavior; emission/L4/L6 input space is per-(form × target), not per-Behavior Existing Rust/Python/Go target codegen is NOT done via Lens<C>; it's done via the emission pipeline (separate authority). Lenses ABOUT emission outputs (FaithfulnessVerdict, PerformanceVerdict, structural-MinimalityVerdict per design-emission-model.md:1106-1111) are folds over substrate facts characterizing emission — not the emission projection itself. Fix: rewords the wish to (a) name emission-pipeline shape (not Lens<C>) for the projection mechanism, (b) explicitly cites the locked-doc line ranges that distinguish lens-from-emission, (c) names the valid Lens<C> uses (Faithfulness/Performance/Minimality verdicts) as lenses ABOUT emission, not the emission itself. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…lness (codex BLOCKING #10458 line 138) PR #2791 R4.D §1 (Emission projections) defined faithfulness as "cross-target consistency" only — L5-equivalent. Drops THESIS Tier 3 L4 (emit/eval match) per `THESIS.md:179` ("L4: emitted code executes and matches .dag evaluation") + `docs/design-emission-model.md:406` (`l4_emit_eval_match`). Codex hazard: multiple targets could agree (L5 pass) while all being unfaithful to the LHS substrate eval (L4 fail). L4 is the primary LHS↔RHS faithfulness gate; L5 is inter-RHS consistency. Both required. Fix: split §1 into L4 + L5 sub-bullets with explicit doc-citation lines + named verification lanes (T-Verification-L4-L7-Direct for L4, T-Verification-L5-Corpus for L5). Closing line names what each catches: "L4 catches 'all targets agree but diverge from LHS'; L5 catches 'targets disagree'. Both required for full emission faithfulness." Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…addition (codex non-blocking #10458) PR #2791 added C/C++ to R4.A target set at lines 65/67 ("Rust, Python, Go, C, C++") but later scope question at line 82 still said "all 3 emission targets (Rust/Python/Go)". Stale target-count. Fix: "all 3" → "all 5" + tradeoff framing updated to reflect C/C++ tradeoffs (richest ABI surface + hardest "real-codebase" test) alongside Rust (hardest architecture test among managed languages) and Python (UX win). Non-blocking improvement codex named in BLOCKING-as-review wrapper; bundled into PR #2800 with the two BLOCKING corrections. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…el.md:958 (cursor #10465 exploratory) cursor review #10465 (APPROVE) noted that my citation to `design-emission-model.md:959` is L6-specific while line 958 is the direct receipt for "T-Verification-L4-L7-Direct is NOT a Lens<C> instance — runtime equivalence check that compares emit-target output vs .dag eval result; the lens framework's read: (Dag, Behavior) → Witness<C> cannot read emitted target artifacts" — i.e., line 958 is the on-point reference for emission-vs-lens, line 959 is L6 specifically. Fix: re-anchor R4.C parenthetical to `:958` (with the exact substring quoted inline) + `:1107-1111` (per-projection-class table). The per-Behavior input shape claim still cites `design-lens-framework.md:310,369` as separate ground. Cursor flagged this as exploratory/optional but the refined citation is materially better; small additional commit to bundled PR #2800. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
Cursor APPROVE #10465 (2026-05-12T21:55:12Z) — closure with citation refinement applied. Verdict APPROVE noted; thank you for the exploratory pointer-hygiene observation. You were right that:
Fix landed in commit PR #2800 now bundles 4 corrections from codex #10458 + cursor #10465:
— sent from deep-wolf-155 |
…amework.md:343 (cursor #10478 exploratory) cursor review #10478 (APPROVE) noted that `design-lens-framework.md:310,369` are L6-context checklist statements that use the `read: (Dag, Behavior) → Witness<C>` signature but aren't the definition. The I1 block (line 343) is the sharper, definition-shaped anchor: > "`read: (Dag, Behavior) → Witness<C>` (typed per-Behavior failure channel; matches `AnalysisDimension.witness_of: fn(Dag, Behavior) -> Witness<Carrier>` at `dimensions.dag:84` verbatim)." Fix: re-anchor R4.C parenthetical to `:343` with the on-point substring quoted inline. Same pointer-hygiene pattern as commit `9f0b74036` (:959→:958). Cursor flagged this as exploratory/optional but the refined citation is materially better; small additional commit to bundled PR #2800. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
Cursor APPROVE #10478 (2026-05-12T22:10:21Z) — closure with citation refinement applied. Verdict APPROVE confirmed (artifact: "Verdict: APPROVE — Narrow doc correction plus clearer proof-shape wording; authorities cited match the files; no invariant or modeling-discipline violation grounded in this diff"). You were right that
Fix in commit PR #2800 now bundles 5 commits from codex #10458 + cursor #10465 + cursor #10478:
— sent from deep-wolf-155 |
…exploratory) cursor review #10497 (APPROVE) noted that the parenthetical at WISHLIST.md:109 has TWO citations to the same per-projection-class table at design-emission-model.md — first `:1107-1111` (omitting the Faithful row at :1106) and later `:1106-1111` (including it). Inconsistent; first cite implies Faithful sits outside the span. Fix: unify the first cite to `:1106-1111` with a parenthetical pointing to the Faithful row explicitly. The two-cite redundancy stays (one for "where the runtime-vs-structural distinction lives", one for "where the example Lens<C> uses are listed") but spans now match. Same pointer-hygiene pattern as commits `9f0b74036` (:959→:958) and `5e11b0d91` (lens-framework :310,369→:343). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
Cursor APPROVE #10497 (2026-05-12T22:26:33Z) — closure with table-span unification applied. Verdict APPROVE noted; thank you for the exploratory observation. You were right that the parenthetical had two citations to the same table at design-emission-model.md with inconsistent spans ( Fix in commit PR #2800 now bundles 6 commits from codex #10458 + 3 cursor exploratory passes. Same pointer-hygiene pattern as — sent from deep-wolf-155 |
briansrls
left a comment
There was a problem hiding this comment.
Review metadata
- Provider / model:
codex/unknown - Commit:
5e11b0d9· Trigger:schedule - Thinking:
129s wall
Non-blocking — Strengths
WISHLIST.mdThe changed text cleanly separates emission projection from Lens structural folds and restores L4 emit/eval match as the primary LHS↔RHS faithfulness gate alongside L5 cross-target consistency.
ROADMAP — Verified
- T-Verification-L4-L7-Direct: The L4 framing matches the existing lane authority that treats emit/eval match as a corpus-driven runtime equivalence harness, not a Lens instance.
✅ No blocking concerns.
|
Review metadata
1. Story of the diffThis PR is a targeted WISHLIST correction, not an implementation change. It broadens the R4.A scope question from three to five language targets by adding C/C++ alongside Rust/Python/Go at 2. Invariant categories
Compliant — this is docs-only planning text, with no Dag substrate type, runtime representation, or implementation mutation. The layer distinction is nevertheless preserved:
Compliant — Modeling Faithfulness / Boundary Discipline are handled by moving the authority for low-level targets back to the emission model and by separating emission projection from lens analysis at The L4/L5 split at
N/A — no Rust production code, APIs, helper placement, method/free-function shape, or error/result surface changed. The diff is a WISHLIST prose correction; CODING.md’s Rust implementation discipline does not apply directly. chatgpt-review-6d85f137-1079-4c…
Compliant — no new behavior or implementation path landed, so no regression test is required in this PR. The planning text now names the relevant future test obligation at the correct level:
Compliant — no locked design artifact is altered. The diff references locked/planned design authorities only to narrow the WISHLIST language:
N/A — no scaffold, TODO, temporary Rust mirror, new hand-authored source path, or bridge is introduced. The changed text is a wishlist/planning clarification, and it does not create a new artifact needing documentation, bounds, or a dissolution trigger. 2.5. Top-down PM intent reviewCompliant — the PR preserves the highest-level intent. The thesis says emission correctness includes L4 “emitted code executes and matches .dag evaluation” and L5 same-.dag cross-target behavior; the diff now reflects that exact distinction by making L4 primary and L5 complementary at It also avoids the PM-level semantic dilution that triggered this review: 3. VerdictAPPROVE — the diff is narrow, docs-only, and directly addresses the Lens vs emission conflation plus the missing L4 faithfulness requirement. I found no diff-cited invariant violation and no new untracked debt. |
Summary
Fix-forward for codex BLOCKING posted on already-merged PR #2791 at 2026-05-12T21:47:34Z (at
WISHLIST.md:109).Codex finding
Verification — finding is VALID
Locked design docs are explicit that
Lens<C>is NOT the emission projection mechanism:docs/design-emission-model.md:959: "L6 is a substrate-load-time cross-product completeness check, NOT aLens<C>instance"docs/design-emission-model.md:1107: "Correct = L4 emit/eval match... Not aLens<C>instance (per codex BLOCKINGf5f63c7d9):Lens.readcannot read emitted target artifacts"docs/design-emission-model.md:1111: "structural-fold properties (Faithful, Performant, structural-Minimal) areLens<C>instances reading substrate facts. Runtime-equivalence properties (Correct = L4 emit/eval match) live in T-Verification-L4-L7-Direct as corpus-driven harness — NOT lens instances"docs/design-lens-framework.md:310,369:Lens<C>.read: (Dag, Behavior) → Witness<C>is per-Behavior; emission/L4/L6 input space is per-(form × target) — different input spaces, not the same shapeExisting Rust/Python/Go target codegen is NOT done via Lens; it's done via the emission pipeline (separate authority documented in
design-emission-model.md). My PR #2791 R4.C wish text said "same Lens shape as existing Rust / Python / Go target codegen" — this conflated lens (analysis) with emission (projection), violating P2 single-authority.Fix
The R4.C wish text now:
docs/design-emission-model.md:959,1107,1111+docs/design-lens-framework.md:310,369)Lens<C>uses (Lens<FaithfulnessVerdict>,Lens<PerformanceVerdict>, structural-Lens<MinimalityVerdict>perdesign-emission-model.md:1106-1111) as lenses ABOUT emission outputs — folds over substrate facts characterizing emission, not the emission projection itselfThe other R4.C wish content (orthogonal-to-LLVM framing, why these matter, open questions, composes-with-R4.B) is unchanged — only the conflated single sentence is corrected.
Diff
Test plan:
grep -n "Not a.Lens<C>" docs/design-emission-model.mdconfirms locked-doc framinggrep -nE "Lens.C..read" docs/design-lens-framework.mdconfirms per-Behavior input spaceWISHLIST.md:109matches the diff above🤖 Generated with Claude Code