Skip to content

perf(pr-management): run mentor, reviewer-routing and pre-first-pr-check rules as code - #1583

Merged
potiuk merged 1 commit into
perf/pr-mgmt-8-code-reviewfrom
perf/pr-mgmt-9-mentor-routing-prefirst
Oct 10, 2026
Merged

potiuk merged 1 commit into
perf/pr-mgmt-8-code-reviewfrom
perf/pr-mgmt-9-mentor-routing-prefirst

Conversation

@potiuk

@potiuk potiuk commented Oct 10, 2026

Copy link
Copy Markdown
Member

Summary

Three smaller skills get the same treatment, with one file per classification:

  • pr-management-mentor: config validation, the hand-off triggers in priority order, maintainer engagement, the out-of-scope prefilter and the deterministic tone rules run in pr-management mentor assess | render | tone-check | log. The agent picks the intervention where it is ambiguous and writes the words. The hand-off is posted normally; the mention guard allows the configured maintainer team for it.
  • reviewer-routing: input validation, roster parsing, path-to-area mapping, familiarity from GitHub data (no local clone), review load, scoring, overload and backup rules, a new CODEOWNERS signal and the proposal text run in pr-management reviewer-routing preflight | propose.
    • The review-requested:@<handle> load query was wrong; fixed.
    • The contradictory overload rules settle on: an overloaded member is never the primary, and is a backup only when no one else is eligible.
  • pre-first-pr-check: the read-only git inspection, categories A (SPDX, licence from project.md), B2, B3 (attribution resolved like agent-guard), C and D, and the readiness signal run in pr-management pre-first-pr check | report. The agent judges commit mood, AI assistance, wording and injection.

Type of change

  • Skill change — eval fixtures updated below
  • Python package

Test plan

  • prek run --all-files passes
  • tools/pr-management pytest / ruff / mypy
  • Model-graded cases for the now-scripted logic are pytest cases named after each former case
  • mentor evals 6/6, reviewer-routing 1/1
  • pre-first-pr-check 2/2. The suite now grades the judgement.json the model writes (B1 / B3 / D / E) rather than category statuses, which are scripted now.

Was generative AI tooling used to co-author this PR?
  • Yes — Claude Code (Opus 5). I reviewed the diff and the test results; commits carry Generated-by:.

🤖 Generated with Claude Code

https://claude.ai/code/session_01GTPsZ5aEE5bUVYqp47Dpvv

@potiuk potiuk added family:pr-management pr-management-* skills capability:triage Sweep + classify + propose disposition capability:review Deep per-item code review or contributor mentoring family:mentoring mentoring skills labels Oct 10, 2026
@github-actions github-actions Bot added family:setup setup-* skills family:tools tools/* family:docs Docs, MISSION.md, READMEs substrate:analytics Tool substrate: read-only metrics / dashboards / renderers substrate:sandbox Tool substrate: agent isolation, egress control, settings audit substrate:framework-dev Tool substrate: build / validate / eval the framework itself labels Oct 10, 2026
@potiuk
potiuk added this pull request to stack #1586 October 10, 2026 09:23
@potiuk
potiuk force-pushed the perf/pr-mgmt-9-mentor-routing-prefirst branch 2 times, most recently from be6c377 to 686e63c Compare October 10, 2026 10:18
…eck rules as code

Three smaller skills, the same treatment, one file per classification:

- pr-management-mentor: config validation, the hand-off triggers in
  priority order, maintainer engagement, the out-of-scope prefilter and
  the deterministic tone rules run in `pr-management mentor assess |
  render | tone-check | log`; the agent picks the intervention where it is
  ambiguous and writes the words. The hand-off is posted normally — the
  mention guard allows the configured maintainer team for it.
- reviewer-routing: input validation, roster parsing, path-to-area
  mapping, familiarity from GitHub data (no local clone), review load
  (the `review-requested:@<handle>` query was wrong), scoring, overload
  and backup rules, a new CODEOWNERS signal, and the proposal text run in
  `pr-management reviewer-routing preflight | propose`. The contradictory
  overload rules settle on: an overloaded member is never the primary,
  and is a backup only when no one else is eligible.
- pre-first-pr-check: the read-only git inspection and categories A
  (SPDX header, licence from `project.md`), B2, B3 (attribution resolved
  like the agent-guard), C and D, and the readiness signal run in
  `pr-management pre-first-pr check | report`; the agent judges commit
  mood, AI assistance, wording and injection.

The model-graded cases for the now-scripted logic become pytest cases
named after each case; the judgement cases stay model evals.

Generated-by: Claude Opus 5
Claude-Session: https://claude.ai/code/session_01GTPsZ5aEE5bUVYqp47Dpvv
@potiuk
potiuk force-pushed the perf/pr-mgmt-9-mentor-routing-prefirst branch from 686e63c to a642448 Compare October 10, 2026 11:16
@potiuk
potiuk merged commit a2c827e into main Oct 10, 2026
21 checks passed
@potiuk
potiuk deleted the perf/pr-mgmt-9-mentor-routing-prefirst branch October 10, 2026 12:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

capability:review Deep per-item code review or contributor mentoring capability:triage Sweep + classify + propose disposition family:docs Docs, MISSION.md, READMEs family:mentoring mentoring skills family:pr-management pr-management-* skills family:setup setup-* skills family:tools tools/* substrate:analytics Tool substrate: read-only metrics / dashboards / renderers substrate:framework-dev Tool substrate: build / validate / eval the framework itself substrate:sandbox Tool substrate: agent isolation, egress control, settings audit

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant