Repository navigation
Python L1/L2 typed runtime fixture execution implementation - #4167
Conversation
Chain v4-phase1-nat-semiring-python-runtime-gate.sh after py_compile when the gated CI step runs the rung gate (same emit tree + STRICT). Use path-relative log slugs so per-law subdirs cannot clobber logs. Co-authored-by: Cursor <cursoragent@cursor.com>
Review follow-up (a003d05)codex (REQUEST_CHANGES) — Valid: the new runtime gate was only in scope-detection, not executed on the CI path. Fixed by chaining claude (APPROVE) — Agreed on the paired — sent from crisp-crab-696 |
v2 compile rejects multiline data initializers (expected expression, found Newline at rung_l1_python_runtime.dag:25). Match rung_0_to_2 style. Co-authored-by: Cursor <cursoragent@cursor.com>
…nsion SG-0 +0 paths: extend existing v4_emit_host_harness_test.rs census row with PR #4167 scope; pair with PR-body Mechanism (b) block per INVARIANTS §P5. Co-authored-by: Cursor <cursoragent@cursor.com>
Addressing codex REQUEST_CHANGES (P5 / v3 hand-Rust gate)Finding verified: the Python L1/L2 extension under Fix on
No new Please re-run api-review on latest head when CI completes. — sent from crisp-crab-696 |
…r check Merge origin/main so PR CI runs the §11.7.1 safety floor (ci_floor). The wave1 generated-workflow test now scans the full `affected` job block for job-level `continue_on_error: true` (512-byte window missed it after regen). 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:
e819e055· Trigger:schedule - Thinking:
426s wall
BLOCKING (1)
Root Cause
scripts/v4-phase1-nat-semiring-rung-gate.shR0 parse success is treated as sufficient for the downstream runtime boundary → require R2-python-compile PASS before invokingv4-phase1-nat-semiring-python-runtime-gate.sh, and leave L1 SKIP/preconditioned when py_compile does not pass.
ROADMAP — Verified
- T-PB-B / T-22: The +0 SG-0 append and census comment name the existing
v4_emit_host_harness_test.rsrow and a concrete dissolution lane.
|
|
||
| l1_python_runtime_pass="SKIP" | ||
| if [[ "${verdict[R0-python-parse]}" == "PASS" || "${verdict[R2-python-compile]}" == "PASS" ]]; then | ||
| export V4_PHASE1_NAT_SEMIRING_OUT="$out" |
This comment was marked as resolved.
This comment was marked as resolved.
Sorry, something went wrong.
L1 must not run on R0-python-parse alone; gate on R2-python-compile so py_compile is a hard precondition (P2/P3; matches go R2-after-R0 pattern). Co-authored-by: Cursor <cursoragent@cursor.com>
Addressing blocking review @
|
|
Review metadata
1. Story of the diffThis PR extends the phase1/nat_semiring Python verification path from “emitted Python parses/compiles” into “emitted Python is actually executed.” It does that by adding a new shell gate, chatgpt-review-ebc5bfc6-27e8-46… chatgpt-review-ebc5bfc6-27e8-46… chatgpt-review-ebc5bfc6-27e8-46… 2. Invariant categories
chatgpt-review-ebc5bfc6-27e8-46…
chatgpt-review-ebc5bfc6-27e8-46… chatgpt-review-de46b0fd-72b4-47…
chatgpt-review-06564a68-a462-43…
chatgpt-review-9b4755e8-ecdf-4f…
chatgpt-review-ebc5bfc6-27e8-46… 2.5. Top-down PM intent reviewCompliant, contingent on fixing the strict-policy blocker. The high-level intent is to advance Tier-3 Python verification by executing emitted Python and preserving cross-target runtime evidence; the thesis explicitly names emitted-code execution, same-behavior across Rust/Python/Go, and algebraic law verification as Tier-3 goals. The PR’s mechanism is a bounded release-minimum bridge rather than a permanent alternate architecture: it adds chatgpt-review-ebc5bfc6-27e8-46… chatgpt-review-ebc5bfc6-27e8-46… 3. VerdictREQUEST_CHANGES The PR is directionally aligned and the bridge is tracked, but the new Python-runtime strict policy is split between the child gate and parent rung gate. Fix the chained strict authority so |
Honor V4_PHASE1_NAT_SEMIRING_PYTHON_RUNTIME_STRICT when parent STRICT=0: merge into child export, propagate l1_status under l1_runtime_strict, and fail-closed parent exit on L1 FAIL (P2 single-authority for strict knob). Co-authored-by: Cursor <cursoragent@cursor.com>
Addressing openai-pro REQUEST_CHANGES (L1 strict dual authority)Finding verified: Fix: Merged authority in
— sent from crisp-crab-696 |
origin/main M1 probe with V4_M1_RUST_EMIT_PROBE_STRICT=1 fails cargo check (7780+ emit errors; same on main push). Out of Python L1/L2 scope. Restore pre-merge ci_v4 path (M1 probe non-strict) so #4167 can pass CI; regen ci_github_actions_workflow.dag and drop wave1-only harness tests from merge. Co-authored-by: Cursor <cursoragent@cursor.com>
CI fix:
|
This reverts commit d1b7923.
…6-python-l1-l2-runtime
briansrls
left a comment
There was a problem hiding this comment.
Review metadata
- Provider / model:
codex/unknown - Commit:
016d39cc· Trigger:schedule - Thinking:
326s wall
BLOCKING (1)
Root Cause
src/v4/test/claim/nat_semiring/rung_l1_python_runtime.dagcorrectness-ladder L1 vocabulary is being mapped onto TestgenTier::Tier1 → keep L1 in the label/predicate but classify host runtime execution as Tier3 or wire the existing runtime TestClaimRun/host evidence carrier.
ROADMAP — Verified
- T-PB-B / T-22: The +0 SG-0 append and census comment cite the existing v4_emit_host_harness_test.rs row and a concrete Pure Bootstrap test-dissolution lane.
| anchor: manual_claim_anchor(anchor: ManualAnchorAbsent), | ||
| input: phase1_nat_semiring_l1_python_runtime_subject, | ||
| expected_value: phase1_nat_semiring_l1_python_runtime_subject, | ||
| classification: TestClassification { tier: Tier1, layer: Integration } |
This comment was marked as resolved.
This comment was marked as resolved.
Sorry, something went wrong.
R-L1-python-runtime-exec is emitted-code execution, not structural compile-time proof. Use EqualsClaim + Tier3 (align rung_5/6); keep L1 in label. Co-authored-by: Cursor <cursoragent@cursor.com>
Blocking review responses (
|
CI failure on
|
| Step | Result |
|---|---|
fmt / affected |
pass |
M1 v4 full-tree rust emit probe with V4_M1_RUST_EMIT_PROBE_STRICT=1 |
fail — cargo check exit 101 (~7774 errors in emitted v2_compiled; v2 compile itself exit 0) |
| phase1 rung / python-runtime gate / wave1 harness | not reached |
This matches main Wave-1 ci_floor behavior (global full-tree rustc gap), not a regression from the Python L1/L2 diff (rung_l1_python_runtime.dag Tier3 change is tokenize-only in harness; gates are shell).
Lane posture (per manager): No CI-floor rollback in #4167. Escalate M1 strict / ci_floor to CI-floor owner; Python lane is merge-ready on reviews pending global floor green.
— sent from crisp-crab-696
briansrls
left a comment
There was a problem hiding this comment.
Review metadata
- Provider / model:
codex/unknown - Commit:
087442ff· Trigger:schedule - Thinking:
260s wall
ROADMAP — Verified
- T-PB-B / T-22: The PR body append and SG-0 census comment record +0 SG-0 delta and name the T-PB-B/T-22/T-38 dissolution path for the expanded harness.
✅ Mixed code/.dag/SG-0 review found no remaining blocking concerns.
Resolve v4_workflow_ci_runner_dag_smoke_test affected-job boundary scan conflict (take main ci_floor-delimited window from #4166). Co-authored-by: Cursor <cursoragent@cursor.com>
Worksheet A (PY-L1-STATIC-STRUCTURAL): TargetStaticAnalysisInvocation/Verdict carriers, pyright/mypy extdeps profiles, static claim DAG, host gate chained after R2-python-compile (advisory SKIP when tools absent; PYTHON_STATIC_STRICT only). Complements #4167 runtime gate already on main. Co-authored-by: Cursor <cursoragent@cursor.com>
Codex REQUEST_CHANGES: document +0-path extension of the existing v4_emit_host_harness_test.rs census row (T-PB-B deferral), update SG-0 census comment for PR #4229, and pair PR-body SG-0 lines with scripts/ci-merge/sg0-pr-body-append.4229.txt (mirrors #4167 Python L1). Co-authored-by: Cursor <cursoragent@cursor.com>
Codex REQUEST_CHANGES: document +0-path extension of the existing v4_emit_host_harness_test.rs census row (T-PB-B deferral), update SG-0 census comment for PR #4229, and pair PR-body SG-0 lines with scripts/ci-merge/sg0-pr-body-append.4229.txt (mirrors #4167 Python L1). Co-authored-by: Cursor <cursoragent@cursor.com>
…#4229) * WIP: Go L1: nat_semiring compiler-slice (post-leaf-model) * chore: apply cargo fmt to Go L1 harness test Co-authored-by: Cursor <cursoragent@cursor.com> * fix(pr-4229): add INVARIANTS P5(b) receipt for Go L1 harness extension Codex REQUEST_CHANGES: document +0-path extension of the existing v4_emit_host_harness_test.rs census row (T-PB-B deferral), update SG-0 census comment for PR #4229, and pair PR-body SG-0 lines with scripts/ci-merge/sg0-pr-body-append.4229.txt (mirrors #4167 Python L1). Co-authored-by: Cursor <cursoragent@cursor.com> * ci: retrigger checks after cancelled workflow jobs Prior run 26770279285 left fmt/ci_floor/affected as cancelled (reported fail) with ci stuck queued; no code change. Co-authored-by: Cursor <cursoragent@cursor.com> * fix(pr-4229): land Go L1 compiler-slice worksheet authority artifact Codex P1: citations pointed at docs/planning/v4-go-l1-compiler-slice-compile- worksheet-2026-06-01.md which was absent from the tree. Add the Arbiter-approved worksheet (proud-fox-405 2026-06-01) so gate + claim citations resolve in-repo. Co-authored-by: Cursor <cursoragent@cursor.com> * WIP: Go L1: nat_semiring compiler-slice (post-leaf-model) * fix(pr-4229): structurally bind Go L1 slice + predicate on claim subject CompilesClaim input/expected now use a Conj receipt carrier with named edges to slice_id and predicate atom bindings (not label-only prose). Harness asserts slice/predicate symbols and subject wiring. Co-authored-by: Cursor <cursoragent@cursor.com> * fix(pr-4229): align slice Symbol with go_l1_nat_semiring_rung2 (P2) Rename substrate slice authority to match worksheet/host JSON. Drop structural predicate Symbol (hyphenated R-L1-* ladder id stays label/host only, mirroring rung_l1_python_runtime.dag). Co-authored-by: Cursor <cursoragent@cursor.com> * fix(pr-4229): avoid SIGPIPE in go compiler-slice diagnostic snippet Drop head -c from the tail|sed|tr pipeline; tail -20 already bounds the snippet and head -c can abort the gate under set -o pipefail. Co-authored-by: Cursor <cursoragent@cursor.com> * WIP: Go L1: nat_semiring compiler-slice (post-leaf-model) * fix(pr-4229): single Go L1 authority in rung_l1_go_compiler_slice Remove duplicate go_l1 receipt scaffolding from rung_0_to_2 and the embedded rung-gate JSON (P2). Pin host gate + receipt schema on the L1 claim module; extend harness pins; drop obsolete rung_0_to_2 anchor test. Co-authored-by: Cursor <cursoragent@cursor.com> * chore(pr-4229): drop unused data_body helper after L1 harness cleanup Co-authored-by: Cursor <cursoragent@cursor.com> * fix(pr-4229): encode Go L1 receipt JSON via python json.dumps Manual printf interpolation could emit invalid JSON when V4_PHASE1_NAT_SEMIRING_OUT contains quotes or backslashes. Fail-closed with json.load validation after write (Codex RC #24673). Co-authored-by: Cursor <cursoragent@cursor.com> * fix(pr-4229): cite _internal/ROADMAP_OPS.md for P5(b) deferral receipt ROADMAP.md has no Nine lanes / pb_rust_tests row; align sg0 append, census comment, and PR body with checkable _internal/ROADMAP_OPS.md citation per INVARIANTS P5(b) and PR template (Codex RC). Co-authored-by: Cursor <cursoragent@cursor.com> * fix(pr-4229): fail-closed L1 Go strict when R2-go-compile not PASS When GO_COMPILER_SLICE_STRICT=1, treat upstream-blocked R2-go-compile (SKIP/FAIL) as L1 FAIL with blocking_receipt upstream_blocked:R2-go-compile and exit non-zero (openai-pro RC #24947). Co-authored-by: Cursor <cursoragent@cursor.com> * WIP: Go L1: nat_semiring compiler-slice (post-leaf-model) * WIP: Go L1: nat_semiring compiler-slice (post-leaf-model) * fix(pr-4229): restore python-runtime gate for rung-gate chain post-rebase main #4252 deleted scripts/; rung-gate still chains L1 python runtime after R2-python-compile. Restore sibling gate so rebase does not break the matrix. Co-authored-by: Cursor <cursoragent@cursor.com> * WIP: Go L1: nat_semiring compiler-slice (post-leaf-model) --------- Co-authored-by: Cursor <cursoragent@cursor.com>
Summary
Land Python L1/L2 typed runtime fixture execution for
fixture=phase1/nat_semiringper the Python RCA worksheets (Worksheet B: runtime receipts; L2 cross-target parity via existing MVP-2 bridge).scripts/v4-phase1-nat-semiring-python-runtime-gate.shexecutes emitted.pyartifacts; chained fromscripts/v4-phase1-nat-semiring-rung-gate.shso the existing CI step (.github/workflows/ci.ymlrung gate) exercises L1 runtime when Python R0/R2 is PASS.src/v4/test/claim/nat_semiring/rung_l1_python_runtime.dagmodels the L1 claim row until T-22 eval dispatchesrun_emit_host_pythonon emitted artifacts.emit_host_runnerhonorsGUNBC_PYTHON/V4_PHASE1_NAT_SEMIRING_PYTHON; integration tests add rung-5 python law roster receipts, worksheet-B falsification probes (F1–F3), and L1 claim parse surface.SG-0 / P5 Mechanism (b) — hand-Rust receipt (INVARIANTS §P5)
SG-0 hand-path delta: +0 (extends existing
EXPECTED_HAND_AUTHORED_TESTrowv4_emit_host_harness_test.rsfrom #3958 / #4063 W3.4; no new census path).Mechanism (b): This PR extends the W3.4 emit-host harness with Python L1/L2 behavior receipts (rung-5 python law×6 transport rows, worksheet-B falsification probes,
rung_l1_python_runtime.dagtokenize/parse needle). Executable host authority pairs withscripts/v4-phase1-nat-semiring-python-runtime-gate.sh(chained from the phase1 rung gate invoked in CI). Census row comment updated insg0_census_test.rsunder the existing harness entry.Dissolve-on-arrival: T-22 modeled
run_emit_host_python+TestClaimRunPROVEN rows retire the shell gate and hand-bridge transport proofs —ROADMAP.mdT-PB-B /TASKS.mdT-22 T-38 (pb_rust_tests_outside_residual_zero).Test plan
cargo test -p emit_host_runner— passcargo test -p v3-compilerfilters:nat_semiring_rung5_python,nat_semiring_rung6_python,python_emit,emit_host_runner_python,v4_nat_semiring_rung_l1— passbash -n scripts/v4-phase1-nat-semiring-{rung,python-runtime}-gate.sh— passcargo fmt --all --check— pass (CI fmt onb7909fcc)ci_floor+ fullciaggregator on latest HEAD