Files
paliad/docs/project-status.md
m 3da11bd798 chore(t-paliad-081): doc + dead-code batch (F-5/F-10/F-11/F-15/F-16/F-17/F-18)
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.
2026-04-30 03:42:25 +02:00

2.9 KiB
Raw Blame History

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 AG 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) shippedpaliad.notizen table + RLS (migrations 005, 007), NoteService (internal/services/note_service.go), REST handlers (internal/handlers/notes.goGET/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.