docs(decisions): D16 — employees ride staff_user; GET /employees returned whole

Records the decision the code already cites (staff_user IS the employee
table; rename would churn FKs and audit names) and the reviewed deviation
from the funnel spec's blanket pagination rule: GET /employees returns the
bounded console-user set whole with total, no page/pageSize.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
feat/client-detail-redesign
Thomas Joise 5 days ago
parent 0be928fbf8
commit 803320a5d5

@ -146,3 +146,16 @@ AWS attribution, no path to the fleet console).
before the real-data import, so live data never migrates engines; SQLite stays the
dev/test engine behind the same repositories. Physical repo split stays a cheap,
reversible option if practice ever demands it.
## D16 — Employees are `staff_user` rows; the employee list is returned whole (2026-07-17)
The Employee entity (quote-to-close funnel, Phase 1) is **backed by the existing
`staff_user` table** — renaming it would churn `session.staff_id`,
`interaction.staff_id` and audit entity names for zero gain; "Employee" lives in the
repo/API/UI vocabulary only. Roles widened to `owner | manager | staff` via a guarded,
transactional table rebuild.
**Recorded deviation from the funnel spec's blanket pagination rule (§5 / rule 8):**
`GET /employees` returns the full set with `total` and **no `page`/`pageSize`**
console users are a small bounded set (single-digit headcount), the count is displayed,
and nothing is silently truncated, which is the intent of rule 8. If the team ever
grows past a screenful, paginate it like every other list.

Loading…
Cancel
Save