Skip to content

Step 0 census: reference-occurrence binding provenance (calibration matrix before the corpus run) - #10652

Closed
briansrls wants to merge 4 commits into
mainfrom
work/ledger-census-observability
Closed

briansrls wants to merge 4 commits into
mainfrom
work/ledger-census-observability

Conversation

@briansrls

Copy link
Copy Markdown
Contributor

Auto-opened by session-dashboard for session jolly-badger-374.
Pushing to work/ledger-census-observability 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.

Brian Searls and others added 4 commits September 6, 2026 01:39
… cannot be read

ONE SUBJECT, TWO ROWS. Both are ledger appends and both regenerate the same
projection, so they land together rather than paying a second review and a
second generated-artifact cycle for one review question.

A SECOND CONFIRMED MEMBER FOR admitted_module_without_judged_standing, AND
UNLIKE THE FIRST IT WAS NOT PLANTED. That row's 2,100-identity population had
exactly one confirmed member, produced by deliberately constructing an
undeclared field. A ROW WHOSE ONLY CONFIRMED MEMBER IS AUTHORED IS SAMPLING
ITS AUTHOR, so a naturally-occurring member is a categorically different
receipt rather than one more of the same.

Written in the PAST TENSE with the fix named, because the defect is repaired
on main and a reader reproducing against main today will not find it. What was
true: floor_cost_basis_boundedness_stall spelled next_rung_trigger as a bare
String while 31 of 33 sibling rows used the constructor, and the enumerating
closure refused. When: it landed 74 minutes AFTER the carrier that changed the
requirement, and sat undetected until 2026-09-05, blocking two branches and
taxing every branch that merged main. Fixed by #10608.

Its invisibility is established by the refusal that did not happen: the error
was live on main while all required lanes were green, and any lane that had
content-judged that initializer would have refused, because the closure does
not resolve. The build lane's own census agrees -- the TYPE CARRIER is judged
while the CHANGED INITIALIZER is absent. Compiling a type's DECLARATION does
not establish that an INITIALIZER using it was checked.

A NEW ROW: instrument_unobservable_as_its_subject_grows. A measurement whose
only write is a rendering sized in proportion to the population it reports,
on a size-limited channel, is LEAST readable exactly when its subject is
largest. That is not a logging defect; it is a check that greens by
construction, one layer out, and nobody catches it because every small run
reports fine.

Specimen measured on a required run, not a fixture: a 44,727-byte census line
survived while the larger one in the other lane never appeared, and both
claim_executor lanes lost the remainder of their captured output while two
non-claim_executor jobs in the same run ended normally. Two proposed
mechanisms are recorded as REFUTED by measurement rather than omitted, and so
is a third that would have made this a correctness defect -- the process
survived, proven by its measurement receipt existing for the same run.

Severity is stated DOWN: losing the log loses the DIAGNOSIS, not the REFUSAL.
The verdict rides the exit code. This row forecloses its own stronger reading.

The ceiling is reachable because THE CONSTRUCTION ALREADY RUNS IN THE SAME
BINARY: the receipt path the census should travel is written by the same
process a few statements later and survived the run whose census did not.

The projection was regenerated by its own actuator rather than left to CI's
heal, and verified by set difference that no row went dark.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01RvMEJFpYsy55NRdJ1Az4Vd
…sfy (review 61207)

The finding is that section 6 forbids transcribing an instrument's output. It
applies, and this row is the one case where the rule's remedy is unavailable.

WHAT THE ROW NOW SAYS RATHER THAN LEAVING IMPLICIT. The readings are DATED
OBSERVATIONS OF ONE IMMUTABLE RUN, not a live census: run 33990451798 is fixed,
so unlike the reference count this same PR's sibling row was correctly told to
remove, these cannot drift as the corpus changes. The emitting producer is named
by SYMBOL -- v1.compiler.claim_executor's required-ci block -- not by position.
That is already the form both neighbouring run-scoped specimens in this roster
use, including admitted_module_without_judged_standing, the row this PR amends,
which carries five such numbers against its own named run.

