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
+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,
SVNR, Geburtsdaten; KV-Name/Code, Bundesland/Gemeinde, Beträge, Jahres-
salden, Berechnungsergebnis mit Basis). `X-Request-ID` aus Odoo.
4. **Workflow „Plausibilitätsprüfung einer geplanten Auszahlung“** (Pilot):
Wizard/Dialog am Payslip/Kontext → Odoo rechnet mit den bestehenden
`_l10n_at_*`-Methoden auf einem Draft → `computation`-Objekt (Komponenten,
Bemessung, Ergebnis) → Agent prüft gegen KB → strukturiertes `plausibility`-
Verdict (verdict plausible/implausible/not-checkable + checks mit
erwartet/erhalten/⚠/source_id) → Anzeige im Dialog; keine automatische
Korrektur, Odoo bleibt autoritativ.
4. **Workflow „Plausibilitätsprüfung einer geplanten Auszahlung“** (Pilot,
**M4.1-Gerüst umgesetzt 2026-09-16** im neuen Modul
`l10n_at_payroll_agent` 19.0.1.0.0 in odoo-at-payroll/addons):
- `pv.agent.context.builder` projiziert den gerechneten Draft-Lohnzettel
(ATP_PRAMIE-Eingabe) auf facts (bruttolohn_monat via `version.wage`,
anwendender KV via `version.kv_id`, Zahlung) und computation (Draft-
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`
+ `context`-Feld (extra=forbid, Whitelist-Schema: facts ≤40 mit key-Muster
`[a-z0-9_.-]`/value ≤200, computation mit components ≤40). Prompt-Addendum