# Wissensbasis Personalverrechnung (Lexis360-Exporte + WIKU Personal) Kuratierte Wissensbasis aus zwei lizenzierten Quellcorpora — den LexisNexis-Briefings des Werks *Lexis Briefings Personalrecht* (Export aus Lexis 360) und den WIKU-Personal-Publikationen (Fachbroschüren, Arbeitsunterlagen, Casebooks, Fachzeitschrift „WIKU Personal aktuell“). Ein **gemeinsamer Korpus**: `work`-Feld unterscheidet die Quellen, ID-Räume `lb-*` (Lexis) und `wk-*` (WIKU) liegen auf derselben Cluster-Map. Zweck: 1. **Entwicklungsreferenz** neben `personalverrechnung/RECHTSQUELLEN-*.md` für die Personalverrechnungsmodule (`l10n_at_hr_payroll*`), und 2. **Copilot-Korpus**: Aufbau und Frontmatter sind retrieval-gerecht (stabile IDs, maschinenlesbares `kb.json`), damit künftig ein Frage-Antwort-Copilot darauf aufbauen kann. ## Schichten (Lizenz-Entscheidung D1, 2026-09-10) | Schicht | Pfad | Versioniert? | Inhalt | |---|---|---|---| | PDF-Exporte | `.lexis360/Lexis360_*.pdf` · `.wiku/*.pdf` | **nein** (gitignored) | lizensierte Original-PDFs | | Layer 1 — Volltexte | `.lexis360/md/.md` · `.wiku/md/.md` | **nein** (gitignored) | vollständiger Extraktionstext + Metadaten-Frontmatter | | Katalog | `.lexis360/md/_catalog.json` · `.wiku/md/_catalog.json` | **nein** (gitignored) | geparste Metadaten aller Quellen (Slug ↔ ID ↔ Stand ↔ Cluster) | | Layer 2 — kuratierte Einträge | `dokumente/.md` (Lexis) · `dokumente/wiku_.md` (WIKU) | **ja** | Kuratierung in eigenen Worten (Schema unten) | | Registry | `personalverrechnung/wissensbasis/kb.json` | **ja** | **generiert** aus dem Layer-2-Frontmatter beider Quellen (`--registry`) | Volltexte sind lizenzierter Inhalt (LexisNexis- bzw. WIKU-Abonnement) und bleiben wie `.firecrawl/` lokal + unversioniert. Nur die Kuratierung (eigene Worte, kurze Zitate mit Quellenachweis) wird committet. WIKU-Publikationen haben keine Lexis-Breadcrumbs: Metadaten (Slug, Cluster, Stand, `work`, Kapitel, Titel) werden beim Intake als **`WIKU_PINS`**-Eintrag im Tool festgenagelt (1 Publikation = 1 Eintrag; Granularitätsentscheidung 2026-09-10). ## Frontmatter-Schema (Layer 2 — verbindlich) ```yaml id: lb-atz-07 # stabil; lb-- (Lexis) bzw. wk-- (WIKU), eingefroren batch: 1 # Beschaffungs-Batch je Quelle (manuell je Import) title: "Altersteilzeit - Überblick" work: "Lexis Briefings Personalrecht" # WIKU: exakter Publikationstyp („WIKU Fachbroschüre“, „WIKU Arbeitsunterlage“, „WIKU Casebook“, „WIKU Personal aktuell“) chapter: "Beschäftigungsverhältnisse" # Quell-Kapitel (WIKU: aus WIKU_PINS, idR der Publikationstitel) topic: altersteilzeit # ASCII-Cluster-Slug (s. Tabelle) author: "Marek" # WIKU: „Wilhelm Kurzböck“ stand: 2026-01 # ISO-Monat des Quell-Stands (WIKU: Impressum/Dateiname, „Personal aktuell“: Heft-Monat) source: pdf: ".lexis360/Lexis360_altersteilzeit_uberblick.pdf" # WIKU: ".wiku/.pdf" text: ".lexis360/md/altersteilzeit_uberblick.md" # WIKU: ".wiku/md/.md" legal_bases: ["AlVG", "AZG § 19e"] # nur im Quelltext genannte Normen tags: [altersteilzeit, ams-foerderung] # ASCII-Slugs, retrieval-freundlich cross_refs: ["lb-atz-09"] # verwandte KB-Einträge (lb↔wk erlaubt; dangling = Fehler) ``` Schlüsselkonvention (Entscheidung D2): **strukturelle Schlüssel englisch** (konsistent mit `kv-catalog.json`/`chambers.json`), **Werte deutsch** (UTF-8, Umlaute erlaubt). Zwei Ausnahmen: `stand` (österreichischer Fachbegriff, ISO-Wert `YYYY-MM`) und `topic`/`tags` als ASCII-Slugs. Die Frontmatter ist **Single Source of Truth**; `kb.json` wird daraus generiert und schema-validiert (`build_lexis_kb.py --registry`). ## Cluster (Lexis Batch 1–9 + WIKU Batch 1) | topic-Slug | Name | ID-Präfix | IDs | n | |---|---|---|---|---| | `altersteilzeit` | Altersteilzeit | `atz` | lb-atz-01 … 15 | 15 | | `lehrlinge` | Lehrverhältnis / Lehrlinge | `leh` | lb-leh-01 … 16 | 16 | | `jugendliche` | Jugendarbeit / Jugendschutz | `jug` | lb-jug-01 … 08 | 8 | | `ferialpraktikanten` | Ferialpraktikanten, Volontäre, Au-pair | `pra` | lb-pra-01 … 04 | 4 | | `beschaftigungsformen` | Beschäftigungsformen & Abgrenzung | `bes` | lb-bes-01 … 08 | 8 | | `teilzeit` | Teilzeit & Bildungsteilzeit | `tzb` | lb-tzb-01 … 06 | 6 | | `behinderte` | Behinderte Arbeitnehmer | `beh` | lb-beh-01 … 04 | 4 | | `entgelt` | Entgelt: Anspruch & Abrechnung | `ent` | lb-ent-01 … 11 | 11 | | `geschaftsfuhrer` | Geschäftsführer | `gsf` | lb-gsf-01 … 05 | 5 | | `leitende-angestellte` | Leitende Angestellte | `lei` | lb-lei-01 | 1 | | `pramien` | Prämien & Provisionen | `prm` | lb-prm-01 … 07 | 7 | | `sachbezuge` | Sachbezüge & freiwillige Sozialleistungen | `sac` | lb-sac-01 … 21 | 21 | | `vorstand` | Vorstandsmitglieder (Vorstand) | `vst` | lb-vst-01 … 04 | 4 | | `sonderzahlungen` | Sonderzahlungen | `son` | lb-son-01 … 05 | 5 | | `zuschlage` | Zulagen und Zuschläge | `zus` | lb-zus-01 … 08 | 8 | | `pendlerforderung` | Pendlerförderung | `pen` | lb-pen-01 … 09 | 9 | | `reisekosten` | Dienstreise & Reisekosten | `rei` | lb-rei-01 … 09 | 9 | | `vorsorgeleistungen` | Vorsorgeleistungen (BMSVG, Betriebspension, Beteiligung) | `vor` | lb-vor-01 … 11 | 11 | | `geschenke` | Sachzuwendungen & Geschenke | `ges` | lb-ges-01 … 02 | 2 | | `lohndumping` | Bekämpfung von Lohn- und Sozialdumping (LSD-BG) | `lsd` | lb-lsd-01 … 13 | 13 | | `gplb` | GPLB | `gpl` | lb-gpl-01 … 07 | 7 | | `lohnnebenkosten` | Lohnnebenkosten (Dienstgeberbeiträge) | `lnk` | lb-lnk-01 … 07 | 7 | | `lohnpfandung` | Lohnpfändung | `pfa` | lb-pfa-01 … 14 | 14 | | `lohnverrechnung` | Lohnverrechnung (Meldewesen, Abrechnungsfragen) | `lvr` | lb-lvr-01 … 09 | 9 | | `nachzahlungen` | Nachzahlungen | `naz` | lb-naz-01 … 04 | 4 | | `arbeitszeitgrenzen` | Arbeitszeitgrenzen | `azg` | lb-azg-01 … 04 | 4 | | `arbeitszeitmodelle` | Arbeitszeitmodelle (Gleitzeit, Schicht, Kurzarbeit) | `azm` | lb-azm-01 … 07 | 7 | | `meldepflichten` | Melde- und Informationspflichten | `mip` | lb-mip-01 … 04 | 4 | | `nachtschwerarbeit` | Nachtschwerarbeit | `nsc` | lb-nsc-01 … 03 | 3 | | `ruhezeiten` | Ruhezeiten | `rhz` | lb-rhz-01 … 04 | 4 | | `schwangerschaft` | Schwangerschaft (Mutterschutz) | `sch` | lb-sch-01 … 08 | 7 | | `uberstunden` | Überstunden | `ues` | lb-ues-01 … 04 | 4 | | `zeiterfassung` | Zeiterfassung | `zer` | lb-zer-01 … 03 | 3 | | `schwerarbeit` | Schwerarbeit | `swa` | lb-swa-01 … 05 | 5 | | `arbeitnehmerschutz` | Arbeitnehmerschutz (ASchG) | `asc` | lb-asc-01 … 16 | 16 | | `dienstnehmerhaftung` | Dienstnehmerhaftung (Schadenersatz) | `dnh` | lb-dnh-01 … 07 | 7 | | `gleichbehandlung` | Gleichbehandlung & Diskriminierung | `glb` | lb-glb-01 … 07 | 7 | | `mobbing` | Mobbing | `mob` | lb-mob-01 | 1 | | `firmeneigentum` | Firmeneigentum & Sachnutzung | `fir` | lb-fir-01 … 06 | 6 | | `weisungen` | Weisungen an die Arbeitnehmer | `wei` | lb-wei-01 … 03 | 3 | | `urlaub` | Urlaub (Anspruch, Entgelt, Verbrauch) | `url` | lb-url-01 … 16 | 16 | | `krankenstand` | Krankenstand & Entgeltfortzahlung | `krs` | lb-krs-01 … 09 | 9 | | `entsendung` | Grenzüberschreitender Einsatz & Entsendung | `grz` | lb-grz-01 … 08 | 8 | | `karenzsonderformen` | Karenz-Sonderformen (Bildungs-, Hospiz-, Pflegekarenz) | `kzs` | lb-kzs-01 … 07 | 7 | | `elternteilzeit` | Elternteilzeit | `elt` | lb-elt-01 … 06 | 6 | | `karenz` | Karenz (Elternkarenz) | `kar` | lb-kar-01 … 06 | 6 | | `kinderbetreuungsgeld` | Kinderbetreuungsgeld & Beihilfen | `kbg` | lb-kbg-01 … 06 | 6 | | `prasenzdienst` | Präsenzdienst & Zivildienst | `prd` | lb-prd-01 … 06 | 6 | | `telearbeit` | Teleworking & Heimarbeit | `tel` | lb-tel-01 … 06 | 6 | | `schutzfrist` | Geburt, Schutzfrist & Wochengeld | `msf` | lb-msf-01 … 05 | 5 | | `dienstverhinderung` | Dienstverhinderungsgründe & Streik | `dvh` | lb-dvh-01 … 04 | 4 | | `arbeitskrafteuberlassung` | Arbeitskräfteüberlassung (AÜG) | `aug` | lb-aug-01 … 02 | 2 | | `entgeltfortzahlung` | Entgeltfortzahlung an Feiertagen | `efz` | lb-efz-01 … 02 | 2 | | `familienzeit` | Papamonat & Familienzeitbonus | `pap` | lb-pap-01 … 02 | 2 | | `pflegefreistellung` | Pflegefreistellung | `pfl` | lb-pfl-01 … 02 | 2 | | `wiedereingliederung` | Wiedereingliederung (Geld, Teilzeit) | `wie` | lb-wie-01 … 02 | 2 | | `beendigungsarten` | Beendigungsarten (Austritt, Entlassung, Kündigung) | `bnd` | lb-bnd-01 … 44 | 44 | | `betriebsrat` | Betriebsrat & Betriebsvereinbarungen | `brt` | lb-brt-01 … 36 | 35 | | `endabrechnung` | Beendigungsansprüche & Endabrechnung (Abfertigung, Vergleich, Stundenguthaben) | `end` | lb-end-01 … 26 | 25 | | `insolvenz-betriebsubergang` | Unternehmensauflösung & Betriebsübergang (Insolvenz) | `ins` | lb-ins-01 … 08 | 8 | | `meldungen-verpflichtungen` | Meldungen & Verpflichtungen (Beendigung, Datenschutz) | `mel` | lb-mel-01 … 08 | 8 | | `beendigungsphase-sonstiges` | Beendigungsphase – Sonstiges (Zeugnis, Konkurrenzklausel, Sozialplan, Postensuche) | `bso` | lb-bso-01 … 11 | 10 | | `beitragsrecht-asvg` | Sozialversicherungsrecht: Beitragsrecht ASVG (Beitragsgrundlagen, Beitragssätze) | `sva` | lb-sva-01 … 16 | 16 | | `bauerliche-sozialversicherung` | Bäuerliche Sozialversicherung (BSVG) | `bsv` | lb-bsv-01 … 18 | 18 | | `gsvg-fsvg` | GSVG/FSVG: Selbständige, neue Selbstständige, Abfertigung | `gsv` | lb-gsv-01 … 12 | 12 | | `krankenversicherung` | Krankenversicherung ASVG (Leistungen) | `kvs` | lb-kvs-01 … 04 | 4 | | `pension` | Pensionsversicherung (Pensionsarten, Pensionskonto) | `pvs` | lb-pvs-01 … 13 | 13 | | `aktuell` | WIKU Personal aktuell (Neuerungen, Urteile, Praxis) | `akt` | wk-akt-01 … 12 | 12 | | `gewerbe` | Gewerbebezogene Personalverrechnung (Güterbeförderung, Gastgewerbe) | `gwe` | wk-gwe-01 … 02 | 2 | **601 Einträge in 69 Clustern** — Lexis: 571 Einträge in 67 Clustern (Batch 1: 55, Batch 2: 52, Batch 3: 44, Batch 4: 54, Batch 5: 31, Batch 6: 41, Batch 7: 97, Batch 8: 134, Batch 9: 63); WIKU: 30 Einträge in 18 Clustern (Batch 1: 13 Fachbroschüren, 3 Arbeitsunterlagen, 2 Casebooks, 12 Hefte „WIKU Personal aktuell“ 2026). Die WIKU-Publikationen liegen auf der bestehenden Cluster-Map (`wk-pfa-01` neben `lb-pfa-*`) plus den beiden eigenen Clustern `akt`/`gwe`. Siebzehn Briefings-Kapitel: „Beschäftigungsverhältnisse“, „Entgelt: Anspruch & Abrechnung“, „Arbeitszeit“, „Arbeitnehmerschutz“, „Verhaltenspflichten“ (Batches 1–6), dazu „Urlaub & Karenzierung“, „Schwangerschaft & Elternkarenz“, „Krankenstand & Arbeitsunfall“, „Dienstverhinderung“ und „Außerhalb des Betriebsstandortes“ (Batch 7), „Beendigungsarten“, „Betriebsrat & Betriebsvereinbarungen“, „Beendigungsansprüche & Endabrechnung“, „Beendigungsphase - Sonstiges“, „Meldungen & Verpflichtungen“ und „Unternehmensauflösung & Betriebsübergang“ (Batch 8) sowie „Sozialversicherung“ (Batch 9) (chapter-Feld je aus dem Katalog übernehmen). Frontmatter-`topic` = beschreibender ASCII-Slug (linke Spalte), das ID-Präfix (`atz`, `leh`, …) nur im `id` selbst; das Tool prüft die Konsistenz beider (`--registry`). Neue Cluster erweitern alle vier Strukturen im Tool (`TOPIC_MAP`, `KEYWORDS`, `CLUSTERS`, `TOPIC_TO_PREFIX`); tritt derselbe Thema-Slug unter zwei Kapiteln auf, zusätzlich `CHAPTER_TOPIC_MAP`. IDs werden beim ersten `--extract` vergeben und danach **eingefroren** (`load_previous_ids()`); neue Dokumente hängen hinten an, Nummern ausscheidender Dokumente werden nie wiederverwendet. Dateiname eines Layer-2-Eintrags = Layer-1-Slug (Lexis-Export-Stil: Umlaute **fallen**, werden nicht transliteriert — `uberblick`, `beschaftigung`). ## Kurationskonventionen (verbindlich) 1. **Sprache:** deutsch, Fachsprache wie im Original; Metadaten-Werte UTF-8. `topic`/`tags` ASCII. 2. **Eigene Worte:** Kuratierung ist keine Volltextkopie (Lizenz!). Wörtliche Zitate nur kurz und mit Stand gekennzeichnet. 3. **Werte immer mit Stand.** Stammt der Wert aus einem Briefing mit älterem Stand (z. B. Lehrlinge 2024-03, 2025-08), so ist „(Stand YYYY-MM)" am Wert zu führen. Niemals Werte aus Trainingswissen ergänzen — nur aus dem Quelltext oder aus neueren KB-Einträgen (dann mit ID belegt). 4. **Statusmarken wie in RECHTSQUELLEN:** ✅ verifiziert · ⚠ plausibel, Detailverifikation offen · ❓ bewusst offen. §-Zitate nur, wenn die Quelle sie nennt; sonst ⚠ mit Verifikationshinweis (RIS). 5. **Dokumentstruktur:** `# ` → *Quellzeile (Werk, Autor, Stand, ID)* → `## Zusammenfassung` → `## Kernwerte & Fristen (Stand YYYY-MM)` (Tabelle) → `## Rechtsgrundlagen` → `## Payroll-Relevanz (Odoo)` → `## Verweise`. 6. **Payroll-Relevanz** benennt Odoo-19-Anknüpfungspunkte (hr_payroll-Engine, Work Entries, `hr.rule.parameter`, SV-BG-Handling, Meldewesen) als *Hinweise für die Umsetzung*, nicht als Spec. 7. **Verweise:** KB-IDs verwandter Briefings (Breadcrumb-Verweise der Quelle beachten) + Projektdateien (`RECHTSQUELLEN-*.md`). 8. **Export-Artefakte ignorieren:** Footer „Page n", „Erstellt von …", abgeschnittene Querverweise nicht rekonstruieren; vermerken, wenn eine Verweisstelle im Export unvollständig ist. 9. Vorbild/Qualitätsmaßstab: `dokumente/altersteilzeit_uberblick.md`. ## Update-Zyklus (neue Batches — je Quelle) **Lexis360:** 1. Neue PDFs nach `.lexis360/` kopieren (Export-Namenskonvention `Lexis360_.pdf` beibehalten). 2. In `tools/build_lexis_kb.py` die Konstante `BATCH_LEXIS` hochsetzen, dann `--extract --source lexis` ausführen: Layer 1 + Katalog neu; bestehende IDs bleiben fix, neue Dokumente erhalten neue IDs + neue Batch-Nummer. **WIKU:** 1. Neue PDFs nach `.wiku/` kopieren (Dateinamen der Lieferung beibehalten; Stand aus „Stand YYYY-MM“/Heft-Monat, sonst Impressum). 2. Je PDF einen `WIKU_PINS`-Eintrag im Tool ergänzen (slug, cluster, stand, work, chapter, title) — ein PDF ohne Pin wird **nicht** extrahiert (harter Warning, nie Metadaten raten). Dann `BATCH_WIKU` hochsetzen und `--extract --source wiku` ausführen. **Beide Quellen gemeinsam:** 3. Neue Layer-2-Einträge kuratieren (Konventionen oben; WIKU-Dateiname = `wiku_.md`). 4. `--registry` (generiert/validiert `kb.json` + `INDEX.md` über beide Quellen), danach `--check --source all` (Layer-1↔Layer-2- Vollständigkeit je Quelle, Quelldateien vorhanden). 5. `personalverrechnung/RUNBOOK.md` und `.agents/MEMORY.md` pflegen (`INDEX.md` wird generiert, nicht manuell editiert). ## Copilot-Konsum `kb.json` listet jeden Eintrag mit ID, Titel, Stand, Cluster, Rechtsgrundlagen, Tags und Pfaden auf Layer 1/Layer 2. Für Retrieval/Skills: Eintrag = Chunk-Einheit; `id` als Zitatchlüssel; `stand` für Aktualitätsfilter; `cross_refs` für Graph-Nachbarschaft. Die Volltexte (Layer 1) sind lokal vorhanden, aber nicht Teil des Versionskontroll-Korpus — ein Copilot-Deployment braucht daher einen separaten, lizenzkonformen Bereitstellungspfad für Layer 1 (❓ offen).