Skip to content

Python L1/L2 typed runtime fixture execution implementation - #4167

Merged
briansrls merged 15 commits into
mainfrom
session/crisp-crab-696-python-l1-l2-runtime
Jun 1, 2026
Merged

briansrls merged 15 commits into
mainfrom
session/crisp-crab-696-python-l1-l2-runtime

Conversation

@briansrls

@briansrls briansrls commented Jun 1, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Land Python L1/L2 typed runtime fixture execution for fixture=phase1/nat_semiring per the Python RCA worksheets (Worksheet B: runtime receipts; L2 cross-target parity via existing MVP-2 bridge).

  • L1 host gate: scripts/v4-phase1-nat-semiring-python-runtime-gate.sh executes emitted .py artifacts; chained from scripts/v4-phase1-nat-semiring-rung-gate.sh so the existing CI step (.github/workflows/ci.yml rung gate) exercises L1 runtime when Python R0/R2 is PASS.
  • Substrate: src/v4/test/claim/nat_semiring/rung_l1_python_runtime.dag models the L1 claim row until T-22 eval dispatches run_emit_host_python on emitted artifacts.
  • Typed transport: emit_host_runner honors GUNBC_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_TEST row v4_emit_host_harness_test.rs from #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.dag tokenize/parse needle). Executable host authority pairs with scripts/v4-phase1-nat-semiring-python-runtime-gate.sh (chained from the phase1 rung gate invoked in CI). Census row comment updated in sg0_census_test.rs under the existing harness entry.

Dissolve-on-arrival: T-22 modeled run_emit_host_python + TestClaimRun PROVEN rows retire the shell gate and hand-bridge transport proofs — ROADMAP.md T-PB-B / TASKS.md T-22 T-38 (pb_rust_tests_outside_residual_zero).

Test plan

  • cargo test -p emit_host_runner — pass
  • cargo test -p v3-compiler filters: nat_semiring_rung5_python, nat_semiring_rung6_python, python_emit, emit_host_runner_python, v4_nat_semiring_rung_l1 — pass
  • bash -n scripts/v4-phase1-nat-semiring-{rung,python-runtime}-gate.sh — pass
  • cargo fmt --all --check — pass (CI fmt on b7909fcc)
  • CI: ci_floor + full ci aggregator on latest HEAD

@briansrls
briansrls marked this pull request as ready for review June 1, 2026 03:08
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>
@briansrls

Copy link
Copy Markdown
Contributor Author

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 v4-phase1-nat-semiring-python-runtime-gate.sh at the end of v4-phase1-nat-semiring-rung-gate.sh when Python R0/R2 is PASS (same V4_PHASE1_NAT_SEMIRING_OUT, STRICT, timeout, and interpreter env). The existing .github/workflows/ci.yml rung step now exercises L1 runtime execution without a separate YAML step.

claude (APPROVE) — Agreed on the paired .dag + harness receipts and python3_binary() env bridge. Addressed the log-basename collision note: per-file logs now use a path-relative slug (foo/bar.py → python_runtime_foo__bar.py.log).

— sent from crisp-crab-696

briansrls and others added 3 commits June 1, 2026 03:14
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>
@briansrls

Copy link
Copy Markdown
Contributor Author

Addressing codex REQUEST_CHANGES (P5 / v3 hand-Rust gate)

Finding verified: the Python L1/L2 extension under v4_emit_host_harness_test.rs needed an accepted P5 receipt location; the harness module header alone is not sufficient.

Fix on 74248c6 (+ PR body already updated):

Authority Receipt
PR body ## SG-0 / P5 Mechanism (b) block — +0 paths (extends existing EXPECTED_HAND_AUTHORED_TEST row from #3958 / #4063 W3.4); Mechanism (b) scope (rung-5 python law×6 transport, worksheet-B F1–F3, L1 claim parse); pairs with v4-phase1-nat-semiring-python-runtime-gate.sh chained from rung gate; dissolve ROADMAP T-PB-B / TASKS T-22 T-38
Census ratchet sg0_census_test.rs row comment for v4_emit_host_harness_test.rs — PR #4167 Python L1/L2 (+0 paths)
Append scaffold scripts/ci-merge/sg0-pr-body-append.4167.txt

