Commit Graph

4 Commits

Author SHA1 Message Date
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