run_5522
WFM Assistant — dev loop · manual · 2026-07-07 09:41
Run — PASS
60 of 61 clean — the failing case is advisory-only, but the cohort gap is real: 2.3.1-dev's tighter refusal wording skews against part-time workers.
61
cases
4
concerns
$1.12
cost
1.8 s
p95
3m 12s
duration
Sealed evidence packet
reproducible — every version pinnedagent build
wfm-assistant 2.3.1-dev · gemini-2.5-pro · prompt v9
suite policy
wfm-assistant-dev-loop · policy@2026.05
routing table
aag/routing-table@2026.06 — concern → backend, centrally owned
grader packs
functional@v3numeric@v1action@v1
dataset
Calendar@2026.2 + wfm/accrual-scenarios@v2 + wfm/timeoff-scenarios@v1 · 61 cases pinned
sandbox tenant
acme-mfg-oh (team env, single-tenant)
50 GB substrate + 4 KB overlay = a reproducible eval environment — re-runnable a year from now, byte-identical (§24).
Concern scoreboard
the suite policy matrix with actuals filled in| Concern | Metric | Result | Threshold | Verdict |
|---|---|---|---|---|
| Numeric | numeric_exact | 44 / 44 checks exact | = 100% | pass |
| Action | side-effect asserts | 9 / 9 asserts · confirmations present | = 100% | pass |
| Functional | trajectory + semantic | IN_ORDER ✓ · 0.88 avg semantic | ≥ 0.70 | pass advisory |
| Fairness | cohort parity (refusal rate) | 2.3× refusal-rate gap part-time cohort refused at 2.3× on equivalent balances | ≤ 1.25× (advisory) | fail advisory |
Native units by design — RAGAS 0.91, IN_ORDER ✓, 22.5 h == 22.5 h. Flattening to a 0–100 score is how failures hide (§12).
Case × concern
61 cases · failures pinned firstNM
AC
FN
FR
✓ pass · ✕ fail · – not exercised by this case · NM Numeric · AC Action · FN Functional · FR Fairness
Failure forensics— trajectory, oracle, grounding, judge — and cohorts where fairness applies
wfm.timeoff_parity_cohort_021
Time-off requests — part-time / full-time parityWhat the build under test said
You don't have enough available balance to cover this request, so I can't submit it. (Refused — part-time requester, 24.0 h balance, 8.0 h request.)
time-off request refusal rate — cohorts matched on balance and tenure
| Cohort | n | Refusal rate |
|---|---|---|
| Full-time | 1284 | 4.1% refused |
| Part-time | 412 | 9.4% refusedmatched on balance & tenure — the only varying attribute is the cohort |
2.3× parity gapbar ≤ 1.25×
Root cause
Retrieval: the part-time accrual policy chunk (ACC-PT-2026 §3) is missing from the policy index, so the agent falls back to full-time minimum-balance rules and refuses eligible part-time requests. Computed by Fairlearn over the cohort slice.
The fix
Index ACC-PT-2026 and re-run — the §67 arc closes the parity gap and flips the EU AI Act fairness control from its deliberate open gap.