Procedure Roadmap: missing English label on the UPC Counterclaim-for-Revocation trigger event ('Widerklage auf Nichtigkeit') #58

Open
opened 2026-05-20 12:08:32 +00:00 by mAi · 3 comments
Collaborator

Trigger

m 2026-05-20 14:08:

Procedure Roadmap
Browse the typical proceeding shape — pick a proceeding type, optionally set a trigger date.

1 Select Proceeding Type — Proceeding: UPC Counterclaim for Revocation
2 Enter Trigger Date — Trigger event: Widerklage auf Nichtigkeit

There seems to be a lacking english term here —

What's wrong

The rule corpus row for the UPC CCR trigger event has the German label populated ('Widerklage auf Nichtigkeit') but the English label is missing/empty — the UI falls back to rendering the DE string on the EN side.

Likely affected: a deadline_rule / proceeding_type row whose name_en (or equivalent) column is NULL or empty for the upc.inf.cfi.ccr (or upc.ccr.cfi) trigger event.

What to do

  • Find the row(s) with empty name_en / title_en / equivalent on UPC CCR-related entries.
  • Backfill English labels. Suggested: 'Counterclaim for Revocation' (matches the proceeding-type label one screen up).
  • Audit the corpus for other DE-only labels — there are almost certainly more gaps in the same surface.

Out of scope

  • Reshaping the rule corpus structure.
  • Updating user-authored project titles / descriptions (those are user data).

Role

coder direct — corpus query + targeted UPDATE migration. Group with other small UI/corpus items.

## Trigger m 2026-05-20 14:08: > Procedure Roadmap > Browse the typical proceeding shape — pick a proceeding type, optionally set a trigger date. > > 1 Select Proceeding Type — Proceeding: UPC Counterclaim for Revocation > 2 Enter Trigger Date — Trigger event: Widerklage auf Nichtigkeit > > There seems to be a lacking english term here — ## What's wrong The rule corpus row for the UPC CCR trigger event has the German label populated ('Widerklage auf Nichtigkeit') but the English label is missing/empty — the UI falls back to rendering the DE string on the EN side. Likely affected: a deadline_rule / proceeding_type row whose `name_en` (or equivalent) column is NULL or empty for the `upc.inf.cfi.ccr` (or `upc.ccr.cfi`) trigger event. ## What to do - Find the row(s) with empty `name_en` / `title_en` / equivalent on UPC CCR-related entries. - Backfill English labels. Suggested: 'Counterclaim for Revocation' (matches the proceeding-type label one screen up). - Audit the corpus for other DE-only labels — there are almost certainly more gaps in the same surface. ## Out of scope - Reshaping the rule corpus structure. - Updating user-authored project titles / descriptions (those are user data). ## Role **coder direct** — corpus query + targeted UPDATE migration. Group with other small UI/corpus items.
mAi self-assigned this 2026-05-20 12:08:32 +00:00
Author
Collaborator

m 2026-05-20 14:09 (same surface):

and in this specific case, nothing shows in the roadmap. I realize that this is due to the (normally!) combined proceedings but we should still be able to show it isolated somehow

What's happening

UPC Counterclaim for Revocation (upc.inf.cfi.ccr or upc.ccr.cfi) doesn't exist standalone in the procedural flow — it's a sub-track inside an Infringement Action (upc.inf.cfi) that gets spawned when with_ccr is set. The roadmap renderer drives off the spawn rules under the parent proceeding; when the user picks just the CCR proceeding, there's no parent context → no spawn → empty roadmap.

What to do

Two options:

  1. (R) Show the CCR sub-track rules in isolation when the user picks CCR directly — render the rules that would normally spawn under with_ccr=true, with a small note at the top: 'Diese Verfahrensart läuft normalerweise innerhalb einer Verletzungsklage mit aktiver Nichtigkeitswiderklage. Hier siehst Du den isolierten CCR-Pfad.' / 'This proceeding type normally runs inside an Infringement Action with the counterclaim flag set. This view shows the isolated CCR path.'
  2. Hide CCR from the standalone proceeding picker entirely — only surface it via the Infringement Action with with_ccr=true. Loses the lookup ability.

Recommendation (1) — keep it pickable, render the rules with a contextual note. This pattern likely applies to other 'sub-track' proceeding types too (R.46 Amendment under UPC, possibly DE BPatG sub-flows). The renderer should be generic: 'if proceeding has no native rules but has a parent + spawn pattern, render the spawned rules with a note'.

Acceptance

  • Picking UPC CCR in the Procedure Roadmap shows a non-empty timeline of the CCR-spawned rules.
  • A short note explains the normal context (combined with Infringement Action + with_ccr).
  • Same treatment applies to any other proceeding-type that's purely a spawn sub-track.

Role

inventor → coder if the renderer needs a 'spawn-as-standalone' pattern; coder direct if it's a simple data fetch on the CCR proceeding type. Inventor probably warranted because the pattern generalises.

