From 803320a5d555f047a0b0ab37068bd22fff5fd070 Mon Sep 17 00:00:00 2001 From: Thomas Joise Date: Fri, 17 Jul 2026 02:16:17 +0530 Subject: [PATCH] =?UTF-8?q?docs(decisions):=20D16=20=E2=80=94=20employees?= =?UTF-8?q?=20ride=20staff=5Fuser;=20GET=20/employees=20returned=20whole?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 --- docs/06-DECISIONS.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/docs/06-DECISIONS.md b/docs/06-DECISIONS.md index a508122..11517af 100644 --- a/docs/06-DECISIONS.md +++ b/docs/06-DECISIONS.md @@ -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.