ORB-164: name the harness dimension as the rubric twins' UI-only divergence - #444
Conversation
…rgence The orbit-ui-mobile test-file split (ORB-163 section C2) moves every decision-path case body out of tools/test-tools.mjs and into one module per tool under tools/__tests__/, and rewrites dimension 15 of the orbit-ui-mobile rubric to point at that layout. Dimension 15 has no counterpart here, so the split forces no dimension edit in this copy. What it does force is an honest description of the divergence, because this file currently claims the sanctioned differences are "backend-only material", and the largest one runs the other way: dimension 15 is orbit-ui-mobile-only, and it is the exact hunk whose declared fingerprint the paired pull request recomputes. The paragraph now names both directions and says why the harness dimension cannot exist here: neither the runner nor the tools/__tests__/ case modules are checked out in this repository, so a reviewer here has no Harness Execution job to cite. Verified, not assumed: node tools/check-lockstep.mjs run from the orbit-ui-mobile worktree with --api-root pointed at this one exits 0 with "HARNESS LOCKSTEP OK: 6 pairs checked" after the paired fingerprint update, with the exit code read from a file rather than through a pipe. Repo-tool appeal: the lockstep checker's invocation and its exit code are the evidence this commit claims, so naming them is the record. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Bojq5cLFZ87iBD8zhnoSWH
There was a problem hiding this comment.
Code Review: PR #444
Scope: single file, .claude/skills/pr-review/rubric.md (+7/-3, one paragraph)
Recommendation: APPROVE
Summary
Documentation-only correction to the rubric's own self-description of sanctioned divergences between the orbit-api and orbit-ui-mobile copies of rubric.md. It replaces a one-directional (backend-only) claim with a two-directional one, naming dimension 15 (harness-execution evidence) as the sanctioned orbit-ui-mobile-only counterpart to dimension 13's backend-only transaction-teardown bullet.
Verification performed
- Confirmed this repo's
rubric.mdhas 14 dimensions (1–14, ending at "FEATURES.md parity"), no dimension 15 — consistent with the new text's claim that dimension 15 has no counterpart here, and consistent with the PR body's decision to not add a dimension-15 stub to this copy. - Confirmed dimension 13 in this file does contain the "Transaction teardown" bullet citing
ORBIT0002— matches the unchanged half of the sentence. - Grepped for
test-tools/check-lockstep/tools/__tests__/"dimension 15"/"harness" across the repo — nothing relevant, confirming those paths genuinely don't exist here.tools/holds exactly the 5 unrelated scripts the PR body cites. - Checked added lines for U+2014 (em dash) — none found, matching the PR body's manual-scan claim.
- The unchanged closing sentence ("a drift between the two is a defect, not a variant") still reads correctly against the now-bidirectional "sanctioned divergences" framing.
Findings
Critical: None
High: None
Medium: None
Low / Info:
- The new paragraph also asserts structure about the sibling repo (
tools/test-tools.mjssplitting intotools/__tests__/in orbit-ui-mobile). Not independently verifiable from this checkout — orbit-ui-mobile isn't checked out here. Not a defect: the PR body documents thecheck-lockstep.mjsinvocation and fingerprint replacement as evidence for that side.
Rubric dimensions
Only Correctness (#1) and Comment policy (#4, N/A — prose, not source the linter targets) have surface here. All other dimensions are N/A — the diff is a one-paragraph markdown edit inside .claude/, touching none of their surfaces.
Subagents
| Agent | Verdict |
|---|---|
| security-reviewer | N/A — no src/ code changed |
| contract-aligner | N/A — no DTO/Controller/packages/shared type changed |
Validation
Skipped per CI adaptation — Build/Unit Tests/SonarCloud run as separate required checks; no .cs files in this diff.
What's good
The correction is precise and self-verifying: every claim it makes about this repo checks out under grep, and the PR body supplies the check-lockstep.mjs exit-code evidence for the half that lives in the sibling repo. The author explicitly declined to add a dimension-15 stub here rather than mechanically satisfying a work-order instruction that would have made this repo's rubric cite a nonexistent Harness Execution job.
Recommendation
Approve as-is. No action required.
There was a problem hiding this comment.
PR Review: #444 — ORB-164, rubric.md sanctioned-divergence correction
Recommendation: APPROVE
Scope
Single-file, single-paragraph change to .claude/skills/pr-review/rubric.md. No source code, DTOs, controllers, or cross-repo contract surface touched.
What changed
The rubric previously claimed sanctioned divergences between the orbit-api and orbit-ui-mobile copies of rubric.md are "backend-only material, such as dimension 13's transaction-teardown bullet." That was one-directional and incomplete: the largest sanctioned divergence — dimension 15 (harness-execution evidence) — is orbit-ui-mobile-only. This PR corrects the paragraph to name both directions and explains why dimension 15 has no counterpart here (the harness runner and its case modules live only in orbit-ui-mobile).
Independent verification (facts re-checked directly, not taken on faith)
tools/in this repo contains exactly 5 entries (arch-map.mjs,check-dashes.mjs,check-frontmatter.mjs,check-push-target.mjs,dash-baseline.json) — no harness runner. Confirmed vials.grep -rn test-tools .claude/ AGENTS.md CLAUDE.mdreturns nothing — confirms no dimension-15 material exists in this repo. Confirmed directly..claude/skills/pr-review/rubric.mdhas exactly 14### N.dimension headers (1 through 14, ending "FEATURES.md parity"), no dimension 15 — matches the PR's deliberate decision not to add one here. Confirmed via grep.- The diff itself (
git diff 688a7b94 HEAD -- .claude/skills/pr-review/rubric.md) is a clean, coherent paragraph edit; reads correctly in context with the surrounding unchanged text. - No
TODO/FIXME/narration-comment issues — this is prose, not code.
Re-review note
headRefOid for this PR is 807c29b2be7aef238708d29caccc66d6b6966320, which is the exact commit already reviewed and APPROVED by this reviewer on 2026-07-31T03:28:18Z. There is no new diff since that review (the only subsequent commit, 57ac9ff6, is GitHub's synthetic merge-ref commit for the mergeable check, not new content). This pass is a re-verification of the standing approval, not a fresh review — all facts above were independently re-checked and confirm no discrepancies.
Findings
Critical / High / Medium: None.
Low / Info: The PR also describes structure on the orbit-ui-mobile side (tools/test-tools.mjs → tools/__tests__/ split). That repo is not checked out in this job, so that half is not independently verifiable here — not a defect, just out of scope for this checkout.
Dimensions not applicable
All rubric dimensions except #1 (Correctness) and #4 (Comment policy) are N/A — the diff touches no code, UI, i18n, DTOs, or FEATURES.md surface. Both applicable dimensions check out clean.
|



Harness-Lockstep-Peer: 666
ORB-164, the orbit-api half of ORB-163 section C2. The paired orbit-ui-mobile pull request splits
tools/test-tools.mjsinto one case module per tool undertools/__tests__/and rewrites dimension 15 of its rubric to point at that layout. This is the twin's side of that change.What changed
One paragraph of
.claude/skills/pr-review/rubric.md. It claimed the sanctioned divergences between the two rubric copies are "backend-only material, such as dimension 13's transaction-teardown bullet". That is false in one direction and the false direction is the one C2 touches: the largest sanctioned divergence is dimension 15, which is orbit-ui-mobile-only, and it is the exact hunk whose declared fingerprint the paired pull request recomputes. The paragraph now names both directions and says why a harness dimension cannot exist in this repository: neither the runner nor thetools/__tests__/case modules are checked out here, so a reviewer here has no Harness Execution job to cite.Decisions taken unattended
.claude/here contains no reference totest-tools.mjsat all (grep -rn test-tools .claude/ AGENTS.md CLAUDE.mdreturns nothing) andtools/here holds five entries, none of them a harness. Adding dimension 15 would make every orbit-api review cite a Harness Execution job that does not exist. The Linear ticket outranks the work order, and ORB-164 scope item 3 asks only to "land the rubric twin edit that the orbit-ui-mobile test-file split forces", so the edit landed is the one the split actually forces.REQUIRED_PATHSis not extended.check-lockstep.mjsfixes it at six paths andreadManifestrejects a manifest declaring any other set, so nothing undertools/__tests__/acquires a lockstep obligation. The paired pull request states that affirmatively intools/README.md.Verification
Every command below had its exit code written to a file and read back separately, never through a pipe. Repo-tool appeal: this pull request's only claim is a lockstep verdict, so the checker's invocation and its exit code are the evidence.
node tools/check-lockstep.mjs --ui-root <ui worktree> --api-root <this worktree>Repo-tool appeal: ORB-164's acceptance criteria require this exact invocation and its exit code pasted as the pull request's proof. Run from the orbit-ui-mobile worktree: exit0,HARNESS LOCKSTEP OK: 6 pairs checked, after the two stale fingerprints were replaced in the paired pull request. Before that replacement the same command exited1and named both stale declarations, which is the evidence that the pairing is load bearing rather than decorative.repository-rubric-dimensions:775306439e6ac6b29368e6d372c1ea592906c8c1ef3c791e924c5690b547230afor the header paragraph this pull request rewrites, and04a771464204f4f33f213c0fac476376860253f9ca841550fa899fb60da4a849for dimension 15. Their replacements aref82c87488ad948028fd54e0227835119051e9534a7e00df14b0e7b5ecc92605band757aa4ef2ad3e6f3ccad8e46fe0e26934be69be1c6df9e12e68c9d66bbfb37a2. Both were read off the checker's own drift output, never computed by hand..claude/wholesale, so this was checked by hand.