Commit Graph

8 Commits

Author SHA1 Message Date
fegger 91ac9e5fda [IMP] various: record AP12 completion and ignore RIS cache 2026-09-14 13:20:38 +02:00
fegger 9d427c444d [IMP] personalverrechnung: resolve KB conflict families A1-A10 and B1-B18 against primary sources 2026-09-11 16:32:19 +02:00
fegger ee7e16ecee [IMP] odoo-at-payroll: record GP0 source work and GP1 runtime setup in docs
Documentation-only updates from the General-AT track (2026-09-10/11)
that had been left uncommitted; no code changes.

- RECHTSQUELLEN-Privat: new section 13 (cross-check of all 571 KB
  legal_bases citation strings, ~130 statutes, against the binding RQ
  inventory; outside-scope delimitation) and procurement-list
  extensions in section 11 (AVRAG, ASVG contribution/notification
  block, EStG, KommStG/BAO, AUEG, UrlG, BMSVG, IESG, LohnkontenVO,
  Mutterschutz-/Karenz block as scope decision)
- IMPLEMENTIERUNGSPLAN-Privat: new section 2.1 (knowledge-base binding
  regime, KB as curated secondary source with ID and Stand), GP2-GP8
  fine mechanics backed by KB entries, new open points 8.11 DZ
  surcharge decision, 8.12 KB conflict families for RIS clarification
  and 8.13 scope candidates; source reference updated to the
  odoo_19.0+e.20260910 tree
- CHANGELOG: 2026-09-10 entries for the primary-source procurement
  (19 RIS statutes via RIS title search incl. short-title traps, LStR
  2002 findok XML, DM-ORG 42.7.0 with L16/L17 checklists, SV values
  2026), the KB legal-basis cross-check and the plan knowledge-base
  integration; the 'Krankengeldumlage par. 62 ASVG' false premise is
  resolved and corrected in RQ and plan
- README and module README: dev-host runtime documentation (PostgreSQL
  18.6, Python 3.14 venv with editable install of the merged tree,
  odoo_dev database, test invocation via .venv/bin/python -m odoo;
  GP1 test_kv_katalog green, 8 tests 0 errors)
- .gitignore: odoo_19.0+e.20260910/ and .venv/ replace the removed
  odoo/ and odoo_enterprise/ checkouts; ignore local tooling
  (.zed-hours/, /tools/ anchored to the repo root so
  personalverrechnung/tools stays fully tracked)
2026-09-11 11:15:42 +02:00
fegger fe8243931a [ADD] odoo-at-payroll: wissensbasis skill + WIKU source integration model
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
2026-09-10 15:24:23 +02:00
fegger e990488273 [REF] personalverrechnung: relocate Lexis360 raw layer to .lexis360/
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.
2026-09-10 10:27:12 +02:00
fegger 6a78b419ed [ADD] personalverrechnung: Lexis360 knowledge base (Batch 1)
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.
2026-09-10 10:23:46 +02:00
fegger 6e444b088a [IMP] odoo-at-payroll: in-repo Odoo 19 source checkouts
Ignore the local, unversioned Odoo 19 checkouts: odoo/
(Community tree with odoo-bin) and odoo_enterprise/odoo (merged
enterprise tree with community and enterprise addons). Document both
in the README Entwicklung section, including the resulting test
addons path (odoo_enterprise/odoo/addons,addons). Also point the
module table row at the approved General-AT plan.
2026-09-09 21:52:06 +02:00
fegger 6205cca903 [ADD] odoo-at-payroll: repo bootstrap (AGENTS, skills, README, CHANGELOG, private skeleton) 2026-09-09 13:43:10 +02:00