## Related — empty roadmap when CCR is picked in isolation m 2026-05-20 14:09 (same surface): > and in this specific case, nothing shows in the roadmap. I realize that this is due to the (normally!) combined proceedings but we should still be able to show it isolated somehow ### What's happening UPC Counterclaim for Revocation (`upc.inf.cfi.ccr` or `upc.ccr.cfi`) doesn't exist standalone in the procedural flow — it's a sub-track inside an Infringement Action (`upc.inf.cfi`) that gets spawned when `with_ccr` is set. The roadmap renderer drives off the spawn rules under the parent proceeding; when the user picks just the CCR proceeding, there's no parent context → no spawn → empty roadmap. ### What to do Two options: 1. **(R)** Show the CCR sub-track rules in isolation when the user picks CCR directly — render the rules that would normally spawn under `with_ccr=true`, with a small note at the top: 'Diese Verfahrensart läuft normalerweise innerhalb einer Verletzungsklage mit aktiver Nichtigkeitswiderklage. Hier siehst Du den isolierten CCR-Pfad.' / 'This proceeding type normally runs inside an Infringement Action with the counterclaim flag set. This view shows the isolated CCR path.' 2. Hide CCR from the standalone proceeding picker entirely — only surface it via the Infringement Action with `with_ccr=true`. Loses the lookup ability. Recommendation (1) — keep it pickable, render the rules with a contextual note. This pattern likely applies to other 'sub-track' proceeding types too (R.46 Amendment under UPC, possibly DE BPatG sub-flows). The renderer should be generic: 'if proceeding has no native rules but has a parent + spawn pattern, render the spawned rules with a note'. ### Acceptance - Picking UPC CCR in the Procedure Roadmap shows a non-empty timeline of the CCR-spawned rules. - A short note explains the normal context (combined with Infringement Action + `with_ccr`). - Same treatment applies to any other proceeding-type that's purely a spawn sub-track. ### Role **inventor → coder** if the renderer needs a 'spawn-as-standalone' pattern; **coder direct** if it's a simple data fetch on the CCR proceeding type. Inventor probably warranted because the pattern generalises.
Author
Collaborator

Fix in 13fc8fb — PR #68. Two parts:

  1. EN labelUIResponse gains proceedingNameEN + bilingual note fields. Frontend triggerEventLabelFor consults the EN name on EN before falling back. Corpus audit (live SELECT against paliad.proceeding_types, paliad.deadline_rules, paliad.trigger_events) found no DE-only labels; no backfill migration needed.

  2. Spawn-as-standalone — new SubTrackRouting registry in proceeding_mapping.go (single entry today: upc.ccr.cfi → upc.inf.cfi + with_ccr). FristenrechnerService.Calculate consults it: when a hit, re-resolves to the parent's rules and merges default flags into the user's flag set, while preserving the user-picked code/name in the response so the page header still reads 'Counterclaim for Revocation'. Bilingual note surfaces as a lime-accent banner above the timeline.

Pattern is generic — future sub-tracks (R.30 amendment, R.46 preliminary objection, etc.) plug in via data-only additions to SubTrackRoutings.

Not smoke-tested in a browser (sandbox has no Supabase auth env). Build + tests clean (73 frontend, all Go packages). Please verify on staging.

Fix in [13fc8fb](https://mgit.msbls.de/m/paliad/commit/13fc8fb) — PR #68. Two parts: 1. **EN label** — `UIResponse` gains `proceedingNameEN` + bilingual note fields. Frontend `triggerEventLabelFor` consults the EN name on EN before falling back. Corpus audit (live SELECT against `paliad.proceeding_types`, `paliad.deadline_rules`, `paliad.trigger_events`) found no DE-only labels; no backfill migration needed. 2. **Spawn-as-standalone** — new `SubTrackRouting` registry in `proceeding_mapping.go` (single entry today: `upc.ccr.cfi → upc.inf.cfi + with_ccr`). `FristenrechnerService.Calculate` consults it: when a hit, re-resolves to the parent's rules and merges default flags into the user's flag set, while preserving the user-picked code/name in the response so the page header still reads 'Counterclaim for Revocation'. Bilingual note surfaces as a lime-accent banner above the timeline. Pattern is generic — future sub-tracks (R.30 amendment, R.46 preliminary objection, etc.) plug in via data-only additions to `SubTrackRoutings`. Not smoke-tested in a browser (sandbox has no Supabase auth env). Build + tests clean (73 frontend, all Go packages). Please verify on staging.
Author
Collaborator

Shipped via darwin on mai/darwin/roadmap-ccr-en — merged into main; commit https://mgit.msbls.de/m/paliad/commit/ca77063. Live after next Dokploy deploy.

Shipped via darwin on `mai/darwin/roadmap-ccr-en` — merged into main; commit https://mgit.msbls.de/m/paliad/commit/ca77063. Live after next Dokploy deploy.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: m/paliad#58
No description provided.