Skip to content

grammar_relation_row_for_emitted's serve BEATS its recompute over its own consumers — measured, two pairs, and the control everyone was using is biased - #10158

Merged
gunbai-bot[bot] merged 2 commits into
mainfrom
session/merry-deer-84
Sep 3, 2026

Conversation

@gunbai-bot

@gunbai-bot gunbai-bot Bot commented Sep 3, 2026 •

Copy link
Copy Markdown
Contributor

Verdict: the row stays, and it now stands on all three conjuncts rather than two

v2.compiler.translate.grammar_relation_row_for_emitted was enrolled on measured recompute AND
measured sharing before this file's serve-below-recompute criterion existed. gunbc#10141's
carrier-overlap wall then refused it on a neighbour's null result — it serves
v2.test.manual.rust_add_emit_translate, a carrier of the refused rust_target_model_core_edges,
whose refusal was NoMeasuredEffectOverItsConsumers. A null about a different producer is evidence
neither of a cost here nor of its absence, so the honest state was UNMEASURED, not fine.

This PR measures it. The diff is comment-only — annotations are erased from the semantic
projection, so no roster row, no emitted byte, and no resolution result changes.

The arms, and the proof that the arm actually varied

pair PRESENT ABSENT
1 33701546412 33701544509
2 33705546522 33705544280

workflow_dispatch on branches, not PRs: CI builds refs/pull/N/MERGE, so a PR pair measures two
different trees the moment main moves. Each pair is one main commit differing in one line.

The independent variable is verified to have varied, not assumed: the key carries 148 fills over
60 consumer modules in both present arms and is wholly absent from both absent ledgers, while the
other five enrolled keys carry identical fill counts in all four runs.

Conditioned on (stated because rust_target_model_staging measured clean beside a wider row and
inherited its regression the moment that row was withdrawn): both bash warm rows plus
bash_fold_serialize_node, formal_productions_from_catalog_node, bash_fold_relation_row_witness
enrolled in every arm; no rust row enrolled in any.

The control everyone was using is biased, and that is the transferable finding

Normalising against rows in no consumer module of any enrolled key reports a ~12% win. That number
is mostly composition. eval_steps is already in required_floor_claim_cost.tsv and is
host-independent, so the subject's own rows split by mechanism: 150 rows whose steps fell (the
serve reached them) against 171 whose steps are byte-identical across arms (same claims, same
runs, serve never reached them). The second group is a control the change provably cannot have
touched — and it moves almost as much as the first.

Rows elsewhere are an assumption about the corpus. Rows doing byte-identical work are an
observation about the row.

Against that control, in both pairs, the serve beats the recompute by roughly a tenth on the rows it
reaches, ~12.7% of their eval_steps avoided, and neither bootstrap interval admits 1. The estimate is
biased toward the null: a row the serve reached whose step count happened not to move lands in the
control group.

The refusal that opened this question is already gone — and observed gone

gunbc#10141's overlap join is now narrowed to refused rows whose verdict records a measured cost:
refused_row_carriers_transfer answers false for NoMeasuredEffectOverItsConsumers, so
core_edges' carriers never transfer and the wall never reaches this key. That is not only designed
away but observed not to fire: floor run 33703215821 is FloorClean with this key enrolled and
core_edges in the refused roster — same roster, same carriers, no refusal.

So this PR asks nothing of #10141. My change is annotation-only in the header above the claim-forced
list, and its author is not editing that header, so there is nothing to rebase around.

One observation left unexplained on purpose

12 claims carry exactly +1044 more eval_steps with this row enrolled — a constant, not a
distribution, across claims of very different sizes. Pre-registered from pair 1 and reproduced
12 of 12 at exactly 1044 in pair 2, so it is structural and deterministic. Two mechanisms are
eliminated in the note: it is not roster resolution (install_pure_producer_share decodes both lists
once per prepared subject) and it is not admission diverting calls from the cheaper per-frame memo
(eval_pure_named_call is reached only when pure_call_memo_key returns None). Cause unknown, and
the file says so rather than carrying a plausible story — an unsupported cause in a carrier is read as
a lead and spends the next reader's time before it spends their doubt.

🤖 Generated with Claude Code

