docs: breadcrumb accuracy — Manager/Salaried bundle pushed (4c25011), deploy pending

Flip parked-work.md + CLAUDE.md from "paused, not pushed" to "pushed to
origin/ai-dev d7015b9..4c25011, Flatlogic VM deploy pending (migrate +
collectstatic + restart-last)". Prevents a fresh session reading stale
"not pushed" status.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Konrad du Plessis 2026-05-16 23:50:13 +02:00
parent 4c250110e2
commit 80d96d7c91
2 changed files with 52 additions and 36 deletions

View File

@ -3,14 +3,21 @@
## What's mid-flight — read this first
**Parked / deferred work:** see `docs/plans/parked-work.md`.
**Production status (15 May 2026):** ✅ fully caught up. Production
is deployed at `origin/ai-dev` HEAD `1d224bc` — SiteReport +
Absences feature, all UX polish, team filters, the 18-finding
dashboard/report number audit, and template-comment fixes are all
LIVE. Nothing pending deploy. (Deploy-ordering lesson from this
day is captured in the "DEPLOY ORDERING" bullet of the
Flatlogic/AppWizzy Deployment section — restart must come AFTER
the code is pulled, because `DEBUG=False` caches templates.)
**Production status (16 May 2026):** ⚠ **`origin/ai-dev` is AHEAD of
production — deploy pending.** A 36-commit bundle was pushed to
`origin/ai-dev` (HEAD now **`4c25011`**) on Konrad's go-ahead:
Manager/Salaried Pay + the pay-type filter + the Salary auto-scope
picker + the Pay Salary dashboard quick action. **Production
(`https://foxlog.flatlogic.app/`) is still on the OLD code** — the
Flatlogic VM deploy has NOT run yet. **Deploy needs migrate
(`0016_worker_pay_type`, `0017_alter_payrolladjustment_type`) AND
collectstatic (`static/css/custom.css` changed) with restart LAST**
(DEBUG=False template-cache rule — see the "DEPLOY ORDERING" bullet
in the Flatlogic/AppWizzy Deployment section). Exact ordered steps:
the "Pushed to origin/ai-dev" section in `docs/plans/parked-work.md`.
Once deployed + verified on prod, flip this back to "✅ fully caught
up at `4c25011`". Previous prod-confirmed HEAD was `1d224bc`
(SiteReport + Absences + UX polish + 18-finding audit).
**🧊 Backburner — do NOT start in `ai-dev`:** Phase A.2 (manual
JournalEntry UI) and Phase B (Letterly inbound webhook) are

View File

