Files
odoo-at-payroll/.agents/MEMORY.md
T
fegger fe8243931a [ADD] odoo-at-payroll: wissensbasis skill + WIKU source integration model
Consolidate the binding knowledge-base rules (layer architecture,
licence decision D1, id freeze, D2 frontmatter schema, curation
conventions, batch workflow, validation gates, intake pitfalls)
from README/RUNBOOK/MEMORY into a dedicated agent skill so every
new thread reads them before planning Wissensbasis work.

- new licensed source corpus .wiku/ (WIKU Personal publications:
  Fachbroschueren, Arbeitsunterlagen, Casebooks, 'WIKU Personal
  aktuell'; gitignored like .lexis360/, never committed)
- integration model: one shared corpus with a single kb.json, ids
  wk-<prefix>-<nn> on the existing cluster map, the work field
  distinguishing the sources, Layer-2 filenames prefixed
  wiku_<slug>.md; pipeline to be a multi-source extension of
  build_lexis_kb.py (no fork) -- follow-up after batch 7
- AGENTS.md skill selection gains the wissensbasis entry
2026-09-10 15:24:23 +02:00

350 lines
21 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Agent Memory — odoo-at-payroll
## Current focus
**Lexis360-Wissensbasis Batch 6 fertig, Batch 7 in Intake**
(2026-09-10): 277 Briefings kuratiert in 40 Clustern über fünf
Kapitel (Beschäftigungsverhältnisse, Entgelt, Arbeitszeit,
Arbeitnehmerschutz — Batch 6 eröffnete es —, Verhaltenspflichten).
Batch 6: asc 12/dnh 7/glb 7/mob 1/fir 6/wei 3/swa 5; zwei Agenten
wurden zwischendurch abgebrochen (Restarbeit nachgeholt);
Querverweis-Nachträge lb-beh-04→lb-glb-02/03/07, lb-sch-01→lb-asc-01
(teilweise). Batch 7 (97 PDFs, u. a. Urlaub, Karenz/Familie,
Krankenstand, Mutterschutz, Präsenzdienst, Ausland/Entsendung,
Telearbeit) in Intake — schließt mehrere dokumentierte Lücken
(Bildungskarenz, Abfertigung Alt, Entgeltfortzahlung an Feiertagen,
Gefahrenevaluierung/Arbeitsverbote, Telearbeit). Achtung im
Batch-7-Export: drei verschiedene Briefings mit identischem
truncated Dateinamen (auslandstatigkeit_sv_tatigkeit_in ×3,
ausdrücklich umbenennen) plus ß-kodierter Dateiname. GP1-Abnahme auf
dem Dev-Host bleibt das nächste Gate vor GP2 (Entgelt-Engine).
## Completed
- **Wissensbasis-Skill + WIKU-Quelle** (2026-09-10):
`.agents/skills/wissensbasis/SKILL.md` neu — verbindliche Regeln für
den Wissensbasis-Bau (Schichten/Lizenz D1, ID-Freeze, D2-Frontmatter,
Kurationskonventionen, Batch-Workflow, Validierungsgates, Intake-
Pitfalls) konsolidiert aus README/RUNBOOK/MEMORY; neu: WIKU-Quelle
`.wiku/` (31 lizenzierte PDFs: Fachbroschüren, Arbeitsunterlagen,
Casebooks, „WIKU Personal aktuell“) mit Integrationsmodell siehe
Entscheidung unten. `.wiku/` in `.gitignore` (D1); `AGENTS.md`
Skill-Auswahl ergänzt.
- **Lexis360-Wissensbasis Batch 6** (2026-09-10): 41 Briefings (Stände
2025-06 bis 2026-08) über zwei neue Kapitel (Arbeitnehmerschutz,
Verhaltenspflichten) + Schwerarbeit (Arbeitszeit-Kapitel) → 41
kuratierte Einträge in 7 Clustern (asc 12, dnh 7, glb 7, fir 6,
wei 3, swa 5, mob 1); ein ß-Dateiname normalisiert; ein Fossil-ID
(lb-mip-05 → lb-swa-05) bereinigt; Parser-Härtung: Breadcrumb-Wrap
auch nach erstem „·“ (neue Wrap-Variante). Zwei Agenten zwischen-
durch abgebrochen — Restarbeit (asc-04…12, glb/mob) nachgeholt.
Querverweis-Nachträge lb-beh-04→lb-glb-*, lb-sch-01→lb-asc-01.
Katalog/Registry/Check 277/277 grün.
- **Lexis360-Wissensbasis Batch 5** (2026-09-10): 31 Briefings (Stände
2025-12 bis 2026-07, Kapitel „Arbeitszeit“ — drittes Kapitel) → 31
kuratierte Einträge in 8 neuen Clustern (azg 4, azm 7, mip 4, nsc 3,
rhz 4, sch 1, ues 4, zer 3) + lb-jug-08; ein ß-URL-kodierter Dateiname
normalisiert. Keine Fossil-IDs (spezifisch-vor-generisch-KEYWORDS
wirkten). RECHTSQUELLEN-Abgleiche: §-68-ÜStd-Freigrenzen 2026
(15/170 €) ✅ via lb-zus-07; Kurzarbeit-Lehrlinge trianguliert
(lb-azm-05 → lb-leh-07). Drei Beschaffungslücken geschlossen
(lb-jug-04/05 → lb-jug-08, lb-zer-01/02). Katalog/Registry/Check
236/236 grün.
- **Lexis360-Wissensbasis Batch 4** (2026-09-10): 54 Briefings (Stände
2026-06 bis 2026-08) → 54 kuratierte Einträge in 6 neuen Clustern
(lsd 13, pfa 14, gpl 7, lnk 7, lvr 9, naz 4); Dubletten-Export entfernt
(identischer Text). RECHTSQUELLEN-Abgleiche: FLAF-DB 3,7 %/KommSt 3 %/
IESG 0,10 %/WBF (übrige BL 1 %) ✅; Freibetragsstaffel ✅ via lb-lnk-03
(Quellformulierung in lb-lnk-02 invertiert — dokumentiert); WBF-Wien
1,5 % vs 1,0 % ⚓ dokumentiert. Querverweis-Nachträge lb-sac-13→lb-lvr-02,
lb-sac-21→lb-lvr-05. Tool-Fixes: assign_ids-Rückgabe-Warnungen
(NameError beseitigt), KEYWORDS-Reihenfolge spezifisch-vor-generisch,
7 Fossil-IDs (Pass-1-Keyword-Fehlgriffe) bereinigt. Katalog/Registry/
Check 205/205 grün.
- **Lexis360-Wissensbasis Batch 3** (2026-09-10): 44 Briefings (Stände
2025-06 bis 2026-08, Kapitel „Entgelt: Anspruch & Abrechnung“) → 44
kuratierte Einträge in 6 neuen Clustern (rei 9, vor 11, son 4,
zus 8, pen 9, ges 2) + lb-ent-11; zwei URL-kodierte Export-Dateinamen
(%c3%9f = ß) normalisiert. RECHTSQUELLEN-Abgleiche durchgeführt
(§-67-Staffel, §-68-Freigrenzen, BMSVG-Kernwerte, ALV-Staffel —
deckungsgleich bis auf dokumentierte ⚠-Punkte); lb-prm-04-Querverweis
auf lb-son-03/04 nachgetragen. Katalog/Registry/Check 151/151 grün.
- **Lexis360-Wissensbasis Batch 2** (2026-09-10): 52 neue Briefings
(Stände 2025-06 bis 2026-08, Kapitel „Entgelt: Anspruch & Abrechnung“
+ „Beschäftigungsverhältnisse“) → 52 kuratierte Einträge in 7 neuen
Clustern (beh, ent, gsf, lei, prm, sac, vst) + lb-leh-16; Katalog
107/107, Registry/Check grün. Tool-Härtung: Multi-Batch-batch-Validierung
(1..N), dynamische Batch-Anzeige (kb.json `batches`, INDEX-Header),
--extract-Warnung bei eingefrorener ID mit abweichendem Cluster-Präfix
(fing lb-jug-08-Fossil aus Pass 1, korrigiert zu lb-sac-21 vor Kuratierung);
Duplikat-Export (`geschaftsfuhrer_arbeitsrecht (1).pdf`, identischer Text)
entfernt. Batch-1-Dokumentation in README/RUNBOOK auf Batches 12
umgestellt.
- **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,
Muster `hr_version_bgld.py`), Wizard `kv_katalog_import.py` (Vorschau,
Sprungwarnung, Versionierung), Views/Menus/Security, Seed D2 mit
SI-2203/SI-2748-Tabellen 2026 (inkl. Sonder-Vorrückungsverläufe
IV-M/V-OM im SI-2748, aufgelassene VG I im SI-2203, Nacht-€-Satz
als Jahresversionen 2,71/2,76 €). Test-Suite `test_kv_katalog`:
Seed-Lookups, Stichtags-Lookup, Versionierung, Eckwerte, Wizard
(Sprungwarnung/Aktualisierung/Neuaufnahme), Vertragsfelder.
- **GP0-Rechtsverifikationen General-AT** (2026-09-09):
`RECHTSQUELLEN-Privat.md` erstellt: FLAF § 41 FLAG (RIS GesNr
10008220 — 3,7 % ab 2025, 2,7 % ab 2028; Basis Arbeitslöhne;
1.095-€-Freibetrag bei ≤ 1.460 €), KommStG 1993 (GesNr 10004841 —
3 %; § 3 Abs 3 Gemeindefreiheit; § 11 Verfahren), BMSVG (1,53 % auf
Entgelt + SZ, kein HBG-Cap; § 14 Abs 2 Verfügungsausschluss; § 15
Anwartschaft statt Staffel; § 17 Verfügungsoptionen), UrlG (§ 2
30/36 Werktage; § 6 Urlaubsentgelt; § 10 Ersatzleistung), EStG 1988
(§ 33/66 Tarif 2026; § 67 sonstige Bezüge 0/6/27/35,75 % im
Jahressechstel, Freigrenze 2.615 €, Kontrollsechstel § 77 Abs 4a,
§ 67 Abs 3/6/8 Abfertigungen; § 68 SZFN 400 €, ÜStd 10/120 €,
2026: 15/170 €, Nachtarbeit 600 €). Plan (Abschnitte 1, 4.24.4,
6, 8) auf Verifizierungsstand gebracht; payroll-Skill §-Zitat
korrigiert.
- **D4-Neuverifikation komplett** (2026-09-09): verifiziert gegen beide
in-repo Checkouts — `odoo/` (Community) und `odoo_enterprise/odoo`
(Odoo 19.0.0; gemergter Baum: odoo-Paket + 1.452 Addons, Community +
Enterprise in einem Addons-Verzeichnis, u. a. Referenz-Lokalisierungen
`l10n_be_hr_payroll`/`l10n_ch_hr_payroll`; `l10n_at_payroll` existiert
erwartungsgemäß nicht); beide in `.gitignore`. Community-Teil:
`hr.version` (`hr/models/hr_version.py` L35; `wage`/
`structure_type_id`/`resource_calendar_id` versioniert),
kalenderbasierte Work-Entry-Erzeugung
(`hr_work_entry/models/hr_version.py` L420 `_generate_work_entries`
+ Postprocess-Hooks L500/L506), `hr.work.entry.type` + Entry-States
(`hr_work_entry.py` L39). Enterprise-Teil:
`work_time_rate`/`hours_per_week` auf Version
(`hr_payroll/models/hr_version.py` L48/L39), `work_entry_source`
(L30; Attendance-Integration `hr_payroll_attendance/models/
hr_payslip.py` L29), `hr.payslip.run` (`hr_payslip_run.py` L23;
state L31, `date_start` L41, `date_end` L45), EOSB-Muster
`l10n_ae_hr_payroll` (`_inherit = "hr.payslip"` L10,
`_l10n_ae_get_eos_daily_salary` L95, je-Version-Feld
`l10n_ae_eos_daily_salary` L102, Structure-Type-Inherit),
Engine-Mechanismen an den Bgld-Plan-Zeilenreferenzen bestätigt
(`payslip._rule_parameter` `hr_payslip.py` L951, localdict,
`hr.salary.rule.account_debit`/`account_credit` L11/L15,
Posting-Hooks `_action_create_account_move` L54 /
`_prepare_line_values` L125 / `_prepare_slip_lines` L166,
`journal_id` auf Structure via
`hr_payroll_account/models/hr_payroll_structure.py` L15,
`hr.payslip.input.type` `hr_payslip_input_type.py` L9,
`hr.payroll.structure.type.country_id` L46);
`hr_payroll_account_iso20022` vorhanden. `l10n_at`-Konten
(`l10n_at/data/template/account.account-at.csv`, XML-ID-Muster
`l10n_at.chart_at_template_<code>`): Sonderzahlungen 6240, Verrechnung
Lohnsteuer 3540 / Finanzamt 3530 / SV 3600, Abfertigungsrückstellungen
3000, KommSt 6660, FLAF-DB 6661, DZ 6662, Wien-Abgabe 6663 —
**Matrix-Lücken (GP0):** Löhne-/Arbeiter-Konto und SV-DG-Aufwandskonto
fehlen im Standard-Template. Hinweis: Build mit eigenem
Versionsschema (Manifests teils ohne `version`-Key, z. B. `l10n_at`
„3.2.1"); maßgeblich ist `release.py` `version_info` (19, 0, 0).
- **General-AT-Plan M0** (2026-09-09): `IMPLEMENTIERUNGSPLAN-Privat.md`
erstellt und freigegeben — Entscheidungen D1 (Pfad), D2 (Referenz-KVs
SI-2203 Handwerk/Gewerbe + SI-2748 Metallgewerbe), D3 (Kern-
Vorfinanzierung durch General-AT), D4 (Odoo-19-Source kurzfristig;
API-Neuverifikation in M1). Umfang: General-AT-Anteil ≈ 120172 PT,
inkl. D3-Vorfinanzung ≈ 180258 PT (M1M9, ~79 Monate).
README-Modultabelle, Gerüst-README `l10n_at_hr_payroll_private` und
CHANGELOG auf Planstand gebracht.
- **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
- **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),
Kleinwohnungsgrenzen (lb-sac-09 vs. lb-sac-10), Pensionisten-Begünstigung
(lb-sac-02), **§ 124b-ÜStd-Maßnahme 2026: Briefing-Zitat lb-zus-07
weicht von verifizierter Rechtslage ab (Z 476 lit c idgF BGBl I
43/2026, Aufrollung bis 30. 9. 2026)**, lb-pen-09 Tabellenfehler
(3.672 vs. rechnerisch 2.448 €), 183-Tage-Regel Finanz vs. UFS
(lb-rei-01/02/08), Teleworker-Fahrten Finanz vs. BFG/VwGH (lb-rei-07);
Alte Stände (leh 2024-03/2025-08, gsf/vst/lei 2025-06, son-0103
2025-06) nur mit Kennzeichnung; Copilot-Deployment braucht
lizenkonformen Layer-1-Bereitstellungspfad (Volltexte nicht im Repo);
**Batch-4-Konflikte**: lb-lnk-02 DB-Freibetragsbedingung invertiert
(RECHTSQUELLEN verbindlich), lb-lnk-05 WBF-Wien 1,5 % vs 1,0 %
(RIS-Klärung), lb-pfa-03/05 Grundbetrag-Bezeichnungen,
lb-pfa-12/14 Existenzminimum 2022 (500/515 €), lb-lsd-13
Gesetzeszitat verstümmelt (❓ RIS), §-124b-Zitier-Varianten
(Z 440/Z 449 vs verbindlich Z 476 lit c idgF BGBl I 43/2026);
**Batch-5**: NSchG-Beitrag 2026 (3,8 %) ohne BGBl-Beleg (lb-nsc-01),
§ 7-AZG-Fundstelle Abs 1 vs Abs 6 (lb-ues-01/04), MAV-START-EU-Konflikt
(lb-rhz-03), KAB-Richtlinie mit alten SV-Beitragswerten (lb-azm-06);
**Batch-6-Kandidaten**: Bildungskarenz, Personalrabatte bis 2015,
Telearbeitspauschale, Begünstigt behinderte, Belästigung, Prämien
bei Beendigung, Abfertigung Alt/Verfügungsmöglichkeiten AbfN,
Corona-Kurzarbeit, Leitende Angestellte in der Rechtsprechung,
pfändungsrechtliche Behandlung von Sonderzahlungen, Rückzahlung von
Darlehen/Mustervereinbarung, Entgeltfortzahlung an Feiertagen,
Motivkündigung, Gefahrenevaluierung und Arbeitsverbote
(vollständige Liste im RUNBOOK).
- **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.-
Auftragserteilung); Referenz-KV-Kuratierung (SI-2203/SI-2748);
UGB-Buchungsmatrix; Volltexte AZG/AngG/ArbVG § 12/LStR 2002
beschaffen. Odoo-Quellen liegen in-repo (D4 erledigt); Runtime-Tests
brauchen noch PostgreSQL (Dev-Host).
- **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
Testsuiten (Katalog, Entgelt, TASY-Import, neu: `test_kv_katalog`
privat) sind lokal nicht lauffähig (kein PostgreSQL). Odoo-Quellen
jetzt in-repo verfügbar — `odoo/`
(Community, `odoo-bin`) + `odoo_enterprise/odoo` (gemergter
Enterprise-Baum; Addons-Path `odoo_enterprise/odoo/addons,addons`).
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
- **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.
Ablageort `.lexis360/` (dot-dir, lokal, unversioniert): vom Nutzer
manuell exportierte lizenzierte Belege — bei Fehlen **NICHT** neu
beschaffen (anders als `.firecrawl/` = agenten-rekonstruierbare
Web-Fetches), sondern beim Nutzer nachfragen.
- **WIKU-Quelle `.wiku/`** (2026-09-10): D1 analog (lokal, unversioniert,
bei Fehlen NICHT beschaffen — Nutzer fragen). Integrationsmodell:
**gemeinsamer Korpus** `personalverrechnung/wissensbasis/` (eine
`kb.json`), `work`-Feld unterscheidet die Quellen; eigener ID-Raum
`wk-<prefix>-<nn>` auf der bestehenden Cluster-Map (`wk-pfa-01`
neben `lb-pfa-*`); Layer 1 `.wiku/md/` + eigener Katalog;
Layer-2-Dateinamen mit Präfix `wiku_<slug>.md`; Stand aus
„Stand YYYY-MM“/Heft-Monat, sonst Impressum; keine Lexis-Breadcrumbs —
Metadaten aus Dateiname + Titelei. Granularität: 1 Publikation =
1 Eintrag (Casebook-/Artikel-Ebene optional später); cross_refs lb↔wk
erwünscht. Pipeline = Multi-Source-**Erweiterung** von
`build_lexis_kb.py`, kein Fork — Folgeaufgabe **nach Batch 7**
(Lexis hat Priorität).
- **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);
**D3-Vorfinanzierung** — General-AT baut die sektor-neutralen
Kern-Blöcke AP3/AP4 (und nötigenfalls AP5/AP6) in `l10n_at_hr_payroll`
vor (Symmetrie zur Bgld-Planungsentscheidung „AP3 im Kern, damit das
General-Produkt ihn erbt"); Anrechnung/Umlegung bei Bgld.-
Auftragserteilung per Change-Request; D4 — Odoo-19-Source in-repo:
`odoo/` (Community) + `odoo_enterprise/odoo` (gemergter
Enterprise-Baum), beide in `.gitignore`; D4-Verifikation komplett
erledigt.
- **GP0-Rechtskorrekturen General-AT (verbindlich)** (2026-09-09):
13./14. Bezüge = sonstige Bezüge iSd **§ 67 EStG** (§ 68 nur
Zulagen/Zuschläge — „§ 68 Abs 5/6" war falsch); Urlaubsentgelt =
**§ 6 UrlG** (§ 9 seit 2001 aufgehoben); EOSB = BMSVG-**Anwartschaft
ohne Monatsentgelt-Staffel** (§ 14 Abs 2 Ausschlussmatrix, § 15
Auszahlung Beiträge + Erträge); Bgld-P9-Rechtsbasis damit § 67
(Detailauslegung LStR 2002 bleibt offen).
- **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/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
- `.agents/skills/wissensbasis/SKILL.md` — verbindliche Regeln für
Wissensbasis-Arbeit (inkl. `.wiku/`-Integrationsmodell)
- `.wiku/` — lizenzierte WIKU-Publikationen (lokal, unversioniert,
gitignored; Pipeline-Folgeaufgabe nach Batch 7)
- `personalverrechnung/IMPLEMENTIERUNGSPLAN-Privat.md` — General-AT
(freigegeben; GP0-Rechtsverifikationen erledigt, GP0-Rest offen;
D4-Protokoll in Abschnitt 2)
- `personalverrechnung/RECHTSQUELLEN-Privat.md` — verbindliche
Rechtslage General-AT (GP0-Inventar; Statusmarks ✅/⚠/❓)
- `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 P1P10
- `odoo/` + `odoo_enterprise/` — Odoo-19-Checkouts (unversioniert,
in `.gitignore`; Enterprise-Baum gemergt: Community+Enterprise in
einem Addons-Verzeichnis; Test-Addons-Path
`odoo_enterprise/odoo/addons`)
- `addons/l10n_at_hr_payroll_private/` — General-AT (GP1 KV-Framework
+ Seed D2 umgesetzt; Runtime-Abnahme ausständig; GP2 danach)
- `addons/l10n_at_hr_payroll/` — Kern (SV/TASY; AP3 landet hier)
- `addons/l10n_at_gemeinde_payroll/` — GemBG (AP1+AP2)