Files
agent-skills/evals/cases/test-driven-development.json
T
Addy Osmani 194b2099c6 feat(evals): harden Tier 3 and make negatives pairwise routing tests
Per review from @federicobartoli and @nucliweb on #342:

Tier 3 (behavioral):
- Grade the execution trace, not the final output: executor runs with
  --output-format stream-json --verbose so the grader judges tool calls
  and file edits rather than the model's self-reporting.
- Run each eval in a throwaway workspace; files[] fixtures materialize
  from evals/fixtures/ so evals can operate on real code.
- Node-level timeouts on executor and grader calls; grader output parsed
  and shape-validated before writing (raw saved on failure); the trace is
  fenced as untrusted data in the grader prompt.
- All 24 behavioral evals flagged trust_level: "provisional" until they
  gain fixtures; the runner surfaces this and exits nonzero on failed
  expectations.

Tier 2 (deterministic):
- Negative triggers accept an "owner" skill that must outrank this one,
  turning them into pairwise routing tests that cannot pass vacuously;
  37 of 48 negatives now declare owners (the rest are tracked in #351).
- Warn when a case file is below the documented minimums (3 positive /
  2 negative / 1 behavioral); promotion to error tracked in #352.
- Stemmer: cluster trailing y/i ("simplify"/"simplifies").

Baseline holds: 120 checks, 0 errors, 85% trigger rank-1 rate.
2026-07-06 11:36:29 -07:00

43 lines
1.2 KiB
JSON

{
"skill_name": "test-driven-development",
"trigger": {
"positive": [
{
"prompt": "Write a failing test for this bug before fixing it",
"top_k": 3
},
{
"prompt": "Implement the streak calculator using red-green-refactor",
"top_k": 3
},
{
"prompt": "What tests should cover this new parsing logic before I write it?",
"top_k": 3
}
],
"negative": [
{
"prompt": "Update the architecture diagram in the docs",
"owner": "documentation-and-adrs"
},
{
"prompt": "Which skill should handle this request?",
"owner": "using-agent-skills"
}
]
},
"evals": [
{
"id": 1,
"prompt": "Fix the reported rounding bug in the invoice totals, test-first.",
"expected_output": "A failing test demonstrating the bug, a minimal fix turning it green, full suite passing",
"expectations": [
"A failing test is written and shown failing before the fix",
"The implementation is the minimum needed to pass",
"The full suite is run after the fix to catch regressions"
],
"trust_level": "provisional"
}
]
}