25eb285160
571 Lexis-Briefings (lb-*) + 30 WIKU-Publikationen (wk-*) in 69 Clustern, Frontmatter-Schema als Single Source of Truth; kb.json + INDEX.md generiert. .gitignore für lizenzierte/lokale Corpora (.lexis360, .wiku, .firecrawl, .ris) sowie künftige RAG-Artefakte (data/).
233 lines
15 KiB
Markdown
233 lines
15 KiB
Markdown
# 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/<slug>.md` · `.wiku/md/<slug>.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/<slug>.md` (Lexis) · `dokumente/wiku_<slug>.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-<cluster>-<nn> (Lexis) bzw. wk-<cluster>-<nn> (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/<dateiname>.pdf"
|
||
text: ".lexis360/md/altersteilzeit_uberblick.md" # WIKU: ".wiku/md/<slug>.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:** `# <Titel>` → *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_<slug>.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_<slug>.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). |