Commit 508d2c4
committed
feat(odoo_blueprint): D-ODOO-BP-1b Wave 1 — L1..L5 typed OdooEntity projections (5 lanes, 32 lane tests, +4008 lines)
Self-orchestrated harvest wave per the 2026-05-28 directive. 5 parallel
Sonnet agents projected the L1–L5 lane docs into typed OdooEntity const
declarations in their assigned per-lane files (unique-file-write rule).
Wave outputs (all 32 lane tests pass; 43 prior ontology lib tests
unaffected = 75 total ontology tests green):
- l1.rs (K3-POST, 506 lines): account.move, account.journal,
account.move.line, account.lock.exception, ir.sequence entities.
Drives savants AutopostRecommender, LockDateAdvancer,
SequenceGapAnomalyDetector.
- l2.rs (K3-RECON, 571 lines): account.move.line, account.partial.reconcile,
account.bank.statement, account.bank.statement.line +
account.reconcile.model with full reconcile-rule fields. Drives savants
ReconcileMatchSelector, BankStatementMatcher, PaymentToInvoiceMatcher.
- l3.rs (K7-TAX, 1172 lines): account.tax, account.tax.group,
account.tax.repartition.line, account.fiscal.position,
account.fiscal.position.tax, account.fiscal.position.account,
account.account.tag, plus tax-exigibility selection details. Drives
savants TaxExigibilitySuggestor, FiscalPositionResolver, repartition
semantics for L15.
- l4.rs (K8K9-REPORTS-DATEV, 633 lines): account.account.tag (with
USt-VA / GuV / Bilanz routing tags), account.account (l10n_de
code-lock), account.tax (DATEV Steuerschlüssel), product.template
(income/expense routing), res.company + account.journal (l10n_de
GoBD audit trail).
- l5.rs (PAY-TERMS-MATCH, 1126 lines): account.payment (with full
draft→in_process→paid→canceled→rejected state machine + 7 transitions
+ guards), account.payment.term + .line, account.payment.method +
.line, account.reconcile.model + .line. Drives savants
ReconcileMatchSelector, BankStatementMatcher, PaymentToInvoiceMatcher.
All entities carry OdooProvenance with real L-doc line ranges (no
fabricated provenance), OdooConfidence::Curated, and Odoo source
cross-references where verified. Cross-cutting / overlap notes preserved
in source comments (e.g. l5.rs notes the L2 candidacy of reconcile.model).
Wave 2 (L6–L10) + Wave 3 (L11–L15) follow after the codebook foundation
commit lands, per the user's 2026-05-28 "codebook for everything inherited
from OGIT" doctrine. SAV-5b's bitpacked RoleKey form is the
desperation-bucket fallback; canonical OGIT-URI codebook foundation
lands in the next commit.
https://claude.ai/code/session_017gZ6sPRXYPj5n7uJ7NBtRv1 parent e53c4bc commit 508d2c4
5 files changed
Lines changed: 3979 additions & 26 deletions
0 commit comments