mirror of
http://100.103.83.12:3003/fegger/odoo-at-payroll.git
synced 2026-09-17 08:52:45 +00:00
[ADD] personalverrechnung: WIKU knowledge base (Batch 1)
First WIKU Personal intake (30 licensed publications, source Stands 2023-07 to 2026-09), integrated into the shared curated corpus per the integration model of 2026-09-10: one corpus, the work field distinguishes the sources, WIKU entries use the wk-<prefix>-<nn> id space on the existing cluster map, Layer-2 filenames carry the wiku_ prefix. The corpus grows to 601 curated entries in 69 clusters. - 30 publications: 13 Fachbroschueren, 3 Arbeitsunterlagen, 2 Casebooks (geloesste LV-Praxisfaelle) and the twelve 2026 issues of the periodical 'WIKU Personal aktuell' (new cluster akt with wk-akt-01..12); second new cluster gwe for the trade-specific brochures (Gueterbefoerderungsgewerbe, Gastgewerbe); the remaining 16 publications sit on existing clusters (wk-pfa-01 next to lb-pfa-*: vor, kar, bnd, lvr x2, dvh, bes, rei, gsf, grz, ins, lsd, pfa, azg, sac, son) - tooling: multi-source extension of build_lexis_kb.py (--source lexis|wiku|all for --extract and --check, --registry over both sources); WIKU metadata comes from an explicit WIKU_PINS table (slug, cluster, stand, work, chapter, title) instead of Lexis breadcrumbs - a PDF without a pin is a hard warning and is never extracted; WIKU page-counter footer lines dropped (WIKU_PAGE_RE); fix in curated_slugs_for(): the .md suffix is now stripped when the wiku_ prefix is removed, so the wiku --check completeness gate passes - curation: the twelve periodical issues were curated in six parallel agent groups, each grounded only in its Layer-1 text with a self-check on frontmatter/structure/cross-refs; the 19 brochure entries from the prior session were re-validated centrally; 30/30 green - registry and check green: lexis 571/571 and wiku 30/30 curated, 0 problems; kb.json and INDEX.md regenerated (601 entries, 69 clusters, sources and per-source batch counters recorded) - wissensbasis README: two-source corpus documentation (layers, frontmatter schema incl. WIKU works and id spaces, cluster table with akt/gwe, per-source update cycle) - flagged for RIS (documented in the entries): wk-akt-01 par. 124b 'z 440/492' (pre-BGBl stand of 2026-01) and the wk-akt-07 Mitarbeiterpraemie citation contradiction 'z 478 vs z 477' (z 478 lit f binding); the Feiertagsarbeitsentgelt/UEStd repair is resolved via BGBl I 43/2026 in wk-akt-04 and matches the binding legal position; new conflict family wk-akt-11 (SV employee shares on par. 68 benefits caught by the par. 20 Abs 2 Z 1 EStG deduction ban, 'Formel 7' at risk); wk-akt-10 free-contractor DN rate 17.57% vs arithmetic 17.07% without WF; wk-akt-07 Wien WF 1.5% (lb-lnk-05 family); ALV-Entfall draft vs final act (wk-akt-03 vs 04); 2027 SV values provisional (wk-akt-05/06)
This commit is contained in:
@@ -1,7 +1,12 @@
|
||||
# Wissensbasis „Lexis Briefings Personalrecht" (Lexis360-Exporte)
|
||||
# Wissensbasis Personalverrechnung (Lexis360-Exporte + WIKU Personal)
|
||||
|
||||
Kuratierte Wissensbasis aus den LexisNexis-Briefings des Werks
|
||||
*Lexis Briefings Personalrecht* (Export aus Lexis 360). Zweck:
|
||||
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
|
||||
@@ -13,33 +18,37 @@ Kuratierte Wissensbasis aus den LexisNexis-Briefings des Werks
|
||||
|
||||
| Schicht | Pfad | Versioniert? | Inhalt |
|
||||
|---|---|---|---|
|
||||
| PDF-Exporte | `.lexis360/Lexis360_*.pdf` | **nein** (gitignored) | lizensierte Original-PDFs |
|
||||
| Layer 1 — Volltexte | `.lexis360/md/<slug>.md` | **nein** (gitignored) | vollständiger Extraktionstext + Metadaten-Frontmatter |
|
||||
| Katalog | `.lexis360/md/_catalog.json` | **nein** (gitignored) | geparste Metadaten aller Quellen (Slug ↔ ID ↔ Stand ↔ Cluster) |
|
||||
| Layer 2 — kuratierte Einträge | `personalverrechnung/wissensbasis/dokumente/<slug>.md` | **ja** | Kuratierung in eigenen Worten (Schema unten) |
|
||||
| Registry | `personalverrechnung/wissensbasis/kb.json` | **ja** | **generiert** aus dem Layer-2-Frontmatter (`--registry`) |
|
||||
| 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-Abonnement) und bleiben wie
|
||||
`.firecrawl/` lokal + unversioniert. Nur die Kuratierung (eigene Worte,
|
||||
kurze Zitate mit Quellenachweis) wird committet.
|
||||
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>, eingefroren
|
||||
batch: 1 # Beschaffungs-Batch (manuell je Import)
|
||||
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"
|
||||
chapter: "Beschäftigungsverhältnisse" # Breadcrumb-Kapitel der Quelle
|
||||
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"
|
||||
stand: 2026-01 # ISO-Monat des Quell-Stands
|
||||
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"
|
||||
text: ".lexis360/md/altersteilzeit_uberblick.md"
|
||||
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 (dangling = Fehler)
|
||||
cross_refs: ["lb-atz-09"] # verwandte KB-Einträge (lb↔wk erlaubt; dangling = Fehler)
|
||||
```
|
||||
|
||||
Schlüsselkonvention (Entscheidung D2): **strukturelle Schlüssel
|
||||
@@ -50,7 +59,7 @@ als ASCII-Slugs. Die Frontmatter ist **Single Source of Truth**;
|
||||
`kb.json` wird daraus generiert und schema-validiert
|
||||
(`build_lexis_kb.py --registry`).
|
||||
|
||||
## Cluster (Batch 1–9)
|
||||
## Cluster (Lexis Batch 1–9 + WIKU Batch 1)
|
||||
|
||||
| topic-Slug | Name | ID-Präfix | IDs | n |
|
||||
|---|---|---|---|---|
|
||||
@@ -121,10 +130,17 @@ als ASCII-Slugs. Die Frontmatter ist **Single Source of Truth**;
|
||||
| `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 |
|
||||
|
||||
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). Siebzehn Briefings-Kapitel: „Beschäftigungsverhältnisse“,
|
||||
**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“,
|
||||
@@ -176,18 +192,35 @@ werden nicht transliteriert — `uberblick`, `beschaftigung`).
|
||||
Verweisstelle im Export unvollständig ist.
|
||||
9. Vorbild/Qualitätsmaßstab: `dokumente/altersteilzeit_uberblick.md`.
|
||||
|
||||
## Update-Zyklus (neue Lexis360-Batches)
|
||||
## 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` hochsetzen, dann
|
||||
`--extract` ausführen: Layer 1 + Katalog neu; bestehende IDs bleiben
|
||||
fix, neue Dokumente erhalten neue IDs + neue Batch-Nummer.
|
||||
3. Neue Layer-2-Einträge kuratieren (Konventionen oben).
|
||||
4. `--registry` (generiert/validiert `kb.json`), danach `--check`
|
||||
(Layer-1↔Layer-2-Vollständigkeit, Quelldateien vorhanden).
|
||||
5. `INDEX.md` aktualisieren, `personalverrechnung/RUNBOOK.md` und
|
||||
`.agents/MEMORY.md` pflegen.
|
||||
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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user