workshop-2: seal the Phase 1 position and the push-trigger test - #97
Merged
Merged
Conversation
…CI for 69 hours and nothing shows red Two merge commits on main (1c8678c, 1ac7169) carry zero check runs, while PR head commits on the same days carry three each. Every surface a reader consults shows the previous run's green. Votes against coordination#44's single-generator claim on C2, with three generators and the evidence for each, and states the C5 bet with a cost and a falsifier. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
…s that a seat may not run it Seven hypotheses eliminated, dispatch proven working (run 31287938301), and the one remaining test needs a write to main. Printed simplex for Pip 2026-08-09. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
PipFoweraker
added a commit
that referenced
this pull request
Aug 29, 2026
…s claim records nobody has (#99) * receipt: nothing distinguished "passed" from "never ran", so now something does C5 from this seat's sealed Workshop 2 position, merged yesterday as #97 and unbuilt since 2026-08-09: main has not been CI-verified for 69 hours, and the reason is not that a check failed. Two merge commits produced NO check runs at all. Every surface a reader consults -- the Actions tab, `gh run list`, the last recorded conclusion -- shows green, because green is what the PREVIOUS run said and nothing distinguishes "passed" from "never ran". Absence is the failure mode. A workflow can fail to start for reasons that produce no artifact at all: a YAML error above the trigger, a disabled workflow, a skipped merge commit, an outage, a billing stop. Every tool that reads the last conclusion is blind to all of them. check_push_receipt.py reads which workflows OUGHT to run on push from the committed .github/workflows/, and whether they DID from the GitHub API, against one exact SHA. Two sources, neither able to make the other agree with it -- the pdoom1#1075 rule, both clauses. The inverted form is asking the API what ran and asserting those passed, which cannot see a workflow that never started and so passes precisely when it should fail. IT REFUSES TO RUN INSIDE GITHUB ACTIONS, exit 2. That is load-bearing rather than hygiene: a receipt check executing as a workflow step is a system reporting on its own liveness, and the run that would prove absence is the run that did not happen. Invoke it from a seat or a cron. The first draft was wrong in the way this repo keeps finding. It compared workflow names from the YAML against JOB names from commits/<sha>/check-runs -- "Data Integrity" against "Assert data and pipeline invariants" -- and reported both workflows missing on a commit that had run both successfully. Caught by running it rather than by reading it. The fix is the actions/runs endpoint, and the mismatch is now a test case, because a receipt check that cries wolf gets muted and a muted check is what this replaces. Verified against live main: exit 0 on the current tip, exit 1 on an old commit with no Data Integrity run, exit 2 under GITHUB_ACTIONS=true. The live check cannot be gated -- it needs the network and a token, and gating it inside CI is the exact thing it refuses to do. Its decision logic is offline and deterministic, so tests/test_push_receipt_gate.py stubs the API and gates that: 11 cases, 3 must-not-fire, 6 must-fire, plus the refusal and the name-mismatch regression. Also in this commit: the corpus-review sitting can actually start. Its 2026-08-24 abstract dump was a committed _metadata.json claiming "record_count": 150 with no data.jsonl beside it, so the tool had nothing to show. Re-fetched from the ids already in the frame -- 150 of 150, 0 missing -- and the sample is byte-identical, which is the seed doing its job. The frame's `created` stamps are deliberately NOT updated to today: the draw preceded the fetch by six days and that ordering is the frame's whole evidentiary value. Refs pdoom-data#97 (C5), pdoom-data#98. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VCAwQ2dTCtpR8rTrEfv5ee * dumps: eight tracked dumps claim records the repository cannot account for Found while fixing the corpus-review sitting, and it is wider than that one dump. data/raw/arxiv_abstracts/dumps/2026-08-24_010736/_metadata.json is COMMITTED, says "record_count": 150, and has no data.jsonl beside it. The metadata asserted 150 records; zero existed; the sitting had nothing to show and nothing noticed, because nothing compares a dump's claim to its contents. The gitignore excluding these data files is correct and deliberate -- real arXiv abstracts carry mathematics and author names the ASCII gate would reject. But an intentional exclusion and a fetch that never happened look IDENTICAL on a fresh clone: a metadata file claiming N records with nothing next to it, either way. So the rule is that a tracked dump either ships its data or its metadata says in one field how to reproduce it, and the two cases become distinguishable by reading. Writing the check turned three cases into eight, and one of them matters more than the one I was chasing: alignment_research/dumps/2025-12-24_063313 claims 6549, absent funding_sources/sff/dumps/2025-10-30_225651 claims 3, absent mit_airr/dumps/2026-07-25_053210 claims null, absent arxiv_abstracts/dumps/2026-08-24_010736 claims 150, absent The alignment_research dump is the raw provenance for the 1,166 bulk records that are 97.7% of the served timeline. It is not tracked and it is not on this machine. That is the same gap pdoom-data#89 named from the other side -- "the serveable-zone file feeding 97.7% of the corpus has no dump behind it" -- and this is the measurement. The funding_sources one is pdoom-data#94's subject arriving through a different door. REPORTING, not gating. Four of the eight predate the rule and I will not invent a regeneration command for a dump I did not fetch -- that is the guess this repo keeps paying for. It is wired into check_all anyway rather than left sitting unrun, because a checker nothing invokes is the estate's most-repeated failure: check_claims.py and check_estate.py both run correctly and are run by nothing. Promote to GATING when the four are declared or tombstoned. _templates directories are exempt by name: they claim zero records and hold zero, which is consistent rather than missing. Declared for the two dumps fetched today, with the exact commands that reproduce them. Refs pdoom-data#94, pdoom-data#89. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VCAwQ2dTCtpR8rTrEfv5ee --------- Co-authored-by: Pip Foweraker <pip@beacongcr.org> Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Branch left on the remote before the Singapore departure, never PR'd. Merged with current
main, no conflicts, all 28 gating checks pass.Two documents, both records rather than proposals:
docs/workshop-2/position.md-- this seat's Phase 1 position for Workshop 2, sealed 2026-08-09 before 08:45 AEST, written without reading any other seat's position.docs/workshop-2/PUSH_TRIGGER_TEST.md-- the push-trigger test written down rather than run, because the ruling was that a seat may not run it.The dated claim is deliberately left standing
position.mdsays "mainhas not been CI-verified for 69 hours ... two merge commits produced NO check runs at all". That was true on 2026-08-09 and is not true today --mainis currently green with runs on every commit.It is left as written on the same reasoning #90 applied to
HYGIENE_2026-08-15.md: a sealed, dated position is a record of what was actually held at seal time, and editing it to agree with today would falsify that record. The document states its seal date and its instrument (coordination#47) in its own header, so a reader cannot mistake it for a live status.The finding it raised is still live in substance, though: "green is what the previous run said, and nothing distinguishes passed from never ran" is the C5 push-receipt bet, and no such check exists yet.