"""Representative prompt corpus for the model-router classifier.

Reflects real `UserPromptSubmit` shapes across the tier spectrum:
short one-liners, long multi-sentence asks, code-heavy transforms,
multi-domain (auth/payment/migration/security) prose, and the bulk /
bounded / negation edge cases the v2 scorer explicitly handles.

Used by BOTH the correctness pin (`test_classify_pins.py`) and the
benchmark (`test_classify_bench.py`) so the numbers and the
behaviour-lock cover the same inputs.
"""

from __future__ import annotations

# Each entry exercises a distinct branch of the classifier. The corpus is
# deliberately spread across cheap / main / hard so the benchmark's mean is
# representative of mixed real traffic, not skewed to one fast/slow path.
PROMPTS: list[str] = [
    # ── short ──────────────────────────────────────────────────────────
    "rename foo to bar",
    "format this file",
    "add a flag to the dispatch path",
    "investigate the flaky test",
    "what's the signature of withCredential",
    # ── cheap mechanical / bulk ─────────────────────────────────────────
    "Across the whole codebase, replace every console.log with the logger "
    "and strip all trailing whitespace — purely mechanical, no logic changes.",
    "Add jsdoc to every exported function in packages/core/src and add "
    "explicit return types where missing. One-line change per file.",
    "prettier --write the entire repo and run eslint --fix afterwards",
    "convert every require() to an ESM import across all the test files",
    "bump every internal package.json dependency to the latest minor",
    # ── main bounded feature work ──────────────────────────────────────
    "Add an endpoint to host-cp that returns the current world phase, and "
    "wire a debounce on the SPA hook that consumes it. Just this one file.",
    "Fix the bug in tier-selection where the fallback reason is undefined; "
    "add a regression test that pins the fallback branch.",
    "Add a feature flag check to the dispatch enrichment path in a single "
    "file and gate the new badge behind it.",
    # ── hard architecture / cross-service ──────────────────────────────
    "Design a backwards-compatible migration to shard the credential vault "
    "across every auth service with zero-downtime cutover; we're paged on "
    "p99 latency spikes and pool exhaustion under 50K RPS.",
    "Investigate the cross-service race condition causing the audit-log "
    "desync; propose a unified idempotency layer and a deprecation rollout "
    "across all 12 microservices. This is operationally serious.",
    "Refactor the cross-cutting retry logic across every service into a "
    "unified middleware; audit all the call sites and plan the migration.",
    # ── negation / bounded-scope traps ─────────────────────────────────
    "I know this looks like an architecture change but it's really just a "
    "rename — don't redesign anything, preserve behaviour exactly.",
    "Investigate this specific test in `packages/core/src/dispatch/"
    "verifiability.test.ts` — single file, no design decisions needed.",
    # ── multi-domain prose ─────────────────────────────────────────────
    "The payment refund flow leaks a credential into the audit log on a "
    "stripe webhook retry — this is a security + billing issue, trace it.",
    # ── long mixed ─────────────────────────────────────────────────────
    "We need to standardise the error contract across the gateway and "
    "migrate every public endpoint to it. There's a data-residency "
    "constraint for EU tenants and a SOC2 audit-log requirement. Propose a "
    "rollout that's backwards-compatible and won't desync the SDK bindings "
    "going forward. Bundle is 1.8MB gzipped so watch the cdn/origin split.",
]
