No description
Find a file
jtricerolph 8f8e273650 Compare employee pay against their own baseline, not raw rank; tighten output
Two real problems from live testing:
1. gatherEmployeeAnomalies() ranked by absolute cost, so it always
   surfaced senior/supervisory/longer-shift staff — that's their
   normal rate, not an anomaly. Now compares each employee's £/shift
   this week against their own trailing 4-week average and only
   reports the deviation; the prompt explicitly tells the model not to
   flag high pay in absolute or relative terms, only genuine
   deviations from someone's own baseline. Validated: Jack Evans
   (previously flagged 3 briefings running) is +0.5% vs his own
   baseline — not an anomaly at all — while Joseph Trice-Rolph's +41%
   swing is a genuine standout.
2. Output was hitting the token cap and cutting off mid-sentence
   (confirmed: last generation used exactly 900/900 output tokens).
   Raised cap to 1400, and tightened the system prompt to a hard
   5-bullet-total limit with no per-department/per-employee sections,
   since the model was writing a full structured report instead of a
   short briefing regardless of the token budget.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-25 10:50:20 +00:00
backend Compare employee pay against their own baseline, not raw rank; tighten output 2026-07-25 10:50:20 +00:00
frontend Revert rota comparison to real oncosts; remove stale NI footnote 2026-07-25 10:17:11 +00:00
.gitignore Add AI cost insights dashboard; rota-informed forecast method 2026-07-24 20:43:18 +00:00
docker-compose.yml Initial scaffold: wages app 2026-07-23 09:03:52 +00:00
seed-app.js Initial scaffold: wages app 2026-07-23 09:03:52 +00:00