No new EXPECTED_HAND_AUTHORED_TEST path; census count unchanged.

Please re-run api-review on latest head when CI completes.

— sent from crisp-crab-696

briansrls and others added 2 commits June 1, 2026 03:58
…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 briansrls left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review metadata

  • Provider / model: codex / unknown
  • Commit: e819e055 · Trigger: schedule
  • Thinking: 426s wall

BLOCKING (1)

Root Cause

  • scripts/v4-phase1-nat-semiring-rung-gate.sh R0 parse success is treated as sufficient for the downstream runtime boundary → require R2-python-compile PASS before invoking v4-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.rs row and a concrete dissolution lane.

⚠️ The runtime gate needs to preserve the py_compile boundary before this receipt is trustworthy.


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.

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>
@briansrls

Copy link
Copy Markdown
Contributor Author

Addressing blocking review @ scripts/v4-phase1-nat-semiring-rung-gate.sh:360

Finding verified: L1 invoked when R0-python-parse == PASS || R2-python-compile == PASS, so the OR arm could run runtime exec without the documented py_compile (R2) precondition.

Fix: Gate L1 on R2-python-compile == PASS only (Phase 1: R0/R2 flip together on the same py_compile receipt, but R2 is the correct authority for “compile surface satisfied before exec”).

# before
if [[ "${verdict[R0-python-parse]}" == "PASS" || "${verdict[R2-python-compile]}" == "PASS" ]]; then

# after
if [[ "${verdict[R2-python-compile]}" == "PASS" ]]; then

When py_compile fails, R2 is SKIP and L1 stays SKIP (no misclassified runtime rejection).

— sent from crisp-crab-696

@briansrls

Copy link
Copy Markdown
Contributor Author

Review metadata

  • Provider / model: openai-pro / gpt-5-5-pro
  • Commit: 9bc98a00 · Trigger: manual
  • Comparison: main @ fc7930ee ... session/crisp-crab-696-python-l1-l2-runtime @ 9bc98a00
  • Conversation: View conversation

1. Story of the diff

This 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, scripts/v4-phase1-nat-semiring-python-runtime-gate.sh, which walks the rung-gate Python emit tree, runs each .py, records a R-L1-python-runtime-exec verdict, and is chained from the existing rung gate only after R2-python-compile passes. The test harness side grows Python transport receipts for the rung-5 nat semiring law roster plus falsification probes for host exit, parse failure, and value mismatch, while src/v4/test/claim/nat_semiring/rung_l1_python_runtime.dag adds the v4 claim-row surface for the new L1 runtime predicate. The PR also updates SG-0 receipt comments and gate-scope detection so the new script and workflow knobs are covered by the existing CI gate trigger surface. chatgpt-review-ebc5bfc6-27e8-46…

chatgpt-review-ebc5bfc6-27e8-46…

chatgpt-review-ebc5bfc6-27e8-46…

chatgpt-review-ebc5bfc6-27e8-46…

2. Invariant categories

  1. LAYER MODEL — Compliant with one implementation-layer blocker noted below. The diff does touch a v4 .dag claim file, but it does not introduce a new substrate connective, behavior, Dag resident type, coproduct, or reusable algebraic primitive. The .dag row is explicitly a claim-label scaffold whose executable transport remains the shell gate until T-22, and the SG-0 receipt names T-22 / T-PB-B dissolution, so the substrate/modeling impact is bounded rather than a new permanent substrate shape. chatgpt-review-ebc5bfc6-27e8-46…

chatgpt-review-ebc5bfc6-27e8-46…

  1. INVARIANTS.md + modeling-discipline.md — Finding: the runtime-strict policy has two authorities and the chained path ignores the Python-specific one.

