mirror of
http://100.103.83.12:3003/fegger/pv-agent.git
synced 2026-09-17 17:36:24 +00:00
docs: record m4.1 odoo module scaffold
This commit is contained in:
+11
-8
@@ -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
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user