Skip to content

RHL-14: O1 ruled by quorum — reword the three §3.2 lines, reserve no keyword - #230

Merged
noahgift merged 3 commits into
mainfrom
RHL-14-o1-ruled
Sep 20, 2026
Merged

noahgift merged 3 commits into
mainfrom
RHL-14-o1-ruled

Conversation

@noahgift

Copy link
Copy Markdown
Contributor

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 — reserving per and are forecloses errors per hour / hosts that are pinned for 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 zero docs/rhl/ programs use per, are, or the three shapes, so the corpus diff is zero.

Residual, 2:1: lanes 1 and 3 would also admit <App> "to" <App> under Cmp (zero keywords). Lane 2 called it an ad-hoc preposition with no term behind it. Minimal ruling taken; the production stays measured in grammar/fixtures/o1-a-candidate.lalrpop and 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 of was already reserved. It is not (grammar clause 2). Correction left visible.

  • docs/rhl/PREREGISTRATION.sha256 regenerated (one line — the spec is manifest-hashed; this diff is the audit trail).
  • RHL-1's roadmap notes: "NOT READY: O1 unruled" → "READY once RHL-14 merges".
  • 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

@noahgift
noahgift enabled auto-merge (squash) September 20, 2026 19:08
noahgift and others added 3 commits September 20, 2026 22:19
…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
noahgift merged commit cc65102 into main Sep 20, 2026
9 of 10 checks passed
@noahgift
noahgift deleted the RHL-14-o1-ruled branch September 20, 2026 20:30
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>
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