Commit ecb92c0
committed
feat(callcenter): build odoo_alignment cache (OGIT→OWL→odoo) the harvest BRIEFING assumes
The odoo-richness harvest BRIEFING (woa-rs/.claude/odoo/) documents an
"already built" odoo_alignment.rs with resolve_odoo / resolve_odoo_to_family /
dolce_odoo — but it never existed in either repo. This builds it for real as
the single-source spine module (consumers depend on it; no skr_data mirror,
per the per-OGIT-storage / read-only-spine invariant).
Two O(1) legs:
odoo class --owl:equivalentClass--> OWL pivot --> OGIT family+slot --> FamilyEntry
- resolve_odoo(class) -> Option<OwlPivot>: leg 1 (static seed).
- resolve_odoo_to_family(class, &table): both legs, confirmed live against the
family's hydrated OgitFamilyTable (wrong-family-safe, no panic).
- resolve_odoo_entry(class, &table) -> Option<&FamilyEntry>: lands on the inline
entry the lanes read for inherited thinking style.
- dolce_odoo(class): DOLCE marker from suffix rules.
- seed_family_table(&mut table): populate foundry slots (hydration overlay/tests).
Option B (no minted family/slot): the four foundry family bytes are restated
from data/family_registry.ttl (BillingCore 0x61, SMBAccounting 0x62,
SmbFoundryCustomer 0x80, SmbFoundryInvoice 0x81) and asserted against it in a
test. Seed rows: res.partner->fibo:LegalEntity, account.move->fibo:Transaction,
account.move.line->fibo:JournalEntryLine, account.account->fibo:Account,
account.account.template(SKR)->fibo:Account, product.*->schema:Product.
Unmapped classes (stock.move, sale.order, hr.*, account.reconcile.model)
resolve to None — the Layer-2-axiom signal, not an invented family.
9 unit tests; cargo check + clippy + fmt clean.1 parent 0cc6e81 commit ecb92c0
2 files changed
Lines changed: 432 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
174 | 174 | | |
175 | 175 | | |
176 | 176 | | |
| 177 | + | |
| 178 | + | |
| 179 | + | |
| 180 | + | |
| 181 | + | |
| 182 | + | |
| 183 | + | |
| 184 | + | |
| 185 | + | |
| 186 | + | |
| 187 | + | |
| 188 | + | |
177 | 189 | | |
178 | 190 | | |
179 | 191 | | |
| |||
0 commit comments