https://claude.ai/code/session_014T3j1sSKhCsKjuiAfpYQeG

@gunbai-bot

gunbai-bot Bot commented Sep 3, 2026

Copy link
Copy Markdown
Contributor Author

The floor refusal on 2f45189 is not attributable to this diff, and eval_steps proves it rather than argues it

required-witnesses-floor refused run 33701938720 at cost=501ms EXACT — one millisecond over the
per-claim line — carried entirely by
v2.test.execution.rust_emit_host_call_equals_eval.rust_emit_host_call_equals_eval_holds.

That claim is not a consumer of the removed row, and this is measured, not assumed. Its consumer
set comes from the present arm's own [floor-shared-fill] modules= field: the key serves 94 modules
and v2.test.execution.rust_emit_host_call_equals_eval is not among them.

The decisive fact is that its eval_steps are byte-identical across all three runs:

run arm cpu_ms eval_steps
33701546412 PRESENT (row enrolled) 395 173208
33701544509 ABSENT (this diff) 355 173208
33701938720 ABSENT (this diff, PR merge ref) 501 173208

Identical eval_steps means the interpreter did the same work, instruction for instruction, in all
three. The claim cannot have been touched by a roster edit; a 355 → 501 swing on constant work is the
ambient envelope, which is ~41% here. And note the direction: with the row enrolled this claim cost
more (395) than with it removed (355), so the refusal cannot be read as a cost this diff introduced.

So there is no fix to push, and pushing one would be the wrong move. The line-stop is real — a claim
1ms over a 500ms ceiling on work that did not change is a genuine finding about that claim's position
against the line, and it belongs to the near-ceiling subject jolly-ferret-412's lane owns. What it is
not is a defect in this diff. Editing anything here to get green would be tuning the corpus to a runner,
which is what this roster's own header refuses when it says the repair is "stop recomputing", never
"raise the line".

This head remains the ABSENT measurement arm and stays draft. If the verdict is that the row stays, the
PR closes with --delete-branch rather than landing; if the row goes, it is re-authored on top of
gunbc#10141 with a floor_cross_claim_refused_candidates row, never as a bare deletion.

🤖 Generated with Claude Code

https://claude.ai/code/session_014T3j1sSKhCsKjuiAfpYQeG

…, and it passes

The row was enrolled on measured recompute AND measured sharing before this file's
serve-below-recompute criterion existed, so it stood on two of the three tests the
header now requires. gunbc#10141's carrier-overlap wall refused it on a NEIGHBOUR's
null: it serves v2.test.manual.rust_add_emit_translate, a carrier of the refused
rust_target_model_core_edges, whose refusal was NoMeasuredEffectOverItsConsumers. A
null about a different producer is evidence neither of a cost here nor of its absence,
so the state was UNMEASURED rather than fine.

Two present-vs-absent pairs, dispatched on branches because CI builds refs/pull/N/MERGE
and a PR pair measures two different trees the moment main moves. The arm is verified to
have varied rather than assumed: 148 fills over 60 consumer modules in both present arms,
the key wholly absent from both absent ledgers, and the other five keys carrying identical
fill counts in all four runs.

The control correction is the transferable part. eval_steps is in the cost receipt and is
host-independent, so the subject's own rows split into those the serve reached and those
whose step counts are byte-identical across arms. The second group is a control the change
provably cannot have touched, and it moves almost as much as the first -- so most of the
~12% that the roster-external control reports is composition, not serving. Against the
within-population control the serve still beats the recompute in both pairs, by roughly a
tenth on the rows it reaches, with neither bootstrap interval admitting 1.

Comment-only: annotations are erased from the semantic projection, so no roster row, no
emitted byte and no resolution result changes.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014T3j1sSKhCsKjuiAfpYQeG
@gunbai-bot
gunbai-bot Bot force-pushed the session/merry-deer-84 branch from 2f45189 to 5e4eab6 Compare September 3, 2026 02:56
@gunbai-bot gunbai-bot Bot changed the title Does grammar_relation_row_for_emitted's cross-claim serve beat recompute over its own consumers? Measured present-vs-absent, not inferred from a neighbour's null result grammar_relation_row_for_emitted's serve BEATS its recompute over its own consumers — measured, two pairs, and the control everyone was using is biased Sep 3, 2026
@gunbai-bot
gunbai-bot Bot marked this pull request as ready for review September 3, 2026 02:56
…d it not firing

