Skip to content

shepard: align with the personal driver — trace, reply order, nitpicks, reference split - #46

Merged
jasperboerhof merged 3 commits into
mainfrom
lift/shepard-align
Sep 13, 2026
Merged

jasperboerhof merged 3 commits into
mainfrom
lift/shepard-align

Conversation

@jasperboerhof

@jasperboerhof jasperboerhof commented Sep 12, 2026 •

Copy link
Copy Markdown
Contributor

Ports the 2026-09-12 changes from the personal /shepard-pr into the catalog copy, generalised. Follows #45.

What changed

Reference files, two kinds. references/repos/<repo>.md holds the repo (the template moved to repos/_template.md, with a Reviewer section and an issue-or-report line on Board). references/reviewers/crit.md holds crit's contract once, read from crit's own code: how to recognise it, the finder trace (crit #282), own-thread resolving, the waiver and settle paths, reply wording and timing, open threads, mechanics. Before, the reviewer contract and a repo's facts sat in one file named after a repo.

The finder trace. Step 2b prints the full root body of every open thread; the trace sits there. Step 3 reads every site the reviewer named as one finding about one mechanism, then gives the mechanism one disposition. Who decides the fix is unchanged: one shape is a FIX, two shapes a DESIGN CALL.

Nitpicks in every round. Inside the diff: fix in the same push. Outside the diff: file or note, never fix. After an approval only a real defect inside the diff pushes, because a push then buys a round.

Issue or report is the repo's call. The repo file says which; with no line, ask the developer once per PR. The reply, not the key, takes a finding off the PR.

Reply before the push, then push once. crit reads the threads seconds after a push (crit#211).

Step 8 is reply only. crit resolves its own threads; the resolve mutation, its four bars and the two-camp table are gone.

Stop rules removed. The same-seam and score-falling signals, the second-site rule and the never-list. The 2026-09-11 patching-chain audit replayed them on 144 rounds: 7 to 30 saved, about half the firings false, and the old process had already stopped at the same rounds. The counters stay as a budget.

Trims per the Claude 5 prompting guidance. Description to what it does and when to trigger; the over-verification lines and capitalised emphasis go; the watch line table moves to references/watch.md.

Scripts. ci-failures.sh gains the newest-run-per-workflow read, the unreadable job list, timed_out, --run validation. pr-watch.sh validates its flags and reads crit's issue/nitpick counts. Both suites pass (61 and 24), ShellCheck clean. ci-failures.sh is byte-identical to emmie's copy again.

Added 2026-09-13, from the consumers

Two fixes lokalekeuze had made to pr-watch.sh since its import, both from crit reviews there, now live here: the town-crier bearer token travels through a curl -K config file instead of argv (PR #209), and a check that finished SKIPPED, NEUTRAL or STALE is its own ATTN state with its own line, counted on workflow lanes only, because an app's tracker card is NEUTRAL forever (PR #212, LK-0325 follow-up). Suite now 30.

Three generalisations so a consumer copy needs no body edit: the scripts are named by <skill dir>, step 0 says what happens when a repo ships its own copy, and "replace the construct" hands off to the repo's planning skill instead of naming two skills a consumer may not have. The template's reviewer example no longer claims crit submits COMMENTED: on the last five merged PRs of emmie, kendo and lokalekeuze crit-ai submitted APPROVED and the PR read APPROVED.

Consumers

Propagated on the same day, each with its own repo file under references/repos/: emmie /shepard, kendo /drive-pr (script-development/kendo#2209), lokalekeuze /shepard. Merge this first; the consumer PRs pin 628b6e8.

emmie /shepard, kendo /drive-pr, lokalekeuze /shepard. lokalekeuze's references/crit.md becomes references/reviewers/crit.md plus a repos/lokalekeuze.md.

🤖 Generated with Claude Code

https://claude.ai/code/session_01VTHk249QRKjpw3ZnsBjEBB

…s, reference split

Ports the 2026-09-12 changes from the personal /shepard-pr, generalised.

- step 0 and references: two kinds of file. references/repos/<repo>.md
  holds the repo (template moved to repos/_template.md, with a Reviewer
  section and the issue-or-report line on Board). references/reviewers/
  crit.md holds crit's contract once: how to recognise it, the finder
  trace (crit #282), own-thread resolving, waiver and settle paths,
  reply wording and timing, open threads, mechanics.
- step 2b prints the full root body of every open thread; crit's
  finder trace sits there. crit's intro comment (#281) is not a finding.
- step 3: the sites a reviewer names are one finding about one
  mechanism; read them all, then disposition the mechanism. Nitpicks
  get a grade in every round: inside the diff fix in the same push,
  outside the diff file or note, never fix.
- step 6: issue or report is the repo's call (repo file, else ask once
  per PR). The reply, not the key, takes a finding off the PR.
- step 7: reply in every thread before the push, then push once.
- step 8: reply only. crit resolves its own threads; the resolve path
  and the two-camp table are gone.
- the loop counters are a budget, not a diagnosis; the same-seam and
  score-falling signals, the second-site rule and the never-list are
  gone (the 2026-09-11 patching-chain audit).
- the watch line table and bus caveats move to references/watch.md.
- description trimmed to what it does and when to trigger; the
  over-verification lines and the capitalised emphasis go, per the
  Claude 5 prompting guidance.
- scripts: ci-failures.sh gains the newest-run-per-workflow read, the
  unreadable job list, timed_out and --run validation; pr-watch.sh
  validates its flags and reads crit's issue/nitpick counts. Both test
  suites pass (61 and 24); ShellCheck is clean.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VTHk249QRKjpw3ZnsBjEBB
@jasperboerhof jasperboerhof added the Agent Review Requested Ask an agent to review this PR label Sep 12, 2026
jasperboerhof and others added 2 commits September 13, 2026 09:32
…rdict, make the paths portable

pr-watch.sh passed the town-crier bearer token to curl with -H, which put it
in this process's argv for the whole run. Any local user could read it there.
It now travels through a curl -K config file created under the EXIT trap, mode
600, removed on exit. lokalekeuze carried this fix since its PR #209 crit
review; the catalog did not.

A check that finished SKIPPED, NEUTRAL or STALE landed in no bucket, so a
passing sibling made the rollup read green. It is now its own ATTN state with
its own line, and an empty rollup says so instead of staying quiet. Also from
lokalekeuze (PR #212).

SKILL.md names the script by `<skill dir>` so a checked-in copy and a
user-level install read the same text, says what happens when a repo ships
its own copy, and hands "replace the construct" to the repo's planning skill
instead of naming two skills a consumer may not have. The template's reviewer
example no longer claims crit submits COMMENTED: on the last five merged PRs
of emmie, kendo and lokalekeuze crit-ai submitted APPROVED and the PR read
APPROVED.

Tests: pr-watch 28/28, ci-failures 61/61, ShellCheck clean.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MyxmMKBqH2iXHF8V555b5T
A check an app posts through the Checks API carries no workflowName and, when
the app renders information rather than judging it, never reaches a verdict.
The kendo tracker card is NEUTRAL on every linked PR forever, so counting it
made ATTN permanent and the state stopped meaning anything. Only checks that
belong to a workflow now count; two tests pin both directions. From
lokalekeuze's shepard copy (LK-0325 follow-up).

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MyxmMKBqH2iXHF8V555b5T
@jasperboerhof
jasperboerhof merged commit 67e71da into main Sep 13, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Agent Review Requested Ask an agent to review this PR

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant