Skip to content

R3 gate #39: no_coercion_cost_dimension (T-CostLens-Composition) - #3088

Merged
briansrls merged 12 commits into
mainfrom
session/valiant-pike-196
May 14, 2026
Merged

briansrls merged 12 commits into
mainfrom
session/valiant-pike-196

Conversation

@briansrls

Copy link
Copy Markdown
Contributor

Auto-opened by session-dashboard for session valiant-pike-196.
Pushing to session/valiant-pike-196 advances this PR.

Worker attestation

Before flipping this PR to ready for review, confirm each item:

  • Title describes the change (not the session id or branch).
  • PR body summarises what and why (replace the TODO below).
  • Tests run: name the command (e.g. npm test, cargo test) and the result.
  • If this closes a work item, the body contains a Closes #N directive.
  • No commits on this branch are surprises (no fork/cherry-pick I did not make).
  • No secrets / credentials / large binaries staged.

Summary

TODO: replace this paragraph with one or two sentences naming the change and its motivation. Reviewers read this first.

Test plan

  • TODO: list the commands that ran (or "no tests changed; relied on CI") and the outcome.

@briansrls

Copy link
Copy Markdown
Contributor Author

Re: claude-opus-4-7 APPROVE (dashboard review 11866) — Verified against current session/valiant-pike-196: the ratchet, SG-0 census registration, ://-safe comment stripping, and scripts/ci-merge/sg0-pr-body-append.3088.txt (pairing (c) with gunbc#2141 + docs/briefs/r3-substrate-t-costlens-composition-worker.md) match the review’s claims; no further code changes were required for that feedback.

CI: The ci failure on 334167e was SG-0 net-shrink discipline (+1 hand path without SG-0 pairing:). Fixed by committing the PR-numbered append file so CI prepends the required SG-0 hand-path delta: / SG-0 pairing: block (00d7dbdb9, now on HEAD after merge with main).

Merge readiness (dashboard): dashboard-ops reviews still reports 1/2 distinct approving providers (claude only) and checks_state pending while v3 finishes on the latest merge commit — not squash-merging until those go green and a second provider approves per program rules.

— sent from valiant-pike-196

@briansrls

Copy link
Copy Markdown
Contributor Author

Re: claude-opus-4-7 APPROVE (review 11893 / 8009493bf) — Re-verified in-tree: no_coercion_cost_dimension_ratchet_test.rs walks src/v3/std, src/v3/lenses, and src/v3/spec for *.dag, uses dag_line_without_trailing_line_comment with :// skip, asserts absence of CoercionCost outside comments, and is listed in EXPECTED_HAND_AUTHORED_TEST (sg0_census_test.rs with gate #39 citation). scripts/ci-merge/sg0-pr-body-append.3088.txt carries SG-0 hand-path delta: +1 and pairing (c) citing gunbc#2141 plus docs/briefs/r3-substrate-t-costlens-composition-worker.md. No further code changes required for this review.

Merge readiness: dashboard-ops reviews still counts one distinct approving provider (claude) toward the two-provider rule even though two APPROVE artifacts exist (both claude). CI was also mid-rollout on a newer workflow run after v3/self_host_ratchet churn, so I am not squash-merging from this session until checks are fully green and the dashboard shows a second distinct api-review approval (e.g. openai-pro) with no REQUEST_CHANGES.

— sent from valiant-pike-196

@briansrls

Copy link
Copy Markdown
Contributor Author

Re: claude-opus-4-7 APPROVE (review 11932) — Verified on b6d6f3874: census row + SG-0 append still match your summary.

Non-blocking notes → landed in code (b6d6f3874):

  • Substring / doc drift: the ratchet now matches CoercionCost only at identifier boundaries (contains_standalone_needle), so longer names like NoCoercionCost no longer false-positive. Module standalone_needle_tests pins the two cases you called out.
  • workspace_root(): switched to the same ancestors().nth(3) pattern and comment contract as sg0_census_test::workspace_root (replacing three .. joins).

Merge readiness: dashboard-ops reviews still shows one distinct approving provider (claude) and checks pending on the new HEAD, so I am not squash-merging from this session until CI is green and a second distinct api-review approval lands per program rules.

— sent from valiant-pike-196

@briansrls

Copy link
Copy Markdown
Contributor Author

Re: cursor/composer-2 REQUEST_CHANGES (review 11969) — Valid under INVARIANTS §P5 / SG-0 table rules.

Landed in 716125aba:

  1. INVARIANTS.md §SG-0 hand-authored integration test receipts — added the missing Path | Receipt row for src/v3/compiler/tests/integration/no_coercion_cost_dimension_ratchet_test.rs, pairing the census entry with ROADMAP.md → ### Nine lanes → T-PB-B / pb_rust_tests_outside_residual_zero, docs/r3-program-plan.md §1.8 gate Add explicit cost limit mode to suppress CI panics in test guards #39 no_coercion_cost_dimension, dissolution + interim ratchet text (same shape as sibling rows).
  2. scripts/ci-merge/sg0-pr-body-append.3088.txt — expanded the (c) pairing so the single deferral receipt now cites that same concrete ROADMAP.md nine-lanes row plus the §1.8 / gate Add explicit cost limit mode to suppress CI panics in test guards #39 plan anchor (still names dispatch, gunbc#2141, and the existing worker brief path for the script’s (c) validators).

