Commit e6f13ff
committed
docs(plans/poc): §15 — Odoo ↔ Palantir Foundry convergence + lessons for OGIT/OWL/DOLCE + WoA work-steal map
User request: analyse how Odoo OWL and Palantir Foundry ontology
converge; what we can learn for the long run with OGIT/OWL/DOLCE;
what WoA could wire/repurpose/work-steal/reinvent from Odoo and
smb-office-rs.
§15 NEW — covers:
§15.1 Convergence map (Odoo OWL ↔ Palantir Foundry) — 13-row
table showing structural homology at the typed-object surface
despite radically different runtimes (Odoo Python+PostgreSQL vs
Foundry proprietary Spark-shaped). Both reduce to OWL/SHACL/
SKOS+PROV-O; OGIT is positioned to host both as projections.
§15.2 Divergences and what each teaches — 8 axes where they
diverge (authoring style, runtime coupling, granularity,
versioning, schema evolution, licensing, naming, reasoning
depth). Headline lesson: Odoo gives operational coverage at
the cost of runtime coupling; Foundry gives loose coupling
at the cost of curated authoring. OGIT decouples authoring
from coverage by accepting both into one CAM-addressable
substrate, plus adds the cognitive layer neither has.
§15.3 Six long-run lessons for OGIT/OWL/DOLCE:
1. Typed-object surface IS a projection, not a separate ontology
2. Operational vocabulary needs an extraction source
3. DOLCE-as-root is the structural decision that makes
everything compose (16-bit cognitive shader slot is
defined relative to DOLCE)
4. Alignment TTL is the "glue"; authoring workflow matters
(mechanical for obvious; human-judgement for subtle)
5. Per-OGIT storage + read-only spine + CAM bar codes compose
into a self-reinforcing pattern
6. PROV-O is non-optional for any regulated domain
§15.4 WoA work-steal map from Odoo — 16-row entity-by-entity
table mapping WoA's sea-orm entities to Odoo modules:
- Customer ← res.partner + res.partner.bank (WORK-STEAL)
- Tenant ← res.company (WORK-STEAL)
- User ← res.users + res.partner linked (WORK-STEAL)
- WorkOrder ← account.move dual-nature + sale.order
(WORK-STEAL the dual-projection pattern)
- Position ← account.move.line + sale.order.line
(WORK-STEAL)
- Mahnung ← (OCA account_due_list or hand-roll) (REPURPOSE)
- Stundenzettel-Eintrag ← hr.timesheet / account.analytic.line
(WORK-STEAL)
- Einsatz ← project.task + helpdesk.ticket + mrp.workorder
(REPURPOSE)
- Logbook-Eintrag ← mail.thread mixin (WORK-STEAL)
- Dokument ← ir.attachment (WORK-STEAL)
- Setting / tenant_settings ← ir.config_parameter (REINVENT
per RFC-001 — keep typed-struct discipline)
- SKR03/SKR04 chart ← l10n_de_skr03/04 (ALREADY WIRED via
hydrate_skr03/04)
- DATEV Steuerschlüssel ← l10n_de tax templates (PARTIALLY
WIRED)
- ZUGFeRD/XRechnung generator ← Odoo e-invoicing (ALREADY
WIRED via hydrate_zugferd + hydrate_zugferd_rules)
- Computed-field dependency graph ← @api.depends (REINVENT
as SHACL sh:rule + SPIN)
§15.5 WoA work-steal map from smb-office-rs — 14-row
artifact-by-artifact table:
- woa-bridge / woa-ontology crate skeleton (WIRE 1:1)
- woa_unified_bridge constructor (WIRE 1:1 mirror with
WoaBridge type-param swap)
- WoaMysqlConnector EntityStore impl (REINVENT for sea-orm/
MySQL — trait surface transfers, impl differs from MongoDB)
- WoaMysqlReconciler shell (WORK-STEAL shell + reinvent
fetchers)
- sea-orm-schema-warden agent (REINVENT for sea-orm)
- transcode-auditor agent (WIRE with woa-specific reference
path)
- unified_bridge_wiring.rs design-map doc-comments (WIRE
with substitutions)
- Iron Rule "lance-graph is additive-only" (WIRE as policy)
- Per-customer binary pattern (WIRE LATER — P3, not POC scope)
- FFI to WinForms (DO NOT TAKE — WoA has web UI not desktop)
- MongoDB connector (DO NOT TAKE — WoA cold path is MySQL)
- BSON-schema-specific Customer canonical row (REINVENT with
WoA field set)
§15.6 The unified roadmap implication — WoA's POC path is
mostly composition, not invention. Actual invention surface
is ~5 deliverables totalling ~250 LOC: sea-orm fetchers for
the reconciler; Mandant.id → TenantId mapping; permission
to actor_role mapping; ~9 routes in security-critical buckets
that aren't bucket-generic; askama templates for new WoA-
specific UI views (e.g., /admin/parity). Everything else
is harvest. Explains why the POC achieves in ~7-8 days net.
§15.7 One-line summary: typed-object surface IS a projection;
operational vocabulary needs an extraction source; DOLCE-as-
root is load-bearing; alignment TTL authoring matters;
per-OGIT + read-only + CAM compose into self-reinforcement;
PROV-O is non-optional. WoA work-steals ~80% from Odoo + smb;
actual invention surface ~5 deliverables / ~250 LOC.1 parent e377d49 commit e6f13ff
1 file changed
Lines changed: 136 additions & 0 deletions
0 commit comments