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

21 KiB
Raw Blame History

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)