Commit Graph

  • 84020022a6 design(t-paliad-177): Project Timeline / Chart — visualisation layer above SmartTimeline mai/faraday/project-timeline-chart m 2026-05-09 18:44:27 +02:00
  • 7930ee0bdb Merge: t-paliad-175 — SmartTimeline Slice 4 (lane aggregation + bubble-up + Client toggle) — DESIGN COMPLETE m 2026-05-09 16:30:15 +02:00
  • 7e57507a92 feat(t-paliad-175): SmartTimeline Slice 4 — frontend lane render + Client Timeline-Ansicht toggle mai/schroedinger/smarttimeline-slice-4 m 2026-05-09 16:27:39 +02:00
  • 7da8802f9b feat(t-paliad-175): SmartTimeline Slice 4 — backend levelPolicy + lane aggregation + bubble-up m 2026-05-09 16:22:07 +02:00
  • 91d3811276 Merge: t-paliad-174 — SmartTimeline Slice 3 (counterclaim sub-project + parallel-track render) m 2026-05-09 16:09:24 +02:00
  • 483649d9d2 feat(t-paliad-174): SmartTimeline Slice 3 — frontend parallel-track render + CCR creation modal mai/bohr/smarttimeline-slice-3 m 2026-05-09 16:07:58 +02:00
  • 82888dea78 feat(t-paliad-174): SmartTimeline Slice 3 — projection parallel tracks + counterclaim handler m 2026-05-09 16:07:37 +02:00
  • 306bb11618 feat(t-paliad-174): SmartTimeline Slice 3 — counterclaim sub-project schema + service m 2026-05-09 16:07:17 +02:00
  • 196f3f74a6 Merge: t-paliad-173 — SmartTimeline Slice 2 + m/paliad#31 layered features m 2026-05-09 15:45:43 +02:00
  • 331efc8603 feat(t-paliad-173): SmartTimeline Slice 2 frontend + #31 layered features mai/gauss/smarttimeline-slice-2 m 2026-05-09 15:43:22 +02:00
  • 85d7dd497c feat(t-paliad-173): SmartTimeline Slice 2 backend — projection + anchor + skip + sequence guard m 2026-05-09 15:33:20 +02:00
  • 335be29b23 Merge: t-paliad-172 — fix Verlauf-tab-stuck regression from Slice 1 m 2026-05-09 12:39:02 +02:00
  • 0835be4a7f fix(t-paliad-172): null-guard renderEvents to unblock tab clicks m 2026-05-09 12:38:24 +02:00
  • 3e1bbd3c77 Merge: t-paliad-171 — SmartTimeline Slice 1 (skeleton; actuals only, no projection) m 2026-05-08 23:42:39 +02:00
  • 7057fe5d25 feat(t-paliad-171): mount SmartTimeline + "+ Eintrag" modal in /projects/<id> Verlauf m 2026-05-08 23:41:11 +02:00
  • 4a5d56d9e6 feat(t-paliad-171): SmartTimeline render shape — shape-timeline.ts + CSS + i18n keys m 2026-05-08 23:40:49 +02:00
  • afd3aab2b2 feat(t-paliad-171): SmartTimeline backend skeleton — ProjectionService + /timeline endpoint m 2026-05-08 23:34:06 +02:00
  • 49c260b888 feat(t-paliad-171): migration 075 — project_events.timeline_kind opt-in column m 2026-05-08 23:33:53 +02:00
  • 12b35fc9fe Merge: t-paliad-170 — FilterBar mounted in /projects/<id> Verlauf tab m 2026-05-08 23:23:49 +02:00
  • ebcda13f88 feat(t-paliad-170): mount <FilterBar> in /projects/<id> Verlauf tab mai/riemann/filterbar-phase-2-slice m 2026-05-08 23:22:23 +02:00
  • 487fec2672 Merge: t-paliad-169 — SmartTimeline design doc (DESIGN READY FOR REVIEW) m 2026-05-08 23:17:48 +02:00
  • f8cc86cd02 docs(t-paliad-169): SmartTimeline design — Verlauf-tab redesign with past+future+off-script mai/lagrange/smarttimeline-design-the m 2026-05-08 23:14:30 +02:00
  • 69544bf3fb Merge: t-paliad-168 — Verfahrensablauf entry points (Step 2 third card + sidebar nav) m 2026-05-08 23:05:47 +02:00
  • 7fef64159b feat(sidebar): add Verfahrensablauf nav entry m 2026-05-08 23:04:29 +02:00
  • 7238b12b05 feat(fristenrechner): Step 2 third card "Verfahrensablauf einsehen" m 2026-05-08 23:03:52 +02:00
  • 54cf7ac2f6 Merge: t-paliad-167 — Determinator coverage audit (research) m 2026-05-08 22:35:24 +02:00
  • f4815a9f9a docs(t-paliad-167): Determinator coverage audit + smart-navigation framing mai/curie/researcher-determinator m 2026-05-08 22:34:23 +02:00
  • ce180123c3 Merge: t-paliad-165 follow-up — Regel+Typ as one field + jurisdiction-aware defaults m 2026-05-08 22:21:48 +02:00
  • 7a35cad09f feat(deadlines/new): collapse Regel + Typ to ONE field when rule sets type mai/noether/collapse-regel-typ-on m 2026-05-08 22:20:48 +02:00
  • 6058d21ce6 fix(deadline-rules): pick rule's jurisdiction-aware event_type default m 2026-05-08 22:16:55 +02:00
  • 52caba51ec fix(inbox): default approval_viewer_role chip to "any_visible" so the page lands populated m 2026-05-08 22:11:19 +02:00
  • 1faffb682e Merge: t-paliad-163 Phase 1 — universal <FilterBar> primitive + /inbox migration m 2026-05-08 22:03:51 +02:00
  • 4b681792ab Merge: t-paliad-165 — Regel ↔ Typ collapse via auto-link on the deadline create form m 2026-05-08 22:01:44 +02:00
  • 236bb3270e Merge: t-paliad-164 — project our_side + Determinator perspective predefine m 2026-05-08 22:00:13 +02:00
  • 4670cd660a feat(inbox): migrate to <FilterBar> — t-paliad-163 Slice 3 mai/riemann/inventor-universal m 2026-05-08 21:59:44 +02:00
  • 1e97eccaed feat(deadlines/new): auto-link Typ to Regel's concept m 2026-05-08 21:59:22 +02:00
  • 3a41acee07 feat(fristenrechner): predefine Determinator perspective from our_side (t-paliad-164 slice 3) mai/minkowski/project-level-our-side m 2026-05-08 21:58:44 +02:00
  • de4e133f03 feat(filter-bar): scaffolding — t-paliad-163 Slice 2 m 2026-05-08 21:55:29 +02:00
  • 0c12644563 feat(deadline-rules): expose concept's canonical event_type per rule m 2026-05-08 21:55:15 +02:00
  • 5d9c62d858 feat(projects-form): "Wir vertreten" select for our_side (t-paliad-164 slice 2) m 2026-05-08 21:55:00 +02:00
  • 188d8ec9ba feat(projects): add projects.our_side column + service plumbing (t-paliad-164 slice 1) m 2026-05-08 21:52:50 +02:00
  • d5a01e6682 feat(render-spec): add list.row_action — t-paliad-163 Slice 1 m 2026-05-08 21:49:00 +02:00
  • 02d4ac2f4e Merge: t-paliad-161 Slices F + G — Paliadin DB-driven history sync + tmux crash-recovery primer m 2026-05-08 21:48:52 +02:00
  • ae1cba4e24 feat(paliadin/primer): t-paliad-161 Slice G — tmux crash-recovery primer mai/dirac/inventor-inline-paliadin m 2026-05-08 21:48:08 +02:00
  • 1e23745792 docs(t-paliad-163): inventor design — universal filter + view-mode primitive m 2026-05-08 21:44:09 +02:00
  • 1782dfa910 feat(paliadin/cross-surface-sync): t-paliad-161 Slice F — DB-driven history hydrate m 2026-05-08 21:43:51 +02:00
  • 936aca5925 refactor(projects-detail/projektbaum): reuse the /projects tree component m 2026-05-08 21:31:16 +02:00
  • 0b47343aa3 fix(projects-cards): start_at not starts_at — cards-preview appointments query m 2026-05-08 21:20:13 +02:00
  • f31307afcb feat(sidebar): newspaper icon for "Neuigkeiten", reserve sparkle for Paliadin m 2026-05-08 21:11:57 +02:00
  • aa112d2589 fix(approvals): NullableJSON for pre_image/payload so /api/inbox/mine doesn't 500 m 2026-05-08 21:04:53 +02:00
  • dc35d2da69 Merge: feat(paliadin) late-response reconciliation — janitor + chat polling m 2026-05-08 20:58:41 +02:00
  • d2790a0461 feat(paliadin): reconcile late responses via janitor + chat polling m 2026-05-08 20:56:53 +02:00
  • 97d49898b7 fix(paliadin): 200ms settle delay between paste and Enter so submit registers m 2026-05-08 20:37:40 +02:00
  • 5b08bfcb96 fix(views/sidebar): pad fieldset sections + consolidate Ansichten / Meine Sichten m 2026-05-08 20:35:14 +02:00
  • fc048c578e fix(paliadin-widget): render markdown + chips in inline bubbles, fix lime-trigger contrast m 2026-05-08 20:31:44 +02:00
  • d0e8c995fe Merge: t-paliad-157 Determinator Slices 3b + 3c — proceeding-type + perspective narrowing mai/feynman/fristenrechner m 2026-05-08 20:22:50 +02:00
  • dd0cee226d Merge: t-paliad-162 — sidebar reorg, inline Agenda on dashboard, collapsible sections m 2026-05-08 20:21:49 +02:00
  • 6fcf34a3e3 feat(determinator/slice-3c): perspective chip + party-tagged cascade narrowing m 2026-05-08 20:21:13 +02:00
  • e824898a6d feat(navbar/dashboard): t-paliad-162 reorg sidebar groups + inline Agenda + collapsible sections mai/minkowski/navbar-dashboard-reorg m 2026-05-08 20:20:57 +02:00
  • 2f27620a5b feat(determinator/slice-3b): scope B1 cascade by project's proceeding type m 2026-05-08 20:15:50 +02:00
  • 75dc842b8e feat(team-broadcast): add "open in mail client" mailto link to broadcast modal m 2026-05-08 20:13:49 +02:00
  • 6224898f9e Merge: t-paliad-161 — inline Paliadin chat modal + agent-suggested write path m 2026-05-08 20:06:07 +02:00
  • 4ecea7a4bb feat(paliadin/agent-glyph): t-paliad-161 Slice E — alongside 👀 m 2026-05-08 20:04:10 +02:00
  • a3052eb085 feat(paliadin/suggest): t-paliad-161 Slice D — agent-suggested write path m 2026-05-08 19:59:44 +02:00
  • 75cfe914ce Merge: t-paliad-157 Determinator Slice 3a — File/Draft/Enter chooser m 2026-05-08 19:58:49 +02:00
  • 34e82ead06 feat(determinator/slice-3a): outgoing-intent chooser (File / Draft / Enter) m 2026-05-08 19:58:21 +02:00
  • 2cd7266198 Merge: t-paliad-157 Determinator Slice 2 — /projects/new return-bounce m 2026-05-08 19:54:44 +02:00
  • ba2408eb51 feat(paliadin/inline-widget): t-paliad-161 Slice C — floating button + slide-out drawer m 2026-05-08 19:54:18 +02:00
  • dba8ad3fdd feat(determinator/slice-2): /projects/new return-bounce + Step 1 preselect m 2026-05-08 19:54:11 +02:00
  • d4c129f0d6 Merge: t-paliad-157 Determinator Slice 1 — project picker + do/happened bifurcation m 2026-05-08 19:52:32 +02:00
  • df04e500f7 feat(fristenrechner/determinator): Slice 1 — project picker + do/happened bifurcation m 2026-05-08 19:50:59 +02:00
  • 0d1a7ba886 feat(paliadin/context): t-paliad-161 Slice B — structured page-context payload m 2026-05-08 19:47:43 +02:00
  • e9e7d5c27c feat(projects-detail): "Untergeordnet" tab → "Projektbaum" with full visible hierarchy m 2026-05-08 19:46:55 +02:00
  • 282e0bb237 feat(paliadin/migration-070): t-paliad-161 Slice A — schema for agent-suggested write path m 2026-05-08 19:42:05 +02:00
  • 142edca401 docs(paliadin): t-paliad-161 inventor design — inline modal + agent-suggested write path m 2026-05-08 19:35:39 +02:00
  • caa76d2925 Merge: t-paliad-157 Item 4 — opponent-side cascade additions (mig 069) m 2026-05-08 19:22:04 +02:00
  • fdbbc74c15 feat(fristenrechner/cascade): more opponent-side proceeding types m 2026-05-08 19:20:52 +02:00
  • e2907db760 Merge: t-paliad-157 dogfood batch — eye glyph 👀, optional deadlines, Verfahrensablauf collapse m 2026-05-08 19:15:44 +02:00
  • 097e21c8db feat(fristenrechner): collapse proceeding-picker after pick + columns view default m 2026-05-08 18:31:35 +02:00
  • 2d6ea3ee33 feat(deadline-rules/is-optional): conditional rules opt-in via save modal m 2026-05-08 18:26:26 +02:00
  • 614f9af753 fix(approval-pill): two-eye glyph instead of single SVG eye m 2026-05-08 18:23:40 +02:00
  • 6008d36a13 Merge: t-paliad-160 §C cosmetic — eye-pill on approval-pending entities (feynman, 4bab520, icon-only eye glyph on /deadlines + /appointments + /agenda; tooltip retains lifecycle labels pending_create/update/complete/delete; inbox surface unchanged with --historic text-pill variant; pure frontend) m 2026-05-08 18:19:15 +02:00
  • 4bab520119 feat(approval-pill): icon-only eye pill on /deadlines + /appointments + /agenda m 2026-05-08 18:18:16 +02:00
  • c06be27cce Merge: t-paliad-157 — Fristenrechner items 3 + 1 stopgap (feynman, ac15911 moves the inbox-channel chip from /tools/fristenrechner page-top into the B1 cascade panel + drops the Pathway A picker filter — persistence + URL override + B1 cascade narrowing + B2 fine-chip sync still apply, just no longer page-level prefilter; ef78f59 Item-1 stopgap for chained court-set rules — RoP.151-style rules whose trigger is itself a court-set event now render 'unbestimmt' instead of 'wird vom Gericht bestimmt' via a new IsCourtSetIndirect flag, direct court events keep the original label. Items 2 + 4 from m's 2026-05-08 17:41 batch still pending.) m 2026-05-08 17:56:11 +02:00
  • ef78f59d25 feat(fristenrechner): "unbestimmt" for chained court-set rules (m's R.151 case) m 2026-05-08 17:55:22 +02:00
  • ac15911e4f refactor(fristenrechner/inbox-chip): move chip into B1 cascade, drop Pathway A filter m 2026-05-08 17:53:06 +02:00
  • f1889fabcf Merge: t-paliad-160 — Approval system rework (shannon, 3 slices + renumber: - Slice 1+2 (3a41aa9): schema split required_role → requires_approval boolean + min_role text via mig 066 with two-step dual-read; resolver most-strict-wins via approval_role_level(); ErrAlreadyPendingApproval / ErrNoQualifiedApprover / ErrInvalidInput → 409 Conflict with structured body via mapApprovalError helper. - Slice 2 (073af97): /admin/approval-policies UI flip — 2-control checkbox + role dropdown replacing the 'none' sentinel option; pending-approval badge on deadline + appointment detail pages; 'Genehmigungsanfrage zurückziehen' button wired to existing Revoke endpoint; /approvals 'Meine Anfragen' visibility hardening (filter regression + inbox count badge sync). - Slice 3 / M2 (aec6cf6): drop required_role column once writers cut over via mig 067. - 3368aa5: renumber 064/065 → 066/067 to avoid collision with feynman's t-157 migrations 064 (users.forum_pref) + 065 (event_categories.forums) that landed first. - 9350cd0: merge origin/main into branch to absorb feynman's slices. m 2026-05-08 17:17:25 +02:00
  • 9350cd0e87 Merge remote-tracking branch 'origin/main' into mai/shannon/approval-rework mai/shannon/approval-rework m 2026-05-08 17:16:57 +02:00
  • 3368aa58a6 chore(migrations): renumber shannon t-160 migrations 064/065 → 066/067 to avoid collision with feynman's t-157 migrations 064 (users.forum_pref) + 065 (event_categories.forums) which landed first m 2026-05-08 17:16:57 +02:00
  • aec6cf6104 refactor(approvals/t-paliad-160 slice3 / M2): drop required_role column m 2026-05-08 17:15:05 +02:00
  • 073af975f7 feat(approvals/t-paliad-160 slice2): admin UI flip + badge + withdraw + inbox visibility hardening m 2026-05-08 17:07:46 +02:00
  • 8c58783cd3 Merge: t-paliad-157 / m/paliad#15 B1 follow-up — Fristenrechner cascade-entry-point narrowing (feynman, migration 065 paliad.event_categories.forums text[] with CHECK on {upc,de,epa,dpma} + partial GIN; two-step backfill via regex on slug + explicit straggler list for BGH/BPatG/Versäumnisurteil/Hinweisbeschluss/r116-eingaben; NULL stays neutral; EventCategoryNode JSON exposes forums; applyInboxFilter re-renders cascade in place; inboxFilterAllowsForums gates each child node — m/paliad#15 acceptance complete across schema + chip + Pathway A picker + B2 fine-bucket + B1 cascade) m 2026-05-08 16:55:34 +02:00
  • 3a41aa9209 feat(approvals/t-paliad-160 slice1+2): split policy + 409 handler m 2026-05-08 16:54:45 +02:00
  • 6ef14ddc39 feat(fristenrechner/inbox-chip): wire inbox into B1 cascade narrowing m 2026-05-08 16:54:34 +02:00
  • 9339148ef5 Merge: t-paliad-157 / m/paliad#15 — Fristenrechner inbox-channel pre-filter (feynman, 3 slices: 06bd276 schema migration 064 paliad.users.forum_pref + UpdateProfileInput backend wiring; 1df1bc7 frontend chip strip on /tools/fristenrechner + Pathway A picker filter with URL ?inbox= override + PATCH on click; e879298 wire inbox into B2 fine-bucket forum chips — cms→upc_cfi+upc_coa, bea/posteingang→de_lg+de_olg+de_bgh+de_bpatg, URL ?forum= still wins so share links honor recipient-local discipline; B1 cascade entry-point narrowing deferred — event_categories has no forum metadata column today) m 2026-05-08 16:43:47 +02:00
  • e87929885d feat(fristenrechner/inbox-chip): wire inbox into B2 fine-forum chips m 2026-05-08 16:41:50 +02:00
  • 1df1bc7e40 feat(fristenrechner/inbox-chip): persisted forum pre-filter on /tools/fristenrechner m 2026-05-08 16:31:31 +02:00
  • b23a08867b Merge: t-paliad-158 — deadline data model proceedings-as-DAG analysis (einstein, 947 lines, m co-drove the design via AskUserQuestion sequence; maps current paliad.deadlines + deadline_rules + event_categories shape against m's framing 'natural sequence of proceedings which belong to a court system' with conditional triggers; proposes target schema for proceedings + court_systems + event-types-as-DAG-nodes with conditional edges; migration sketch for additive overlay vs destructive cutover; honest tradeoff analysis) m 2026-05-08 16:27:40 +02:00
  • 7be8511833 docs(t-paliad-158): deadline data model — proceedings-as-DAG analysis mai/einstein/consultant-deadline-data m 2026-05-08 16:27:04 +02:00
  • 06bd276a9c feat(users/forum-pref): persisted Fristenrechner inbox-channel column m 2026-05-08 16:23:12 +02:00