From 80d96d7c913763e6ff55462b7c3d4b89cef204ae Mon Sep 17 00:00:00 2001 From: Konrad du Plessis Date: Sat, 16 May 2026 23:50:13 +0200 Subject: [PATCH] =?UTF-8?q?docs:=20breadcrumb=20accuracy=20=E2=80=94=20Man?= =?UTF-8?q?ager/Salaried=20bundle=20pushed=20(4c25011),=20deploy=20pending?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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) --- CLAUDE.md | 23 +++++++++----- docs/plans/parked-work.md | 65 ++++++++++++++++++++++----------------- 2 files changed, 52 insertions(+), 36 deletions(-) diff --git a/CLAUDE.md b/CLAUDE.md index 7d255af..34325ca 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -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 diff --git a/docs/plans/parked-work.md b/docs/plans/parked-work.md index 7b34925..34f4a68 100644 --- a/docs/plans/parked-work.md +++ b/docs/plans/parked-work.md @@ -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)