RHL-14: O1 ruled by quorum — reword the three §3.2 lines, reserve no keyword - #230
Merged
Merged
Conversation
noahgift
enabled auto-merge (squash)
September 20, 2026 19:08
…keyword The operator's standing instruction is that decisions go to a quorum, not to him. This is the first RHL design decision taken that way. Three gemini lanes (3.1-pro, 3.7-flash, 3.8-flash; conversation ids in the spec's O1 block) were given both candidates, the grammar, the vocabularies and the corpus, and asked to rule with file:line grounding and a falsifier. 3/3 refuse O1-A as written. Reserving `per` and `are` forecloses every future rate or descriptive term — `errors per hour`, `hosts that are pinned` — to keep three lines of an example reading like English, and the A1 precedent does not carry: A1 added a keyword to keep a STRUCTURE (the nested block); nothing structural is at stake in `per run` or `are filed`. All three lanes measured the cost of rewording as zero: no vocabulary term contains either word (comments only), and no program under docs/rhl/ uses any of the three shapes — the 12 valid corpus programs were already written as `expect ticket count is at most 1` / `then ticket count is 1`. §3.2 now matches its own corpus twin. The split was on `to`. Lanes 1 and 3 would also admit `<App> "to" <App>` under Cmp (zero keywords; `to` is already reserved) so `expect no change to host` parses; lane 2 called that an ad-hoc preposition with no term behind it — there is no vocabulary term `no change`. The minimal ruling is taken: reword all three, change no grammar, and the 2:1 is recorded as a residual with the measured production kept in grammar/fixtures/o1-a-candidate.lalrpop. Lane 2 also caught a factual error in the O1 text itself: it said reserving `per`/`are` was "the same trade §3.3 already makes for `of`". `of` is not reserved — grammar clause 2 keeps it free so `disk free of` stays spellable. Corrected with the correction left visible. The spec is manifest-hashed; PREREGISTRATION.sha256 is regenerated in this commit (one line), which is the audit trail the manifest gate exists for. RHL-1's roadmap notes go from "NOT READY: O1 unruled" to "READY once RHL-14 merges". The 37 rhl_pre_registration gates pass. Pmat-Ticket: RHL-14 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
…s not stop Pmat-Ticket: RHL-14 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Pmat-Ticket: RHL-14 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
noahgift
force-pushed
the
RHL-14-o1-ruled
branch
from
September 20, 2026 20:20
0136181 to
5acc2c3
Compare
noahgift
added a commit
that referenced
this pull request
Sep 21, 2026
…rd that the check which blessed it could not see it #230's rebase onto #229 hit a roadmap.yaml conflict: both PRs appended rows. I resolved it by concatenating the two conflict hunks. Git's hunk boundaries fell mid-row, so on main since cc65102: AUDIT-2 lost phases, subtasks and labels (its tail went to the next row) RHL-14 carried AUDIT-2's labels [kind:code, test-debt, class:gate-cannot-fail] instead of its own [kind:docs] AUDIT-4 carried RHL-14's kind:docs as a second kind label The rebind note in quorum-RHL-14.json said the resolution was "checked with a real YAML parser: 204 rows, ids unique". Both true of the corrupted file. A parse and an id count cannot see a field that moved between rows; only comparing each row against the side it came from can. Restored field-for-field from 0d98965 (AUDIT-1..4) and 81e1ea0 (RHL-14); the comparison is the check this time — every restored row equals its source exactly. The artifact keeps the false note and gains a correction beside it rather than being rewritten. The review lanes judged the pre-rebase diff; the defect is in the step after them. Roadmap state for this session's merged tickets: RHL-14 (#230), RHL-13 (#227) and CIBASE-1 (#228) go to completed with the landing commit in notes. RHL-15 is this repair, inprogress until it merges. Pmat-Ticket: RHL-15 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
noahgift
added a commit
that referenced
this pull request
Sep 21, 2026
* RHL-15: repair three roadmap rows the #230 rebase scrambled, and record that the check which blessed it could not see it #230's rebase onto #229 hit a roadmap.yaml conflict: both PRs appended rows. I resolved it by concatenating the two conflict hunks. Git's hunk boundaries fell mid-row, so on main since cc65102: AUDIT-2 lost phases, subtasks and labels (its tail went to the next row) RHL-14 carried AUDIT-2's labels [kind:code, test-debt, class:gate-cannot-fail] instead of its own [kind:docs] AUDIT-4 carried RHL-14's kind:docs as a second kind label The rebind note in quorum-RHL-14.json said the resolution was "checked with a real YAML parser: 204 rows, ids unique". Both true of the corrupted file. A parse and an id count cannot see a field that moved between rows; only comparing each row against the side it came from can. Restored field-for-field from 0d98965 (AUDIT-1..4) and 81e1ea0 (RHL-14); the comparison is the check this time — every restored row equals its source exactly. The artifact keeps the false note and gains a correction beside it rather than being rewritten. The review lanes judged the pre-rebase diff; the defect is in the step after them. Roadmap state for this session's merged tickets: RHL-14 (#230), RHL-13 (#227) and CIBASE-1 (#228) go to completed with the landing commit in notes. RHL-15 is this repair, inprogress until it merges. Pmat-Ticket: RHL-15 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> * RHL-15: name the completion flips in the ticket — review round 1 failed the PR for doing what the ticket did not say Lane 1 (gemini-3.1-pro-high) FAILED #231: the CIBASE-1 and RHL-13 flips were in the PR body but not in RHL-15's text. The ticket now says it, and says why the flips must ride here: the commit-msg hook refuses a commit whose ticket is completed in the staged roadmap, so no ticket can be flipped under its own id. Pmat-Ticket: RHL-15 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> * RHL-15: bind the quorum verdict (round 2 agreed; round 1's scope finding accepted) Pmat-Ticket: RHL-15 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> --------- 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.
Rules spec open question O1 (RHL-001, boxed block under §3.3) by a three-lane decision quorum, under the operator's standing instruction that decisions go to a quorum rather than to him.
Ruling O1-R: reword the three §3.2 lines to the shapes the corpus already used (
expect host is unchanged,expect ticket count is at most 1,then ticket count is 1/is 0); reserve no keyword; change no grammar. 3/3 lanes refused O1-A as written — reservingperandareforecloseserrors per hour/hosts that are pinnedfor three lines of an example, and A1's precedent (a keyword to keep a structure) does not carry. Measured by all three: zero vocabulary terms and zerodocs/rhl/programs useper,are, or the three shapes, so the corpus diff is zero.Residual, 2:1: lanes 1 and 3 would also admit
<App> "to" <App>underCmp(zero keywords). Lane 2 called it an ad-hoc preposition with no term behind it. Minimal ruling taken; the production stays measured ingrammar/fixtures/o1-a-candidate.lalrpopand the spec's O1 block records the split, so a corpus task that needs it can re-open it.Also fixed: the O1 text claimed
ofwas already reserved. It is not (grammar clause 2). Correction left visible.docs/rhl/PREREGISTRATION.sha256regenerated (one line — the spec is manifest-hashed; this diff is the audit trail).cargo test --lib -p ruchy rhl_pre_registration::— 37 passed.Docs-only (
kind:docs). Quorum artifact to follow once the diff is reviewed.🤖 Generated with Claude Code