mAi
acf5743fa3
Paliad CI gate / build (push) Has been cancelled
Paliad CI gate / test-go (push) Has been cancelled
Paliad CI gate / deploy (push) Has been cancelled
docs(litigation-planner): Slice B design — Berufung unification + multi-axis catalog query + primary_party CHECK (m/paliad#124)
Adds §18 to the design doc folding in m's three 2026-05-26 decisions:
§18.1 Berufung unification — collapse 3 active UPC appeal proceeding_types
(upc.apl.merits / upc.apl.cost / upc.apl.order, 16 rules total) into ONE
upc.apl + appeal_target discriminator. 5 targets: Endentscheidung,
Kostenentscheidung, Anordnung, Schadensbemessung, Bucheinsicht. Adds
proceeding_types.appeal_target + deadline_rules.applies_to_target[]
columns; archives the 3 old codes; CalcOptions gains AppealTarget filter.
Migration 134 with pre-migration audit pass. Q to m on whether
Schadensbemessung-as-appeal shares the merits rule set (R) or has its own.
§18.2 Multi-axis catalog query API — new Catalog.LookupEvents method
taking optional {jurisdiction, proceeding_type_id, party,
event_category_id, appeal_target} axes + EventLookupDepth control
("next" / "all-following"). No schema delta — reuses existing parent_id
+ sequence_order graph. Returns EventMatch with priority + depth metadata.
§18.3 primary_party enum tightening — CHECK constraint on
deadline_rules.primary_party against canonical four-value vocab
(claimant/defendant/court/both, plus NULL for orphan concept seeds).
Live audit confirmed all 26+26+38+63 proceeding-bound rows already
conform; the 78 NULL rows are all proceeding_type_id IS NULL orphans
(cross-cutting concepts) and stay NULL. Migration 135 with audit-first
RAISE NOTICE pass. Package exposes PrimaryParties[] + IsValidPrimaryParty().
§18.4 revises §10 slice plan: B1 (Berufung), B2 (catalog query), B3
(enum tightening). Independent + parallel-friendly.
Branch: mai/cronus/inventor-litigation-slice-b (off main d1d0cf9).
NOT reusing the merged Slice A branch.
2026-05-26 13:37:26 +02:00
..
2026-05-05 12:11:36 +02:00
2026-05-18 14:56:42 +02:00
2026-05-13 21:33:38 +02:00
2026-04-30 10:36:30 +02:00
2026-04-29 13:58:51 +02:00
2026-04-27 18:46:05 +02:00
2026-05-08 16:21:25 +02:00
2026-05-25 17:42:06 +02:00
2026-05-07 23:51:38 +02:00
2026-05-20 09:50:07 +02:00
2026-05-06 14:58:01 +02:00
2026-05-19 10:43:20 +02:00
2026-05-20 15:23:28 +02:00
2026-04-26 15:02:31 +02:00
2026-05-05 23:51:47 +02:00
2026-05-07 12:36:05 +02:00
2026-04-20 14:17:32 +02:00
2026-05-25 15:34:03 +02:00
2026-05-08 16:27:04 +02:00
2026-05-13 11:27:06 +02:00
2026-04-29 21:46:35 +02:00
2026-05-25 16:27:30 +02:00
2026-04-30 12:26:53 +02:00
2026-05-04 13:14:52 +02:00
2026-05-26 11:50:14 +02:00
2026-05-06 15:59:37 +02:00
2026-05-25 15:33:36 +02:00
2026-04-30 16:46:31 +02:00
2026-05-26 13:37:26 +02:00
2026-05-07 16:03:05 +02:00
2026-05-26 11:50:14 +02:00
2026-05-19 10:30:25 +02:00
2026-05-07 20:59:46 +02:00
2026-05-08 19:35:39 +02:00
2026-05-07 23:37:26 +02:00
2026-04-29 21:50:27 +02:00
2026-04-27 14:59:03 +02:00
2026-05-18 12:13:02 +02:00
2026-05-07 20:45:07 +02:00
2026-05-09 18:44:27 +02:00
2026-05-20 14:55:55 +02:00
2026-05-07 22:15:22 +02:00
2026-04-14 17:12:16 +02:00
2026-04-26 01:59:31 +02:00
2026-04-28 12:55:33 +02:00
2026-05-08 23:14:30 +02:00
2026-05-19 13:20:59 +02:00
2026-05-22 23:43:51 +02:00
2026-05-12 14:10:20 +02:00
2026-05-08 21:44:09 +02:00
2026-05-20 15:24:06 +02:00
2026-04-20 12:34:38 +02:00
2026-04-30 02:53:50 +02:00
2026-04-18 01:22:23 +02:00
2026-04-30 03:42:25 +02:00
2026-05-25 15:23:39 +02:00
2026-05-08 22:34:23 +02:00
2026-05-20 10:46:48 +02:00