3.0 KiB
3.0 KiB
HR/Finance Phase 1 Sprint 1b — Plan kickoff (B9-B11 + F1-F6)
Plan:
.harness/plans/hr-finance-fiscalisation.md§3b Branch:feature/hr-finance-phase-1b(worktree.worktrees/hr-finance-phase-1b/) Owner: backend-expert (pre-step, B9-B11) → frontend-expert (F1-F6) → code-reviewer (gate).
What this commit does
Two planning artefacts — no code yet.
- Spec the Sprint 1b scope in
hr-finance-fiscalisation.md§3b. Three backend touch-points (PUT /finance/expenses/:id/approve|reject,GET /finance/expenses/summary, verifier pin for?status=filters) and four frontend pages (LeaveApproval, StaffDirectory, PayrollRuns, Payslips) plus two modifications (Expenses approval actions, HRManagement alert cleanup). - Relocate three untracked stub trackers from the repo root into
.harness/plans/stubs-sprint-1b/asA.md,B.md,C.md. These are the spec the parallel Track A/B/C stub sweep will follow after Sprint 1b lands.
Files touched
| File | Change |
|---|---|
.harness/plans/hr-finance-fiscalisation.md |
+74 (insert §3b between §3a and §6) |
.harness/plans/stubs-sprint-1b/A.md |
renamed from STUBS_TRACK_A_IDENTITY_ACCESS.md |
.harness/plans/stubs-sprint-1b/B.md |
renamed from STUBS_TRACK_B_FEES_AND_COPY.md |
.harness/plans/stubs-sprint-1b/C.md |
renamed from STUBS_TRACK_C_MODULE_PLACEHOLDERS.md |
.harness/changelogs/2026-07-04-phase1b-planning.md |
new (this file) |
What lands next (commit-by-commit)
| # | Commit | Owner | Notes |
|---|---|---|---|
| 1 | feat(finance): B9 approve/reject state machine |
backend-expert | PUT /api/finance/expenses/:id/approve|reject — records approved_by / approved_at, 409 on already-decided rows. |
| 2 | feat(finance): B10 /expenses/summary |
backend-expert | Powers the approval queue tile on the Finance dashboard. |
| 3 | docs: B11 verifier pin for ?status= filters |
backend-expert | One-line additions to the plan; no code unless a filter is missing. |
| 4 | feat(hr/finance): F1-F6 — LeaveApproval, StaffDirectory, PayrollRuns, Payslips, Expenses approve UI, HRManagement cleanup |
frontend-expert | 4 new pages + 2 modifications. Routes + nav wiring + SCREENS.md update. |
| 5 | feat(routes): remove /finance/payroll/runs placeholder mapping |
frontend-expert | App.tsx:330 routes to PayrollRuns, not HRManagement. |
| 6 | review | code-reviewer | Gate. |
Acceptance (recap from §3b)
- B9 happy path: approve
status='pending'row → 200 withstatus='approved',approved_by/approved_atpopulated. - B9 sad path: approve already-approved row → 409.
- All 4 new pages render with real data; no
alert(, nowindow.prompt, no<Module Under Construction>. /finance/payroll/runsno longer maps toHRManagement.npm run buildgreen.
Out of scope (parked)
approved → paidtransition (Sprint 1c).- Accountant/Librarian/Nurse dashboards (§9 Phase 2+).
- Test framework + CI (
testerrein's first sprint). - Phase 0 nits (still parked on
fix/stabilise-finance-nits).