[IMP] odoo-at-payroll: record Lexis360 knowledge base in memory

Batch-1 handoff: current focus, completed work, open points
(flagged corpus contradictions to verify against RIS, copilot
delivery path for the licensed layer-1 texts) and the KB
architecture decisions (licensing split, frontmatter conventions,
frozen lb-* ids).
This commit is contained in:
2026-09-10 10:24:05 +02:00
parent 6a78b419ed
commit cb63b71eef
+45 -18
View File
@@ -2,27 +2,29 @@
## Current focus
**General-AT GP1 umgesetzt (KV-Framework)** (2026-09-09):
`l10n_at_hr_payroll_private` (19.0.1.0.0) von Gerüst auf GP1-Stand
gebracht: KV-Stammdaten (`l10n.at.payroll.kv`, Trace-Link zur
KV-Library), versionierte KV-Eckwerte (`kv.wert`, Muster
`hr.rule.parameter.value`, Konsum `employee.kv_id._wert(code,
datum)`), Verwendungsgruppen mit Erfahrungsstufen (`kv.gruppe`/
`.stufe`, unique(Gruppe, Stufe, Stichtag)), Vertragsfelder auf
`hr.version` (`kv_id`, `kv_gruppe_id`, `erfahrungsstufe`,
`ueberzahlung`; related auf `hr.employee`), Import-Wizard
(Tabellenpaste, Sprungwarnung > 10 % — Warnzeilen nie automatisch,
neue `gueltig_ab`-Versionen, Gruppen-Neuaufnahme) und Seed D2
(SI-2203 + SI-2748, Gehaltstabellen ab 1. 1. 2026: 18 Gruppen,
131 Stufenwerte, 27 Eckwerte; kuratiert aus KV-Library-Volltexten).
Test-Suite `test_kv_katalog` (8 Fälle). Statisch grün (py_compile,
XML-Well-formedness, CSV-Konsistenz, Wizard-Logik gegen Seed
simuliert); **Runtime-Validierung offen (kein PostgreSQL lokal)**
GP1-Abnahme (Install + `test_kv_katalog`) auf dem Dev-Host vor
GP2-Baubeginn (Entgelt-Engine).
**Lexis360-Wissensbasis Batch 1 fertig** (2026-09-10):
55 LexisNexis-Briefings („Lexis Briefings Personalrecht") aus `Lexis360/`
zweischichtig erschlossen: Layer-1-Volltexte lokal unversioniert
(`Lexis360/md/`, gitignored), Layer-2-Kuratierung versioniert unter
`personalverrechnung/wissensbasis/` (55 Einträge, 6 Cluster, Frontmatter-
Schema D2, IDs `lb-*` eingefroren), generierte Registry `kb.json` +
`INDEX.md`, Tool `tools/build_lexis_kb.py` (extract/registry/check).
Zweck: Entwicklungsreferenz + Copilot-Korpus. GP1-Abnahme (Install +
`test_kv_katalog`) auf dem Dev-Host bleibt das nächste Gate vor GP2
(Entgelt-Engine).
## Completed
- **Lexis360-Wissensbasis Batch 1** (2026-09-10): 55 PDF-Exporte aus
Lexis 360 („Lexis Briefings Personalrecht“; Stände 2024-03 bis 2026-09)
→ 55 kuratierte Einträge in `personalverrechnung/wissensbasis/dokumente/`
(Zusammenfassung/Kernwerte/Rechtsgrundlagen/Payroll-Relevanz/Verweise,
Stand-Marks, ✅/⚠/❓), `README.md` (Schema/Konventionen), generiert
`kb.json` + `INDEX.md`, Tool `personalverrechnung/tools/build_lexis_kb.py`
(--extract pdftotext-Pipeline; --registry Frontmatter-Validierung ohne
PyYAML inkl. cross_refs/topic↔ID-Präfix; --check Layer-1↔Layer-2-
Vollständigkeit; ID-Freeze über `_catalog.json`). RUNBOOK um
Wissensbasis-Workflow (Batches, Validierung, Limitierungen) erweitert.
- **GP1 KV-Framework General-AT** (2026-09-09): `l10n_at_hr_payroll_private`
19.0.1.0.0 implementiert — Modelle `kollektivvertrag.py` (kv/kv.wert/
kv.gruppe/kv.gruppe.stufe) + `hr_version_private.py` (Vertragsfelder,
@@ -114,6 +116,14 @@ GP2-Baubeginn (Entgelt-Engine).
## Open issues / blockers
- **Lexis360-KB offene Punkte** (2026-09-10): Korpus-Widersprüche ⚠ vor
Implementierung klären — AMS-Ersatzquote geblockte ATZ 2026 (lb-atz-07
28,5 % vs. lb-atz-09/12 27,5 %), DAG-Grenze 2023 (lb-bes-02 751,36 € vs.
lb-bes-06 751,37 €), Lehrlinge-Kurzarbeit (lb-leh-11 vs. lb-leh-07);
leh-Cluster teils alte Stände (2024-03/2025-08) — nur mit Stand-Kennzeichnung
verwenden; Copilot-Deployment braucht lizenkonformen Layer-1-Bereitstellungs-
pfad (Volltexte nicht im Repo); verweiste Briefings (z. B. Bildungskarenz)
mit Folgebatches beschaffen.
- **General-AT GP0-Rest offen** (2026-09-09): Pilotmandant/Golden-Master
fehlt; ELDA-/FinOnl-Specs mit der Bgld-AP0-Beschaffungsliste
abstimmen; D3-Anrechnungsmechanik vertraglich regeln (Bgld.-
@@ -150,6 +160,17 @@ GP2-Baubeginn (Entgelt-Engine).
## Decisions & conventions
- **Lexis360-Wissensbasis-Architektur** (2026-09-10): D1 — Volltexte/
PDFs lokal unversioniert (`Lexis360/` gitignored, Muster `.firecrawl/`),
nur Kuratierung versioniert (Lizenz LexisNexis). D2 — strukturelle
Frontmatter-Keys englisch (wie kv-catalog/chambers), Werte deutsch
(UTF-8); `stand` als Fachbegriff ISO `YYYY-MM`; `topic`/`tags` ASCII-
Slugs; `topic` = beschreibender Cluster-Slug (`altersteilzeit`,
`lehrlinge`, …), ID-Präfix (`atz`, …) nur im `id`. IDs `lb-<prefix>-<nn>`
eingefroren (nie renummerieren/wiederverwenden); Frontmatter = Source
of Truth, `kb.json`/`INDEX.md` generiert via `--registry`; Werte niemals
aus Trainingswerten, nur aus Quelltext mit Stand-Kennzeichnung.
- **General-AT D1D4** (2026-09-09): Plan geführt als
`personalverrechnung/IMPLEMENTIERUNGSPLAN-Privat.md`; Referenz-KVs R1
= SI-2203 + SI-2748 (Feinjustierung je Pilotmandant in GP0);
@@ -185,6 +206,12 @@ GP2-Baubeginn (Entgelt-Engine).
## Files that matter right now
- `personalverrechnung/wissensbasis/` — Lexis360-Wissensbasis (README,
dokumente/ 55 Einträge, kb.json, INDEX.md; Batch-Workflow im RUNBOOK)
- `Lexis360/` — lizenzierte PDF-Exporte + Layer-1-Volltexte `md/` +
`_catalog.json` (lokal, unversioniert)
- `personalverrechnung/tools/build_lexis_kb.py` — KB-Pipeline
- `personalverrechnung/IMPLEMENTIERUNGSPLAN-Privat.md` — General-AT
(freigegeben; GP0-Rechtsverifikationen erledigt, GP0-Rest offen;
D4-Protokoll in Abschnitt 2)