mirror of
https://github.com/efremidze/swift-architecture-skill.git
synced 2026-09-14 20:49:06 +08:00
3a998f6407
Move the evals/ and scripts/ trees into tooling/ (tooling/evals, tooling/scripts) and update all references accordingly. Adjusted CI workflow, docs (AGENTS.md, CONTRIBUTING.md, evals README), manifests and runner scripts to use the new paths, updated .gitignore, and fixed script path resolution (parents index and ROOT_DIR adjustments) so tooling runs and validations continue to work from their new location.
1.5 KiB
1.5 KiB
Skill Evaluation Harness
This folder provides scenario-based evaluations for swift-architecture-skill.
Goal
Check whether the skill catches architecture/code smells and proposes concrete, pattern-consistent fixes.
Layout
tooling/evals/cases.json: all eval cases in one filetooling/evals/rubric.md: manual scoring rubrictooling/scripts/run/evals.sh: runner
Case Format (cases.json)
Each case includes:
idnotespromptrequired_keywords(legacy all-of keywords)required_any(optional grouped any-of checks; preferred)forbidden_keywordsforbidden_any(optional grouped any-of checks)
Run a Batch
- Prepare a run package (manual mode):
./tooling/scripts/run/evals.sh
This creates tooling/evals/runs/<timestamp>/ with:
packet.md(all prompts)responses/<id>.mdscorecards/<id>.mdcases.jsonsnapshot
- Optional: run with a command that reads stdin and writes stdout:
./tooling/scripts/run/evals.sh --cmd "your-command-here"
The command is executed per case as:
bash -lc "$CMD" < prompt_text > responses/<id>.md
- Grade a completed run:
./tooling/scripts/run/evals.sh --grade-only --run-dir tooling/evals/runs/<timestamp>
Scoring Guidance
Keyword scoring is a quick heuristic. Use manual scorecards as source of truth.
Manual scorecard dimensions:
- Smell detection
- Architecture fit
- Fix quality
- Safety (error/cancellation guidance)
- Clarity