Skip to content

Commit e6f13ff

Browse files
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

File tree

0 commit comments

Comments
 (0)