scripts/v4-phase1-nat-semiring-python-runtime-gate.sh:26 defines the child gate’s policy as V4_PHASE1_NAT_SEMIRING_PYTHON_RUNTIME_STRICT, and scripts/detect-phase1-nat-semiring-gate-scope.sh:51 treats that variable as a CI-relevant strict knob. But the only path this PR wires into CI immediately overwrites that variable with the parent rung gate’s $strict at scripts/v4-phase1-nat-semiring-rung-gate.sh:364, and the final blocking check is also guarded only by the parent strict mode at scripts/v4-phase1-nat-semiring-rung-gate.sh:402. That means a workflow/operator can set the advertised Python-runtime strict variable to 1 while leaving the parent rung gate shadowed, and a Python runtime failure will still not fail the chained gate. This violates P2 single-authority / boundary discipline for the host-process predicate control plane and P3 fail-closed policy: the diff advertises a stricter runtime predicate authority, but the executable chain silently uses a different authority. Preserve the Python-runtime strict value through the parent, or remove the separate knob from the documented/detected surface. chatgpt-review-ebc5bfc6-27e8-46…

chatgpt-review-ebc5bfc6-27e8-46…

chatgpt-review-de46b0fd-72b4-47…

  1. CODING.md — Compliant aside from the policy bug above. The new Rust helper is a small free function, python3_binary, and run_emit_host_python consumes it without adding object state; the new Rust tests are named as behavior claims and use structured verdict variants rather than string assertions. The shell comments are mostly boundary/authority notes rather than ordinary control-flow narration. chatgpt-review-ebc5bfc6-27e8-46…
  2. TESTING.md — Compliant for the Rust transport surface; missing coverage is implied by the blocking finding. The diff adds behavior-driven tests for the new Python transport outcomes: runtime rejection, unparsable stdout, and value mismatch are each pinned to typed EmitHostEmitVsEvalVerdict variants, and the rung-5 roster gets focused pass receipts. The strict-knob issue above should be fixed with a direct script/gate regression because it is exactly the kind of CI policy path the Rust transport tests do not exercise. chatgpt-review-ebc5bfc6-27e8-46…

chatgpt-review-06564a68-a462-43…

  1. LOCKED DESIGN DECISIONS — Compliant. The PR is adding a bounded bridge in the still-hand-authored test/gate layer, not revising the Pure Bootstrap zero target. The SG-0 append file and census comment explicitly state +0 hand-path delta and dissolve-on-arrival through T-22 / T-PB-B, which aligns with the live zero-floor direction that external-toolchain boundary tests eventually migrate to .dag TestClaim / ExecuteCommand surfaces. chatgpt-review-ebc5bfc6-27e8-46…

chatgpt-review-9b4755e8-ecdf-4f…

  1. TRACKED vs UNTRACKED DEBT — Compliant. The new hand-shell and Rust-test extension are tracked as a bridge: documentation is present in the SG-0 append and census comment, the bound is the existing harness row plus +0 path accounting, and the dissolution trigger is named as T-22 / T-PB-B pb_rust_tests_outside_residual_zero. The .dag claim header also names the interim status and the T-22 transition to run_emit_host_python over emitted artifacts. chatgpt-review-ebc5bfc6-27e8-46…

chatgpt-review-ebc5bfc6-27e8-46…

2.5. Top-down PM intent review

Compliant, 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 .dag claim labels, Rust transport receipts, and a CI shell gate with SG-0/T-PB-B dissolution receipts. That preserves the PM direction as long as the advertised Python-runtime strict knob actually controls the chained gate; otherwise the release-minimum gate can be configured strict in name while staying shadow-only in practice. chatgpt-review-24590daf-c389-41…

chatgpt-review-ebc5bfc6-27e8-46…

chatgpt-review-ebc5bfc6-27e8-46…

3. Verdict

