Seventh Lexis 360 intake (97 briefings, source Stands 2026-06 to
2026-08), extending the corpus to 374 curated entries in 56 clusters.
This batch opens five further briefings chapters ('Urlaub &
Karenzierung', 'Schwangerschaft & Elternkarenz', 'Krankenstand &
Arbeitsunfall', 'Dienstverhinderung', 'Ausserhalb des Betriebs-
standortes'; ten chapters in total now).
- 16 new clusters: urlaub (14), krankenstand (9), grenzeinsatz grz
(8: Ausland/Entsendung/Standortverlegung), karenzsonderformen
(7: Bildungs-/Hospiz-/Pflegekarenz), elternteilzeit (6), karenz
(6), kinderbetreuungsgeld (6), praesenzdienst (6), telearbeit
(6), mutterschutz msf (5: Schutzfristen/Wochengeld), dienst-
verhinderung dvh (4, incl. Streik), arbeitskraefteueberlassung
(2, AUEG), entgeltfortzahlung an Feiertagen efz (2), papamonat
(2), pflegefreistellung (2), wiedereingliederung (2); existing
clusters extended: arbeitnehmerschutz 12 -> 16 (Arbeitsunfall/
Berufskrankheit), schwangerschaft 1 -> 7
- documented gaps closed: Bildungskarenz (kzs), Abfertigung Alt
(lb-kar-01), Entgeltfortzahlung an Feiertagen (lb-efz-01/02),
Gefahrenevaluierung und Arbeitsverbote (lb-sch-04), Telearbeit
(tel cluster)
- three truncated duplicate export filenames (auslandstatigkeit_
sv_tatigkeit_in x3) renamed explicitly before extraction
- cross-batch reconciliations: lb-sch-01's Gefahrenevaluierung gap
now fully closed (-> lb-sch-04), lb-tzb-02's open Bildungskarenz
reference resolved (-> lb-kzs-01; terminology conflict with the
tzb briefing flagged for RIS)
- frontmatter fixes: seven entries of a stalled first curation
pass used invented topic values (papamonat-und-familienzeit-
bonus, geburt-schutzfrist, wochengeld) -> normalized to the
schema values (familienzeit, schutzfrist)
- flagged: asc-15 worked example draws a 42-day contingency
(1st-service-year pattern) against its own stage table (56
days), aug paragraph garble ('11503/1503 Abs 30 ABGB', likely
1153 Abs 30), grz-08 OGH follow-duty case law vs. explicit
source criticism, efz-01 36-hours compensatory time off,
dvh-04 pay claims of non-striking employees unsettled per
source
- note: the first curation pass stalled at 82/97 (no progress
from 14:43); the remaining 15 entries (asc-13..16, dvh/efz/pfl,
grz-08, aug) were re-run by three fresh parallel agents after
the user canceled the stuck one
Sixth Lexis 360 intake (41 briefings, source Stands 2025-06 to
2026-08), extending the corpus to 277 curated entries in 40 clusters.
This batch opens two further briefings chapters, 'Arbeitnehmer-
schutz' and 'Verhaltenspflichten' (five chapters in total now).
- 7 new clusters: arbeitnehmerschutz (12, ASchG incl. Gefahren-
evaluierung, Arbeitsstätte/-mittel/-stoffe, Arbeitsunfall,
BauKoG, Bildschirmarbeit, HitzeschutzVO, Strafbarkeit),
dienstnehmerhaftung (7, incl. Mankohaftung), gleichbehandlung (7,
incl. Einkommensbericht/Gehaltsoffenlegung), firmeneigentum (6,
Sachnutzung Dienstwagen/PC/Telefon/Internet), weisungen (3),
schwerarbeit (5, joins the Arbeitszeit chapter), mobbing (1)
- parser hardening: breadcrumb wrap detection extended to wraps
after the first separator dot ('... Evaluierung |\nAutor ...')
- one fossil id purged (lb-mip-05 -> lb-swa-05, keyword-fallback
misroute caught by the prefix guard)
- cross-batch reconciliations: lb-beh-04's 'Belaestigung' gap
closed (-> lb-glb-02/03/07), lb-sch-01's 'Gefahrenevaluierung
und Arbeitsverbote' partially closed (-> lb-asc-01); glb-07 vs
beh-04 divergence on the Aufstiegsschaden measure documented
for RIS clarification
- flagged: GKV citation 2020 (asc-01) vs 2021 (asc-07), 3-DHG
limitation dispute, open SV/payroll-tax treatment of deducted
damages amounts (dnh), Schwerarbeit Teilpension 2026 without
norm citation, ASchV/NSchG not yet covered in RECHTSQUELLEN
- note: two curation agents were canceled mid-run and their
remaining scope (asc-04..12, glb/mob) was re-run by fresh
agents; the three partial asc entries were verified complete
before acceptance
Validated: --registry 277 entries/40 clusters, --check 0 problems,
structural scan, py_compile.
Fifth Lexis 360 intake (31 briefings, source Stands 2025-12 to
2026-07), extending the corpus to 236 curated entries in 33 clusters.
This batch opens the third briefings chapter 'Arbeitszeit' (AZG
working-time law, the structural backbone for Work-Entry-based
payroll).
- 8 new clusters: arbeitszeitgrenzen (4), arbeitszeitmodelle (7,
incl. Kurzarbeit and Gleitzeit/Schicht), meldepflichten (4),
nachtschwerarbeit (3), ruhezeiten (4), schwangerschaft (1),
uberstunden (4), zeiterfassung (3); plus lb-jug-08 appended to
the jugendliche cluster
- one URL-encoded export filename (sharp-s) normalized; no
duplicates; no fossil ids this time - the specific-first keyword
ordering held
- cross-batch reconciliation: three procurement gaps closed and
back-referenced - 'Jugendliche - Arbeitszeit' (lb-jug-04 and
lb-jug-05 -> lb-jug-08) and 'Aufzeichnungspflicht, Formen der
Zeiterfassung' (lb-jug-05 -> lb-zer-01/02)
- RECHTSQUELLEN cross-checks: 68-EStG overtime free limits 2026
(15 UStd/170 EUR) confirmed via lb-zus-07; the Kurzarbeit/
Lehrlinge corpus conflict is now triangulated - lb-azm-05
(2026-07) sides with lb-leh-07 (apprentices excluded since
2023) against lb-leh-11's '100%'
- flagged batch-5 points: NSchG contribution 2026 (3.8%) cited
without BGBl evidence (lb-nsc-01), 'para 7 Abs 1' vs 'Abs 6 AZG'
citation divergence for the overtime refusal right
(lb-ues-01/04), MAV-START EU conflict (lb-rhz-03), KAB-Richtlinie
computing the 39.05% partial amount with outdated SV rates
(lb-azm-06), 12-Abs-2a-vs-12a designation conflict (lb-zer-01)
- batch-6 candidates updated in the RUNBOOK (Entgeltfortzahlung an
Feiertagen, Motivkuendigung, Gefahrenevaluierung u. a.);
README cluster table extended to batches 1-5 incl. the third
chapter
Validated: --registry 236 entries/33 clusters, --check 0 problems,
structural scan over all 236 curated docs, py_compile.
Fourth Lexis 360 intake (54 briefings after removing one identical
re-download, source Stands 2026-06 to 2026-08), extending the corpus
to 205 curated entries in 25 clusters. Focus of this batch: the
enforcement and employer-contribution side of payroll (all in the
'Entgelt: Anspruch & Abrechnung' chapter).
- 6 new clusters: lohndumping (13, LSD-BG incl. Sicherungsmittel and
cross-border posting), lohnpfandung (14, EO garnishment mechanics),
gplb (7), lohnnebenkosten (7, FLAF-DB/DZ/IESG/AK-Umlage/WBF/KommSt),
lohnverrechnung (9, L16/Lohnzettel, mBGM, 109a, Aufrollung,
Aufrechnung, Darlehen), nachzahlungen (4)
- cross-batch reconciliation: 'Darlehen und Vorschuesse'
(lb-sac-13 -> lb-lvr-02) and 'Lohnzettel und Beitragsgrundlagen-
nachweis' (lb-sac-21 -> lb-lvr-05) dangling references closed,
cross_refs updated
- tool hardening: assign_ids returns mismatch warnings instead of
appending to an out-of-scope variable (latent NameError that only
fired when a mismatch actually occurred), keyword fallback
reordered specific-before-generic (batch-4 lesson: generic
'zuschlag' stole iesg_zuschlag before the topic map was pinned),
7 fossil ids from the unpinned pass purged and reassigned
- RECHTSQUELLEN cross-checks (lnk cluster): FLAF-DB 3.7%, KommSt 3%,
IESG 0.10%, WBF (other provinces 1%), Freibetrag staffel confirmed;
flagged: lb-lnk-02 states the DB Freibetrag condition INVERTED vs
the verified text (correct staffel evidenced via lb-lnk-03),
lb-lnk-05 WBF Wien 1.5% vs 1.0% (RIS clarification needed), plus
pfa Grundbetrag naming conflict (lb-pfa-03/05), Existenzminimum 2022
(500/515 EUR, lb-pfa-12/14), mutilated statute citation in
lb-lsd-13 (RIS check), 124b citation variants in the corpus
(Z 440/Z 449 vs verified Z 476 lit c idgF BGBl I 43/2026)
- batch-5 candidates updated in the RUNBOOK (pfändungsrechtliche
Behandlung von Sonderzahlungen, Rueckzahlung von Darlehen u. a.);
README cluster table extended to batches 1-4
Validated: --registry 205 entries/25 clusters, --check 0 problems,
structural scan over all 205 curated docs, py_compile.
Third Lexis 360 intake (44 briefings, source Stands 2025-06 to
2026-08), extending the corpus to 151 curated entries in 19 clusters.
All batch-3 topics sit in the 'Entgelt: Anspruch & Abrechnung'
chapter - this is the most payroll-core batch so far (SZ tariff
mechanics, surcharges, commuter allowances, travel expenses, BMSVG).
- 6 new clusters: reisekosten (9), pendlerforderung (9),
vorsorgeleistungen (11), zuschlage (8), sonderzahlungen (4),
geschenke (2); plus lb-ent-11 (Ausbildungskosten-Rueckerstattung)
appended to the entgelt cluster
- two URL-encoded export filenames (%c3%9f = sharp-s) normalized
before intake
- cross-batch reconciliation: lb-prm-04's dangling reference to
'Sonderzahlungen - Steuer' resolved against the new lb-son-04
(and lb-son-03 for the SV side); cross_refs updated
- curated entries cross-checked against the verified legal inventory
(RECHTSQUELLEN-Privat.md): 67-EStG staffel, 68-EStG free limits,
BMSVG core values confirmed; deviations flagged, notably the
124b-Ueberstundenmassnahme 2026 citation in lb-zus-07 - the
briefing cites 'Z 440 lit c'/'BGBl I 4/2026' while the verified text
is Z 476 lit c idgF BGBl I 43/2026 (Aufrollung bis 30. 9. 2026),
and lb-ent-01's blanket 120 EUR for 68 Abs 2 (verified: 170 EUR
2026)
- further flagged points: lb-pen-09 table value 3,672 EUR (likely
print error, arithmetic 2,448), PendlerVO-vs-BMF-FAQ divergence
(lb-pen-01), 183-day rule Finanz vs UFS (rei), teleworker trips
Finanz vs BFG/VwGH (lb-rei-07), SV status of staff participation
foundations (lb-vor-01), customer gifts without SV value limit
(lb-ges-02)
- batch-4 candidates updated in the RUNBOOK (Abfertigung Alt,
Corona-Kurzarbeit u. a.); README cluster table extended to
batches 1-3
Validated: --registry 151 entries/19 clusters, --check 0 problems,
structural scan over all 151 curated docs, py_compile.
Second Lexis 360 intake (52 briefings, source Stands 2025-06 to
2026-08), extending the corpus to 107 curated entries in 13 clusters.
Covers the second briefings chapter 'Entgelt: Anspruch & Abrechnung'
and further Beschaeftigungsverhaeltnisse topics.
- 7 new clusters: behinderte (4), entgelt (10), geschaftsfuehrer (5),
leitende-angestellte (1), pramien (6), sachbezuege (21), vorstand
(4); plus lb-leh-16 (Weiterbeschaftigung nach Ende der Lehrzeit)
appended to the frozen lehrlinge sequence
- tool hardening: batch values validated as integers 1..N (multi-batch
operation), dynamic batch labels in kb.json (batches summary) and
INDEX header, and a new --extract warning when a frozen id's prefix
no longer matches its cluster - this caught the lb-jug-08 fossil from
the unpinned first pass, corrected to lb-sac-21 before any curation
referenced it
- removed one duplicate browser export (geschaftsfuhrer_arbeitsrecht
(1).pdf, identical extracted text)
- corpus conflicts and open points flagged in the entries: Klein-
wohnungsgrenzen lb-sac-09 vs lb-sac-10, Pensionisten-Beguenstigung
lb-sac-02 (LStR Rz 104 divergence), EUR 14.53 Parkplatz without
SV/LSt categorization in the source (lb-sac-18), incentive trips
only at LStR-Rz level (lb-sac-16), simplified 6% tariff in lb-prm-04
(the verified 67-EStG staffel in RECHTSQUELLEN-Privat.md governs)
- dangling briefing references recorded as batch-3 candidates in the
RUNBOOK (Bildungskarenz, Telearbeitspauschale, Personalrabatte bis
2015, Lohnzettel/BGN u. a.)
- README cluster table extended to batches 1-2; RUNBOOK/MEMORY updated
Validated: --registry 107 entries/13 clusters, --check 0 problems,
structural scan over all 107 curated docs, py_compile.
Move the licensed PDF exports and the Layer-1 full texts from the
project root into the dot directory .lexis360/, keeping the root
listing to versioned content plus the tool checkouts.
The location also encodes provenance, distinct from .firecrawl/:
.lexis360/ holds user-supplied licensed exports that cannot be
re-fetched by an agent - if missing, stop and ask the user
(documented in MEMORY), whereas .firecrawl/ remains the home of
reconstructible web fetches.
- plain move of the unversioned directory (batch2/ subfolder spotted
and left untouched for its own intake run)
- .gitignore, tool constants/messages, source.pdf/source.text
frontmatter paths of all 55 curated entries, README/RUNBOOK/MEMORY
mentions; kb.json/INDEX.md regenerated
- batch 2 (53 PDFs) recorded in MEMORY as staged in .lexis360/batch2/
Validated end to end: --extract 55/55 with stable ids, --registry
55 entries/6 clusters, --check 0 problems (every frontmatter path
resolves at the new location), no stale path references remain.
Curated knowledge base from the first batch of Lexis 360 PDF exports
(LexisNexis "Lexis Briefings Personalrecht", 55 documents, source
Stands 2024-03 to 2026-09). Purpose: development reference alongside
RECHTSQUELLEN-*.md and a retrieval-ready corpus for a future
question-answering copilot.
Licensing split (decision D1): the PDF exports and the extracted full
texts stay local and unversioned (Lexis360/ gitignored, like
.firecrawl/); only the curation in own words with short quotes and
source citations is versioned.
- wissensbasis/dokumente/: one curated entry per briefing (55) with
approved frontmatter (frozen lb-<cluster>-<nn> ids, English
structural keys, German values, stand YYYY-MM, ASCII topic/tags
slugs) and sections Zusammenfassung, Kernwerte & Fristen (Stand
marked), Rechtsgrundlagen (only citations actually in the source,
verified/plausible/open marks), Payroll-Relevanz (Odoo), Verweise
- clusters: altersteilzeit 15, lehrlinge 15, jugendliche 7,
ferialpraktikanten 4, beschaftigungsformen 8, teilzeit 6
- kb.json + INDEX.md: generated from the frontmatter by --registry
(single source of truth, schema-validated)
- tools/build_lexis_kb.py: stdlib-only pipeline - --extract
(pdftotext, breadcrumb/stand parsing incl. dossier-style exports
with wrapped breadcrumbs), --registry (frontmatter validation:
required keys, id pattern, id prefix vs topic, stand format,
dangling cross_refs), --check (layer 1 <-> layer 2 completeness);
ids are frozen across batches, numbers never reused
- RUNBOOK.md: batch intake workflow, validation steps, known
limitations
Corpus contradictions flagged in the entries (not silently resolved):
AMS replacement rate for blocked Altersteilzeit 2026 (lb-atz-07 28.5%
vs lb-atz-09/12 27.5%), DAG limit 2023 (751.36 vs 751.37 EUR),
Kurzarbeit for Lehrlinge (lb-leh-11 vs lb-leh-07); lehrlinge cluster
partly older Stands (2024-03/2025-08).
Validated: extract 55/55, registry 55 entries/6 clusters, check 0
problems, structural scan of all 55 curated entries, py_compile.
Approved implementation plan for l10n_at_hr_payroll_private (M0,
decisions D1-D4) and the GP0 legal-source inventory
RECHTSQUELLEN-Privat.md, verified against primary sources (RIS,
jusline):
- FLAF-DB § 41 FLAG: 3.7% for 2026, 2.7% from 2028 (GesNr 10008220);
KommStG 1993: 3% (GesNr 10004841)
- 13th/14th salary taxation runs via § 67 EStG (Jahressechstel fixed
rates, control sixth § 77 Abs 4a); § 68 covers allowances/surcharges
only - plan citation corrected, also fixes the legal basis of the
Bgld open point P9
- Urlaubsentgelt is § 6 UrlG (§ 9 repealed since 2001) - corrected
- EOSB: no Monatsentgelt staffel; § 15 BMSVG pays out the Anwartschaft
with § 14 Abs 2 Verfügungsausschluss matrix - GP5 design confirmed
- 2026 overtime measure: first 15 hours, max 170 €/month
(§ 124b Z 476 lit c BGBl I 43/2026)
Plan section 8 items 3-6 and UrlG (8) marked verified; private module
skeleton README, MEMORY, CHANGELOG and payroll skill updated (§ 67
citation fix, RECHTSQUELLEN-Privat.md as required source).
Cross-checked catalogue of all currently valid Austrian collective
agreements, per the source policy: main source = the responsible
employer-side chamber, kollektivvertrag.at (OEGB-Verlag) as complete
cross-check baseline.
- oegb/: 593 variants from kollektivvertrag.at with full consolidated
texts (JSON primary format, Markdown for review/diff) plus
catalog.json/.csv; fetched via the portal's JSON servlets
(dashboard/structure/slices/topics), resumable
- wko/: 614 current documents from the WKO KV database (1,820 branch
overviews across 10 regions) with texts and catalog; match-report
against the baseline: 407 pairs, 30 date disagreements flagged
- chambers/chambers.json: curated registry of chamber-side sources and
publication gaps (GOeD member-only, RA/Notariat not public, OCR-less
scan PDFs, missing hospital-doctors KV)
- kv-catalog.json/.csv: merged catalogue, 768 entries, chamber
classification, main_source, cross_check status, manual_review lists
- tools/fetch_kv_portal.py / fetch_wko_kv.py / build_kv_catalog.py:
stdlib-only fetchers and merge step, each with a --refresh diff mode
- RUNBOOK.md: update cycle for keeping the library current (annual,
tied to the Wartung rhythm and KV rounds)
Lohntafel PDFs are linked but not downloaded; wage tables contained in
the KV texts are converted. No Odoo module changes.
Analyse des ÖGK-TASY-Exports (Stichtag 2026-07-01, 5 MB): tarife/tarifsets/
tarifgruppen/beschaeftigtengruppen-Kette mit DN/DG-Anteilen je Zweig
(KV/PV/AV/UV/IE/DG/AK/WF/BV), bbwerte in Cent mit Gültigkeit; verifizierte
Deckung mit dem SV-Werte-Report 2026 (GFG 551,10 EUR, HBG SZ 13.860 EUR,
KV 3,87/3,78, AV 2,95/2,95). Plan: hr.rule.parameter bleibt alleiniger
Wertespeicher (Engine-Mechanik, Konsum via payslip._rule_parameter);
Seed 2026 per Generator mit Herkunftsnachweis + jährlicher
TASY-Import-Wizard (stichtagsbasierte Auflösung über die Gruppenkette,
Preview-Differenz mit Plausibilitätswarnung, explizite Bestätigung) +
Mapping-Tabelle TASY-Code/Zweig -> Parameter. Nicht in TASY: öffentlicher
FLAF-DB (§ 49a Abs 8/9, AP0/RIS), Lohnsteuer, KommSt. Offene Punkte
(HBG x30-Konvention, AMPFG-Staffelauflösung, Commit der 5-MB-Quelldatei)
im Plan dokumentiert; Freigabe-Antrag gestellt.
Katalogmodell nach Implementierungsplan AP1 (freigegeben 2026-09-09):
- ``gemeinde.payroll.entlohnungsgruppe`` (Code, Schema, §, Bundesland,
Vorrückungszeitraum je Gruppe; § 66 Abs 2 GemBG: 4 Jahre, abweichend
2 Jahre für Betreuungspersonen-/Sondergruppen) und
``gemeinde.payroll.entlohnungsstufe`` (Stufe, Monatsentgelt, Stichtag,
unique je Gruppe/Stufe/Stichtag) mit Stichtags-Lookup-Helfern.
- Seed 2026: 35 Entlohnungsgruppen, 433 Werte (Schemata I/gv, II/gh,
Ia/bv, IIa/bh, kb, av sowie §-Gruppen 150c/151/151c), Werte aus der
konsolidierten GemBG-Fassung 09.09.2026 (Wert 1.7.2026 gemäß Artikel 4
RV 0715/XXIII. GP; 2025er-Stichtagsannahme für nicht 2026 angepasste
Tabellen als AP0-Verifikationspunkt dokumentiert). Generator mit
Herkunftsnachweis: personalverrechnung/tools/extract_gembg_katalog.py.
- GemBG-Felder auf der Payroll-Version (hr.version) plus Employee-Spiegel
nach dem Engine-Muster (related/inherited): Entlohnungsgruppe, Stufe,
Besoldungsdienstalter, Vorrückungstermin — berechnet nach § 66 Abs 2
(erster Tag des Monats nach Vollendung weiterer n Jahre BDA), manuell
überschreibbar für Überleitungsfälle (§§ 157a ff).
- Vorrückungs-Wizard (§ 66 Abs 2): fällige Versionen zum Stichtag,
Stufenerhöhung mit Höchststufen-Schutz und Ergebnis-Notification —
bewusst kein stilles Mutieren im Lohnlauf (Dokumentationspflicht).
- Views/Menüs (Personalverrechnung Bgld. unter Payroll), Security auf
hr_payroll-Gruppen, Employee-Form-Anbindung in payroll_group.
- Tests (Rechenfälle AP1): Seed-Werte inkl. Quellenanomalie kb1a/6,
Stichtags-Lookup, Jahresversionierung, Vorrückungstermin (BDA 15.03.2020
-> 1.4.2028), Wizard-Anwendung mit Höchststufen-Skip.
Statische Validierung grün (py_compile, XML, Manifest, CSV-Integrität);
Runtime-Testlauf auf dem Dev-Host (gem360_dev) ausständig, wie im
Implementierungsplan M2 vorgesehen.
60-PLAN-payroll-bgld.md liegt nun als personalverrechnung/PLAN-payroll-bgld.md
neben RECHTSQUELLEN-Bgld.md und der Angebotskalkulation; Dokumentverweise in
beiden Projekt-Dokumenten mitgeändert (Rename, Inhalt unverändert).