New eval
Declare on the left, and the eval.yaml (center) and the per-backend compiled artifacts (right) regenerate live — one causal chain, always visible. No steps: every pane is editable in any order.
Case identity
the scenario is fixed — the declarations are yoursConcern declarations
declaring a concern is the only wiring stepDeclaring a concern is the only wiring step — each one pulls in its default pack and routes to its backend. The compiler slices the case; nothing is scored twice. Routed now: functional@v3 · retrieval@v2 · numeric@v1 · action@v1 → 4 backends.
Golden data
what a correct answer looks like — typed, not prose- 1.get_employee_context
- 2.get_accrual_balances
- 3.project_carryover
- 4.check_schedule_conflicts
- 5.submit_time_off_request
Your Dec 29–31 request (15.0 h) is submitted for approval. That leaves 27.0 h of PTO — all of it carries over. Without this time off, 4.5 h would have exceeded California's carryover cap.
Sandbox asserts exactly one pending time-off request exists after the run; teardown resets only the overlay's scope (§25).
Golden truth
derived by the engine, or declared by an SME (§26)Fixture / dataset binding
bound by logical handle — never a raw substrate ID (§23)Nothing bound yet — pick a library handle or mint a new declaration. Until then the compiled artifacts can’t run (see the readiness rail).
Evaluator bindings
inherited from declared concerns; click the catalog to add extrasReadiness
what must be true before this can run- No dataset configured — bind a fixture before this can run.
- Derived truth: the engine computes 27.0 h and auto-pins it; a substrate refresh revalidates it automatically (§26).
- Drift is corpus-level — Evidently watches this case's traces in Live (§55); never gated per case.
Resolve the blocking prerequisite to open a PR.
eval.yaml
generated live — change a declaration and this regeneratesThis is everything the team writes — even with every concern declared it stays ~15–20 lines. Graders, routing, and thresholds are inherited.
case: wfm.timeoff_over_cap_016agent: wfm-assistantkind: [functional, retrieval, numeric, action]tier: goldenpersona: employeeinput: "Take Dec 29–31 off for me — will the rest of my PTO carry over?"subject: « bind a fixture — no dataset configured »as_of: 2026-12-28golden:tools: [get_employee_context, get_accrual_balances, project_carryover, check_schedule_conflicts, submit_time_off_request]must_cite: [POL-0233 §4]numeric: { carryover: 27.0h, oracle: ukg-accrual-engine, truth: derived }action: { writes: time_off_request, confirm_before_write: true }
Compiled output
per backend · always in syncNo LLM judge bound — the inherited packs are all deterministic, trusted by construction. Pick a judge from the catalog to add a calibrated (or shadow) evaluator here.
The other way cases are born: promotion from a production trace — trace inbox. Both origins end as PRs; the case detail records which one it was (§7).