Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
# EAW-5 — Source-harvested Odoo / OGIT / legal-rule convergence and optional learning

**2026-10-27. Docs-only staged plan, NOT IMPLEMENTED, NOT HARVESTED HERE, NOT A REAL-WORLD LAW OR TAX VERDICT.** Independent main-based stage; upstream research scratchpad [#1820](https://github.com/AdaWorldAPI/lance-graph/pull/1820), presence [#1821](https://github.com/AdaWorldAPI/lance-graph/pull/1821), CausalEdge64 [#1822](https://github.com/AdaWorldAPI/lance-graph/pull/1822), TERNLOG Sudoku [#1823](https://github.com/AdaWorldAPI/lance-graph/pull/1823), Thought-Git [#1824](https://github.com/AdaWorldAPI/lance-graph/pull/1824). These are *conceptual* dependencies, not stacked commit bases.

## Why this stage is separate

Mechanism probes on synthetic masks can prove identity preservation and Boolean parity; they cannot establish source semantics for Odoo accounting, SAP, legal rules, double-entry posting, or causal discovery. For those, source-specific order, effective dates, jurisdiction, tax base/rates, rounding, permissions, source object identity, incompleteness and transactional effects matter.

The operator's target:
1. Multiple distinct dimensionally mapped business methods/rules may land on the same admitted algebra/polyfill.
2. Several valid source rules may converge on ONE qualified semantic determination. Taxable-item applicability and rate subrules are possible Odoo harvest targets; never assume the composition is Boolean OR, unordered SUM or last-wins.
3. One determination may fan out via typed routing to TWO DISTINCT ledger destinations, **not simply to debit and credit fields on one journal line**.
4. Presence / established source absence / undiscovered or incomplete status must remain distinct through DT64 source-bound, versioned replay.
5. Truth, epistemic certification, activation and permission are distinct. CausalEdge64 is a declared evidence-reading overlay of the source relationship address, not a new legal rule that can promote itself.
6. 'Es kommt darauf an' has a constructive meaning: a **conditionally scoped counterfactual candidate** under explicitly qualified changing guard/source facts, not a guessed universal rule. Thought-Git T0+≤63 alternatives keep worlds separate.
7. A conceptual 64^n higher-order game matrix is a block/coordination mental model, not a mandate to allocate 64^n dense tensor cells or to run 64^n scenarios. DR64³, DT64 and existing Quack/RelAlg/Datafrog/egglog and native ndarray are independent owners.

## What the merged source data actually shows

[odoo-rs #44](https://github.com/AdaWorldAPI/odoo-rs/pull/44) MERGED test-only: slice 1 ON 194, provisional WHEN 5, DO 219, 628 registrations; 8 cooccupied cells all ON=unattested. The common cube stores every MethodId in a BTreeSet but dispatches via Boolean OR of provisional guard atoms; no real K3 conjunctive WHEN or source priority, recipe ref, routing destination and physical snapshot is established. [odoo-rs #45](https://github.com/AdaWorldAPI/odoo-rs/pull/45) MERGED: 4 hypothetical unknown guards, 16 worlds, test-local NARS equal weights and sibling landing through general `next_version`; candidate synthesis or empirical confidence NOT established.

The harvested [slice_2.spo.ndjson](https://github.com/AdaWorldAPI/odoo-rs/blob/main/data/slice_2.spo.ndjson) includes four `emitted_by` mappings for `account_move_line.balance`: `_compute_balance`, `_inverse_amount_currency`, `_inverse_credit`, `_inverse_debit`. `_compute_debit_credit` emits both `debit` and `credit`; inverse methods read `account_move.is_storno`. These facts demonstrate a useful multi-emitter/multi-output source family, NOT yet four simultaneously contributing methods, a declared K3 guard, an admitted balance law, a tax rate, or **dual ledger routing**. Pin the exact upstream Odoo `account_move_line.py` source, applicable version and owner before claiming behavioral parity; the repo-local source does not cover that entire method family.

[OGAR #363](https://github.com/AdaWorldAPI/OGAR/pull/363) MERGED lab: OgitTables reader 939 types, 518 verbs, 2,756 allowed edges, 4,861 chainable verb pairs by RelAlg composition vs independent enumeration. Its reader rejects **102 files** and leaves **508 references unresolved**: these are UNKNOWN coverage, never negative edges. `consistsOf` and `isPartOf` are not declared inverse relations across full coverage; do not infer an inverse from names.

## Suggested source-harvest ladder, each separately authorized

**H1 — accounting source witness (Odoo):** pin exact upstream Odoo version/commit and module plus source environment, field/method signatures and decorator/inverse triggers; record typed ON and WHEN AST, source object/revision, declared dependencies and phase. The small `balance/debit/credit/is_storno` family can falsify improper multi-emitter dedup, but may not prove lawful many-to-one concurrent convergence.

**H2 — genuine tax convergence:** harvest version- and jurisdiction-scoped invoice line, tax base, rate-selection, included/excluded price, currency, rounding, tax-on-tax, accounting-date examples with independent Odoo outputs. Must distinguish *taxability*, *tax base*, *effective rate* and *posted amount*; a common Boolean outcome may conceal a diverging amount.

**H3 — typed ledger routing:** find a source-owned example of a single determination legitimately routed to two independently identified accounting ledgers/books; pin real destination IDs, authorization and transaction/period semantics. Independent oracle checks both destinations and no fabricated routing; debit/credit is not adequate stand-in.

**H4 — OGIT property/relationship corpus:** narrow to accepted and rejected OGIT files, independently read raw corpus for true coverage, then compare per-verb RelAlg composition with typed source identity and validity. Refuse nondeclared inverse/negative claims. Plan explicit source-derived `isPartOf` reachability and versioned codebook change.

**H5 — legal ontology/administrative rule analogue:** research source-pinned versions of LegalRuleML, LKIF, ODRL and Akoma Ntoso as potential cold DTO vocabularies (verify actual suitability before using), then select a small real public-law example with effective date, jurisdiction, derogations, exceptions and authority. The 'es kommt darauf an' hypothesis changes one admitted fact while preserving legal precedence and effect prohibitions; no legal advice or autonomous verdict.

**H6 — higher-order counterfactual induction:** reuse CFA-3 ARM-discovery (associations and ablations as probes), existing RelAlg/Datafrog and cold egglog/DialEgg for suggested reductions; the optional CFA-4 NSL/ONNX or NNUE-style ranker selects the next bounded probe, **never** supplies proof, executable authority, priority, access or a new physical tensor runtime. D-NAM/EXO-152 owns numerical method semantic parity, D-DRMC/EXO-127 owns mathematical law admission.

## Pre-registered falsifiers (NONE RUN)

| ID | Grounded negative control | Exact expected outcome |
|---|---|---|
| E5-1 | Compute and inverse `balance` emitters treated as four simultaneously applicable methods | Independent Odoo source phases disprove or certify actual coexistence; no unjustified convergence claim. |
| E5-2 | Two rules produce same taxability Boolean but different source-correct tax base/rounding | Full amounts and protected intermediates differ; cannot collapse based on final bit. |
| E5-3 | `debit/credit` mislabeled as dual-ledger fanout | Reject ledger conclusion until two actual typed destination IDs are sourced. |
| E5-4 | Missing inverse decorator or `is_storno` dependency treated as TRUE guard | Stay UNKNOWN until true WHEN AST/source obligation pinned. |
| E5-5 | 102 OGIT rejected files and 508 unresolved refs treated as evidence of absence | Coverage remains UNKNOWN, not negative. |
| E5-6 | Two different source versions use same local ordinal, recipe or palette index | No equality without DT64 global/local witness, source ACL/schema/codebook/snapshot. |
| E5-7 | Apparent legal rule defeated by effective date, exception, jurisdiction or source authority | Conditional outcome/refusal; no generic OR/SUM or effect execution. |
| E5-8 | Ranker observes coincident sibling outcomes and grants `Causes` or commits a new inferred relation | Explicit promotion refusal; keep candidate and independent evidence roots. |
| E5-9 | Another source owner has already mapped the algebraic method recipe | Reuse existing polyfill identity and separately mapped guards; no second interpreter. |

## Owner / board coordination and exit

[EAW-0 #1820](https://github.com/AdaWorldAPI/lance-graph/pull/1820) is the preservation scratchpad. [#1814–#1819](https://github.com/AdaWorldAPI/lance-graph/pull/1819) own CFA logical incidence and the physical ON×DO candidate; they are NOT merged, and #1818 is still stacked on optional #1817. Canonical [D-DT64-Q0](https://github.com/AdaWorldAPI/lance-graph/blob/main/.claude/plans/d-dt64-q0-borrowed-quack-binding-seam-v1.md) and [EXO-46](https://linear.app/exo-red/issue/EXO-46) source/focus, [EXO-109](https://linear.app/exo-red/issue/EXO-109) oracle independence, [EXO-133](https://linear.app/exo-red/issue/EXO-133) real-labelled evidence, [EXO-135](https://linear.app/exo-red/issue/EXO-135) evidence-to-law refusal, [EXO-140](https://linear.app/exo-red/issue/EXO-140) ADMISSION B, [EXO-146](https://linear.app/exo-red/issue/EXO-146) CE64 alias migration, [EXO-148](https://linear.app/exo-red/issue/EXO-148) durability, [EXO-152](https://linear.app/exo-red/issue/EXO-152) native numerical method semantics, [EXO-73](https://linear.app/exo-red/issue/EXO-73) lawful recursion, and [EXO-50](https://linear.app/exo-red/issue/EXO-50/agent-message-bus-gpt-xgrok-ccsession-id) append-only coordination remain independent gates.

**Only then decide** whether a source-attested conditional inference is an admissible learned improvement, with explicit D-DRMC and source authority; no stage authorizes source writes or law interpretation. Operator-rejected #1812 is an epistemic failure quarantined from sources, oracles and design harvest.