Commit 316759d
committed
feat(vocab+class-view): mint PRODUCT (0x0207) + ACCOUNTING_ACCOUNT (0x0208); extend ODOO_ALIASES
Phase-3 mints from the cross-axis identity gap surfaced in odoo-rs PR #14
(`alignment_pin::seeded_classes_have_compatible_ogar_identity`). `OdooPort`
previously covered the commerce arm only (9 aliases); the alignment table
declared 15 concepts across 6 basins (BillingCore + SMBAccounting +
SmbFoundryCustomer + SmbFoundryInvoice + ProductCatalog + HRFoundation),
leaving 11 Odoo classes without a canonical OGAR class_id.
This PR closes the highest-impact 4-of-11 gap by minting two product+
accounting concepts and routing their Odoo aliases:
PRODUCT (0x0207)
← product.template (master record / catalogue)
← product.product (variant SKU; converges on the same id)
ACCOUNTING_ACCOUNT (0x0208)
← account.account (live ledger row)
← account.account.template (SKR03/04 chart-of-accounts template)
Same convergence pattern as `account.move ↔ sale.order → COMMERCIAL_DOCUMENT`
in the existing commerce arm.
Synchronised across the codebook:
- CODEBOOK rows + class_ids constants + class_ids::ALL entries
- all_promoted_classes() (ogar-vocab) with new product() / accounting_account()
builders (Class definitions with minimal schema:Product / fibo:Account-aligned
attributes)
- all_canonical_classes() (ogar-class-view) — the ObjectView registry
- ODOO_ALIASES (ports.rs) — 4 new entries (9 → 13)
- Tests updated for new count (Commerce concepts.count(): 6 → 8) +
commerce_concept loop iterates the 2 new names
- Odoo alias count drift assert: 9 → 13
- Stale "32 promoted" doc comments in ogar-class-view refreshed to count-
agnostic phrasing
Deferred for follow-up (7 remaining missing aliases per odoo-rs #14):
- product.pricelist, product.pricelist.item, uom.uom → ProductCatalog basin
candidates (PRICELIST / PRICELIST_RULE / UNIT_OF_MEASURE — additional 0x02XX
mints; needs a "schema:PriceSpecification" alignment review first)
- hr.employee, hr.department, hr.job, hr.contract → HRFoundation basin
candidates (new 0x0CXX concept domain proposal; needs separate keystone-
style §7 spec review like AuthStore #110 did)
Tests:
- ogar-vocab: 93 passed (was 91 pre-mint; +2 doctests pass)
- ogar-class-view: 11 passed
- clippy clean on my new code; fmt clean
Refs:
- AdaWorldAPI/odoo-rs#14 (alignment-pin surfaces the 11-class gap)
- AdaWorldAPI/odoo-rs#15 (Phase-2 hydrator pull)
- AdaWorldAPI/odoo-rs#16 (repatriation-frame canonical citations)
- AdaWorldAPI/lance-graph#594 (B of A+B+C: hydrator silent suffix bugs)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>1 parent 302c284 commit 316759d
3 files changed
Lines changed: 149 additions & 48 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
50 | 50 | | |
51 | 51 | | |
52 | 52 | | |
53 | | - | |
| 53 | + | |
54 | 54 | | |
55 | 55 | | |
56 | 56 | | |
| |||
64 | 64 | | |
65 | 65 | | |
66 | 66 | | |
67 | | - | |
68 | | - | |
69 | | - | |
70 | | - | |
71 | | - | |
72 | | - | |
73 | | - | |
74 | | - | |
75 | | - | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
76 | 77 | | |
77 | 78 | | |
78 | | - | |
| 79 | + | |
79 | 80 | | |
80 | 81 | | |
81 | 82 | | |
| |||
117 | 118 | | |
118 | 119 | | |
119 | 120 | | |
| 121 | + | |
| 122 | + | |
120 | 123 | | |
121 | 124 | | |
122 | 125 | | |
| |||
164 | 167 | | |
165 | 168 | | |
166 | 169 | | |
167 | | - | |
| 170 | + | |
168 | 171 | | |
169 | 172 | | |
170 | 173 | | |
| |||
269 | 272 | | |
270 | 273 | | |
271 | 274 | | |
272 | | - | |
| 275 | + | |
273 | 276 | | |
274 | 277 | | |
275 | 278 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1133 | 1133 | | |
1134 | 1134 | | |
1135 | 1135 | | |
| 1136 | + | |
| 1137 | + | |
| 1138 | + | |
| 1139 | + | |
| 1140 | + | |
| 1141 | + | |
| 1142 | + | |
| 1143 | + | |
| 1144 | + | |
| 1145 | + | |
1136 | 1146 | | |
1137 | 1147 | | |
1138 | 1148 | | |
| |||
1432 | 1442 | | |
1433 | 1443 | | |
1434 | 1444 | | |
| 1445 | + | |
| 1446 | + | |
| 1447 | + | |
| 1448 | + | |
| 1449 | + | |
| 1450 | + | |
| 1451 | + | |
| 1452 | + | |
| 1453 | + | |
| 1454 | + | |
| 1455 | + | |
| 1456 | + | |
| 1457 | + | |
| 1458 | + | |
| 1459 | + | |
| 1460 | + | |
| 1461 | + | |
| 1462 | + | |
| 1463 | + | |
| 1464 | + | |
| 1465 | + | |
1435 | 1466 | | |
1436 | 1467 | | |
1437 | 1468 | | |
| |||
1513 | 1544 | | |
1514 | 1545 | | |
1515 | 1546 | | |
| 1547 | + | |
| 1548 | + | |
1516 | 1549 | | |
1517 | 1550 | | |
1518 | 1551 | | |
| |||
1531 | 1564 | | |
1532 | 1565 | | |
1533 | 1566 | | |
1534 | | - | |
| 1567 | + | |
1535 | 1568 | | |
1536 | 1569 | | |
1537 | 1570 | | |
| |||
2356 | 2389 | | |
2357 | 2390 | | |
2358 | 2391 | | |
2359 | | - | |
| 2392 | + | |
| 2393 | + | |
2360 | 2394 | | |
2361 | 2395 | | |
2362 | 2396 | | |
2363 | 2397 | | |
2364 | 2398 | | |
2365 | 2399 | | |
| 2400 | + | |
| 2401 | + | |
2366 | 2402 | | |
2367 | 2403 | | |
2368 | 2404 | | |
| |||
3175 | 3211 | | |
3176 | 3212 | | |
3177 | 3213 | | |
| 3214 | + | |
| 3215 | + | |
| 3216 | + | |
| 3217 | + | |
| 3218 | + | |
| 3219 | + | |
| 3220 | + | |
| 3221 | + | |
| 3222 | + | |
| 3223 | + | |
| 3224 | + | |
| 3225 | + | |
| 3226 | + | |
| 3227 | + | |
| 3228 | + | |
| 3229 | + | |
| 3230 | + | |
| 3231 | + | |
| 3232 | + | |
| 3233 | + | |
| 3234 | + | |
| 3235 | + | |
| 3236 | + | |
| 3237 | + | |
| 3238 | + | |
| 3239 | + | |
| 3240 | + | |
| 3241 | + | |
| 3242 | + | |
| 3243 | + | |
| 3244 | + | |
| 3245 | + | |
| 3246 | + | |
| 3247 | + | |
| 3248 | + | |
| 3249 | + | |
| 3250 | + | |
| 3251 | + | |
| 3252 | + | |
| 3253 | + | |
| 3254 | + | |
| 3255 | + | |
| 3256 | + | |
| 3257 | + | |
| 3258 | + | |
| 3259 | + | |
| 3260 | + | |
| 3261 | + | |
| 3262 | + | |
| 3263 | + | |
| 3264 | + | |
| 3265 | + | |
3178 | 3266 | | |
3179 | 3267 | | |
3180 | 3268 | | |
| |||
3614 | 3702 | | |
3615 | 3703 | | |
3616 | 3704 | | |
3617 | | - | |
3618 | | - | |
3619 | | - | |
3620 | | - | |
3621 | | - | |
| 3705 | + | |
| 3706 | + | |
| 3707 | + | |
| 3708 | + | |
3622 | 3709 | | |
3623 | 3710 | | |
3624 | 3711 | | |
| |||
4034 | 4121 | | |
4035 | 4122 | | |
4036 | 4123 | | |
| 4124 | + | |
| 4125 | + | |
4037 | 4126 | | |
4038 | 4127 | | |
4039 | 4128 | | |
| |||
4174 | 4263 | | |
4175 | 4264 | | |
4176 | 4265 | | |
4177 | | - | |
| 4266 | + | |
4178 | 4267 | | |
4179 | 4268 | | |
4180 | 4269 | | |
| |||
4556 | 4645 | | |
4557 | 4646 | | |
4558 | 4647 | | |
4559 | | - | |
| 4648 | + | |
4560 | 4649 | | |
4561 | 4650 | | |
4562 | 4651 | | |
| |||
4599 | 4688 | | |
4600 | 4689 | | |
4601 | 4690 | | |
4602 | | - | |
4603 | | - | |
4604 | | - | |
4605 | | - | |
4606 | | - | |
| 4691 | + | |
| 4692 | + | |
| 4693 | + | |
| 4694 | + | |
4607 | 4695 | | |
4608 | 4696 | | |
4609 | 4697 | | |
| |||
4613 | 4701 | | |
4614 | 4702 | | |
4615 | 4703 | | |
4616 | | - | |
4617 | | - | |
4618 | | - | |
4619 | | - | |
4620 | | - | |
4621 | | - | |
4622 | | - | |
4623 | | - | |
4624 | | - | |
4625 | | - | |
| 4704 | + | |
| 4705 | + | |
| 4706 | + | |
| 4707 | + | |
| 4708 | + | |
| 4709 | + | |
| 4710 | + | |
| 4711 | + | |
4626 | 4712 | | |
4627 | 4713 | | |
4628 | | - | |
4629 | | - | |
4630 | | - | |
4631 | | - | |
4632 | | - | |
| 4714 | + | |
| 4715 | + | |
| 4716 | + | |
| 4717 | + | |
4633 | 4718 | | |
4634 | 4719 | | |
4635 | 4720 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
476 | 476 | | |
477 | 477 | | |
478 | 478 | | |
| 479 | + | |
| 480 | + | |
| 481 | + | |
| 482 | + | |
| 483 | + | |
| 484 | + | |
| 485 | + | |
| 486 | + | |
| 487 | + | |
| 488 | + | |
| 489 | + | |
479 | 490 | | |
480 | 491 | | |
481 | 492 | | |
| |||
508 | 519 | | |
509 | 520 | | |
510 | 521 | | |
511 | | - | |
| 522 | + | |
512 | 523 | | |
513 | 524 | | |
514 | 525 | | |
| |||
897 | 908 | | |
898 | 909 | | |
899 | 910 | | |
900 | | - | |
| 911 | + | |
901 | 912 | | |
902 | 913 | | |
903 | 914 | | |
| |||
945 | 956 | | |
946 | 957 | | |
947 | 958 | | |
948 | | - | |
949 | | - | |
950 | | - | |
| 959 | + | |
| 960 | + | |
| 961 | + | |
| 962 | + | |
| 963 | + | |
951 | 964 | | |
952 | 965 | | |
953 | | - | |
| 966 | + | |
954 | 967 | | |
955 | 968 | | |
956 | 969 | | |
| |||
0 commit comments