Task: Wire the local code review into the submit-PR flow and retire the GitHub review workflows
Table of Contents
This page documents a task in the Absorb PR checks locally: targeted checks, local review, CDash submissions story. It captures the goal, current status, acceptance, and any notes or results.
1. Goal
The review runs on GitHub today: claude-code-review.yml auto-reviews
every PR event, and misspell.yml opens typo-fix PRs on every push.
Run the code review locally as a skill instead: compass-pr-raise runs the
compass-code-review-pr skill on the change before submit, records its
findings in the task's * Review table, and addresses them in the
round. When the local skill is the review coverage, delete
claude-code-review.yml (auto review on PR events) and misspell.yml
(the typo-fix bot); the on-demand @claude trigger (claude.yml)
stays.
2. Status
| Field | Value |
|---|---|
| State | DONE |
| Parent story | Absorb PR checks locally: targeted checks, local review, CDash submissions |
| Now | Nothing. |
| Waiting on | Nothing. |
| Next | Nothing. |
| Last touched | 2026-08-12 |
3. Acceptance
compass-pr-raiseruns the local code review before raising the PR; its findings are recorded in the task's* Reviewtable and addressed in the round.claude-code-review.ymlis deleted; no automatic review runs on PR events.misspell.ymlis deleted; the local review pass includes the misspell check (misspell-fixer, honoring.misspell-fixer.ignore).claude.ymlstays (the on-demand@claudetrigger).- The knowledge doc's fate table reflects the deletions.
- No skill, recipe, or doc references the deleted workflows as live.
4. Plan
- Install the local misspell checker:
sudo apt install misspell-fixer(Debian forky/sid carries 0.6-1). Check-only is the default without-r; exit 0 = clean, 1-5 = typos found; the repo's.misspell-fixer.ignoreis auto-respected. - Wire the local review into
compass-pr-raise: run thecompass-code-review-prskill on the change before raising, record its findings in the task's* Reviewtable, and address them in the round. Update step 4 (the@claudecomment) to reflect that it now triggers the on-demandclaude.ymlonly — the automatic review is gone. - Fold the misspell check into the local review pass (
compass-code-review-prskill). - Delete
.github/workflows/claude-code-review.ymland.github/workflows/misspell.yml. - Update the knowledge doc: fate table rows for the two workflows, the local verification flow, and any live references.
- Distill the sequencing decision into the parent story's
* Decisionsat close.
5. Notes
6. Test Scenarios
Manual QA scenarios (scaffolded via compass add test_scenario, run
through the QA Validation Runner panel) that verify this task. Link
new ones here as they're created; the scenario doc itself links back
via its "Verifies task" field.
| Scenario | State | Notes |
|---|---|---|
7. PRs
| PR | Title |
|---|---|
| #1990 | [ci] Wire local review into submit-PR flow; retire review workflows |
8. Review
| # | Comment summary | File | Decision | Notes |
|---|---|---|---|---|
| 1 | Local review (misspell): misspell-fixer . exits 1 on vendored trees — hits in .packages/ (emacs packages) and projects/ores.compass/venv/ site-packages are not covered by the ignore file, so the documented "exit 0 = clean" check would always fail |
.misspell-fixer.ignore | accepted | Extended *.misspell-fixer.ignore* with ^./.packages and ^./projects/ores.compass/venv; the check now exits 0 ("nothing to replace") |
9. Result
The local code review is the review coverage now: compass-pr-raise runs the
compass-code-review-pr skill on the change before raising the PR, records
its findings in the task's * Review table with their decisions, and
addresses the accepted ones in the round. The compass-code-review-pr review
pass includes the misspell check (misspell-fixer ., check-only; the
repo's =.misspell-fixer.ignore is respected — extended with
^./.packages and ^./projects/ores.compass/venv so vendored trees
do not fail the check). The two GitHub review workflows are deleted:
claude-code-review.yml (auto review on PR events) and misspell.yml
(the typo-fix bot); the on-demand @claude trigger (claude.yml)
stays. The knowledge doc's fate table, the local verification flow,
and the work_task_to_merged_pr runbook reflect the deletions.