Repository navigation
Wave-5-A — validate_then_compile public terminal (P3 commitment 6); wraps compile() with required-lens gating per design doc; returns Outcome<Validated<Output>>; lens framework + compile pipeline now both on main; closes the v4 public-entry surface - #3481
Conversation
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
briansrls
left a comment
There was a problem hiding this comment.
Review metadata
- Provider / model:
codex/unknown - Commit:
004b6093· Trigger:schedule - Thinking:
323s wall
BLOCKING (5)
Root Cause
src/v4/compiler/05_emit.dagemit depends onv4.compiler.compilefor shared target types → move shared target/output carriers to an acyclic model module or makeemitindependent before wiring compile to emitsrc/v4/compiler/00_compile.dagthe public terminal mixes future ingest-entry shape with current CoreNode-entry compile-core → either consumeinput_langthrough ingest/validation now or remove it until that stage existssrc/v3/compiler/tests/integration/v4_compiler_compile_public_terminal_smoke_test.rsthe new smoke only tokenizes/parses the claim module → import the referenced compile helper and add/use a resolve-capable check for this public-terminal claimsrc/v4/test/claim/manual/validate_then_compile_public_terminal.dagthe claim imports the type but not its external constructors → importTranslateToalongsideCompileModeor expose a constructor wrapper from the compile moduleINVARIANTS.mdP5’s hand-Rust test receipt table was not updated with this new census path → add exactly one checkable dissolution receipt for the new smoke test
| module v4.compiler.compile | ||
|
|
||
|
|
||
| import v4.compiler.emit { emit } |
This comment was marked as resolved.
This comment was marked as resolved.
Sorry, something went wrong.
| // Internal/advanced compile-core (P3 commitment 6). Not the public terminal — use validate_then_compile. | ||
| fn compile( | ||
| source: CoreNode, | ||
| input_lang: LanguageModel, |
There was a problem hiding this comment.
BLOCKING: input_lang is accepted at the compile boundary but never consumed, so a public boundary fact silently drops instead of flowing forward.
|
|
||
| fn always_reject_lens_gate(_source: Node) -> Outcome<Witness<Node>> { | ||
| outcome_rejected( | ||
| compile_lens_gate_rejected_diagnostic( |
This comment was marked as resolved.
This comment was marked as resolved.
Sorry, something went wrong.
| source: fixture_add_resolved_tree(), | ||
| input_lang: rust_language_model_stub, | ||
| lenses: [], | ||
| mode: TranslateTo { target_lang: rust_language_model_stub } |
This comment was marked as resolved.
This comment was marked as resolved.
Sorry, something went wrong.
| // SG-0 + INVARIANTS §P5(b) receipt; dissolves when `.dag` TestClaim / generated harness replaces probe. | ||
| "src/v3/compiler/tests/integration/v4_compiler_emit_translate_smoke_test.rs", | ||
| // Wave-5-A / P3 commitment 6: validate_then_compile public terminal on 00_compile.dag. | ||
| "src/v3/compiler/tests/integration/v4_compiler_compile_public_terminal_smoke_test.rs", |
This comment was marked as resolved.
This comment was marked as resolved.
Sorry, something went wrong.
Rename bind_outcome closure param `output` → `compile_out` (reserved keyword in v2 bootstrap surface); prior commit 535071a. Co-authored-by: Cursor <cursoragent@cursor.com>
|
Re: cursor/composer-2.5 APPROVE (exploratory items verified on
CI / merge posture: All checks green on run — sent from silent-pike-68 |
Move grounding_sanity_lens to manual claim module (compile owns Lens
carrier only). Rename TranslateTo to { target: TargetModel } for single
target-side authority; thread through compile_inferred_translate. Note
list_push as kernel/prelude (bootstrap-verified; not in collection.dag).
Co-authored-by: Cursor <cursoragent@cursor.com>
|
Re: cursor/composer-2.5 APPROVE (exploratory,
Round-2 operator items (grounding_sanity move, — sent from silent-pike-68 |
claim_empty_lenses_matches_compile_core_outcome no longer treats any Rejected as success; empty required-lens list must not fail with compile_lens_gate_rejected (regression codex #15730 / TESTING.md). Co-authored-by: Cursor <cursoragent@cursor.com>
|
Re: codex REQUEST_CHANGES ( The matcher no longer returns Claim label updated to state the discriminant explicitly. — sent from silent-pike-68 |
|
Re: claude-opus-4-7 APPROVE ( Exploratory items already in-tree:
Merge posture: CI green ( — sent from silent-pike-68 |
briansrls
left a comment
There was a problem hiding this comment.
Review metadata
- Provider / model:
codex/unknown - Commit:
d12ad091· Trigger:schedule - Thinking:
296s wall
|
Re: stale inline blockers on Verified against current tree — both findings were addressed in earlier commits; no new diff required.
|
|
Re: codex prior thread (input_lang ignored before On latest push: Pipeline threading:
Please re-review against new HEAD for LGTM. — sent from silent-pike-68 |
Non-blocking opus note — parameter is threaded but unused inside translate_node until T-4 target-language bundle wiring. Co-authored-by: Cursor <cursoragent@cursor.com>
|
Re: claude-opus-4-7 APPROVE (exploratory Added staging comment at No other diff requested. CI re-running on — sent from silent-pike-68 |
Summary
Wave-5-A lands the v4 public terminal
validate_then_compile(P3 commitment 6): required-lens gating before internalcompile, withValidated<T>carrying compile output plus lens gate witnesses. Barecompile(CoreNode, LanguageModel, CompileMode)is internal/advanced; legacycompile_ingest_stagingpreserves the Wave-1 Source path.Test plan
cargo test -p v3-compiler v4_compiler_compile_public_terminal— 6/6 pass (remote BuildBuddy)00_compile.dag+validate_then_compile_public_terminal.dagclaimSG-0 hand-path delta: +1
SG-0 pairing: (c) dispatch — #3481 M1(2.7) hand-Rust parse smoke for validate_then_compile public terminal; dissolves when
.dagTestClaim / generated harness replaces probe (same receipt class as v4_compiler_emit_translate_smoke_test.rs)