5 live orphans (not 9 — discrepancy flagged), 7 linkage-only UPDATEs and 12 net-new rule drafts. Sources cited; 12 FLAGs for m's review before /admin/rules ingest.
37 KiB
Orphan Concept Seed Proposals — Fristen Phase 3 Slice 12 (t-paliad-196)
Date: 2026-05-15
Author: curie (researcher)
Status: DRAFT — for m's review, not yet ingested via /admin/rules
Branch: mai/curie/fristen-phase-3-slice-12
Source audit: docs/audit-fristen-logic-2026-05-13.md § 3.4 + § 7.9 (pauli)
0. Read-this-first — orphan count discrepancy
m's task description (and pauli's audit dated 2026-05-13) cited nine orphan concepts with rule_count=0. Today's live paliad DB shows five:
| # | Slug | Party | Category |
|---|---|---|---|
| 1 | wiedereinsetzung |
both | submission |
| 2 | schriftsatznachreichung |
both | submission |
| 3 | versaeumnisurteil-einspruch |
defendant | submission |
| 4 | weiterbehandlung |
claimant | submission |
| 5 | counterclaim-for-revocation |
defendant | submission |
Four of the audit's nine were almost certainly seeded between 2026-05-13 and 2026-05-15 by Slice 10 (migration 090, fuzzy backfill) and the Slice-11 admin rule-editor work. notice-of-defence-intention is one of them: today's DE_INF corpus contains de_inf.anzeige (Anzeige der Verteidigungsbereitschaft, ZPO §276.1) linked to its own concept, which removes it from the orphan list.
FLAG (count discrepancy): I drafted proposals for the 5 remaining orphans, not 9. m should confirm whether the other 4 audit-named concepts were intentionally seeded or whether something else is going on before treating this as "done".
0.1 A second, more important framing problem
The orphan query deadline_concepts.id NOT IN (SELECT concept_id FROM deadline_rules) counts only direct concept_id linkages on paliad.deadline_rules. But the schema has two alternate rooting columns: proceeding_type_id (Pipeline A) and trigger_event_id (Pipeline C). The Pipeline-C migration (Slice 4, m/paliad#…) imported 77 event-rooted rules from paliad.event_deadlines but left their concept_id NULL on the unified deadline_rules table — even when the source trigger event had a matching concept_id slug already set on paliad.trigger_events.
Concretely, the following rules already exist in paliad.deadline_rules but lack concept_id:
| Rule name | trigger_event_id |
Trigger event code | Owning concept (via trigger_events.concept_id slug) |
|---|---|---|---|
| Wiedereinsetzungsantrag (§ 123 PatG) | 200 | wegfall_hindernisses_de_patg |
wiedereinsetzung |
| Wiedereinsetzungsantrag (§ 233 ZPO) | 201 | wegfall_hindernisses_de_zpo |
wiedereinsetzung |
| Wiedereinsetzungsantrag (Art. 122 EPÜ) | 202 | wegfall_hindernisses_eu_epc |
wiedereinsetzung |
| Wiedereinsetzungsantrag (DPMA) | 203 | wegfall_hindernisses_dpma |
wiedereinsetzung |
| Einspruch gegen Versäumnisurteil (§ 339 ZPO) | 204 | zustellung_versaeumnisurteil |
versaeumnisurteil-einspruch |
| Schriftsatznachreichung (§ 296a ZPO) | 205 | ende_muendl_verhandlung |
schriftsatznachreichung |
| Weiterbehandlungsantrag (Art. 121 EPÜ) | 206 | mitteilung_rechtsverlust_eu |
weiterbehandlung |
| (none yet) | 207 | wegfall_hindernisses_upc |
wiedereinsetzung |
Net effect: four of the five "orphan" concepts already have at least one workable rule — it is just disconnected from the concept by a NULL concept_id. The genuine coverage gap is much smaller than "5 concepts × ~5 rules each = 25 rules to draft". Practical Phase-3-Slice-12 work splits into:
- Track A (linkage, no legal review needed):
UPDATE paliad.deadline_rules SET concept_id = … WHERE trigger_event_id IN (200,201,202,203,204,205,206). 7 rows, zero new legal substance. See § 6 of this doc. - Track B (new rule drafts, this doc's main body): UPC R.320 Wiedereinsetzung (
trigger_event_id=207truly has no rule yet), proceeding-rooted variants for the four jurisdictions where having a rule under the UPC_INF / DE_INF / EPA_OPP / DPMA_OPP umbrella makes the cascade complete, plus the schema-correct way to resolvecounterclaim-for-revocation(which is intentionally encoded as flag-gated UPC_INF rules and probably should not get fresh rules at all).
FLAG (audit framing): I recommend the orphan KPI be redefined as "concepts where NO rule references the concept, directly via deadline_rules.concept_id OR transitively via deadline_rules.trigger_event_id → trigger_events.concept_id". Until that happens, the orphan list will keep over-reporting work that has already been done in another column. The Phase 2 design (docs/design-fristen-phase2-2026-05-15.md § 3 Step C) anticipates dropping the paliad.trigger_events table entirely in Slice 9 and copying concept_id onto deadline_rules at that point — once that migration runs, the discrepancy resolves itself.
0.2 Convention notes
- Rule code column (
paliad.deadline_rules.code) uses<proceeding_short>.<action>for proceeding-rooted rules (e.g.inf.sod,de_inf.berufung). For event-rooted rulescodeis NULL today; I follow that pattern. - Anchor semantics (audit § 4):
parent_id NULL + duration_value=0= root anchor / court-set absolute.parent_id NULL + duration_value>0 + trigger_event_id= event-rooted, anchored to the trigger event's date.parent_id NOT NULL= chained off another rule. - Priority values (post-Slice-3):
mandatory|recommended|optional|informational. Wiedereinsetzung-class rules are conceptuallyoptionalfor the user (they may decide not to file), but the legal-source side is mandatory once invoked. I tag themoptionalwith the legal source making the obligation conditional — m to confirm. is_court_setis true when the deadline date is set by court order rather than computed from a statutory period. For Schriftsatznachreichung this is the relevant case; for Wiedereinsetzung/Weiterbehandlung it's false (statutory period).legal_sourceuses the existing convention seen on live rules (UPC.RoP.29.a,DE.ZPO.234.1,EU.EPC-R.135.1,EU.EPÜ.99.1).
1. Concept: wiedereinsetzung (Wiedereinsetzung in den vorigen Stand)
Concept ID: 00b737bf-58a6-4f41-9650-ac3f2e7079e8
Party: both · Category: submission
Linked event_categories (cascade leaves):
cms-eingang.gericht.rechtsverlust-epa(Mitteilung über Rechtsverlust, EPA)frist-verpasst.de-patg(DE Patentverfahren, PatG §123)frist-verpasst.de-zpo(DE Zivilverfahren, ZPO §233)frist-verpasst.dpma(DPMA, PatG §123)frist-verpasst.epa(EPA, Art. 122 EPÜ)frist-verpasst.upc(UPC, R.320 RoP)
Existing trigger-event-rooted rules: trigger events 200/201/202/203 already have rules in paliad.deadline_rules (DE PatG, DE ZPO, EPC, DPMA respectively). Only te 207 (UPC R.320) has no rule yet. See § 6 for the linkage UPDATE that brings the existing four into the concept's rule list.
Drafts below:
Rule 1.1 — UPC R.320 Wiedereinsetzungsantrag
- Rule code:
upc.wiedereinsetzung(proceeding-rooted) ORalt. NULL code +trigger_event_id=207(event-rooted, matches pattern of te 200-206 rules) - Proceeding type: UPC_INF (id=8) — primary. Also relevant for UPC_REV (9), UPC_PI (10), UPC_APP (11), UPC_DAMAGES (17), UPC_DISCOVERY (18), UPC_COST_APPEAL (19), UPC_APP_ORDERS (20). FLAG: Wiedereinsetzung applies across the full UPC corpus; m to decide whether to (a) seed one event-rooted rule referencing te 207 — pattern matches the existing four jurisdictions — or (b) seed seven proceeding-rooted clones. Recommend (a): cleaner, mirrors the pattern already set for DE/EPC/DPMA, and Slice 9's table-drop migration in Phase 2 will canonicalise it.
- Name (DE): Wiedereinsetzungsantrag (R. 320 RoP UPC)
- Name (EN): Application for re-establishment of rights (UPC R.320 RoP)
- Party: both (claimant or defendant, whoever missed)
- Anchor:
trigger_event_id = 207(wegfall_hindernisses_upc) - Duration: 2, months
- Timing: after
- Priority: optional (filing is at the party's discretion — see § 0.2)
- is_court_set: false
- condition_expr: NULL
- Legal source:
UPC.RoP.320.1 - Notes: UPC R.320.1 sets a 2-month window from removal of the cause of non-compliance, capped by an absolute 1-year limit from expiry of the missed period (see Rule 1.2 below). The omitted act must be completed within the same 2-month window (R.320.2). Court fee per R.150(1)(p). UI may want to show the 1-year backstop as a sibling "Achtung" line; that is a renderer decision, not a separate rule.
Rule 1.2 — UPC R.320 — 1-Jahres-Ausschlussfrist (informational)
- Rule code:
upc.wiedereinsetzung.cutoff(or trigger-rooted with a siblingsequence_orderafter Rule 1.1) - Proceeding type: same as Rule 1.1
- Name (DE): Absolute Ausschlussfrist Wiedereinsetzung (1 Jahr)
- Name (EN): Absolute cut-off for re-establishment (1 year)
- Party: both
- Anchor: the missed deadline's date — not
wegfall_hindernisses_upc. FLAG: Today'strigger_eventsmodel can't express "anchor = the missed deadline" because the trigger fires on removal of cause, not on the missed deadline. Either (a) add a new trigger eventfrist_versaeumt_upcand root this rule there, or (b) make this aninformationalUI-only rule rendered by the renderer next to Rule 1.1 with no real anchor. Recommend (b) for now; (a) is a Phase-3 schema follow-up. - Duration: 12, months
- Timing: after
- Priority: informational
- is_court_set: false
- condition_expr: NULL
- Legal source:
UPC.RoP.320.1(second half: "but at the latest within one year of the expiry of the unobserved time limit") - Notes: Cosmetically important — practitioners forget the cut-off. Keep as informational rendering until the schema supports two-anchor rules.
Rule 1.3 — EPC Art. 122 / R.136 Wiedereinsetzungsantrag (EPA)
- Rule code: (event-rooted; NULL
code, matches existing pattern for te 200-203) - Proceeding type: NULL (or EPA_OPP=14 / EPA_APP=15 / EP_GRANT=16 if proceeding-rooted)
- Name (DE): Wiedereinsetzungsantrag (Art. 122 EPÜ)
- Name (EN): Petition for re-establishment of rights (EPC Art.122)
- Party: both
- Anchor:
trigger_event_id = 202(wegfall_hindernisses_eu_epc) - Duration: 2, months
- Timing: after
- Priority: optional
- is_court_set: false
- condition_expr: NULL
- Legal source:
EU.EPC-R.136.1 - Notes: DUPLICATE of existing rule
23c6f445-4ed2-4ade-8ea0-c4ab6b364bb6— already indeadline_rules, just missingconcept_id. See § 6 linkage UPDATE; do not double-seed.
Rule 1.4 — EPC R.136 — 1-Jahres-Ausschlussfrist
- Rule code: as Rule 1.2 pattern
- Name (DE): Absolute Ausschlussfrist Wiedereinsetzung EPA (1 Jahr)
- Name (EN): Absolute cut-off for re-establishment, EPC (1 year)
- Party: both
- Anchor: missed-deadline date (same FLAG as Rule 1.2 — schema follow-up)
- Duration: 12, months
- Timing: after
- Priority: informational
- is_court_set: false
- condition_expr: NULL
- Legal source:
EU.EPC-R.136.1(second sentence) - Notes: R.136(1) third sentence carves out a special 2-month cut-off for restoration of priority (Art. 87(1) in conjunction with R.136(1)). m may want a separate rule 1.4b for that priority variant; flagging rather than auto-resolving.
Rule 1.5 — DE PatG §123 Wiedereinsetzungsantrag (DPMA + national)
- Rule code: event-rooted, te=200 (PatG) and te=203 (DPMA)
- Name (DE): Wiedereinsetzungsantrag (§ 123 PatG)
- Name (EN): Petition for re-establishment of rights (PatG §123)
- Party: both
- Anchor:
trigger_event_id = 200(wegfall_hindernisses_de_patg) — for general DE PatG context — ANDtrigger_event_id = 203(wegfall_hindernisses_dpma) — for DPMA-specific context. - Duration: 2, months
- Timing: after
- Priority: optional
- is_court_set: false
- condition_expr: NULL
- Legal source:
DE.PatG.123.2 - Notes: DUPLICATE of existing rules
c24d494c-…(te 200) andb588fa64-…(te 203). Linkage only — see § 6.
Rule 1.6 — DE PatG §123 — 1-Jahres-Ausschlussfrist
- Rule code: as 1.2/1.4 pattern (informational)
- Name (DE): Absolute Ausschlussfrist Wiedereinsetzung PatG (1 Jahr)
- Name (EN): Absolute cut-off for re-establishment, PatG (1 year)
- Party: both
- Anchor: missed-deadline date (schema FLAG as 1.2)
- Duration: 12, months
- Timing: after
- Priority: informational
- is_court_set: false
- condition_expr: NULL
- Legal source:
DE.PatG.123.2(Satz 4) - Notes: PatG §123(2) Satz 4: "Innerhalb eines Jahres nach Ablauf der versäumten Frist ist keine Wiedereinsetzung mehr möglich." Same as PatG also for DPMA proceedings.
Rule 1.7 — DE ZPO §233 Wiedereinsetzungsantrag (Notfrist, 2 Wochen)
- Rule code: event-rooted, te=201
- Name (DE): Wiedereinsetzungsantrag — Notfrist (§ 234 Abs. 1 S. 1 ZPO)
- Name (EN): Petition for re-establishment of rights — Notfrist (ZPO §234(1) sentence 1)
- Party: both
- Anchor:
trigger_event_id = 201(wegfall_hindernisses_de_zpo) - Duration: 2, weeks
- Timing: after
- Priority: optional
- is_court_set: false
- condition_expr: NULL — but see Rule 1.8 for the 1-month variant.
- Legal source:
DE.ZPO.234.1 - Notes: DUPLICATE of existing rule
d40d9be7-…— linkage only. ZPO §234(1) sentence 1: 2 weeks for Notfristen (Berufungsfrist, Revisionsfrist, Beschwerdefrist, etc.).
Rule 1.8 — DE ZPO §234(1)2 Wiedereinsetzungsantrag (Begründungsfrist, 1 Monat)
- Rule code: event-rooted, te=201, sibling to 1.7
- Name (DE): Wiedereinsetzungsantrag — Begründungsfrist (§ 234 Abs. 1 S. 2 ZPO)
- Name (EN): Petition for re-establishment — appeal/revision grounds period (ZPO §234(1) sentence 2)
- Party: both
- Anchor:
trigger_event_id = 201(wegfall_hindernisses_de_zpo) - Duration: 1, months
- Timing: after
- Priority: optional
- is_court_set: false
- condition_expr: FLAG — needs a flag like
{"flag":"begruendungsfrist"}or similar to distinguish from Rule 1.7 because today's data model can't differentiate "the missed deadline was a Berufungsbegründungsfrist" without an explicit flag from the caller. m to decide whether to add a flag or leave the rule as "informational alternative" rendered alongside 1.7. - Legal source:
DE.ZPO.234.1 - Notes: ZPO §234(1) Satz 2: "Die Frist beträgt einen Monat, wenn die Partei verhindert war, die Frist zur Begründung der Berufung, der Revision, der Nichtzulassungsbeschwerde oder der Rechtsbeschwerde oder die Frist des § 234 Abs. 3 einzuhalten."
Rule 1.9 — DE ZPO §234(3) — 1-Jahres-Ausschlussfrist
- Rule code: informational sibling
- Name (DE): Absolute Ausschlussfrist Wiedereinsetzung ZPO (1 Jahr)
- Name (EN): Absolute cut-off for re-establishment, ZPO (1 year)
- Party: both
- Anchor: missed-deadline date (schema FLAG as 1.2)
- Duration: 12, months
- Timing: after
- Priority: informational
- is_court_set: false
- condition_expr: NULL
- Legal source:
DE.ZPO.234.3 - Notes: "Nach Ablauf eines Jahres, von dem Ende der versäumten Frist an gerechnet, kann die Wiedereinsetzung nicht mehr beantragt … werden."
Summary for wiedereinsetzung: four of the five linked event categories (DE PatG, DE ZPO, EPC, DPMA) already have existing rules that just need concept_id set — see § 6. The genuinely new substance is Rule 1.1 (UPC R.320, te 207), plus a set of informational 1-year cut-off rules (1.2/1.4/1.6/1.9), plus the optional ZPO §234(1) sentence-2 variant (1.8). Six new rules in total, one duplicate-flagged, four pure linkages. FLAG: UPC fee for Wiedereinsetzung (R.150(1)(p)) is not modelled as a rule — should it appear as a sibling informational rule with the fee amount? Today's model doesn't carry money, so probably no, but worth m's call.
2. Concept: schriftsatznachreichung (Schriftsatznachreichung, § 296a ZPO)
Concept ID: b7a3cb3e-ef7e-47a1-8067-be0fe35a4235
Party: both · Category: submission
Linked event_categories:
cms-eingang.gericht.ladung(Ladung zur mündlichen Verhandlung)muendl-verhandlung.gehalten(Soeben gehalten / heute)muendl-verhandlung.geladen(Geladen — wann findet sie statt?)
Existing rules: te 205 (ende_muendl_verhandlung) already has rule 3c36f149-… (3 weeks). Linkage only — see § 6.
Rule 2.1 — DE ZPO §296a Schriftsatznachreichungsfrist
- Rule code: event-rooted, te=205
- Proceeding type: NULL (event-rooted) — primarily DE_INF/DE_NULL/OLG/BGH context but cross-cutting via the trigger event.
- Name (DE): Schriftsatznachreichung (§ 296a ZPO)
- Name (EN): Subsequent written submission (ZPO §296a)
- Party: both
- Anchor:
trigger_event_id = 205(ende_muendl_verhandlung) - Duration: 3, weeks
- Timing: after
- Priority: optional (only available if court grants Schriftsatznachreichungsfrist; otherwise §296a bars new attack/defence means)
- is_court_set: true — the deadline date is set by the court order granting the Schriftsatznachreichungsfrist, not by the statute itself. ZPO §296a permits the court to set it; typical practice is 2-3 weeks but the court fixes the exact date.
- condition_expr: NULL
- Legal source:
DE.ZPO.296a - Notes: DUPLICATE of existing rule — linkage only. FLAG: the existing rule sets
is_court_set=falseand a fixed 3-week duration. Strictly, the court sets the date, sois_court_set=trueis more accurate; the 3-week duration is a typical-case estimate. m to decide whether to update the existing rule or leave the heuristic as-is and document the deviation.
Rule 2.2 — Schriftsatznachreichung — Beschränkung auf in der Verhandlung erörterte Punkte (informational)
- Rule code: informational sibling
- Name (DE): Beschränkung der Schriftsatznachreichung (nur Bezug auf Verhandlungspunkte)
- Name (EN): Schriftsatznachreichung scope limit (only matters raised at the hearing)
- Party: both
- Anchor: same as 2.1
- Duration: 0
- Timing: after
- Priority: informational
- is_court_set: false
- condition_expr: NULL
- Legal source:
DE.ZPO.296a - Notes: Reminds the user that a Schriftsatznachreichung is limited to matters raised at the oral hearing — new attack/defence means are barred under §296a. Useful for the cascade card; not a calendar deadline.
Rule 2.3 — Schriftsatznachreichung — UPC equivalent? (open question)
FLAG: UPC RoP has no direct §296a analogue. Post-hearing submissions in UPC proceedings are limited and require court leave (general practice; see R.117). I am intentionally not drafting a UPC rule under this concept and recommend m confirm the concept stays DE-only. If the cascade exposes the concept under a UPC entry, that is a cascade taxonomy bug, not a rule gap.
Summary: 2 substantive rules (1 duplicate-flagged, 1 informational). Concept is essentially solved by linkage + 1 informational sibling.
3. Concept: versaeumnisurteil-einspruch (Einspruch gegen Versäumnisurteil, § 339 ZPO)
Concept ID: 9f809d1d-ea06-4aa5-80d0-6feaa33b464e
Party: defendant · Category: submission
Linked event_categories:
beschluss-entscheidung.versaeumnisurteil(Versäumnisurteil DE)cms-eingang.gericht.endentscheidung.versaeumnisurteil(Versäumnisurteil DE)
Existing rules: te 204 (zustellung_versaeumnisurteil) already has rule 20254f4e-… (2 weeks). Linkage only — see § 6.
Rule 3.1 — DE ZPO §339(1) Einspruchsfrist (Inland-Zustellung, 2 Wochen)
- Rule code: event-rooted, te=204
- Name (DE): Einspruch gegen Versäumnisurteil (§ 339 Abs. 1 ZPO)
- Name (EN): Objection to default judgment, domestic service (ZPO §339(1))
- Party: defendant
- Anchor:
trigger_event_id = 204(zustellung_versaeumnisurteil) - Duration: 2, weeks
- Timing: after
- Priority: mandatory (if defence wants to undo default; otherwise judgment becomes final)
- is_court_set: false
- condition_expr: NULL — but see Rule 3.2 for the international-service variant.
- Legal source:
DE.ZPO.339.1 - Notes: DUPLICATE of existing rule — linkage only. ZPO §339(1) sentence 1: 2-week Notfrist from Zustellung. §339(1) sentence 2 reserves longer periods for cases under §339(2) and §234(2).
Rule 3.2 — DE ZPO §339(2) Einspruchsfrist (Auslands-Zustellung, ≥ 1 Monat)
- Rule code: event-rooted, te=204, sibling
- Name (DE): Einspruch gegen Versäumnisurteil — Auslandszustellung (§ 339 Abs. 2 ZPO)
- Name (EN): Objection to default judgment — service abroad (ZPO §339(2))
- Party: defendant
- Anchor:
trigger_event_id = 204 - Duration: 1, months
- Timing: after
- Priority: mandatory
- is_court_set: true — §339(2) sentence 2 says the court sets the period in the order; "at least one month" is the statutory floor.
- condition_expr: FLAG — needs a flag like
{"flag":"auslandszustellung"}to distinguish from Rule 3.1. m to decide flag naming. - Legal source:
DE.ZPO.339.2 - Notes: ZPO §339(2): "Bei einer Zustellung im Ausland nach § 183 Abs. 1 Nr. 1 wird die Einspruchsfrist auf mindestens einen Monat festgesetzt."
Rule 3.3 — DE ZPO §340 Inhalt der Einspruchsschrift (informational)
- Rule code: informational sibling
- Name (DE): Inhalt der Einspruchsschrift (§ 340 ZPO)
- Name (EN): Required contents of the objection (ZPO §340)
- Party: defendant
- Anchor: same as Rule 3.1
- Duration: 0
- Timing: after
- Priority: informational
- is_court_set: false
- condition_expr: NULL
- Legal source:
DE.ZPO.340 - Notes: Reminds the user that the Einspruchsschrift must contain the designation of the judgment, the declaration of objection, and the parties' applications. Not a calendar deadline.
Rule 3.4 — Rechtsfolge Einspruch (informational)
- Rule code: informational sibling
- Name (DE): Rechtsfolge des zulässigen Einspruchs (§ 342 ZPO)
- Name (EN): Effect of admissible objection (ZPO §342)
- Party: defendant
- Anchor: same as Rule 3.1
- Duration: 0
- Timing: after
- Priority: informational
- is_court_set: false
- condition_expr: NULL
- Legal source:
DE.ZPO.342 - Notes: Tells the user that an admissible Einspruch puts the case back in the state pre-default. Useful as a cascade-card pill; not a deadline.
Summary: 4 rules, 1 duplicate-flagged, 1 needing a condition flag, 2 informational.
4. Concept: weiterbehandlung (Weiterbehandlung, Art. 121 EPÜ)
Concept ID: 5a58f14c-3042-48e9-87fd-c94b62d13662
Party: claimant · Category: submission
Linked event_categories:
cms-eingang.gericht.rechtsverlust-epa(Mitteilung über Rechtsverlust, EPA)frist-verpasst.epa(EPA, Art. 122 EPÜ)
Existing rules: te 206 (mitteilung_rechtsverlust_eu) already has rule f1099cf6-… (2 months). Linkage only — see § 6.
Rule 4.1 — EPC Art. 121 / R.135 Weiterbehandlungsantrag
- Rule code: event-rooted, te=206
- Name (DE): Weiterbehandlungsantrag (Art. 121 EPÜ)
- Name (EN): Request for further processing (Art.121 EPC)
- Party: claimant (applicant during prosecution)
- Anchor:
trigger_event_id = 206(mitteilung_rechtsverlust_eu) - Duration: 2, months
- Timing: after
- Priority: optional (applicant's choice; preferred over Wiedereinsetzung when available because cheaper and no fault analysis)
- is_court_set: false
- condition_expr: NULL
- Legal source:
EU.EPC-R.135.1 - Notes: DUPLICATE of existing rule — linkage only. R.135(1): 2 months from notification of loss of rights. Missed act must be completed; Weiterbehandlungsgebühr payable per R.135(1) third sentence.
Rule 4.2 — Weiterbehandlung Ausschlüsse (informational)
- Rule code: informational sibling
- Name (DE): Ausschlüsse Weiterbehandlung (R.135(2) EPÜ)
- Name (EN): Further-processing exclusions (EPC R.135(2))
- Party: claimant
- Anchor: same as Rule 4.1
- Duration: 0
- Timing: after
- Priority: informational
- is_court_set: false
- condition_expr: NULL
- Legal source:
EU.EPC-R.135.2 - Notes: R.135(2): Weiterbehandlung not available for the priority period (Art. 87(1)), the period under Art. 112a(4), the periods for filing of opposition and appeal (Art. 99(1), 108), and various R.6/R.36(1)(a)/R.51(2)/R.158/R.27(3) periods. Cascade-card pill so the user knows when to fall back to Wiedereinsetzung instead. FLAG: could be modeled per excluded period as a fine-grained
condition_expr-gated set; that is overkill for now — informational siblings are enough.
Rule 4.3 — Weiterbehandlungsgebühr (informational)
- Rule code: informational sibling
- Name (DE): Weiterbehandlungsgebühr fällig
- Name (EN): Further-processing fee due
- Party: claimant
- Anchor: same as Rule 4.1
- Duration: 2, months
- Timing: after
- Priority: informational
- is_court_set: false
- condition_expr: NULL
- Legal source:
EU.EPC-R.135.1(third sentence) - Notes: Fee per Art. 2(1) item 12 of the EPA fee schedule. Mirrors the missed-act window — both must be completed in the same 2-month window for the request to be effective.
Summary: 3 rules, 1 duplicate-flagged, 2 informational.
5. Concept: counterclaim-for-revocation (Nichtigkeitswiderklage, UPC R.25)
Concept ID: 52134900-2bcf-4810-9de3-0b0681c79dd7
Party: defendant · Category: submission
Linked event_category:
ich-moechte-einreichen.widerklage.nichtigkeit-upc(Nichtigkeitswiderklage UPC R.25)
Existing rules: UPC R.25 / RoP 25-32 are already encoded in UPC_INF (proceeding_type_id=8) as flag-gated rules using condition_expr.flag = "with_ccr":
| Rule code | Name | Duration | condition_expr | concept_slug today |
|---|---|---|---|---|
inf.def_to_ccr |
Erwiderung auf Nichtigkeitswiderklage | 2 months | {"flag":"with_ccr"} |
defence-to-counterclaim-for-revocation |
inf.reply (with_ccr variant) |
Replik | 2 months | {"flag":"with_ccr"} |
reply-to-defence |
inf.reply_def_ccr |
Replik auf Erwiderung zur Nichtigkeitswiderklage | 2 months | {"flag":"with_ccr"} |
(not yet checked) |
inf.rejoin (with_ccr) |
Duplik | 1 month | {"flag":"with_ccr"} |
rejoinder |
inf.rejoin_reply_ccr |
Duplik auf Replik | 1 month | {"flag":"with_ccr"} |
(not yet checked) |
inf.def_to_amend |
Erwiderung auf Patentänderungsantrag | 2 months | {"op":"and","args":[{"flag":"with_ccr"},{"flag":"with_amend"}]} |
defence-to-application-to-amend |
inf.app_to_amend |
Antrag auf Patentänderung | 2 months | {"op":"and","args":[{"flag":"with_ccr"},{"flag":"with_amend"}]} |
NULL (orphan column) |
inf.reply_def_amd |
Replik auf Erwiderung zum Patentänderungsantrag | 1 month | same | reply-to-defence-to-application-to-amend (or similar) |
inf.rejoin_amd |
Duplik auf Replik zum Patentänderungsantrag | 1 month | same | rejoinder-on-amend (or similar) |
The CCR itself — the act of filing the Nichtigkeitswiderklage — is part of inf.sod (Statement of Defence) when with_ccr=true. The 3-month SoD period from R.23 doubles as the CCR-filing period from R.25.
Proposal 5.1 — Do not seed new rules under this concept.
The concept models a logical artifact ("Nichtigkeitswiderklage") that is, in the data model, an attribute of the SoD rather than a separate timed event. Seeding new rules under counterclaim-for-revocation.concept_id would either:
- (a) Duplicate the existing
inf.sod/inf.def_to_ccr/ etc. rules — wasteful, fragile (two sources of truth for the same legal period). - (b) Add a synthetic "filing CCR" rule with the same 3-month period as
inf.sod— redundant onceinf.sod'sconcept_idis set correctly.
Proposal 5.2 — Link existing UPC_INF rules to this concept (linkage only).
Specifically:
| Rule | Current concept_id link |
Proposed action |
|---|---|---|
inf.sod (UPC_INF) |
statement-of-defence (presumably) |
Leave as-is — SoD's primary concept is "Statement of Defence". |
inf.app_to_amend (UPC_INF, with_ccr+with_amend) |
NULL | Link to counterclaim-for-revocation — this is the genuine "CCR-derived deadline" that has no concept today. |
FLAG: Whether the cascade entry ich-moechte-einreichen.widerklage.nichtigkeit-upc should resolve to the SoD itself or to a CCR-card-with-derivative-deadlines is a UX question m needs to decide. My read: when a user clicks "I want to file Nichtigkeitswiderklage", they want to see the SoD deadline (because that's when the CCR is due — same period as SoD) plus the consequential deadlines (Defence to CCR, Replik, Duplik, Patent amendment etc.). A cleaner data-model fix is to add a junction paliad.concept_rules (many-to-many) so a rule can belong to multiple concepts (e.g. inf.sod ∈ {statement-of-defence, counterclaim-for-revocation}). That's a Phase 3+ schema add and outside Slice 12's scope.
Proposal 5.3 — Alternative: event-rooted CCR rule.
Trigger event 1 (statement_of_defence_which_includes_a_counterclaim_for_revocation) exists but lacks concept_id text. Setting paliad.trigger_events.concept_id = 'counterclaim-for-revocation' on te 1 and seeding 1-3 event-rooted rules that fire from te 1 (Defence to CCR within 2 months, Reply within 2 months, etc.) would give the cascade card concrete deadlines without duplicating the SoD-tree rules. This is the pattern the audit § 3.4 description hints at.
Recommendation: Proposal 5.2 + 5.3 combined. m to confirm. Until decided, I'm not drafting fresh rules for this concept — it's a data-model question disguised as a coverage gap.
6. Track A — Linkage-only UPDATEs (no legal review needed)
The following paliad.deadline_rules rows already exist; they only need concept_id pointed at the right concept. These are the lowest-risk part of Slice 12 and can be applied via the admin UI as no-op edits (or as a one-off migration if m prefers).
-- DRAFT — do not run blindly; the admin UI route (PATCH /api/admin/rules/{id}) is the preferred path.
-- Wiedereinsetzung (DE PatG)
UPDATE paliad.deadline_rules
SET concept_id = '00b737bf-58a6-4f41-9650-ac3f2e7079e8'
WHERE id = 'c24d494c-0da1-4f01-aa74-0f37f99fe1ae';
-- Wiedereinsetzung (DE ZPO)
UPDATE paliad.deadline_rules
SET concept_id = '00b737bf-58a6-4f41-9650-ac3f2e7079e8'
WHERE id = 'd40d9be7-e1b6-451c-bee2-6eaee2307ec5';
-- Wiedereinsetzung (EPC)
UPDATE paliad.deadline_rules
SET concept_id = '00b737bf-58a6-4f41-9650-ac3f2e7079e8'
WHERE id = '23c6f445-4ed2-4ade-8ea0-c4ab6b364bb6';
-- Wiedereinsetzung (DPMA)
UPDATE paliad.deadline_rules
SET concept_id = '00b737bf-58a6-4f41-9650-ac3f2e7079e8'
WHERE id = 'b588fa64-a727-4cfb-a45d-69a835a3b05a';
-- Versäumnisurteil-Einspruch (ZPO §339)
UPDATE paliad.deadline_rules
SET concept_id = '9f809d1d-ea06-4aa5-80d0-6feaa33b464e'
WHERE id = '20254f4e-d213-4cf6-8f5f-1d9d36eeb6ac';
-- Schriftsatznachreichung (ZPO §296a)
UPDATE paliad.deadline_rules
SET concept_id = 'b7a3cb3e-ef7e-47a1-8067-be0fe35a4235'
WHERE id = '3c36f149-3a81-456e-aac1-d4d18bfcb16b';
-- Weiterbehandlung (EPC Art.121)
UPDATE paliad.deadline_rules
SET concept_id = '5a58f14c-3042-48e9-87fd-c94b62d13662'
WHERE id = 'f1099cf6-4c87-430e-b1c5-488bd44cb143';
After these 7 rows update, counterclaim-for-revocation is the only remaining concept with direct rule_count = 0, and that is by design (see § 5).
7. Track B — Genuinely new rule drafts
Pure-new (not in DB today), to be added through /admin/rules:
| # | Concept | Rule | Status |
|---|---|---|---|
| 1.1 | wiedereinsetzung |
UPC R.320 Wiedereinsetzungsantrag (te 207) | NEW |
| 1.2 | wiedereinsetzung |
UPC R.320 1-Jahres-Ausschlussfrist | NEW, schema FLAG |
| 1.4 | wiedereinsetzung |
EPC R.136 1-Jahres-Ausschlussfrist | NEW, schema FLAG |
| 1.6 | wiedereinsetzung |
DE PatG §123 1-Jahres-Ausschlussfrist | NEW, schema FLAG |
| 1.8 | wiedereinsetzung |
DE ZPO §234(1)2 — 1-Monat Begründungsfrist | NEW, condition_expr FLAG |
| 1.9 | wiedereinsetzung |
DE ZPO §234(3) 1-Jahres-Ausschlussfrist | NEW, schema FLAG |
| 2.2 | schriftsatznachreichung |
§296a-Beschränkung (informational) | NEW |
| 3.2 | versaeumnisurteil-einspruch |
ZPO §339(2) Auslandszustellung 1 Monat | NEW, condition_expr FLAG |
| 3.3 | versaeumnisurteil-einspruch |
ZPO §340 Inhalt der Einspruchsschrift (info) | NEW |
| 3.4 | versaeumnisurteil-einspruch |
ZPO §342 Rechtsfolge (info) | NEW |
| 4.2 | weiterbehandlung |
R.135(2) Ausschlüsse (info) | NEW |
| 4.3 | weiterbehandlung |
Weiterbehandlungsgebühr (info) | NEW |
| 5.x | counterclaim-for-revocation |
(none — see § 5 proposal) | — |
Total new rule drafts: 12. That is well under the "50 rule drafts" estimate in the task brief, because the linkage path covers the bulk of what looked like missing coverage. FLAG: if m wants me to draft additional UPC R.320 jurisdiction-specific variants (UPC_REV, UPC_PI, UPC_APP, UPC_DAMAGES, UPC_DISCOVERY) as separate proceeding-rooted rules instead of one shared event-rooted rule (Rule 1.1), that adds ~6-7 more drafts.
8. Open questions / FLAGs index
For convenience, all **FLAG**-marked items in one place. m's decision is needed on each before /admin/rules ingest of the corresponding rule.
| ID | Section | Question |
|---|---|---|
| F1 | § 0 | Count discrepancy: 9 vs 5 — confirm the other 4 audit-named orphans were intentionally resolved, not lost. |
| F2 | § 0 | Redefine the orphan KPI to also count trigger_event_id → trigger_events.concept_id, so the count reflects actual UX coverage. |
| F3 | § 1.1 | UPC R.320: one event-rooted rule (te 207) vs seven proceeding-rooted clones (UPC_INF/UPC_REV/UPC_PI/UPC_APP/UPC_DAMAGES/UPC_DISCOVERY/UPC_APP_ORDERS). |
| F4 | § 1.2, 1.4, 1.6, 1.9 | 1-year cut-off rules have no clean anchor in the current schema; informational rendering vs new frist_versaeumt_* trigger event. |
| F5 | § 1.4 | EPC R.136(1) third sentence: priority-restoration 2-month cut-off — separate rule? |
| F6 | § 1.8 | ZPO §234(1) sentence 2 (Begründungsfrist) — flag-gated or informational sibling? |
| F7 | § 1.x | UPC Wiedereinsetzungs-Gebühr (R.150(1)(p)) — surface as informational rule or out of scope? |
| F8 | § 2.1 | Schriftsatznachreichung existing rule has is_court_set=false; strictly it's court-set. Update the row or leave the heuristic in place? |
| F9 | § 2.3 | Confirm schriftsatznachreichung is DE-only — cascade should not expose it under UPC entries. |
| F10 | § 3.2 | ZPO §339(2) Auslandszustellung — flag name for condition_expr (e.g. auslandszustellung). |
| F11 | § 5 | counterclaim-for-revocation — link existing UPC_INF rules (proposal 5.2) vs event-rooted CCR rule under te 1 (proposal 5.3) vs both. |
| F12 | § 5 | Many-to-many concept↔rule junction (paliad.concept_rules) as a Phase 3+ schema add. |
9. Sources cited
| Citation key | Reference |
|---|---|
UPC.RoP.320.1 |
UPC Rules of Procedure, Rule 320(1) — Application for re-establishment of rights, time limits |
UPC.RoP.320.2 |
UPC RoP Rule 320(2) — Completion of omitted act |
UPC.RoP.150.1.p |
UPC RoP Rule 150(1)(p) — Re-establishment fee |
UPC.RoP.25 |
UPC RoP Rule 25 — Lodging of Counterclaim for Revocation |
UPC.RoP.23.1 |
UPC RoP Rule 23(1) — Statement of Defence period (existing rule reference) |
EU.EPC-R.136.1 |
EPC Implementing Regulations Rule 136(1) |
EU.EPC-R.136.2 |
EPC Implementing Regulations Rule 136(2) — Exclusions |
EU.EPC-R.135.1 |
EPC Implementing Regulations Rule 135(1) — Further processing |
EU.EPC-R.135.2 |
EPC Implementing Regulations Rule 135(2) — Exclusions |
EU.EPÜ.122 |
European Patent Convention Article 122 |
EU.EPÜ.121 |
European Patent Convention Article 121 |
DE.PatG.123.2 |
German Patent Act §123(2) — Wiedereinsetzung |
DE.ZPO.233 |
German ZPO §233 — Wiedereinsetzung in den vorigen Stand |
DE.ZPO.234.1 |
German ZPO §234(1) — Antragsfrist (2 Wochen / 1 Monat) |
DE.ZPO.234.3 |
German ZPO §234(3) — 1-year cut-off |
DE.ZPO.296a |
German ZPO §296a — Schriftsatznachreichung |
DE.ZPO.339.1 |
German ZPO §339(1) — Einspruchsfrist 2 Wochen |
DE.ZPO.339.2 |
German ZPO §339(2) — Einspruchsfrist Auslandszustellung |
DE.ZPO.340 |
German ZPO §340 — Inhalt der Einspruchsschrift |
DE.ZPO.342 |
German ZPO §342 — Rechtsfolge des zulässigen Einspruchs |
10. What's next (if m approves)
- Track A first (low risk): apply the 7 linkage UPDATEs from § 6 via
/admin/rulesPATCH. Cascade UX immediately recovers for 4 of 5 concepts. - Track B legal-review pass: m or HLC lawyer signs off on the 12 new drafts in § 7 — adjust durations / phrasings as needed.
- Ingest Track B via
/admin/rulesPOST, one rule at a time. Each new rule goes intolifecycle_state='draft'first; m promotes topublishedafter spot-checking via the calculator preview endpoint (Slice 11a). - Schema follow-ups (FLAGs F2, F4, F12) deferred to Phase 3 follow-up tickets — not in Slice 12 scope.
Estimated rule count after Slice 12 land: Track A linkage = 7 connections, Track B new rules = 12 drafts → total paliad.deadline_rules row count grows from 249 to 261; orphan-concept count drops from 5 to 1 (only counterclaim-for-revocation, which is by design — see § 5).