diff --git a/.agents/MEMORY.md b/.agents/MEMORY.md index f2e85f6..6922b5b 100644 --- a/.agents/MEMORY.md +++ b/.agents/MEMORY.md @@ -1756,6 +1756,44 @@ B17-Inhalt/B18; Kleinverifikationen s. KB-KONFLIKTE „Nächste Schritte“). 2026), AP2 Entgelt-Engine (13 Regeln, Structure GEMBG.BGLD), SV-Werte aus ÖGK TASY-LSWH; 3 Testsuiten (Katalog, Entgelt, TASY-Import). +## Completed (2026-09-17, pv-agent-Repo-Merge) + +- **Repo-Merge:** das eigenständige pv-agent-Repo (RAG-Wissensbasis-Agent) + ist per filter-repo Remap (`--to-subdirectory-filter pv-agent`) + + Unrelated-Histories-Merge als `pv-agent/`-Subtree in dieses Repo + überführt — 30 Commits History erhalten, Merge-Commit 9f120a4. + Service-Code `pv-agent/agent/`, Wissensbasis `pv-agent/wissensbasis/` + (1622 Einträge), Tools/Web/Doku im Subtree; Plan: + `pv-agent/planung.md`; Standalone-Memory als Archiv: + `pv-agent/.agents/MEMORY.md`. +- **`.agents` konsolidiert:** `pv-rag-agent`-Skill nach + `.agents/skills/pv-rag-agent` übernommen (Pfadreferenzen auf + Subtree-Layout angepasst); pv-agent-Legacy-Kopien von + odoo19-development/opendataloader-pdf/wissensbasis und + `pv-agent/.agents/SKILL.md` entfernt (inhaltlich identisch mit den + Root-Skills, per diff verifiziert). +- **Pfad-Fixes:** `pv-agent/tools/build_kv_variant_map.py` liest die + KV-Library jetzt im selben Repo (`personalverrechnung/quellen/kv`, + vorher Schwesterprojekt-Pfad); `pv-agent/tools/catalogs/kv_variant_map.json` + regeneriert (gleiche Zahlen 407/32/175, korrekter Pfad); + `.oddo-module`-Regel aus `pv-agent/.gitignore` entfernt (Modul liegt + in `addons/`); `pv-agent/planung.md` §13/§14 an neues Layout + angepasst; AGENTS.md/README um pv-agent ergänzt. +- **M4.1-Modul `l10n_at_payroll_agent` (a848c07)** unverändert im + Ziel-Repo — Odoo-Test-Session und Pilot-Verifikation am echten + Draft-Lohnzettel offen (User-Host). +- **Offen (bewusst separater Schritt, User-Entscheidung):** + Zusammenlegung der Wissensbasen — `pv-agent/wissensbasis/` + (1622 Einträge, RAG-Korpus) vs. `personalverrechnung/wissensbasis/` + (667 Dokumente, Drift in beide Richtungen, z. B. + Ausbildungskostenrückersatz-Serie nur in der Payroll-Kopie). Danach: + Reindex + Offline-Eval mit Gates (Recall@8 > 0,9, Zitier-Präzision, + Verweigerungskorrektheit). +- **Validierung nach Merge:** pytest offline im Subtree: 106/107 grün; + einziges Fail `test_ingest_sources.py::test_law_map_covers_all_ris_files` + ist vor Merge bestehend (hängt am lokalen, unversionierten `.ris/` + Korpus) und schlägt im Ausgangs-Repo identisch an. + ## Open issues / blockers - **Lexis360-KB offene Punkte** (2026-09-10): Korpus-Widersprüche ⚠ vor diff --git a/AGENTS.md b/AGENTS.md index 04f7741..c9cc1bf 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -35,6 +35,9 @@ no skill applies. - Any Wissensbasis work (batch intake, curation, `kb.json`, the sources `.lexis360/` and `.wiku/`): `wissensbasis/SKILL.md` +- Wissensbasis-Agent/RAG-Service (pv-agent/ — Service-Code, Retrieval, + Prompts, Goldset/Eval, Ollama-Modelle, Review-Brücke): + `pv-rag-agent/SKILL.md` - Any PDF extraction (text/Markdown/JSON from PDFs, scanned-PDF OCR, tables) — e.g. Wissensbasis sources, legal PDFs, ad-hoc extraction and spot-checks: @@ -133,6 +136,28 @@ Before considering the task complete, review the resulting changes for: - unnecessary custom code; - regression risk. +## RAG-Service (pv-agent/) + +Seit dem Repo-Merge 2026-09-17 lebt der Wissensbasis-Agent als +`pv-agent/`-Subtree in diesem Repo (History erhalten; Plan: +`pv-agent/planung.md`, Standalone-Memory-Archiv: `pv-agent/.agents/MEMORY.md`). + +- Service: FastAPI unter `pv-agent/agent/`, Betrieb als Docker-Stack + auf dem GPU-Host (compose aus `pv-agent/`, Doku: `pv-agent/docs/DOCKER.md`); + Ollama auf `http://100.103.83.12:11435`. +- Wissensbasis: `pv-agent/wissensbasis/` (Layer 2, kanonischer + RAG-Korpus; `personalverrechnung/wissensbasis/` bleibt vorerst als + zweite Kopie bestehen — Zusammenlegung als separater Schritt). +- Vertrags-/Grounding-Regeln: `pv-agent/docs/API.md` und + `.agents/skills/pv-rag-agent/SKILL.md` (zitatpflichtige Antworten, + Post-Validierung, Verweigerung, Eval-Gates vor jedem Retrieval-, + Prompt- oder Modell-Change). +- Odoo-Brücke: `addons/l10n_at_payroll_agent` (Review-Modus gegen + `/v1/ask` `mode=review`; Feature-Flag `PV_REVIEW_MODE` im Agenten, + default aus). +- Tests: pytest offline aus `pv-agent/` (`python -m pytest tests`); + Odoo-Seite der Brücke läuft in der regulären Odoo-Test-Session. + ## Verify before assuming Never invent or assume the existence of an API. diff --git a/README.md b/README.md index 9da195c..9316b19 100644 --- a/README.md +++ b/README.md @@ -13,10 +13,24 @@ seit 2026-09-09 — Überführung aus `gem360-git` per History-Import; siehe | `l10n_at_payroll_dokumente` | **Dokumente aus Vorlagen**: Dokumentgenerierung (Dienstvertrag, Kündigung, Bescheinigungen …) aus hr-Stammdaten; eigene Texte, Struktur-Referenz (kb_ref) dokumentiert; Wizard mit Auto-/Manuellfeldern, Vorschau, PDF/HTML-Ablage | | `l10n_at_hr_payroll_private` | **General-AT** (KV-basierte Privatwirtschaft) — Gerüst; Implementierungsplan freigegeben ([`IMPLEMENTIERUNGSPLAN-Privat.md`](personalverrechnung/IMPLEMENTIERUNGSPLAN-Privat.md)), Umsetzung ab M1 (GP0) | +| `l10n_at_payroll_agent` | **Agenten-Brücke** (M4.1): Plausibilitätsprüfung einer geplanten Auszahlung — serverseitiger Client ruft den pv-agent-Service per `/v1/ask` `mode=review` auf; depends `l10n_at_hr_payroll_private` | + VRV-Buchung für Gemeinden (Anlage 3b, Ansatz/MVAG, EHH/FHH) läuft über die Brücke `l10n_at_gemeinde_payroll_vrv` im **gem360-Repo** (AP7). Abhängigkeitsrichtung: gem360 → dieses Repo, **nie** umgekehrt. +## Wissensbasis-Agent (pv-agent/) + +Seit 2026-09-17 Teil dieses Repos (Subtree `pv-agent/`, History aus dem +eigenständigen Repo erhalten): lokaler RAG-Agent für die österreichische +Personalverrechnung, der ausschließlich aus der kuratierten Wissensbasis +(`pv-agent/wissensbasis/`, Layer 2) antwortet. Der Service (FastAPI) +läuft als Docker-Stack auf dem GPU-Host; Odoo konsumiert ihn über +`addons/l10n_at_payroll_agent` (Plausibilitätsprüfung einer geplanten +Auszahlung via `/v1/ask` `mode=review`). Plan, Betrieb und Regeln: +`pv-agent/planung.md`, `pv-agent/docs/DOCKER.md`, `pv-agent/docs/API.md` +und `.agents/skills/pv-rag-agent/SKILL.md`. + ## Entwicklung - Odoo 19: **Quellen-Referenz ist `odoo_19.0+e.20260910/odoo-19.0+e.20260910/`**