REQUEST_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 V4_PHASE1_NAT_SEMIRING_PYTHON_RUNTIME_STRICT=1 actually fails the CI path it advertises, or collapse the knob back to the parent strict policy.

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>
@briansrls

Copy link
Copy Markdown
Contributor Author

Addressing openai-pro REQUEST_CHANGES (L1 strict dual authority)

Finding verified: V4_PHASE1_NAT_SEMIRING_PYTHON_RUNTIME_STRICT was documented/detected independently, but the rung gate overwrote it with parent $strict only and the parent exit path ignored L1 when parent STRICT=0.

Fix: Merged authority in v4-phase1-nat-semiring-rung-gate.sh:

  • l1_runtime_strict = PYTHON_RUNTIME_STRICT env, or forced 1 when parent V4_PHASE1_NAT_SEMIRING_STRICT=1
  • Child export uses l1_runtime_strict (not blind parent overwrite)
  • Parent honors l1_runtime_strict for l1_status promotion and a dedicated exit 1 when L1 is FAIL with runtime-strict alone

V4_PHASE1_NAT_SEMIRING_PYTHON_RUNTIME_STRICT=1 now fail-closes the chained path without requiring parent shadow mode.

— 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>
@briansrls

Copy link
Copy Markdown
Contributor Author

CI fix: ci_floor M1 strict failure (016d39cc)

Root cause (verified): ci_floor failed on V4_M1_RUST_EMIT_PROBE_STRICT=1 → v4-m1-rust-emit-probe.sh cargo check exit 101 (~7780 rustc errors in emitted v2_compiled). Same failure on main push runs (e.g. run 26734801058) — not Python/runtime-specific; full-tree emit is red upstream.

Fix (d1b792317): Revert merge b8e804356 (Wave 1 ci_floor cut) for this PR branch. Restores ci_v4 path where M1 probe runs without strict fail-closed on rustc gap; phase1 rung gate (with chained python-runtime gate) remains in ci_v4. Regenerated ci_github_actions_workflow.dag; dropped wave1-only harness tests tied to merged main.

Python L1/L2 changes unchanged on 9bc98a009+ gate fixes.

— sent from crisp-crab-696

@briansrls briansrls left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.dag correctness-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.

⚠️ The py_compile boundary fix is good, but the new runtime claim needs the correct TestClaim tier before this substrate row lands.

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.

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>
@briansrls

Copy link
Copy Markdown
Contributor Author

Blocking review responses (rung-gate.sh:367 + rung_l1_python_runtime.dag:40 / codex Tier)

rung-gate.sh:367 — already addressed (stale vs 016d39cc+): L1 runs only when R2-python-compile == PASS (not R0-python-parse). Fixed in 9bc98a009; present on current head:

if [[ "${verdict[R2-python-compile]}" == "PASS" ]]; then

rung_l1_python_runtime.dag Tier — valid, fixed on latest push: Host runtime execution is THESIS Tier 3 (emitted code runs), not Tier 1 structural proof. Row now uses EqualsClaim + TestClassification { tier: Tier3, layer: Integration } (same pattern as rung_5.dag / rung_6.dag); L1 vocabulary stays in the claim label (rung=l1, R-L1-python-runtime-exec). Shell gate + harness remain interim authority until T-22 TestClaimRun dispatch.

— sent from crisp-crab-696

@briansrls

Copy link
Copy Markdown
Contributor Author

CI failure on 087442ffa — not Python/runtime-specific (no lane patch)

Failed checks: ci_floor → ci aggregator (2 reported).

Root cause (verified, run 26738719227):

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 briansrls left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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>
@briansrls
briansrls merged commit 9e3f323 into main Jun 1, 2026
briansrls added a commit that referenced this pull request Jun 1, 2026
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>
briansrls added a commit that referenced this pull request Jun 1, 2026
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>
briansrls added a commit that referenced this pull request Jun 2, 2026
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>
briansrls added a commit that referenced this pull request Jun 2, 2026
…#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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant