Fristenrechner Verlauf: UPC RoP audit + cascade depth + party-role + columns ordering #14
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?
Combines several Verlauf-surface improvements raised in the t-paliad-157 pair-programming session (2026-05-08, items 1, 2, 3, 4, 8, 12, 13).
Scope
A — UPC orders + decisions audit (RoP-driven)
Build out the cascade taxonomy from the actual UPC Rules of Procedure. Many order/decision types are missing or shallowly modeled (case-management orders, panel-vs-single-judge, R.118 final, R.220.2 leave-to-appeal, R.262 confidentiality, R.331/332 case-mgmt, default + cost orders, etc.).
Deliverable:
docs/audit-upc-orders-decisions.md— every RoP-named order/decision with trigger semantics and cross-references to the proceeding it belongs to. We build it ourselves from the RoP.Then expand
paliad.event_categories,paliad.deadline_concepts,paliad.deadline_rulesper the audit so each order/decision is a first-class trigger with the right downstream rules.B — Verlauf depth (UX)
primary_party. Defendant view drops Klageschrift / Reply etc.; Claimant view drops SoD / Rejoinder.both-rules where either side can act (Berufung / Anschlussberufung), add a runtime proactive/reactive toggle on the row.C — Cascade gaps (small fixes; can ship inline ahead of A/B)
D — Columns view ordering
renderColumnsBody(frontend/src/client/fristenrechner.ts:606) collapses every undated row into a singleNO_DATEbucket. Urteil and Berufungseinlegung end up adjacent, but Urteil precedes Berufung. Fix: per-row keys for unscheduled events, sorted bysequence_order, so the dateless tail still reads chronologically.Acceptance
docs/audit-upc-orders-decisions.md.both-rule side-toggle on relevant rows.sequence_orderorder.Context
t-paliad-157 (Fristenrechner pair-programming session, 2026-05-08). Items 1, 2, 3, 4, 8, 12, 13.
Section D and the Wiedereinsetzung half of section C shipped on
mai/feynman/fristenrechner:609da9e. Each undated event now keys on its index; dated and unscheduled keys are sorted into separate buckets so Urteil precedes Berufungseinlegung even without a date.7c75161. Migration 063 adds trigger_event 207 (wegfall_hindernisses_upc, R.320 RoP), thefrist-verpasst.upccascade leaf at sort_order 50 so it reads first, and the junction to the existing wiedereinsetzung concept. Verified live on the Supabase Postgres; matview refreshed; tracker bumped to v63.The other two section-C items turned out to be IA shape rather than data gaps — leaving them for #16:
cms-eingang.gegenseite.upc-inf.klageschrift,cms-eingang.gegenseite.de-inf.klageschrift). m's "should be the first one" reads as a level-2 shortcut, which conflicts with the procedure-specific naming (Klageschrift LG vs Klageschrift UPC). This is the same input/output split the IA reframe addresses; better resolved there than as a quick add.beschluss-entscheidung.*(11 leaves) andcms-eingang.gericht.endentscheidung.*(10 leaves) carry essentially the same content with different slugs. The reachability m wanted is in place; the underlying redundancy is duplication, not cross-reference, and is best deduplicated as part of the IA reframe (#16) rather than reinforced.