Wave 1 — Tier 1 rule additions: 12 high-frequency procedural events from curie's audit (incl. UPC Interim Conference R.105) #116

Open
opened 2026-05-25 15:12:54 +00:00 by mAi · 0 comments
Collaborator

m's report (2026-05-25 17:12)

https://paliad.de/admin/rules

I see quite a few Verfahrensschritte that do not have rules assigned although they should. Can you have someone fix that? I thought we did have someone earlier. Like for Zwischenverfahren / Interim Conference 105 etc... Where there are none, we need to add them from our rules

Context

Referring back to curie's #94 audit (docs/research-deadlines-completeness-2026-05-25.md):

  • Wave 0 = 16 Tier 0 row UPDATEs (brunel shipped on slot 127)
  • Wave 1 = 12 Tier 1 rule ADDITIONS (this issue)
  • Curie identified ~30 unmodelled statutory deadlines; the 12 highest-frequency ones are Tier 1 in §10.

m's specific mention of "Zwischenverfahren / Interim Conference 105" maps to UPC RoP Rule 105 (Interim Conference). It's one of the items curie flagged.

Scope — ship Wave 1 per curie's §10 + §11

From the audit's Tier 1 table:

# Rule Add Frequency
T1.1 upc.inf.cfi.cmo_review 15 days from CMO service (R.333.2) ★★
T1.2 upc.inf.cfi.confidentiality_response 14 days from opp. confidentiality app (R.262.2) ★★
T1.3 upc.apl.order.grounds_orders 15 days from order service (R.224.2(b)) ★★
T1.4 upc.apl.order.response_orders 15 days from grounds service (R.235.2) ★★
T1.5 upc.inf.cfi.cons_orders 2 months from validity decision (R.118.4) ★★
T1.6 upc.inf.cfi.rectification 1 month from decision (R.353)
T1.7 upc.pi.cfi.deficiency 14 days from PI deficiency notification (R.207.6.a) ★★
T1.8 upc.pi.cfi.merits_start 31d OR 20wd from PI grant (R.213) — blocked on Tier 3 primitives (Wave 2 Slice A landed mig 128) ★★
T1.9 upc.inf.cfi.translation_request 1 month before oral hearing (R.109.1) ★★
T1.10 upc.inf.cfi.interpreter_cost 2 weeks before oral hearing (R.109.4) ★★
T1.11 upc.inf.cfi.translations_lodge 2 weeks after summons (R.109.5) ★★
T1.12 upc.pi.cfi.response re-anchor court-set, parent=app (currently a broken root) ★★

Plus the UPC R.105 Interim Conference rule m specifically called out — verify it's in curie's audit (likely under §3.1 "UPC RoP — 21 missing rules") and add if missing from Tier 1.

