docs: record m4.1 odoo module scaffold

This commit is contained in:
2026-09-17 00:38:59 +02:00
parent ba4bf57dcf
commit b8f67c221d
2 changed files with 34 additions and 15 deletions
+11 -8
View File
@@ -5,14 +5,17 @@ Rollender Übergabe-Log für agent-Threads. Workflow: `.agents/SKILL.md`
## Current focus ## Current focus
D24 validiert (500-Euro-Fragen verifiziert, think-Fix, Offline-Eval Recall@8 D24/D25: M4.2 (Agent-Review-Modus) umgesetzt und committet (ba4bf57);
0,95). D25-Planung steht (planung.md Abschnitt 14) und **M4.2 ist umgesetzt**: Agent 107 Tests grün; KV-Varianten-Mapping gebaut (439/614, Seeds getestet).
`mode=review` mit schema-gebundenem Odoo-Kontext, Beweisklassen, Injection- **M4.1-Gerüst steht** (2026-09-16): neues Odoo-19-Addon
Abgrenzung und `plausibility`-Verdict; Feature-Flag `PV_REVIEW_MODE` (default `l10n_at_payroll_agent` (19.0.1.0.0) im odoo-at-payroll/addons-Repo — über
aus). KV-Varianten-Mapping gebaut (`tools/catalogs/kv_variant_map.json`, den Symlink gebaut, 11 Dateien: `pv.agent.client` (stdlib urllib,
439/614 abgedeckt, Seeds SI-2203/SI-2748 getestet). 106 Tests grün. Als res.company.pv_agent_url/api_key statt unverifiziertem ir.config_parameter),
Nächstes: M4.1 — Odoo-Modul `l10n_at_payroll_agent` (Client, Kontext-Builder, `pv.agent.context.builder` (Draft→Review-Kontext; ATP_PRAMIE, version.wage/
Pilot-Workflow am Draft-Payslip). kv_id, SVDG_*/LST_*/LNK-Linien), `pv.agent.review.wizard` (+Views/ACL/Menu)
und TransactionCase-Tests (patched `_post_json`). Alle APIs gegen den
Bestand verifiziert; Syntax/XML/CSV-Checks grün — Odoo-Test-Session und
Pilot-Verifikation am echten Draft-Lohnzettel folgen (User-Host).
## Completed (2026-09-16, Modul-Review/D25-Planung) ## Completed (2026-09-16, Modul-Review/D25-Planung)
+23 -7
View File
@@ -462,13 +462,29 @@ im Agenten per Feature-Flag (`PV_REVIEW_MODE`, default aus) freigeschaltet.
Kontext — **Whitelist hart kodiert** (facts: key/value/note; keine Namen, Kontext — **Whitelist hart kodiert** (facts: key/value/note; keine Namen,
SVNR, Geburtsdaten; KV-Name/Code, Bundesland/Gemeinde, Beträge, Jahres- SVNR, Geburtsdaten; KV-Name/Code, Bundesland/Gemeinde, Beträge, Jahres-
salden, Berechnungsergebnis mit Basis). `X-Request-ID` aus Odoo. salden, Berechnungsergebnis mit Basis). `X-Request-ID` aus Odoo.
4. **Workflow „Plausibilitätsprüfung einer geplanten Auszahlung“** (Pilot): 4. **Workflow „Plausibilitätsprüfung einer geplanten Auszahlung“** (Pilot,
Wizard/Dialog am Payslip/Kontext → Odoo rechnet mit den bestehenden **M4.1-Gerüst umgesetzt 2026-09-16** im neuen Modul
`_l10n_at_*`-Methoden auf einem Draft → `computation`-Objekt (Komponenten, `l10n_at_payroll_agent` 19.0.1.0.0 in odoo-at-payroll/addons):
Bemessung, Ergebnis) → Agent prüft gegen KB → strukturiertes `plausibility`- - `pv.agent.context.builder` projiziert den gerechneten Draft-Lohnzettel
Verdict (verdict plausible/implausible/not-checkable + checks mit (ATP_PRAMIE-Eingabe) auf facts (bruttolohn_monat via `version.wage`,
erwartet/erhalten/⚠/source_id) → Anzeige im Dialog; keine automatische anwendender KV via `version.kv_id`, Zahlung) und computation (Draft-
Korrektur, Odoo bleibt autoritativ. Linien SVDG_*/LST_*/FLAFDB/KOMMST/DZ/BVG/WIEN_DAG als components,
SVDG-Summe als result) — alle APIs gegen den Bestand verifiziert
(lohnsteuer.py:148/266-268, versichertenmeldung.py:274,
reisekosten.py:215, hr_version_private).
- `pv.agent.client` (stdlib urllib, kein Zusatz-Dependency): POST /v1/ask
mode=review mit X-Request-ID; Konfiguration mandantenspezifisch über
`res.company.pv_agent_url` / `pv_agent_api_key` (group_hr_payroll_user,
Company-Formular-Seite) statt unverifiziertem ir.config_parameter;
neutrale UserError-Meldungen (401/422/5xx), Details nur im Log.
- `pv.agent.review.wizard` (Transient, ACL group_hr_payroll_user):
Prüfung starten → Kontext bauen → Agent aufrufen → Antwort/Verdict/
Prüfpunkte im Dialog; Re-Render über act_window/res_id. Menü unter
„AT-Payroll (Privat)“.
- Tests `tests/test_pv_agent_review.py` (TransactionCase, patched `_post_json`:
Params/Payload/Fehlerabbildung/Rendering); laufen in der Odoo-Test-Session,
lokal nur Syntax/XML/CSV-Checks. Builder-Test am echten Lohnzettel folgt
mit der Pilot-Verifikation.
5. **Agent-seitig (M4.2, umgesetzt 2026-09-16):** v1.x-Contract `mode=review` 5. **Agent-seitig (M4.2, umgesetzt 2026-09-16):** v1.x-Contract `mode=review`
+ `context`-Feld (extra=forbid, Whitelist-Schema: facts ≤40 mit key-Muster + `context`-Feld (extra=forbid, Whitelist-Schema: facts ≤40 mit key-Muster
`[a-z0-9_.-]`/value ≤200, computation mit components ≤40). Prompt-Addendum `[a-z0-9_.-]`/value ≤200, computation mit components ≤40). Prompt-Addendum