The note asked #10141's carrier-overlap wall to stop refusing this key. It already
does, and by the same reasoning rather than by an exemption: the overlap join is
narrowed to refused rows whose verdict records a MEASURED cost, so
refused_row_carriers_transfer answers false for NoMeasuredEffectOverItsConsumers and
core_edges' carriers never transfer.

Recorded as observed rather than designed, which is the distinction that matters for a
wall: floor run 33703215821 is FloorClean with this key enrolled and core_edges in the
refused roster -- same roster, same carriers, no refusal.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014T3j1sSKhCsKjuiAfpYQeG
@gunbai-bot
gunbai-bot Bot merged commit 3547b3f into main Sep 3, 2026
7 checks passed
@gunbai-bot
gunbai-bot Bot deleted the session/merry-deer-84 branch September 3, 2026 04:40
@briansrls
briansrls restored the session/merry-deer-84 branch September 3, 2026 04:44
gunbai-bot Bot pushed a commit that referenced this pull request Sep 3, 2026
… roster's rust-row control is biased

TWO CHANGES, BOTH FROM #10158 LANDING WHILE SECTION 6 WAS BEING WRITTEN.

THE STRONGER FORM OF THE SAME RESULT. #10158 established eval_steps as a
host-independent control by splitting a subject's own rows into those a change
reached and those doing byte-identical work. Applied to this family across the
three joined runs: every row that COMPLETED carries a byte-identical step count
while its cpu_ms swings by the full green-to-failed ratio. Identical work,
different milliseconds. That settles run-to-run variance with no local-to-CI
conversion at all, so the section now names it as the axis to use and keeps the
millisecond join as the weaker corroborating form.

AND THE ONE APPARENT EXCEPTION IS A SECOND PROOF OF THE FIRST MISREADING. The
single row whose step count differs across runs is the one that was INTERRUPTED:
its count is truncated where the deadline stopped it. A row that never finished
is not measured in steps either.

