Skip to content

feat(eval): structured write allowances for the item skills (#67, step 2 of 3) - #99

Merged
glennfaison merged 1 commit into
mainfrom
feat/structured-effects-item-skills
Nov 14, 2026
Merged

glennfaison merged 1 commit into
mainfrom
feat/structured-effects-item-skills

Conversation

@glennfaison

Copy link
Copy Markdown
Owner

Step 2 of 3 for #67, on top of #97 (merged). triage-github-issue, implement-github-issue and review-github-pr now list what they may write as allow entries, so the scenario checker refuses a label, a comment marker or an op that the skill's text does not permit, even where its scope allows a write.

How the lists were made

Each allow list comes from the skill's own text and the protocol references (labels.md, handoff.md, escalate.md, human-merge.md, issue-after-pr.md, dedupe.md), not from the goldens alone. So a label no scenario applies (bug, enhancement) is still listed. Every golden of the three skills passes unchanged, and the contracts' wording is unchanged: each sentence is kept and gains an allow.

Decisions worth a look

  • Triage's outcome comment has no fixed marker. The skill text names none and the goldens use both agent:outcome and no marker, so triage allows both. Pinning one is a skill change, not part of this PR.
  • Triage removes only needs-triage and its own lease label. Eligibility excludes any issue that already carries a state label, and never says only a human removes needs-info, so no state-label removal is listed.
  • Unmodelled writes stay unmodelled. Triage's description updates and comment minimizing can't be expressed as effects, so a run that does either is still rejected, as before. The sentence now says only the comments are checked.
  • review-github-pr can also remove ready-for-agent and agent:pr-open from a linked issue, per issue-after-pr.md.

Tests

12 new tests: for each skill, a golden scenario plus one effect the skill's text forbids (triage applying wontfix, implementing merging a PR, review sending a linked issue back to ready-for-agent, an unmarked comment on the claimed PR, and so on). Each asserts the golden is clean first, then that the added effect is refused by an allow entry. A scope-only checker accepted all 12.

npm test: 548/548 (536 + 12). npm run validate and check-plugin-version pass. ADR 0017 is updated with the migration notes, and there is a changeset.

Not in this PR

Step 3: triage-github-issues, implement-github-issues, review-github-prs, shepherd-github-prs, reconcile-github-issues, file-github-issues, explore-github-repo. Those are the group, sweep and file skills.

Refs #67, #72.

triage-github-issue, implement-github-issue and review-github-pr list
what they may write as allow entries (ADR 0017, step 2). 12 tests add
an effect each skill's text forbids to a golden scenario.
@glennfaison
glennfaison merged commit 56158fe into main Nov 14, 2026
2 checks passed
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.

2 participants