What to do

  1. Re-read curie's audit §3.1 (missing UPC rules) + §10 Tier 1 table.
  2. Write a single migration (next free slot: brunel's Wave 0 was 127, atlas was 129, demeter 130, artemis 131 → use slot 132, verify via ls internal/db/migrations/ | tail).
  3. INSERT one row per Tier 1 rule. For each:
    • Cite the statutory source in the audit_reason + a comment.
    • Set lifecycle_state='published', is_active=true, priority='mandatory'.
    • Use the proper proceeding_type_id (look up by code).
    • Idempotent guard: WHERE NOT EXISTS (SELECT 1 FROM paliad.deadline_rules WHERE submission_code = '...').
  4. Specifically add UPC RoP R.105 Interim Conference (upc.inf.cfi.interim_conference or whatever the right code) if m's right that it's missing — verify against the current paliad.deadline_rules first.
  5. T1.8 (upc.pi.cfi.merits_start) uses the working_days primitive from knuth's Wave 2 Slice A (mig 128). Wire the 31d-or-20wd rule using the combine_op='max' mechanism + working_days unit.
  6. T1.9 + T1.10 use the timing='before' mode (mig 128 added the snap-to-working-day for backward). Set timing='before', duration_value=1/2, duration_unit='months'/'weeks', anchor on the oral-hearing rule.
  7. Verify on live /admin/rules that all 12 (+ R.105) new entries appear with non-empty rule_code + legal_source.
  8. Cross-reference completion on curie's #94 issue + the audit doc.

Files most likely touched

  • New internal/db/migrations/132_wave1_tier1_rule_additions.up.sql (+ down)
  • Possibly seed-data files if Tier 1 rules need concept linkage (paliad.deadline_concepts)

Hard rules

  • Don't shortcut R.105 — m specifically named it. Verify it's added with the correct legal_source citation.
  • Use Wave 2 Slice A primitives (mig 128) for T1.8/T1.9/T1.10 — don't fall back to fixed 'days'.
  • Idempotent guards per row.
  • Cite curie's audit doc in migration header.
  • go build ./... && go test ./internal/... && cd frontend && bun run build clean.
  • Branch: mai/<worker>/wave1-tier1-rule-additions.

Out of scope

  • Tier 2 / Tier 3 / Tier 4 rules.
  • The Wiedereinsetzung family (Q4 BUILD — Wave 2 Slice C task).
  • Re-anchoring rules that aren't in Tier 1 (separate sweep).
  • Per-firm template authoring for new rules (lawyers fill in later).

Reporting

mai report completed with branch + SHAs + migration slot + the 12+1 rules added (list each with submission_code + rule_code + legal_source + frequency star rating) + verification on /admin/rules.

## m's report (2026-05-25 17:12) > https://paliad.de/admin/rules > > I see quite a few Verfahrensschritte that do not have rules assigned although they should. Can you have someone fix that? I thought we did have someone earlier. Like for Zwischenverfahren / Interim Conference 105 etc... Where there are none, we need to add them from our rules ## Context Referring back to curie's #94 audit (`docs/research-deadlines-completeness-2026-05-25.md`): - **Wave 0** = 16 Tier 0 row UPDATEs (brunel shipped on slot 127) - **Wave 1** = 12 Tier 1 rule ADDITIONS (this issue) - Curie identified ~30 unmodelled statutory deadlines; the 12 highest-frequency ones are Tier 1 in §10. m's specific mention of "Zwischenverfahren / Interim Conference 105" maps to **UPC RoP Rule 105** (Interim Conference). It's one of the items curie flagged. ## Scope — ship Wave 1 per curie's §10 + §11 From the audit's Tier 1 table: | # | Rule | Add | Frequency | |---|---|---|---| | T1.1 | `upc.inf.cfi.cmo_review` | 15 days from CMO service (R.333.2) | ★★ | | T1.2 | `upc.inf.cfi.confidentiality_response` | 14 days from opp. confidentiality app (R.262.2) | ★★ | | T1.3 | `upc.apl.order.grounds_orders` | 15 days from order service (R.224.2(b)) | ★★ | | T1.4 | `upc.apl.order.response_orders` | 15 days from grounds service (R.235.2) | ★★ | | T1.5 | `upc.inf.cfi.cons_orders` | 2 months from validity decision (R.118.4) | ★★ | | T1.6 | `upc.inf.cfi.rectification` | 1 month from decision (R.353) | ★ | | T1.7 | `upc.pi.cfi.deficiency` | 14 days from PI deficiency notification (R.207.6.a) | ★★ | | T1.8 | `upc.pi.cfi.merits_start` | 31d OR 20wd from PI grant (R.213) — **blocked on Tier 3 primitives (Wave 2 Slice A landed mig 128)** | ★★ | | T1.9 | `upc.inf.cfi.translation_request` | 1 month **before** oral hearing (R.109.1) | ★★ | | T1.10 | `upc.inf.cfi.interpreter_cost` | 2 weeks **before** oral hearing (R.109.4) | ★★ | | T1.11 | `upc.inf.cfi.translations_lodge` | 2 weeks after summons (R.109.5) | ★★ | | T1.12 | `upc.pi.cfi.response` re-anchor | court-set, parent=`app` (currently a broken root) | ★★ | **Plus** the UPC R.105 Interim Conference rule m specifically called out — verify it's in curie's audit (likely under §3.1 "UPC RoP — 21 missing rules") and add if missing from Tier 1. ## What to do 1. Re-read curie's audit §3.1 (missing UPC rules) + §10 Tier 1 table. 2. Write a single migration (next free slot: brunel's Wave 0 was 127, atlas was 129, demeter 130, artemis 131 → use slot **132**, verify via `ls internal/db/migrations/ | tail`). 3. INSERT one row per Tier 1 rule. For each: - Cite the statutory source in the audit_reason + a comment. - Set `lifecycle_state='published'`, `is_active=true`, `priority='mandatory'`. - Use the proper `proceeding_type_id` (look up by code). - Idempotent guard: `WHERE NOT EXISTS (SELECT 1 FROM paliad.deadline_rules WHERE submission_code = '...')`. 4. **Specifically** add UPC RoP R.105 Interim Conference (`upc.inf.cfi.interim_conference` or whatever the right code) if m's right that it's missing — verify against the current `paliad.deadline_rules` first. 5. **T1.8** (`upc.pi.cfi.merits_start`) uses the `working_days` primitive from knuth's Wave 2 Slice A (mig 128). Wire the 31d-or-20wd rule using the `combine_op='max'` mechanism + `working_days` unit. 6. **T1.9 + T1.10** use the `timing='before'` mode (mig 128 added the snap-to-working-day for backward). Set `timing='before'`, `duration_value=1`/`2`, `duration_unit='months'`/`'weeks'`, anchor on the oral-hearing rule. 7. Verify on live `/admin/rules` that all 12 (+ R.105) new entries appear with non-empty `rule_code` + `legal_source`. 8. Cross-reference completion on curie's #94 issue + the audit doc. ## Files most likely touched - New `internal/db/migrations/132_wave1_tier1_rule_additions.up.sql` (+ down) - Possibly seed-data files if Tier 1 rules need concept linkage (`paliad.deadline_concepts`) ## Hard rules - **Don't shortcut R.105** — m specifically named it. Verify it's added with the correct legal_source citation. - **Use Wave 2 Slice A primitives** (mig 128) for T1.8/T1.9/T1.10 — don't fall back to fixed 'days'. - Idempotent guards per row. - Cite curie's audit doc in migration header. - `go build ./... && go test ./internal/... && cd frontend && bun run build` clean. - Branch: `mai/<worker>/wave1-tier1-rule-additions`. ## Out of scope - Tier 2 / Tier 3 / Tier 4 rules. - The Wiedereinsetzung family (Q4 BUILD — Wave 2 Slice C task). - Re-anchoring rules that aren't in Tier 1 (separate sweep). - Per-firm template authoring for new rules (lawyers fill in later). ## Reporting `mai report completed` with branch + SHAs + migration slot + the 12+1 rules added (list each with submission_code + rule_code + legal_source + frequency star rating) + verification on /admin/rules.
mAi self-assigned this 2026-05-25 15:12:54 +00:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: m/paliad#116
No description provided.