AND THE PART THAT MAKES THIS ROW DIFFERENT, WHICH IS THE FINDING ITSELF: NO
PRODUCER CAN RE-DERIVE THESE READINGS, BECAUSE THE SUBJECT OF THE ROW IS THE
LOSS OF THAT OUTPUT. Re-running the lane does not reproduce them; it produces a
new run whose census is lost the same way. The captured log carrying the
surviving fragment is retained for a bounded window, after which this row's
evidence is gone while the defect remains. A row about an unreadable instrument
that cited a re-derivable instrument for its own evidence would be claiming the
very readability it exists to deny.

So the numbers are stated with their run, their bracket and their retention
limit, and the re-derivable entry point offered is for THE CLASS rather than the
readings: the discriminator already named in the row.

Projection regenerated by its own actuator; set difference confirms no row went
dark.

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

The previous wording led with the flat form -- NO PRODUCER CAN RE-DERIVE THESE
READINGS -- and the sentences after it were already narrow. A flat claim invites
a reviewer to find one counterexample and dismiss the whole disposition, so the
headline now carries the precise version.

THESE readings belong to one run whose captured output cannot be regenerated
identically. THE CLASS stays perfectly re-derivable by a new run, which will lose
its own census the same way. Those are different claims and only the first is
made.

The row now also cites section 6's own test for which of the two a number is: if
a measurement is worth re-deriving it is worth an entry point, and if it is not
worth an entry point it is not an instrument but a ONE-OFF. The rule exists so a
transcribed number cannot rot away from a producer that would have kept it
current, and a dated observation of one immutable run has no such producer to rot
away from -- re-running yields a different run, not a corrected reading of this
one. So the entry point owed is for the CLASS and is named in the row, while the
readings are carried as a dated one-off with run, bracket and retention limit.

Unchanged and still load-bearing: a row about an unreadable instrument that cited
a re-derivable instrument for its own evidence would be claiming the readability
it exists to deny. That is section 6 applied to a subject whose defining property
is that its output does not survive, not an exception to it.

Projection regenerated by its own actuator; set difference confirms no row went
dark.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01RvMEJFpYsy55NRdJ1Az4Vd
@briansrls
briansrls marked this pull request as ready for review September 6, 2026 06:31
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 6, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-09-06T06:34:20.090244Z 04461a8 Draft marked ready
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@gunbai-bot

gunbai-bot Bot commented Sep 6, 2026

Copy link
Copy Markdown
Contributor

Closing: this is a re-attached PR on an already-merged branch, and readying or merging it would revert other lanes' work.

The displayed diff is against the merge base, not main. GitHub shows this PR as 4 files, +64 −2. Against current main it is 67 files, 762 insertions, 4,587 deletions, including 18 files deleted that exist on main (dag/extdeps/bazel/target_pattern.dag, dag/extdeps/ethernet/link_mode.dag, dag/gunbc/compute/test_run.dag, and 15 others).

work/ledger-census-observability merged as #10638 at 2f2611f3ac. Its content is on main. The only commit here beyond that merged tip is a WIP commit; everything else in the diff is main having moved forward while this branch did not.

Note this PR was not a draft — unlike the other four instances, it was in a state where it could be merged directly by anyone reading the file list it displays.

Fifth instance of this pattern today (#10287, #10411, #10635, #10650, #10652). Escalated to the operator as a tooling defect. Recorded here so the next person to find this branch does not have to re-derive the numbers.

@gunbai-bot gunbai-bot Bot closed this Sep 6, 2026

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 04461a8dd0

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

- `required_lane_green_over_a_population_it_never_offered`
- `modifier_accepted_on_a_shape_its_check_cannot_see`
- `binder_renaming_changes_variant_field_lookup`

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P1 Badge Remove the unrostered binder row from the generated projection

This identity and its corresponding prose row at line 329 have no declaration, import, or member in gunbc.recurring_failure_mode.roster anywhere in this commit. Since gunbc.design_ledgers generates both the identity index and row bodies solely by mapping recurring_failure_mode_roster, this file cannot be regenerated from the branch's authority; the generated-artifact phase will either refuse the drift or delete this binder entry. Add the authoritative DAG row and roster membership if it belongs in this commit, otherwise regenerate the document without it.

Useful? React with 👍 / 👎.

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