Close the premium-at-termination gap of the end-of-employment cycle: an aliquote periodic premium (annual, sales, bonus, 15th payment) whose entitlement period outlasts the termination is covered by § 16 AngG — the pro-rata amount follows the ratio of the elapsed service to the entitlement period, is due for employees regardless of the termination ground (loss clauses void, 9 ObA 82/13v), while performance-linked premiums for workers may validly hinge on non-fault grounds and premiums tied to a specific service (e.g. Bilanzgeld) are not aliquote without the service (lb-end-18). Two routes: PRAM_END (bemessung sonstig) covers premiums paid with the end-of-employment run — a special payment inside the annual sixth at the flat 6 % rate with the 620 EUR free amount and 2 615 EUR free threshold checked by the core, SV as special-payment contributions (KV/PV/AV without AK/WF) against the monthly HBG and the annual SZ cap, fully payroll-levy liable and BV-contributory at the uncapped 1.53 % rate (§ 6 Abs 1 iVm Abs 5 BMSVG). PRAM_END_TARIF (bemessung laufend plus the core l10n_at_s67_abs6_ueberhang flag) covers premiums due at a pre-agreed maturity because their amount only becomes determinable after the entitlement period ends (e.g. balance-sheet premiums): taxed like running pay with the payment-month tariff without touching the annual sixth (§ 67 Abs 10, not a § 67 Abs 8 lit c case per 98/14/0009 = ARD 5483/14/2004) — the SV contribution month rolls back into the termination year via a new payslip field consumed by an extended branch of the existing SV-basis-by-Beitragsmonat override (historical caps and rates, E-MVB 044-01-00-006), while the LSt stays in the payment month. The wizard section previews the § 16 pro-rata amount from the full premium, entitlement period and elapsed service, keeps the payable amount confirmable (KB agreement), requires the service/claim-basis confirmation, enforces the contribution month for the deferred case, and lands the memo on the payslip for the separate Lohnzettel workflow (LStR Rz 911a); the existing manual PRAM rule is untouched. The account matrix posts both rules to 6230. Verified against the original statute text in .ris/ (AngG § 16, BMSVG § 6 Abs 5) and the knowledge-base source lb-end-18; the full SZ roll-forward (storno plus recomputation against the termination year's SZ annual cap) and the mBGM storno/re-transmission remain open in the GP7 payroll-reporting track, and the BV attribution of the deferred premium remains in the payment month as a documented approximation.
Version 19.0.16.0.0 (private)
Complete the termination sequence with the settlement-sum path: comparison sums from court or out-of-court settlements, judgment/decision arrears and dismissal-objection payments are split between the statutory-severance and voluntary-severance rules and the settlement remainder. The remainder (VERGLEICH, bemessung neutral, sv_art laufend) reuses the lit-a/b fifth rule: after deducting the § 62 employee-rate contributions, one fifth stays tax-free capped at one fifth of nine times the monthly HBG (12 474 EUR 2026), and the remaining four fifths run with the payment-month tariff without touching the annual sixth. A new rule flag l10n_at_vergleich_bv marks the part paid for periods with a BV-Kasse entitlement: up to the parameterised cap at_lst_67_abs8_vergleich_bv (7 500 EUR 2026; § 67 Abs 8 is § 33a/§ 124b indexed) it is taxed at the flat 6 % rate with the contributions allocated pro rata (LStR Rz 1102b), while the excess falls back into the fifth rule. Both settlement rules stay payroll-levy liable (§ 41 Abs 4 lit b FLAG exempts only § 67 Abs 3 and 6) and SV-liable in the payment month, with per-Beitragsmonat roll-forward and insurance-period extension remaining documented manual options (lb-end-22, E-MVB 011-02-00-001). Identifiable severance components keep running through the existing statutory and voluntary severance machinery; a settlement expressly agreed as statutory severance is taxed in full under § 67 Abs 3 (VwGH 2013/13/0001 = ARD 6490/20/2016), and pension buy-outs (lit e) and social-plan payments (lit f) are out of scope. The wizard section requires confirmation of the settlement's itemisation and contested-claim status plus the BV entitlement, enforces the BV cap with the excess captured as remainder, and previews the free fifth, tariff basis and 6 % tax; the settlement memo lands on the payslip for the separate Lohnzettel workflow (LStR Rz 911a). The account matrix posts both settlement rules to the provisional 6200/6000 (workers 6000) and the new tax rule to 3540. Verified against the original statute text in .ris/ (EStG § 67 Abs 8 lit a) and the knowledge-base sources lb-end-21/22; KZ positioning of the lit-a tariff parts and their § 291d pot allocation remain documented verification points against LStR Rz 1087 ff.
Version 19.0.15.0.0 (private)
Split the voluntary severance into its privileged part and a tariff remainder on the exit run: the privileged part combines the quarter rule (1/4 of the last twelve months' running pay, capped at nine times the monthly HBG) with the twelfth rule (2/12 to 12/12 by proven service, capped at n × 3 × HBG), reduced per Z 3 by severance already received and the statutory claim due at this termination, all taxed at the flat 6 % rate. The excess runs as its own rule flagged l10n_at_s67_abs6_ueberhang: taxed with the running tariff of the payment month but excluded from the annual sixth, since Z 5 exempts only the Z 1/Z 2 amounts and the excess is a special payment, not running pay. The twelve-month basis aggregates validated prior runs plus own lines, excluding the flagged excess and § 26 Z 4 travel overhang via a dedicated rule flag. Free of SV (§ 49 Abs 3 Z 7 ASVG), payroll levies regardless of the 6 %/tarif split (§ 41 Abs 4 lit b FLAG, § 122 Abs 8 WKG, § 5 Abs 2 lit b KommStG) and BV contributions; the former BV-Anwartschaft exclusion Z 7 is repealed (BGBl I 118/2015). The wizard proposes the rolling basis and the statutory claim, previews Z 1/Z 2/reduction/privileged/excess/tax and requires explicit confirmation against claim-conversion risk. The § 291d EO termination pot nets both severance wage-tax rules; key 260 now includes LST_ABF_FREI. Verified against the original statute text in .ris/ (EStG § 67 Abs 6) and the knowledge-base sources lb-end-12/13/15; KZ positioning of Abs-6 amounts and the excess's § 291d pot allocation remain documented verification points against LStR Rz 1087 ff.
Version 19.0.14.0.0 (private), 19.0.10.0.0 (core)
Pay the pre-2003 AngG severance from the end-of-employment run as its own neutral benefit line: free of SV (§ 49 Abs 3 Z 7 ASVG) and payroll levies, outside the annual sixth, and collected into the § 291d EO termination pot net of its own wage tax. Taxation follows the binding better-of rule of § 67 Abs 3 EStG: multiple-of-method (tariff wage tax on the running monthly wage × the statutory multiple of the payout) versus the flat 6 % rate, applied mandatorily in favour of the employee. The tariff wage tax is captured as a separately confirmed value instead of deriving it from gross pay through the § 62 engine. The wizard enforces § 23a Abs 3 AngG (parental exit needs five uninterrupted years), blocks BMSVG-new contracts except frozen claims and validates AGRD 02/06 against the claim type. The LNK basis subtracts § 67 Abs 3/6 rules only when they actually run in the tax base, the L16 generator reports LST_ABF in key 260 outside 210/220, and result_rules access in the garnishment paths avoids DefaultDictPayroll materialisation. Verified against the original statute texts in .ris/ (AngG §§ 23/23a, EStG § 67 Abs 3).
Version 19.0.13.0.0 (private), 19.0.9.0.0 (core)
Pay the untaken vacation, dismissal compensation, time balances and open advances from one exit run. The vacation replacement splits natively into a running and a special-payment component per § 67 Abs 8 lit d, only the running part extends the mandatory insurance under § 11 Abs 2 ASVG with sequential windows (dismissal compensation first) and daily-value ceilings. Dismissal compensation follows the one-fifth rule of § 67 Abs 8 lit b without raising the annual sixth, stays fully social-insurable by allocation over the notice period and fully subject to payroll taxes. Advances are offset against net pay only (§ 293 Abs 3 EO) and time credits carry the 50 % statutory surcharge without § 68 relief. Verified against the original statute texts in .ris/; § 67 Abs 6 lump-sum payments are deliberately deferred to AP15.
Model commuter declarations as effective-dated L 34 records so monthly changes, L 34/Pendlerrechner evidence and historical payslip reproduction stay auditable. PP enters as an aliquoted § 66 freibetrag of the running tax base while PE joins the annual absetzbetraege, matching the cumulative engine's rollup. Ticket handling follows § 26 Z 5: employer ticket costs reduce PP pro rata (lit i), Werkverkehr is data-driven via the residual route and salary conversion does not block PP/PE. Also register the AP13-A tests that were accidentally left out of the previous commit.
Use Odoo's payroll expense reconciliation flow so documented employee-paid travel expenses remain linked to their payslip and payable settlement. Classify only the excess over the verified domestic tax-free limits as running remuneration, avoiding both unpaid expense reimbursements and double payment.
- lb-krs-08 (Krankenstand-EFZ): die offene ⚠-Marke 'EFZG/AngG-
Stufenabsätze vor Implementierung gegen RIS verifizieren' ist mit
der AP4-Umsetzung erledigt — ✅-Eintrag mit Fundstellen
(EFZG GesNr 10008308 § 2 Abs 1; AngG § 8 Abs 1/2/2a, Stand 2026-09);
lohnsteuerliche Einordnung laufender Bezug bleibt ⚠ (ohne §-Zitat)
- MEMORY.md: AP7-Status (Wochengeld = KV-Leistung, Rollenklärung
gegenüber der Plan-Annahme) und offene Reste
New .agents/skills/opendataloader-pdf/ for structured PDF extraction
(Markdown/JSON with bounding boxes, hybrid AI mode, scanned-PDF OCR)
based on the upstream odl-pdf agent skill (Apache-2.0), with its helper
scripts verify-json.py and hybrid-health.sh vendored under scripts/.
Core disciplines: discover options from the installed --help (flags
drift between releases), batch all inputs into one invocation (JVM per
call), verify the result against intent (zero exit is not success:
auto-triage skips enrichment, fallbacks drop quality, empty pipes),
treat extracted content as untrusted, never commit extracted full
texts of the licensed .lexis360/.wiku sources.
Workflow wiring: AGENTS.md skill selection routes any PDF extraction
to the skill; wissensbasis/SKILL.md cross-references it for difficult
PDFs and spot-checks, with Layer-1 batch intake deliberately kept on
build_lexis_kb.py (frozen IDs and --check depend on the text shape).
ODL 2.5.8 installed in the user venv ~/.local/lib/python (not the
Odoo .venv); all documented flags verified against the installed CLI
on real .lexis360/ sources.
CHANGELOG-GP5-Eintrag; Plan-Abschnitt-10-Update (Fensterkonvention mit Monatsjubiläum statt Folgetag, Wiederzulassung auch bei kurzem Vor-AV, eigene BV-Grundlage, bewusste Nicht-Ziele); MEMORY-Handoff (84/84 auf Wegwerf-DB, GP6/GP7/GP8-Anschlüsse, GP4-Beobachtung SV-SZ/§-49-Abs-3-Z-7 offen, D4-Fund zur hr.version-date_version-Synchronisation).
Doku-Registry zum GP4-Bau nachziehen, damit der nächste Agent-Thread
aus dem Repository booten kann (agent-memory-Skill) und die verbindliche
Rechtslage den verifizierten Stand trägt.
Rechtsauflösung A7-Rest: Die Aufwertung der Geringfügigkeitsgrenze ist
für 2026 gem. § 810 Abs 3 ASVG ausgesetzt — deshalb fehlte der 2026-
Eintrag in der RIS-Anmerkungsreihe; GFG 2026 = 551,10 €, DAG-Grenze
826,65 € (TASY MINGRDAGP1, § 1 DAG als Normzitat per ÖGK-Tarifsystem —
lb-sva-12-'ohne Normzitat' erledigt), §-19a-Selbstversicherung 2026 =
83,49 €/Monat (TASY KVPVBTG19A) mit Direct-Zahlung an den Träger.
KB-KONFLIKTE A7 + konsolidierte 'Nächste Schritte' entsprechend
fortgeschrieben (A3 blockiert nur mehr die Formel-7-Optimierung,
nicht den GP4-Kern).
RECHTSQUELLEN-Privat Abschnitt 4: GFG-Zeile auf 2026-Wert korrigiert,
§-53a-Zeile (UV 6,50 € abgeleitet/Selbstversicherung 83,49 €),
§-2a-DN-Klarstellung, SZ-DG-Sätze, Altersausschaltungen, DAG- und
§-49-Zeilen ergänzt (inkl. Korrektur eines GP0-'geringfähig'-
Tippfehlers bei § 53b).
Plan Abschnitt 10: GP4-Freigabestatus-Update (Umsetzung, Rechtsfunde,
Offenliste GP7/GP8); CHANGELOG-Eintrag M5; MEMORY: neuer Fokus
(GP5 Abfertigung Neu als Nächstes), GP4-Konventionen (11 Punkte,
darunter Geringfuegig-Identifiers nach der Nutzer-Korrektur des
Sprachfehlers 'geringfähig' → geringfügig).
A-Runde rest points verified against the RIS norm texts downloaded
2026-09-11 (.additional_docs/ris_normtexte/, tagesaktuell):
- A1 (corrected): 2026 Ueberstunden measure = EStG para 124b Z 440
lit c idF BGBl I 4/2026 (15 UStd/170 EUR for all pay periods 2026,
Aufrollung 31.05.2026); the previous 'Z 476 lit c idgF BGBl I
43/2026' attribution was a wrong citation (Z 476 = Pendlerpauschale,
para 33 Abs 5 Z 4/Abs 8 Z 2). Z 492/494 belong to the
Feiertagsarbeitsentgelt rule para 68 Abs 1 (Aufrollung 30.09.2026
= Z 494 idF BGBl I 43/2026). lb-zus-07 and wk-akt-01 confirmed.
- A4 (citation structure): ATZ-Geld = Art. 2 para 27 AlVG, Blockzeit
quota scale = Art. 7 para 82 Abs 7/8 (788-884 weeks); the earlier
'para 27 not in force' finding was a search artifact.
- A6 (closed): ALV-Entfall from 2027 = AlVG para 1 Abs 2 lit e idF
BGBl I 62/2026 (NOR40280219, incl. Korridorpension/erfuellte
Anwartschaft, Folgemonat); para 49 ASVG 2027 only removes the
Telearbeitspauschale; AMPFG para 2a repealed 31.12.2026; IESG
surcharge falls away with the ALV contribution.
- A7 (Fundstellen closed): GFG = ASVG para 5 Abs 2, AK-Umlage =
AKG para 61; new open point 2026-GFG (551.10 EUR = 2025 value,
wertkritisch for Pauschale/DAG threshold before GP4/GP8).
- A9 (closed): AZR 2025/2026 = 1,273.99/1,308.39 EUR (ASVG para 293
Anm. 2); AP5 Pfaendungstabelle buildable on EO paras 291a/292.
- A10 (closed): Altrecht border = 1.1.1955 (APG para 1 Abs 3);
'1954' only remains the LZP cohort (para 617 Abs 13 ASVG).
- A3 (unchanged): paras 16 Z 4 lit f + 20 Abs 2 Z 1 EStG norm-
verified; new Verwaltungspraxis not documentable at RIS - remains
the only AP4 blocker. B16 Bezugszeitraum resolved (Z 492/494).
Layer-2 Abgleich notes of the A1 family (5 entries) corrected;
source quotations untouched (Beleg-Prinzip). Wissensbasis gates
green (--registry/--check: 601 entries, 571 curated, 0 problems).
RUNBOOK/PLAN/RECHTSQUELLEN/MEMORY also carry the parallel GP2 doc
sync present in the working tree; GP2 code (addons/) stays
uncommitted for its own commit.
RUNBOOK and agent-memory edits each span several work units at once,
so they are recorded together, after the fact:
- RUNBOOK: new section for primary-source downloads (RIS title-search
conventions and short-title traps, LStR findok XML, ELDA DM-ORG,
SV values, verification-finding discipline); Wissensbasis section
renamed to the two-source corpus (Lexis360 briefings + WIKU
Personal) with the WIKU layers in the architecture table, the WIKU
batch workflow (--source, WIKU_PINS), batch inventory and the full
WIKU-batch-1 conflict list
- MEMORY: completed entries for the KB legal-basis cross-check, the
dev-host setup and GP1 runtime acceptance (including the
Core/GemBG regular_pay install blocker) and the WIKU batch-1
intake; 8.12 RIS-clarification list extended by the WIKU conflict
families; current focus and files-that-matter updated to the
601-entry corpus
Ninth Lexis 360 intake (63 briefings, source Stands 2025-01 to
2026-08), extending the corpus to 571 curated entries in 67 clusters.
This batch opens the 'Sozialversicherung' chapter (seventeen chapters
in total now) and extends the corpus from employment/payroll topics
into the social-insurance body of law behind them.
- 5 new clusters: beitragsrecht ASVG sva (16: Beitragsgrundlagen,
beitragsfreie Bezugsbestandteile par. 49 Abs 3, Beitragssaetze,
Tarifsystem, Faelligkeiten/Verjaehrung, Auftraggeberhaftung,
Selbst-/Weiterversicherung), baeuerliche Sozialversicherung bsv
(18: Beitrag und Beitragsvorschreibung, Pflichtversicherung und
Grenzen, Beitragsgrundlage Einheitswert/Optionen/Pauschale,
freiwillige Versicherung, Mehrfachversicherung KV/PV,
Jagdunfall), GSVG/FSVG gsv (12: Selbstlaendige, neue
Selbststaendige, Gesellschaftsformen und sv-Zuordnung,
GSVG-Abfertigung), krankenversicherung kvs (4: ASVG-Leistungen),
pensionsversicherung pvs (13: Pensionsarten, Pensionsberechnung,
Pensionskonto, Pensionsanpassung, Teilpension)
- intake cleanup: four text-identical duplicate exports removed; the
five-fold truncated export filename of the BSVG freiwillige
Versicherung briefings renamed explicitly (Selbstversicherung UV /
Weiterversicherung KV+PV / Hoeherversicherung PV / Mitarbeiter- und
Selbstaendigenvorsorge); Mehrfachversicherung KV/PV disambiguated;
ss-URL-encoded filename normalized
- tooling: BATCH 9; TOPIC_MAP pins for all eight Sozialversicherung
topic groups (including 'abfertigung-fur-selbststandige' -> gsv so
the bare 'abfertigung' keyword fallback cannot steal the GSVG
severance briefing for the end cluster); keyword block 9 ahead of
block 8 (bauerliche/pensionsart*/krankenversicherung/gsvg/fsvg/
selbststandige); five new CLUSTERS/TOPIC_TO_PREFIX entries
- cross-batch reconciliation: lb-swa-03's open points (Teilpension
ab 2026 and Regelpensionsalter, both without norm citation) now
backed by lb-pvs-12/13 (par. 4a APG) and lb-pvs-02 (par. 16
Abs 6 APG), with a documented value conflict on the female
retirement-age cutoff dates (2. 12. 1963/2. 6. 1968 vs 1. 1.
1964/30. 6. 1968) flagged for RIS
- employee contribution rates 2026 cross-checked against
RECHTSQUELLEN-Privat and found identical (KV 7.65/3.87+3.78,
UV 1.10, PV 22.80/10.25+12.55, AV 5.90, IESG 0.10, BVK 1.53,
maximum contribution base 6930 EUR, marginality threshold
551.10 EUR, NSchAB 3.80)
- flagged for RIS: sva-06 AK-Umlage 0.50% (employee share per
source vs employer-only per RECHTSQUELLEN) and par. 53a '14.12'
percent column vs 14.12 EUR/month, sva-08 continued-insurance
ceiling 1843.38 EUR implying an 8085 EUR basis above the 2026
ASVG ceiling (recomputed 1579.44 EUR), bsv-12/13 BSVG ceiling
35-fold (8085 EUR) vs capped worked example (6615 EUR) and
'uniform across all social insurance laws' vs ASVG monthly value
6930 EUR, gsv-11 vs gsv-06 managing-partner thresholds 50%
(2025-07) vs 25% (2026-07), pvs-02/03/04/05 old-law cutoff 1954
vs 1955, pvs-08 bonus maximum 481 vs 493.99 EUR, kvs-03 'par. 120
z 3 ASVG' garble (likely z 4)
- curation in seven parallel agent groups, each with a self-check on
frontmatter/structure/cross-refs; registry and check green: 571
sources, 571 curated entries, 0 problems
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
Consolidate the binding knowledge-base rules (layer architecture,
licence decision D1, id freeze, D2 frontmatter schema, curation
conventions, batch workflow, validation gates, intake pitfalls)
from README/RUNBOOK/MEMORY into a dedicated agent skill so every
new thread reads them before planning Wissensbasis work.
- new licensed source corpus .wiku/ (WIKU Personal publications:
Fachbroschueren, Arbeitsunterlagen, Casebooks, 'WIKU Personal
aktuell'; gitignored like .lexis360/, never committed)
- integration model: one shared corpus with a single kb.json, ids
wk-<prefix>-<nn> on the existing cluster map, the work field
distinguishing the sources, Layer-2 filenames prefixed
wiku_<slug>.md; pipeline to be a multi-source extension of
build_lexis_kb.py (no fork) -- follow-up after batch 7
- AGENTS.md skill selection gains the wissensbasis entry
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.
Batch-1 handoff: current focus, completed work, open points
(flagged corpus contradictions to verify against RIS, copilot
delivery path for the licensed layer-1 texts) and the KB
architecture decisions (licensing split, frontmatter conventions,
frozen lb-* ids).
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.