Verfahrensablauf: per-event-card optional choices (appellant per decision, Nichtigkeitswiderklage on Klageerwiderung, skip optional events) — inventor #96
Reference in New Issue
Block a user
No description provided.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
m's report (2026-05-25 15:12)
Concept — per-event-card choices steer the projection
Today the Verfahrensablauf timeline is mostly read-only (column placement is the only user input — fixed at the page level via the side selector that t-paliad-257 / #88 shipped). m wants the timeline cards themselves to become state inputs for the projection:
Phase: inventor design (READ-ONLY)
Inventor → coder gate per project CLAUDE.md.
Open design questions
Q1 — Where does the state live?
A.
paliad.project_event_choicesnew table:(project_id, event_code, choice_kind, choice_value, …). Persisted, per-project, joined into the projection at render time. Survives reload, audit-logged.B. URL query state like the side + appellant selectors today:
?event_choices=event_code:value,event_code:value,.... Ephemeral, shareable via URL, no persistence.C. Both: persisted by default, URL-overridable for what-if scenarios.
(R) = A (persisted default; what-if exploration handled later as a URL-override on top). Most case-level choices are real, not exploratory.
Q2 — Affordance: inline-on-card vs popover-on-card-click?
A. Inline checkbox/radio on every relevant card. Risk: visual noise; most cards have no choices.
B. Caret/menu on each card (
▾) that opens a popover with the available choices. Cleaner default, +1 click for power-use.C. Card hover reveals the choices with click to commit. Risk: discoverability + touch-device pain.
(R) = B (caret/menu popover). Off-by-default visual, on-tap reveal.
Q3 — How does the rule system know which cards are "optional" or have choices?
A new column on
paliad.deadline_rules:choices jsonbdescribing the choice-kinds applicable to that rule. Example:Projection consumes
paliad.project_event_choices(Q1 table) joined againstpaliad.deadline_rules.choices. Default: when no choice set, treat as the catalog default (e.g. "both parties" or "include").Q4 — Interaction with the project-level our_side / appellant selectors
t-paliad-257's project-level side selector + the existing appellant selector are the BROAD axis. Per-card choices are the FINE axis. Decide:
Matters for how the per-card UI defaults its display.
Q5 — Audit trail
Every
project_event_choicesrow insert/update goes topaliad.events(audit feed) so the team can see who set which case-direction choice when. Standard.Q6 — Scope of v1 vs follow-ups
Slice A (this design): appellant-per-decision + skip-optional-event. Two choice-kinds, well-bounded.
Slice B: include-Nichtigkeitswiderklage-on-Klageerwiderung (more complex — splits the projection into a cross-proceeding fan-out). Inventor flags this for separate inventor pass.
Slice C: any-other-choice-kinds the audit + lawyer feedback surface later.
Deliverable
docs/design-event-card-choices-2026-05-25.mdon branchmai/<inventor>/event-card-choices-design. Sections per inventor template.Hard rules
mai instruct headfor material picks.paliad.deadline_rulesreferences becomepaliad.procedural_events. Inventor flags the join points but doesn't pre-empt the rename.Out of scope
When done
Push design doc +
mai report completedwith "DESIGN READY FOR REVIEW". Inventor parked. Head gates coder shift.