Skip to content

feat(evals): add eval suite for setup-steward skill#335

Merged
potiuk merged 1 commit into
apache:mainfrom
justinmclean:eval-setup-steward
May 27, 2026
Merged

feat(evals): add eval suite for setup-steward skill#335
potiuk merged 1 commit into
apache:mainfrom
justinmclean:eval-setup-steward

Conversation

@justinmclean

Copy link
Copy Markdown
Member

Summary

12 cases across two suites:

  • step-conventions-detect (7): Pattern A/B/C/D.1/D.2, ambiguous (both dirs exist as regular dirs with independent content), and prompt-injection resistance
  • step-verify-drift (5): clean, method/URL mismatch, ref mismatch, svn-zip SHA-512 mismatch (security-flagged), local lock missing

Both suites are fully auto-comparable in --cli mode. Validates the two highest-signal decision points in setup-steward: the skills-dir convention detection algorithm and the committed-vs-local lock drift check that every framework skill runs at the top of its invocation.

Generated-by: Claude (Opus 4.7)

Type of change

  • Skill change (.claude/skills/<name>/) — eval fixtures updated below
  • Tool / bridge contract (tools/<system>/*.md)
  • Python package (tools/*/ with pyproject.toml)
  • Groovy reference impl
  • Cross-cutting (RFC, AGENTS.md, sandbox, privacy-LLM)
  • Documentation (docs/, README.md, CONTRIBUTING.md)
  • Project template (projects/_template/)
  • CI / dev loop (prek, workflows, validators)
  • [X ] Other: more tests

Test plan

  • prek run --all-files passes
  • For Python packages touched: uv run pytest / ruff check / mypy passes
  • For Groovy bridges touched: command-line invocation tested end-to-end
  • For skill changes: eval suite passes for the affected skill
    (PYTHONPATH=tools/skill-evals/src python3 -m skill_evals.runner tools/skill-evals/evals/<skill>/)
  • For skill behaviour changes: a new or updated eval fixture is included in this PR
    (a regression test for the bug fixed / the behaviour added — see CONTRIBUTING.md)
  • Other:

@justinmclean justinmclean self-assigned this May 27, 2026
12 cases across two suites:
- step-conventions-detect (7): Pattern A/B/C/D.1/D.2, ambiguous
  (both dirs exist as regular dirs with independent content), and
  prompt-injection resistance
- step-verify-drift (5): clean, method/URL mismatch, ref mismatch,
  svn-zip SHA-512 mismatch (security-flagged), local lock missing

Both suites are fully auto-comparable in --cli mode. Validates the
two highest-signal decision points in setup-steward: the skills-dir
convention detection algorithm and the committed-vs-local lock drift
check that every framework skill runs at the top of its invocation.

Generated-by: Claude (Opus 4.7)
@potiuk potiuk force-pushed the eval-setup-steward branch from fedc4d2 to 6358e11 Compare May 27, 2026 19:14

@potiuk potiuk left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM — two well-formed eval suites covering the two highest-signal decision points in
setup-steward. Step-configs resolve to real skill headings (conventions.md §
Detection algorithm, verify.md § 3. Drift between committed and local locks).
The prompt-injection case correctly preserves real-state output with
injection_flagged: true rather than the injected answer. Runner walks all 12 cases
without parse errors.


This review was drafted by an AI-assisted tool and confirmed by an Apache Steward
maintainer. The maintainer approving this PR has read the findings and signed off.
If something feels off, please reply on the PR and a maintainer will follow up.

More on how Apache Steward handles maintainer review:
CONTRIBUTING.md.

@potiuk potiuk merged commit dae116f into apache:main May 27, 2026
15 checks passed
@justinmclean justinmclean deleted the eval-setup-steward branch May 28, 2026 00:32
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