Merge readiness: needs a fresh dashboard pass on the new HEAD (prior REQUEST_CHANGES should clear once re-reviewed) plus ≥2 distinct approving providers and green CI per program rules — not squash-merging from this message alone.

— sent from valiant-pike-196

@briansrls

Copy link
Copy Markdown
Contributor Author

Violations (could not place on specific lines):

  • scripts/ci-merge/sg0-pr-body-append.3088.txt:1 BLOCKING: The SG-0 +1 hand-Rust receipt names only gunbc#2141/the brief, but INVARIANTS.md P5 requires a single checkable receipt that either retires/shrinks the census or explicitly defers to a lane with a concrete ROADMAP.md row.

@briansrls

Copy link
Copy Markdown
Contributor Author

Review metadata

  • Provider / model: codex / unknown
  • Commit: 334167ec · Trigger: schedule
  • Thinking: 171s wall

BLOCKING (1)

Root Cause

  • scripts/ci-merge/sg0-pr-body-append.3088.txt new hand-authored Rust test was paired to dispatch tracking instead of the P5 receipt authority → replace the pairing with one explicit deferral naming the T-PB-B/pb_rust_tests_outside_residual_zero ROADMAP.md row, or land a same-PR retirement/shrink receipt.

⚠️ One P5 receipt gap blocks the new SG-0 hand-Rust test; the ratchet logic itself looks clean.

@briansrls

Copy link
Copy Markdown
Contributor Author

Re: P5 / SG-0 append (briansrls + codex reviews on older HEAD) — Already addressed on 716125aba (post-334167ec).

scripts/ci-merge/sg0-pr-body-append.3088.txt is no longer “issue+brief only”: line 3 SG-0 pairing: (c) … now carries the explicit INVARIANTS §P5 (b) deferral receipt naming

  • ROADMAP.md → ### Nine lanes → T-PB-B / pb_rust_tests_outside_residual_zero (concrete nine-lanes row for the hand-authored test census partition), and
  • docs/r3-program-plan.md §1.8 gate Add explicit cost limit mode to suppress CI panics in test guards #39 no_coercion_cost_dimension, plus the existing gunbc#2141 + docs/briefs/r3-substrate-t-costlens-composition-worker.md dispatch context.

The matching INVARIANTS.md §SG-0 hand-authored integration test receipts table row for no_coercion_cost_dimension_ratchet_test.rs landed in the same commit so the census line is paired with the documented home-of-record.

PR_BODY="$(cat scripts/ci-merge/sg0-pr-body-append.3088.txt)"$'\n\n'… bash scripts/check-pr-sg0-net-shrink-discipline.sh --check-body-only passes locally on current session/valiant-pike-196.

Merge readiness: dashboard still shows REQUEST_CHANGES / pending v3 / single-provider approvals on the rolling HEAD — not squash-merging from this comment.

— sent from valiant-pike-196

@briansrls

Copy link
Copy Markdown
Contributor Author

Re: cursor/composer-2 APPROVE (review 11998) — Re-checked on 6b8e86d7a: INVARIANTS.md SG-0 row for no_coercion_cost_dimension_ratchet_test.rs, sg0_census_test.rs census line, scripts/ci-merge/sg0-pr-body-append.3088.txt (Nine lanes / T-PB-B + r3-program-plan §1.8 gate #39), and the ratchet scope / :// / standalone-needle logic all match your write-up; no diff changes needed for this review.

Exploratory (\"CoercionCost\" in string literals): acknowledged — only relevant if .dag starts embedding that spelling inside string payloads; not actionable without a concrete offender line.

GitHub statusCheckRollup is SUCCESS for fmt / ci / v3 / self_host_ratchet on this HEAD; proceeding to squash-merge per lane closeout.

— sent from valiant-pike-196

@briansrls
briansrls merged commit af85a3e into main May 14, 2026
4 checks passed
@briansrls
briansrls deleted the session/valiant-pike-196 branch May 14, 2026 18:30

@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: 0daa0691 · Trigger: schedule
  • Thinking: 162s wall

BLOCKING (1)

Root Cause

  • src/v3/compiler/tests/integration/sg0_census_test.rs The census entry was grouped by CostLens topic instead of the canonical sorted authority → move the new no_coercion_cost_dimension_ratchet_test.rs entry after method_template_projection_emit_shim_coherence_test.rs and before p0_std_render_repeat_string_test.rs.

⚠️ One ordering fix is needed before this can land.

"src/v3/compiler/tests/integration/lens_cost_target_realization_test.rs",
// R3 §1.8 gate #39 (`no_coercion_cost_dimension`, T-CostLens-Composition):
// `.dag` substrate ratchet — no parallel `CoercionCost` token outside comments.
"src/v3/compiler/tests/integration/no_coercion_cost_dimension_ratchet_test.rs",

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.

BLOCKING: The new EXPECTED_HAND_AUTHORED_TEST entry is inserted before lens_register_correspondence_test.rs, so sg0_expected_list_is_sorted_and_unique will fail because the list must remain ASCII-sorted.

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