@ -35,21 +35,33 @@ collectstatic — pure template + view change.
---
## ⏸ Paused — implemented locally, awaiting Konrad's verification (not pushed)
## 🚀 Pushed to origin/ai-dev — pending Flatlogic deploy + prod verification
### Manager / Salaried Pay
### Manager / Salaried Pay (+ pay-type filter + Salary auto-scope + Pay Salary quick action)
**Status:** Brainstormed + designed + planned + **fully
implemented** (Tasks 1-7), each task two-stage code-reviewed,
execution complete but **HARD STOPPED before push** pending
Konrad's manual local verification (Konrad's call, 15 May 2026).
Design doc `docs/plans/2026-05-15-manager-salaried-pay-design.md`
(local commit `325c59d`), plan
`docs/plans/2026-05-15-manager-salaried-pay-plan.md` (local commit
`4dadb7c`). **The design + plan + all 7 implementation/polish
commits are local-only on `ai-dev`, NOT pushed to origin** — Konrad
wants nothing reaching the working app until he's verified it
locally. **201/201 tests green locally.**
implemented**, every task two-stage code-reviewed. **PUSHED to
`origin/ai-dev` on 16 May 2026 on Konrad's explicit "push" go-ahead**
— the full **36-commit bundle** `d7015b9..4c25011` (origin/ai-dev
HEAD is now `4c25011`). This is the original Manager/Salaried feature
(Tasks 1-7) PLUS three stacked refinements built + reviewed the same
day: the display-only pay-type filter, the Salary auto-scope picker,
and the Pay Salary dashboard quick action. **209/209 tests green
locally.** Design/plan docs: `2026-05-15-manager-salaried-pay-*`,
`2026-05-16-managers-paytype-filter-*`,
`2026-05-16-salary-autoscope-picker-*`,
`2026-05-16-pay-salary-quick-action-*` (all under `docs/plans/`).
**⚠ NOT yet deployed to production.** The push reached
`origin/ai-dev` (GitHub) only. The Flatlogic VM still needs the
ordered deploy (DEBUG=False template-cache rule applies):
(1) `git fetch github ai-dev && git reset --hard github/ai-dev`,
(2) `git push gitea ai-dev`, (3) `python3 manage.py migrate`
(applies `0016_worker_pay_type` + `0017_alter_payrolladjustment_type`),
(4) `python3 manage.py collectstatic --noinput` (`static/css/custom.css`
changed — `--badge-salary-*`), (5) `sudo systemctl restart
django-dev.service` **LAST**, (6) confirm `git log` shows `4c25011`
then restart again if the restart preceded the pull.
**What it does:** Lets a manager / salaried worker be paid a fixed
monthly amount without ever logging attendance. A new
@ -64,38 +76,35 @@ daily labour cost, so all existing money math is provably unchanged.
"Manager / Salaried" is a Path-A display-only label (model stays
`Worker`). Migrations `0016_worker_pay_type`, `0017_alter_payrolladjustment_type`.
**To resume:** Konrad runs the manual verification checklist
("Verification (manual, local — Konrad) — HARD STOP before any
push", section in
`docs/plans/2026-05-15-manager-salaried-pay-design.md`) on a local
instance, then **explicitly approves a push**. Only after that
explicit approval does anything get pushed to `origin/ai-dev`. No
code changes pending — implementation is complete; this is purely a
human verify-then-approve gate.
**To resume:** the push is done; the remaining step is the **Flatlogic
VM deploy** (ordered steps in the Status block above — migrate +
collectstatic + restart-last). After Gemini/Konrad deploys, verify on
`https://foxlog.flatlogic.app/` using the manual checklists in the four
design docs, then update this file's "Production status" + the CLAUDE.md
"What's mid-flight" breadcrumb to "fully caught up at `4c25011`". No
code changes pending — implementation is complete and reviewed.
Now also includes a display-only pay-type filter (design
`docs/plans/2026-05-16-managers-paytype-filter-design.md`, plan
`docs/plans/2026-05-16-managers-paytype-filter-plan.md`): a
`/workers/?pay_type=fixed` filter + dropdown and a "Managers only"
client-side toggle on the Add-Adjustment modal picker. Same HARD
STOP — all of it is un-pushed until Konrad's local verification;
it ships bundled with the rest of the paused Manager/Salaried work
in one push, his call.
client-side toggle on the Add-Adjustment modal picker. Shipped in
the 36-commit push `d7015b9..4c25011`.
Also now: setting the Add-Adjustment **type = Salary** auto-scopes
the picker — pay-type filter → "Managers only", daily rows hidden,
and any selected daily worker auto-unticked (UI guard so a `Salary`
can never silently target a daily worker). Design
`docs/plans/2026-05-16-salary-autoscope-picker-design.md`, plan
`docs/plans/2026-05-16-salary-autoscope-picker-plan.md`. Same HARD
STOP — bundled into the one push on Konrad's say-so.
`docs/plans/2026-05-16-salary-autoscope-picker-plan.md`. Shipped in
the 36-commit push `d7015b9..4c25011`.
Also now: a home-dashboard admin Quick Actions tile **"Pay Salary"**
deep-links `/payroll/?action=pay-salary` and auto-opens the existing
Pay Salary modal (param stripped after; no re-pop on refresh). Design
`docs/plans/2026-05-16-pay-salary-quick-action-design.md`, plan
`docs/plans/2026-05-16-pay-salary-quick-action-plan.md`. Same HARD
STOP — bundled into the one push on Konrad's say-so.
`docs/plans/2026-05-16-pay-salary-quick-action-plan.md`. Shipped in
the 36-commit push `d7015b9..4c25011`.
#### Follow-ups from code review (parked, out of scope for this feature)