# Agent Memory — odoo-at-payroll ## Current focus **KV-Library aufgebaut** (2026-09-09): alle aktuellen Kollektivverträge maschinenlesbar in `personalverrechnung/quellen/kv/` — ÖGB-Portal-Baseline (593 Varianten mit Volltexten), WKO als Main Source für WKO-Gewerbe (614 aktuelle Dokumente), Kammer-Registry + Crosscheck-Katalog (768 Einträge). Fortführung über `personalverrechnung/RUNBOOK.md`. Danach weiter wie zuvor: **AP3 (Lohnsteuer) im Kern-Modul** gemäß `personalverrechnung/IMPLEMENTIERUNGSPLAN-Bgld.md` (Abschnitt 4.2, Regel `LSTL`) — Implementierungsplan wartet weiterhin auf die Freigaben des Bgld.-Auftrags (AP0 zuerst). ## Completed - **KV-Library** (2026-09-09): `tools/fetch_kv_portal.py` (ÖGB-Portal: Sitemap/Dashboard/Structure/Slices/Topics-JSON-APIs, 593 Varianten, Catalog+Texte JSON/MD), `tools/fetch_wko_kv.py` (WKO-DB: 1.820 Übersichtsseiten, 614 aktuelle Dokumente, Match gegen Baseline), `tools/build_kv_catalog.py` (Merge, Kammer-Klassifikation, Crosscheck, manual-review-Listen), `quellen/kv/chambers/chambers.json` (Kammer-Quellen kuratiert, inkl. Lücken: GÖD member-only, RA/Notariat nicht öffentlich), `personalverrechnung/RUNBOOK.md` (Update-Zyklus). 407 WKO↔ÖGB-Paare, 30 Datumsdifferenzen geflaggt, 195 unklassifizierte (Einzenträger-KVs) zur manuellen Sichtung. - **Migration gem360 → odoo-at-payroll** (2026-09-09): dev-payroll nach origin gepusht (Backup), History-Import per `git filter-repo` (Branch hier: `main`), Modul-Split (TASY/SV-Layer in den Kern), Model-Rename `l10n.at.payroll.tasy.*`, Skills/AGENTS/MEMORY neu aufgesetzt, Manifest-Beschreibung auf AP1+AP2-Stand korrigiert. - Vorher (aus gem360-Historie): AP1 Katalogmodell (35 Gruppen/433 Werte 2026), AP2 Entgelt-Engine (13 Regeln, Structure GEMBG.BGLD), SV-Werte aus ÖGK TASY-LSWH; 3 Testsuiten (Katalog, Entgelt, TASY-Import). ## Open issues / blockers - **KV-Library, manuell offen** (2026-09-09): manual_review-Listen im `kv-catalog.json` (Match-Heuristik-Flüchtigungen, 30 Datumsdifferenzen, 195 unklassifizierte Einzelträger-KVs); Kammer-Scan-PDFs (RA Vbg, LÄK NÖ/OÖ/Bgld) ohne OCR nicht maschinenlesbar; Angestelltenärzte-KV nirgends öffentlich. Bibliothek inkl. Texte committed als `5b629a5` (lokaler main, noch nicht gepusht). - gem360-seitig gilt: Branch `dev-payroll` dort vorerst erhalten, aber **keine Payroll-Implementierung mehr in gem360** und kein Merge nach dev/va_module (Guardrails im gem360-Handoff). Die Brücke `l10n_at_gemeinde_payroll_vrv` (AP7) wird in gem360 gegen getaggte Releases dieses Repos gebaut. - **Runtime-Validierung offen** (2026-09-09): Modul-Install und die 3 Testsuiten (Katalog, Entgelt, TASY-Import) sind auf der Workstation nicht lauffähig (kein lokaler PostgreSQL; Enterprise-Addons liegen im Geschwister-Checkout `../gem360`). Auf dem Dev-Host nachholen: `-i l10n_at_hr_payroll,l10n_at_gemeinde_payroll --test-tags /l10n_at_hr_payroll,/l10n_at_gemeinde_payroll`. Statisch grün: py_compile + XML-Well-formedness über alle Addon-Dateien. - Bgld.-Auftrag: AP0 offen (Bestandsaufnahme Pilotmandant, ELDA/FinOnl- Specs, VRV-Buchungsmatrix, offene RIS-Verifikationen) — `IMPLEMENTIERUNGSPLAN-Bgld.md` Abschnitt 8. - Odoo-Upgrades künftig in beiden Repos (gem360 + dieses) gegen denselben Odoo-Pin validieren. ## Decisions & conventions - **KV-Quellen-Architektur** (2026-09-09): Main source je KV = die verantwortliche Arbeitgeberkammer; kollektivvertrag.at (ÖGB) immer als Crosscheck-Baseline (einziger vollständiger Korpus). WKO-DB deckt nur WKO-KVs ab (keine Arzt/Apotheke/RA/Notar/Land-Zweige). Lohntafel-PDFs nur verlinken, nicht downladen; im Text enthaltene Tabellen konvertieren. Historische Slices nur bei Bedarf (Default: aktuelle Version). - SKILL.md braucht YAML-Frontmatter (name = Verzeichnisname, description, disable-model-invocation). - Abhängigkeitsrichtung: gem360 → dieses Repo (nur die Brücke hängt an beiden), nie umgekehrt. - Tests nur auf Wegwerf-DB (nie `gem360_dev`); je Änderung py_compile + XML-Well-formedness-Check. - `.firecrawl/` bleibt lokal unversioniert (Rechts-Rohquellen); bei Fehlen neu beschaffen — niemals aus Trainingswerten arbeiten. ## Files that matter right now - `personalverrechnung/RUNBOOK.md` — KV-Library pflegen (Update-Zyklus) - `personalverrechnung/quellen/kv/kv-catalog.json|.csv` — der Crosscheck-Katalog - `personalverrechnung/quellen/kv/chambers/chambers.json` — Kammer-Quellen-Registry - `personalverrechnung/tools/fetch_kv_portal.py` / `fetch_wko_kv.py` / `build_kv_catalog.py` — Fetcher + Merge - `personalverrechnung/IMPLEMENTIERUNGSPLAN-Bgld.md` — AP3+ (Freigabe-Gate) - `personalverrechnung/RECHTSQUELLEN-Bgld.md` — verbindliche Rechtslage - `personalverrechnung/ANGEBOTS-KALKULATION-Bgld-Personalverrechnung.md` — AP-Rahmen, Prämissen P1–P10 - `addons/l10n_at_hr_payroll/` — Kern (SV/TASY; AP3 landet hier) - `addons/l10n_at_gemeinde_payroll/` — GemBG (AP1+AP2)