{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "name": "gen-ui-review routing accuracy corpus",
  "version": "2.1.0",
  "purpose": "Routing-eval corpus for gen-ui-review. Each phrase declares the skill (expected), a forbidden skill (expected_not, for phrases the source data only ever asserted as \"not this skill\"), or neither. Scored by scripts/skills/run-skill-evals.mjs (TF-IDF token overlap over per-skill description+triggers).",
  "scoring_notes": "Heuristic signal, not ground truth. Treat misroutes as a prompt to tighten the skill description, never as a reason to keyword-stuff it. Real harness routing is LLM-driven.",
  "scope": "gen-ui-review routing, does this phrase activate gen-ui-review?",
  "phrases": [
    {
      "id": "gen-ui-review-pos-01",
      "phrase": "score the gen-ui gallery outputs against the rubric",
      "expected": "gen-ui-review"
    },
    {
      "id": "gen-ui-review-pos-02",
      "phrase": "run a gen-review cycle over the gallery",
      "expected": "gen-ui-review"
    },
    {
      "id": "gen-ui-review-pos-03",
      "phrase": "review the gen-ui outputs for quality",
      "expected": "gen-ui-review"
    },
    {
      "id": "gen-ui-review-pos-04",
      "phrase": "decompose the rendered canvas and score the gap against the ideal composition",
      "expected": "gen-ui-review"
    },
    {
      "id": "gen-ui-review-pos-05",
      "phrase": "check for overflow elements in the generated screens",
      "expected": "gen-ui-review"
    },
    {
      "id": "gen-ui-review-pos-06",
      "phrase": "root-cause why this gen-ui prompt's render score is low",
      "expected": "gen-ui-review"
    },
    {
      "id": "gen-ui-review-pos-07",
      "phrase": "run the exit gate check on the review ledger",
      "expected": "gen-ui-review"
    },
    {
      "id": "gen-ui-review-pos-08",
      "phrase": "classify the cause code for this bad gen-ui render",
      "expected": "gen-ui-review"
    },
    {
      "id": "gen-ui-review-pos-09",
      "phrase": "write a fix plan for the failing prompts in the gallery",
      "expected": "gen-ui-review"
    },
    {
      "id": "gen-ui-review-pos-10",
      "phrase": "score this prompt against its ideal composition and report the delta",
      "expected": "gen-ui-review"
    },
    {
      "id": "gen-ui-review-pos-11",
      "phrase": "check the cosmetic findings in the gallery screenshots",
      "expected": "gen-ui-review"
    },
    {
      "id": "gen-ui-review-pos-12",
      "phrase": "is the gen-ui gallery review cycle complete yet",
      "expected": "gen-ui-review"
    },
    {
      "id": "gen-ui-review-neg-01",
      "phrase": "run a dogfood sweep on the demo pages before we cut",
      "expected_not": "gen-ui-review"
    },
    {
      "id": "gen-ui-review-neg-02",
      "phrase": "find native primitive leaks across the app shells",
      "expected_not": "gen-ui-review"
    },
    {
      "id": "gen-ui-review-neg-03",
      "phrase": "fix the chunk corpus so this component stops rendering wrong",
      "expected_not": "gen-ui-review"
    },
    {
      "id": "gen-ui-review-neg-04",
      "phrase": "add a new primitive to the component catalog",
      "expected_not": "gen-ui-review"
    },
    {
      "id": "gen-ui-review-neg-05",
      "phrase": "audit the admin-shell composition for missing canonical parts",
      "expected_not": "gen-ui-review"
    },
    {
      "id": "gen-ui-review-neg-06",
      "phrase": "[scheduled] cut v0.9.3 overnight",
      "expected_not": "gen-ui-review"
    },
    {
      "id": "gen-ui-review-neg-07",
      "phrase": "the gemini adapter is dropping usage tokens on streamed responses",
      "expected": "llm-client-maintenance"
    },
    {
      "id": "gen-ui-review-neg-08",
      "phrase": "deploy the latest build to ui-kit.exe.xyz",
      "expected": "site-deployment"
    }
  ],
  "_measured_historical": {
    "as_of": "2026-07-18",
    "scorer": "routing_eval.py (nonoun-plugins/forge)",
    "f1": 0.857,
    "precision": 1.0,
    "recall": 0.75,
    "exit_code": 0,
    "note": "measured by the external routing_eval.py (nonoun-plugins/forge) against the pre-conversion positives/negatives shape; historical record only, not regenerated by run-skill-evals.mjs."
  }
}