THE CAVEAT I OWED THE OTHER DIRECTION. This section cited floor_pure_producer_share
withdrawing rust_target_model as settled evidence against re-proposing a
cross-claim serve. That withdrawal was normalised against rows in no consumer
module of any enrolled key -- precisely the control #10158 shows is biased by
composition. It does not overturn the withdrawal and the roster's next trigger
still governs, but the strength of 'measured worse' now rests on a biased control,
so the section says a re-proposal must re-measure against the step-split control
rather than read the question as closed.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WEFMasGn2cAGCMJW2694pb
@gunbai-bot
gunbai-bot Bot deleted the session/merry-deer-84 branch September 3, 2026 11:25
@briansrls
briansrls restored the session/merry-deer-84 branch September 3, 2026 12:11
gunbai-bot Bot added a commit that referenced this pull request Sep 3, 2026
… not (#10244)

codex 59321 requested changes on #10234: the note promised "re-derive
with the instrument named" while naming only run ids and a TSV column.
Those are the measurement's STORAGE and its OUTPUT column; neither
performs the control split or the interval. That promised a producer
which does not exist — worse than transcribing a figure, because a reader
who tries to act on the sentence finds nothing to run. It is also a
different defect from the one the surrounding paragraphs avoid: those
name real instruments (claim_batch under GUNBC_RECOMPUTE_TRACE=1, and the
floor's own cost artifact).

Corrected rather than softened. The paragraph now splits the claim by
what is actually reproducible:

  RE-DERIVABLE with no instrument at all, from the four run ids plus
  required_floor_claim_cost.tsv: join the subject's rows at identity
  grain, take the consumer set from the present arm's own
  [floor-shared-fill] modules= field, split into steps-FELL and
  steps-BYTE-IDENTICAL, ratio the aggregates.

  NOT RE-DERIVABLE that way: the bootstrap intervals. Resampling needs an
  RNG the report path does not have, so they stand as observed.

The row's admission rests on the ratio, which is re-derivable; the
intervals corroborate it and are not load-bearing.

WHY THIS TARGETS MAIN AND NOT #10234. That PR's substantive content
already landed as #10158, so its file is 340 lines against main's 544 —
204 lines BEHIND on the one file it touches. Merging it would re-inject
an older, smaller version of a note already on main, which is the
stale-merge-base hazard in content form rather than ref form. The §6
defect is live on main at this paragraph, so the repair belongs here.
#10234 is superseded and wants closing, not resolving.


Claude-Session: https://claude.ai/code/session_01QWLoiyrKq3zNTiDNtrs9gC

Co-authored-by: Brian Searls <briansearls1@gmail.com>
Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
briansrls pushed a commit that referenced this pull request Sep 3, 2026
…nding work, and the only tell is that its file is shorter than main's (#10246)

* File the stale-base hazard's CONTENT form: a superseded branch reads as pending work

The known form of this hazard is the REF form and it is narrower than the
class. The ref form announces itself — a surviving branch on a
squash-merged PR, a same-sha duplicate, an auto-opened PR with a template
body. The three prior instances in this repo were all found that way.

#10234 had none of those signals. Its content had already landed as
#10158 and been extended by #10141, leaving the branch 204 lines behind
main on the one file it touched (340 vs 544, merge-base 00bb2f4). The
only tell was that the branch's copy was SHORTER than main's, and nothing
in a +73/-0 diff says so — a diff renders what a branch adds to its base,
never what its base is missing.

THE HARM IS THAT THE LINE STOPS WITH THE WRONG PRESCRIPTION. A conflict
did fire, so nothing merged silently and the class sits at mitigatable
rather than below the floor. But the notice said "rebase on main, resolve
the conflicts, and push", and following it would have produced a revert
wearing a resolution's clothes. There was no content decision available:
one side was simply stale. A loud stop whose prescribed repair is the
harmful arm is worse than a quiet one, because the diligence of following
instructions is what causes the loss.

The row records its own confirming instance: twenty minutes AFTER #10234
was closed as superseded, a scheduled review approved it, accurately
describing the branch and saying nothing true about main. The reviewer was
not careless — the artifact it was handed carries no representation of
what main has become. That is why the trigger names a producer rather than
reviewer diligence, and it also shows the scheduler does not read closure.

Ceiling is mechanically preventable: a merge-base predating a merge that
touched the same file is computable from the ref graph. Not higher —
branches here are deliberately allowed to be behind main. Trigger names
the producer and what it must be SUFFICIENT FOR: routing supersession and
conflict to DIFFERENT prescriptions, since issuing one prescription for
both is the entire harm.

Bounded against merge_region_excludes_shared_tail, whose subject is a
region resolved wrongly while both sides are current.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QWLoiyrKq3zNTiDNtrs9gC

* Withdraw a sub-claim whose receipt shows the opposite order

The row said the confirming review landed twenty minutes AFTER #10234 was
closed, and concluded from that the review scheduler does not read
closure. Checked against the instruments rather than from memory:

  review 59345 completed  2026-09-03T15:39:02.867Z
  #10234 closedAt         2026-09-03T15:41:20Z

The review came ~2 minutes BEFORE the closure. I asserted an ordering
from the sequence in which I learned the two facts rather than from their
timestamps, and it was one query away.

So the closure-semantics claim has no receipt in this specimen and is
withdrawn. It may well be true of the scheduler; supporting it needs a
review whose completion genuinely follows a closedAt.

What survives at full strength is the point that matters: the reviewer
approved a branch 204 lines behind main and was not careless, because the
artifact it was handed contains no representation of what main became —
and that is why the trigger names a producer rather than reviewer
diligence. Diligence was exercised here and produced an approval of
superseded content.

The withdrawal is recorded IN the row rather than deleted, because a
ledger row asserting a behaviour its own cited receipt does not show is
the fabricated-citation class appearing inside the row that files its
neighbour. The scoping repair is the same one applied six lines above the
note this specimen came from: repair the false claim, keep the true one
beside it.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QWLoiyrKq3zNTiDNtrs9gC

---------

Co-authored-by: Brian Searls <briansearls1@gmail.com>
Co-authored-by: Claude Opus 5 <noreply@anthropic.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.

0 participants