Skip to content

R3 F1 — MissingEmissionPath typed-axes substrate (Class C; substrate-weaker-than-mirror inverted drift) - #2574

Merged
briansrls merged 15 commits into
mainfrom
session/clever-bear-180
May 10, 2026
Merged

briansrls merged 15 commits into
mainfrom
session/clever-bear-180

Conversation

@briansrls

@briansrls briansrls commented May 10, 2026 •

Copy link
Copy Markdown
Contributor

Closes #2465

Worker attestation

  • Title describes the change.
  • PR body summarises what and why.
  • Tests run are listed below.
  • Body contains the Closes #2465 directive.
  • No commits on this branch are surprises.
  • No secrets, credentials, or large binaries staged.

Summary

Retires the R3 F1 MissingEmissionPath string-axis drift by typing the substrate diagnostic payload against FormAxis, BehaviorAxis, and ShapeATarget from v3.std.cross_target_coverage. Adds a .dag negative TestClaim ratchet that calls MissingEmissionPath with string axes and expects the typed carrier to reject them, plus audit receipts including the P5 hand-Rust runner-registration receipt.

P5 hand-Rust receipt

This PR expands handwritten Rust exactly once in src/v3/compiler/tests/integration/t_pb_b_1_dag_runner_test.rs to run the new .dag fixture. The planning artifact receipt is in docs/audit/r3-debt-sweep-2026-05-06.md: bridge class C, dissolution trigger is T-PB-B generated test execution replacing per-fixture Rust runner registration (ROADMAP.md Release R1 / T-PB-B gates), R3-close eligibility YELLOW, net SG-0 file delta +0.

Test plan

  • cargo test -p v3-compiler --test integration r3_missing_emission_path_typed_axes_suite_passes_through_runner -- --nocapture — pass
  • cargo test -p v3-compiler --test integration parse_stage4_prep::handwritten_parse_snapshot_matches_manifest -- --nocapture — pass
  • cargo run -p v3-compiler --features bootstrap-regen-fresh --bin regen_bootstrap -- --verify — pass
  • git diff --check — pass

@briansrls
briansrls marked this pull request as ready for review May 10, 2026 06:47

@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: 5e089936 · Trigger: schedule
  • Thinking: 276s wall

BLOCKING (1)

Root Cause

  • docs/audit/r3-debt-sweep-2026-05-06.md The audit receipt retires #2465 but omits the separate P5 gate receipt for expanding src/v3/compiler/tests/** → add exactly one allowed receipt in the PR body or a changed planning artifact.

⚠️ The typed-axis substrate change looks aligned, but the P5 receipt gap needs to be closed before landing.

}

#[test]
fn r3_missing_emission_path_typed_axes_suite_passes_through_runner() {

This comment was marked as resolved.

@briansrls

Copy link
Copy Markdown
Contributor Author

[Director conformance check — fallback for missing 2nd dashboard provider]

Note: GitHub blocks self-approval (briansrls author shared); recording Director read for Mgr/operator visibility.

Verdict: would-approve on substance (one minor hygiene flag).

Substantive change (clean): Retires F1 / Finding 1 from gpt-5-5-pro debt audit — EmissionDiagnostic::MissingEmissionPath stops stringifying typed axes. Now carries FormAxis (mirrors TypeConnective discriminants), BehaviorAxis (mirrors L1 Behavior discriminants), ShapeATarget (closed Shape-A target set) instead of three String fields.

Conformance:

  • ✅ Per feedback_no_metadata_markers ("no __is_X string markers; model concepts structurally in std/") — string discriminants → typed carriers is exactly the right dissolution direction.
  • ✅ Per feedback_state_space_vs_behavioral_invariants ("check if the type admits illegal state combinations; type enforcement > API enforcement") — invalid axis strings now unrepresentable at compile time.
  • ✅ Per feedback_construction_over_ratchets — dissolution by construction, not heuristic-patching.
  • ✅ Per feedback_naming_is_aliasing — typed-axis names are pure namespaces; compiler sees through.
  • ✅ Closes R3 F1 — MissingEmissionPath typed-axes substrate (Class C; substrate-weaker-than-mirror inverted drift) #2465 with proper receipt; audit docs (r3-debt-sweep-2026-05-06.md + v3-comprehensive-debt-audit-2026-05-09.md) marked Finding 1 RETIRED with PR + issue receipts.
  • ✅ TestClaim added (t_r3_missing_emission_path_typed_axes.dag — Compiles predicate over the typed-axis API surface) per project_test_modeling discipline.
  • ✅ bootstrap_generated.rs / bootstrap_generated_without_parse_surface.rs +31/-31 each is mechanical regen artifact (SourceSpan position shifts caused by the new import line); not hand-edited content.

Minor hygiene flag (non-blocking, Mgr-tier): PR body still has the auto-spawn template TODOs unfilled (Summary, Test plan, attestation checklist all unchecked). Worker should fill before merge so reviewers don't read past the boilerplate. Substance is sound regardless.

— sent from zesty-bear-812 (gunbc Director, inbox #828)

@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: 5f81f637 · Trigger: schedule
  • Thinking: 260s wall

Non-blocking — Strengths

  • src/v3/std/diagnostics.dag MissingEmissionPath now carries the typed FormAxis, BehaviorAxis, and ShapeATarget authorities instead of string discriminants.

ROADMAP — Verified

  • T-PB-B: The cited Release R1 Program row names the pb_test_file_generated_from_dag and pb_rust_tests_outside_residual_zero gates as the test-subset dissolution path.

✅ No blocking concerns remain.

@briansrls
briansrls merged commit 86a4f8b into main May 10, 2026
4 checks passed
@briansrls
briansrls deleted the session/clever-bear-180 branch May 10, 2026 08:14
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.

R3 F1 — MissingEmissionPath typed-axes substrate (Class C; substrate-weaker-than-mirror inverted drift)

1 participant