Skip to content

chore: re-mirror the pr-review contract from orbit-ui-mobile (unblocks every ui and api review) - #468

Closed
thomasluizon wants to merge 1 commit into
mainfrom
chore/mirror-pr-review-contract-from-ui
Closed

chore: re-mirror the pr-review contract from orbit-ui-mobile (unblocks every ui and api review)#468
thomasluizon wants to merge 1 commit into
mainfrom
chore/mirror-pr-review-contract-from-ui

Conversation

@thomasluizon

@thomasluizon thomasluizon commented Aug 9, 2026

Copy link
Copy Markdown
Owner

Restores pr-review contract parity between orbit-ui-mobile and orbit-api.

Merge this first. tools/launch-worker.mjs:124 refuses --review for both --repo ui and --repo api while the two repositories' committed blobs disagree. Until this lands, no orbit-ui-mobile or orbit-api pull request can be reviewed at all: that is eight queued pull requests, plus the roughly 21 still open from the overnight runs.

What broke

Not the CRLF defect. That fix landed and holds: orbit-api .gitattributes:9 pins .claude/**/*.md text eol=lf, orbit-ui-mobile .gitattributes:18 pins .claude/skills/**/*.md text eol=lf, and both blobs carry zero CRLF pairs.

The divergence is an ordering race in the migration merge sequence:

commit when what
orbit-api dacdbea2 (#467) 2026-08-09 02:12:33 -0300 mirrored the rubric-provenance contract from ui
orbit-ui-mobile 70c237c7 (#706) 2026-08-09 02:18:51 -0300 moved the documented contracts from Linear to GitHub

The mirror was taken 6 minutes 18 seconds before the canonical side changed, so orbit-api kept the pre-migration "Linear" wording.

What this does

SKILL.md and rubric.md are restored byte for byte from the canonical orbit-ui-mobile blobs 72d0cbb970cb7efcb4b8b9ff545d8417adc81eba and e6fda81197a1173526cb6c4fa4105cd1dd980ef7. Three lines:

  • rubric.md:273, GitHub/Linear/provider API becomes GitHub/provider API
  • SKILL.md:58, follow-up Linear ticket becomes follow-up GitHub ticket
  • SKILL.md:140, the same substitution

Plus the two remaining pre-migration references the same incomplete mirror left behind. Neither is covered by the parity gate, so neither blocked a review, but both are stale:

  • .claude/skills/_shared/verification-protocol.md:30, Linear tickets becomes GitHub tickets, matching the ui wording at its line 25
  • AGENTS.md:9, Your prompt is a Linear ticket body becomes GitHub ticket body

Verify

git -C <ui>  rev-parse HEAD:.claude/skills/pr-review/SKILL.md
git -C <api> rev-parse HEAD:.claude/skills/pr-review/SKILL.md
git -C <ui>  rev-parse HEAD:.claude/skills/pr-review/rubric.md
git -C <api> rev-parse HEAD:.claude/skills/pr-review/rubric.md
node tools/launch-worker.mjs --issue "#13" --review --repo api --prompt <f>

The two SKILL.md reads must be equal, the two rubric.md reads must be equal, and the launch must start a reviewer instead of exiting 2.

Verified already on this branch head: both blobs match the canonical ui values quoted above.

Note on review

This pull request cannot itself receive an independent pr-review: the gate it repairs is the gate that would launch that review. It is a documentation only change of five lines, every one of them a Linear to GitHub rename, and each is quoted above for reading in full.

Closes thomasluizon/orbit-tickets#289

Co-Authored-By: Claude Opus 5 (1M context) noreply@anthropic.com

…e migration

tools/launch-worker.mjs:124 refuses --review for BOTH --repo ui and --repo api
while the two repositories' committed pr-review blobs disagree, so no
orbit-ui-mobile or orbit-api pull request could be reviewed at all. It halted the
unattended run of 2026-08-09 at preflight with zero of eight queued pull requests
processed.

This is not the CRLF defect. That fix landed and holds: both sides pin
.claude markdown to eol=lf and both blobs carry zero CRLF pairs. The divergence
is an ordering race. orbit-api #467 (dacdbea, 02:12:33) mirrored the contract
6m18s BEFORE orbit-ui-mobile #706 (70c237c7, 02:18:51) moved the documented
contracts from Linear to GitHub, so orbit-api kept the pre-migration wording.

SKILL.md and rubric.md are restored byte for byte from the canonical
orbit-ui-mobile blobs 72d0cbb and
e6fda81.

Sweeps the two remaining pre-migration references the same incomplete mirror left
behind. Neither is covered by the parity gate, so neither blocked a review:

- .claude/skills/_shared/verification-protocol.md: Linear tickets -> GitHub tickets
- AGENTS.md: "Your prompt is a Linear ticket body" -> GitHub ticket body

Closes #289

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@sonarqubecloud

sonarqubecloud Bot commented Aug 9, 2026

Copy link
Copy Markdown

@thomasluizon

Copy link
Copy Markdown
Owner Author

Superseded by #469 plus orbit-ui-mobile#708. This PR re-mirrored the contract, which repairs the current drift but keeps the mechanism that produces it: a second committed copy plus a parity gate, which has now halted every review twice (CRLF 2026-08-08, mirror-ordering race 2026-08-09; this PR's own body documents the six-minute race). The repair deletes the mirror instead, so there is nothing left to drift. The branch and its worktree are left in place.

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