# Wissensbasis Personalverrechnung (Lexis360-Exporte, WIKU Personal, WKO-Kollektivverträge, RIS-Gesetze, Rechtsprechung) Kuratierte Wissensbasis aus vier Quellcorpora — den **LexisNexis-Briefings** des Werks *Lexis Briefings Personalrecht* (Export aus Lexis 360), den **WIKU-Personal-Publikationen** (Fachbroschüren, Arbeitsunterlagen, Casebooks, Fachzeitschrift „WIKU Personal aktuell“), den **Kollektivvertrags- Dokumenten von WKO.at** (Lohn-/Gehaltsordnungen inkl. Lohntabellen, KV-Abschlüsse, Erläuterungen, Zusatz-KVs) und den **RIS-Gesetzes-Texten** (Rechtsinformationssystem des Bundes; nur die im Lexis360-Bestand zitierten Paragraphen je Gesetz) sowie **Rechtsprechung** (OGH-, VwGH- und VfGH- Entscheidungen und Rechtssätze aus RIS-OGD sowie fünf als nicht amtlich markierte EuGH-Textwiedergaben). Ein **gemeinsamer Korpus**: das `work`-Feld unterscheidet die Quellen, ID-Räume `lb-*` (Lexis), `wk-*` (WIKU), `kv-*` (WKO-KV), `ris-*` (RIS) und `rj-*` (Rechtsprechung/Normentexte) liegen auf derselben Cluster-Map. Zweck: 1. **Entwicklungsreferenz** neben den Rechtsquellen-Übersichten (`RECHTSQUELLEN-*.md` im Schwesterprojekt) für die Personalverrechnungs- module (`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) | | Rohquellen kv/ris/rj | `.firecrawl/kv-portal/wko-kv/docs/*.html` · `.ris/*.md` · `.rechtsprechung/{originale,gesetze}/*.md` | **nein** (gitignored) | WKO-KV-Seiten, RIS-Gesetzes-Auschnitte sowie Rechtsprechung/Normentexte | | Layer 2 — Einträge | `dokumente/.md` (Lexis) · `dokumente/wiku_.md` (WIKU) · `dokumente/kv_.md` (WKO-KV, **generiert**) · `dokumente/ris_.md` (RIS, **generiert**) · `dokumente/rj_.md` (Rechtsprechung, **generiert**) | **ja** | Kuratierung in eigenen Worten (lb/wk) bzw. quellentreue Konvertierung (kv/ris/rj, Tool-Output) | | Registry | `wissensbasis/kb.json` | **ja** | **generiert** aus dem Layer-2-Frontmatter aller Quellen (`tools/build_registry.py`) | | Kataloge kv/ris/rj | `tools/catalogs/kv_catalog.json` · `ris_catalog.json` · `rj_catalog.json` | **ja** | eingefrorene ID-Zuweisungen (nur Metadaten, keine Quelltexte) | Volltexte der lizenzierten Quellen (Lexis/WIKU) sind Lizenzinhalt und bleiben wie `.firecrawl/` und `.firecrawl/ris/gesetze/` lokal + unversioniert. Nur die Layer-2-Einträge werden committed. **Lizenz-Sonderfall der neuen Quellen (Entscheidung 2026-09-15):** Gesetze sind amtliche Werke (§ 7 UrhG) und WKO-KV-Texte müssen zahlenexakt bleiben (Lohntabellen) — daher sind `kv_*.md`/`ris_*.md` **quellentreu generiert** (Konverter `tools/ingest_sources.py`), NICHT in eigenen Worten kuratiert, und sie sind **Tool-Output**: keine manuelle Bearbeitung, bei Änderungen neu generieren. Die WKO-Seiten selbst und die `.firecrawl/ris/gesetze/`-Dateien bleiben unversioniert; die Einträge tragen ihre Quelle (`source.html`/`source.text`) und die WKO-/RIS-URL im Body. **Rechtsprechung (Batch rj 1, 2026-09-15):** Die Lieferung unter `.rechtsprechung/` dokumentiert für OGH/VwGH/VfGH überwiegend RIS-OGD- Provenance. Ihre Layer-2-Dateien `rj_*.md` werden deshalb quellentreu aus den lokalen Markdown-Dateien generiert und behalten Gericht, Datum, Geschäftszahl, Normen und Quellenpfad. Rechtssätze, Volltexte, zitierte Normauszüge und EuGH- Fälle sind jeweils im `chapter`/`work` unterscheidbar. Die fünf EuGH-Dateien sind ausdrücklich als **„Textwiedergabe lexetius, nicht amtlich“** markiert und nennen zusätzlich die amtliche EUR-Lex-URL, soweit geliefert. Die Publikations- und Lizenzfreigabe der quellentreuen Rechtsprechungs-Volltexte ist vor einem Commit bewusst zu bestätigen; sie wird nicht aus der allgemeinen Ausnahme für amtliche Gesetzestexte abgeleitet. Die `overviews/` (1 820 Bundesland-Übersichts- seiten von WKO.at) werden derzeit **nicht** aufgenommen (Redundanz zu `docs/`). ## 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 (`tools/build_registry.py`, in diesem Repo). ## 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 | | `kollektivvertraege` | Kollektivverträge (WKO.at — Lohn-/Gehaltsordnungen, KV-Texte je Branche) | `kvt` | kv-kvt-001 … 614 | 614 | | `zivilrecht-normen` | Zivilrechtliche Normen (ABGB, IPRG, KSchG, ZPO) | `zvr` | ris-zvr-01 … 04 | 4 | | `arbeitsvertragsrecht` | Arbeitsvertragsrecht (AVRAG) | `avr` | ris-avr-01 | 1 | | `arbeitsgerichtsbarkeit` | Arbeits- und Sozialgerichtsbarkeit (ASGG) | `agg` | ris-agg-01 | 1 | | `lohnsteuer` | Lohnsteuer & Einkommensteuer (EStG) | `lst` | ris-lst-01 | 1 | | `abgabenverfahren` | Abgabenverfahren (BAO) | `abo` | ris-abo-01 | 1 | | `normen-sonstige` | Weitere Gesetze und Verordnungen (ArbIG, RStDG, StGB, StPO, UGB) | `nso` | ris-nso-01 … 05 | 5 | | `rechtsprechung` | Rechtsprechung (OGH, VwGH, VfGH, EuGH) und zitierte Normen | `rjs` | rj-rjs-001 … 348 | 348 | Weitere RIS-Gesetze liegen auf der bestehenden Cluster-Map (`ris-url-01` neben `lb-url-*`, `ris-asc-01` neben `lb-asc-*`, …; je Gesetz ein `ris--`-Eintrag, mehrere Gesetze teilen sich ein Cluster fortlaufend — Zuordnungstabelle `LAW_MAP` in `tools/kb_common.py`). **1 622 Einträge in 77 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); WKO-KV: 614 Einträge im Cluster `kollektivvertraege` (Batch 1); RIS: 59 Gesetze, verteilt auf bestehende Cluster plus den neuen Rechtsgebiet-Clustern (Batch 1); Rechtsprechung: 320 RIS-OGD-Entscheidungen/ Rechtssätze + 5 nichtamtliche EuGH-Textwiedergaben + 23 zitierte RIS-Normauszüge (Batch 1, gemeinsamer Cluster `rechtsprechung`). Frontmatter-`topic` = beschreibender ASCII-Slug, das ID-Präfix (`atz`, `leh`, `kvt`, …) nur im `id` selbst; die Registry (`tools/build_registry.py`) prüft die Konsistenz beider über die Cluster-Map (bestehende Präfixe aus `kb.json` abgeleitet, neue Cluster in `tools/kb_common.py`). IDs werden beim Intake vergeben und danach **eingefroren** (`tools/catalogs/kv_catalog.json`, `ris_catalog.json`); neue Dokumente hängen hinten an, Nummern ausscheidender Dokumente werden nie wiederverwendet. Dateinamen: Layer-2 = Layer-1-Slug (Umlaute fallen auf Basisbuchstaben — `uberblick`, `beschaftigung`; ß → `ss`), WIKU mit `wiku_`-Präfix, WKO-KV mit `kv_`-Präfix und RIS mit `ris_`-Präfix und Rechtsprechung mit `rj_`-Präfix (Kollisionsschutz im gemeinsamen `dokumente/`). ## Kurationskonventionen (verbindlich) 1. **Sprache:** deutsch, Fachsprache wie im Original; Metadaten-Werte UTF-8. `topic`/`tags` ASCII. 2. **Eigene Worte (lb/wk):** Kuratierung ist keine Volltextkopie (Lizenz!). Wörtliche Zitate nur kurz und mit Stand gekennzeichnet. **Ausnahme kv/ris (2026-09-15):** quellentreu generierte Einträge (`tools/ingest_sources.py`) — Gesetze sind amtliche Werke, KV- Lohntabellen müssen zahlenexakt bleiben; diese Dateien sind Tool-Output, keine manuelle Kuratierung. 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. Intake über das Schwesterprojekt-Tool (`build_lexis_kb.py --extract --source lexis`, im Repo `personalverrechnung`) oder kuratieren wie bisher von Hand; Layer-1 + Katalog neu, bestehende IDs bleiben fix. **WIKU:** 1. Neue PDFs nach `.wiku/` kopieren (Dateinamen der Lieferung beibehalten; Stand aus „Stand YYYY-MM“/Heft-Monat, sonst Impressum). 2. Kuratieren wie bisher (Layer-2-Einträge `wiku_.md`). **WKO-Kollektivverträge (kv):** 1. Neue Seiten nach `.firecrawl/kv-portal/wko-kv/docs/` (Crawl via Firecrawl; eine Seite = ein KV-Dokument). 2. `python3 tools/ingest_sources.py --source kv` — konvertiert HTML → Layer-2 (`kv_.md`), IDs aus `tools/catalogs/kv_catalog.json` (eingefroren, neue hängen an). `--dry-run` zum Vorschauen. **RIS-Gesetze (ris):** 1. Neue Gesetze nach `.firecrawl/ris/gesetze/` (Markdown; nur die im Lexis360-Bestand zitierten Paragraphen). 2. **Zuerst** `LAW_MAP` in `tools/kb_common.py` um das Gesetz ergänzen (topic, chapter, laufende Nummer im Cluster) — die ID encodiert das Cluster, danach nie ändern. 3. `python3 tools/ingest_sources.py --source ris`. **Rechtsprechung (rj):** 1. Neue Markdown-Dateien nach `.rechtsprechung/originale/` (Entscheidungen, Rechtssätze, EuGH-Textwiedergaben) oder `.rechtsprechung/gesetze/` (zitierte Normauszüge) legen; XML-Originale nicht separat intaken. 2. Provenance und Publikations-/Lizenzfreigabe der gelieferten Volltexte vor einer Versionierung prüfen; EuGH-Wiedergaben bleiben als nicht amtlich gekennzeichnet. 3. `python3 tools/ingest_sources.py --source rj` — IDs aus `tools/catalogs/rj_catalog.json` bleiben eingefroren; lange Volltexte werden an Absatzgrenzen in H2-Chunks geteilt. **Alle Quellen gemeinsam:** 3. `python3 tools/build_registry.py` — validiert das gesamte Layer-2 (Schema, topic↔Präfix, Batches, cross_refs) und schreibt `kb.json` + `INDEX.md` neu (beide generiert, nie manuell editieren). 4. Reindex + Eval gegen die Gates (Skill `pv-rag-agent`: Recall@8 > 0,9, Zitier-Präzision): `python3 -m agent.cli ingest`, dann `python3 -m agent.cli eval [--answers]`. 5. `agent/README.md` und `.agents/MEMORY.md` pflegen. ## 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).