Bundle of small audit findings, all doc-only or dead-code: - F-5: refresh stale escalation-contact comment in models.User — Settings UI dropdown shipped 2026-04-29 (t-paliad-066). - F-10: add "OBSOLETED by migration 018" note to migrations 004/005/006 so readers stop hunting for the live shape in obsolete files. - F-11: document the data-loss semantics of dropping paliad.partner_unit_events on the 027 down — audit rows are append-only telemetry, accepted loss on rollback. - F-15: drop the patholo_session / patholo_refresh cookie fallback added during the 2026-04-16 rebrand. Active users have long since been re-authed through the upgrade path; inactive users hit the normal /login flow. - F-16: refresh stale /api/departments comment in team_pages.go to /api/partner-units (renamed in t-paliad-070). - F-17: move internal/db/migrations/_dev/mock_supabase_auth.sql to internal/db/devtools/ so a future loosening of the //go:embed pattern can't accidentally ship the dev-only fixture. - F-18: update docs/project-status.md "Audit polish-2" entry — the batch shipped via t-paliad-067 / 068 / 073, follow-ups are now tracked under the 2026-04-30 re-audit + t-paliad-074. go build / vet / test clean.
26 lines
2.9 KiB
Markdown
26 lines
2.9 KiB
Markdown
# Paliad — project status
|
||
|
||
Living document tracking what's shipped, what's deferred, and historical context. Update when phases land or open follow-ups change. AI instructions live in `.claude/CLAUDE.md`; this file is project state for humans.
|
||
|
||
## Phase status
|
||
|
||
Phases A–G shipped (April 2026): schema + RLS, services, Fristenrechner→DB, Akten CRUD, Fristen UI, Termine + CalDAV, Dashboard. See `docs/feature-roadmap.md` for the per-phase scope.
|
||
|
||
**Phase H (AI Frist-Extraktion) is deferred** — decision by m on 2026-04-16 ("we don't want Anthropic API"). The Dokumente tab on Akten detail stays as a "Kommt bald" placeholder. No `ANTHROPIC_API_KEY` on Dokploy.
|
||
|
||
**Phase I (Notizen polymorphic notes) shipped** — `paliad.notizen` table + RLS (migrations 005, 007), `NoteService` (`internal/services/note_service.go`), REST handlers (`internal/handlers/notes.go` — `GET/POST /api/{projects|deadlines|appointments}/{id}/notes`, `PATCH/DELETE /api/notes/{id}`), shared client module `frontend/src/client/notes.ts` (`initNotes`), wired into project / deadline / appointment detail pages. i18n keys under `notizen.*`.
|
||
|
||
**Phase J (this doc + roadmap rewrite + KanzlAI doc retirement notes)** completed 2026-04-17 on `mai/ritchie/phase-j-roadmap-rewrite`. Infra retirement (KanzlAI Dokploy shutdown, `kanzlai` schema drop, Gitea archive) still pending m + head coordination.
|
||
|
||
**Reminder system redesign (t-paliad-064)** — landed 2026-04-28 across PR-1..PR-4 on `mai/cronus/reminder-system-redesign`. Zero-overdue SLO model: per-user bundled morning/evening digests with category sections (überfällig / heute / diese Woche), DRINGEND escalation in the evening slot, and global-admin escalation framing on overdues. See `docs/design-reminder-redesign-2026-04-28.md`.
|
||
|
||
## Open follow-ups
|
||
|
||
- **Settings → Notifications: escalation contact dropdown** — migration 025 ships `paliad.users.escalation_contact_id` (FK to `paliad.users`, nullable, ON DELETE SET NULL). NULL means "fall back to global_admins for the escalation channel"; setting it lets a user designate a specific colleague as their escalation contact. UI shipped t-paliad-066 on 2026-04-29.
|
||
- **Audit polish-2** — shipped 2026-04-30 across t-paliad-067 / t-paliad-068 / t-paliad-073 (BATCH-level findings + DEFER list). Follow-ups from the 2026-04-30 re-audit (`docs/improvement-audit-2026-04-30.md`) are tracked under t-paliad-074 and downstream task IDs.
|
||
- **KanzlAI infra retirement** — Dokploy shutdown, `kanzlai` schema drop, Gitea archive. Pending m + head coordination.
|
||
|
||
## Historical naming
|
||
|
||
Previously called *patHoLo* (Patent + Hogan Lovells). Rebranded to Paliad on 2026-04-16 when HL announced the merger into HLC, making "HoLo" obsolete. Paliad — "Patent Litigation Administration" but in UI used as a standalone word evoking *paladin*, the champion. Firm-agnostic so the brand survives any future firm renames (see t-paliad-065 — single `FIRM_NAME` constant, default "HLC"). Lime branding kept throughout.
|