|
11 | 11 | --- |
12 | 12 |
|
13 | 13 | > **2026-06-17 — IN PR (branch `claude/odoo-spo-fk-target-deep-reads`)** — Odoo SPO corpus enrichment (odoo-rs `UPSTREAM_WISHLIST` P1 + coupled P0). The corpus `crates/lance-graph/src/graph/spo/odoo_ontology.spo.ndjson` now carries **two new predicate families** (was 7 predicates: `depends_on / emitted_by / has_function / raises / rdf:type / reads_field / traverses_relation`): **`target`** (618) + **`inverse_name`** (102) — the relational comodel/inverse keyed by the relation IRI, ruff#18 sibling-triple shape `(odoo:account_move.line_ids, target, "account.move.line")`; and **+736 deep `reads_field`** (so `reads_field` 2 095 → 2 831) — each `@api.depends('rel.leaf', …)` resolved through the new target map and lifted onto the field's emitting method as a transitive read. Corpus 22 245 → **23 701** triples. New stdlib-only generator `tools/odoo-blueprint-extractor/odoo_blueprint_extractor/spo_enrich.py` (+14 unit tests) reads `/home/user/odoo/addons` (the same source the ORM extractor parses) to build the `(model, field) → (comodel, inverse)` map; additive, deterministic, idempotent. `odoo_ontology.rs` doc + tests updated (count 23 701, histogram incl. new predicates, 2 new enrichment tests); `action_emitter`/`spo` unaffected (function count 3 328 unchanged). **Cross-repo finding (verified, not faked):** the deep reads make the cross-model recompute-ordering edge `account_move_line._compute_amount_residual → account_move._compute_amount` *visible* to `od_ontology::RecomputeDag` (baseline: 0 cross-model compute edges → enriched: 27), delivering the wishlist's P0 ask — but the audit's MISSED-1 is a unidirectional *ordering edge*, NOT a cycle, so odoo-rs's `slice_2_compute_subset_no_cross_model_cycle` no-cycle assertion legitimately still holds (the "circularity" is semantic, not a `reads_field`↔`emitted_by` back-edge). The corpus's original generator (`emit_ontology2.py`/`methods.parquet`) is absent from the tree — only its output is committed; enrichment runs at the correct additive stage over the shipped corpus + present source. See `EPIPHANIES.md` E-ODOO-FK-DEEP-READS. |
14 | | - |
| 14 | +> |
| 15 | +> **2026-06-17 — MERGED #521** (lance-graph-contract: C++ codegen target `MethodSig` + `UniCharSet` content store): **+940/-4 across 8 files, additive to `lance-graph-contract` only** (zero `NodeRow`/`ValueTenant`/`ValueSchema`/stride/`ENVELOPE_LAYOUT_VERSION` impact). The Core-side of the Tesseract C++→Rust transcode. **`codegen_manifest`** — `MethodSig` (the `&'static`-backed, `const`-constructible method-signature type the generated Rust names; the method-axis sibling of `ClassView`'s field projection, distinct because `ClassView::FieldRef` is `String`-backed and can't be `const`) + `ClassMethods` + `methods_for`. **`unicharset`** — `UniCharSet` (deepnsm::Vocabulary-shaped id↔unichar bijection), `.unicharset` parser, `id_to_unichar`/`unichar_to_id`/`dump`, **zero leptonica** (pure text, never touches `Pix`). **PROBE-OGAR-ADAPTER-UNICHARSET → FINDING:** the pipeline (ruff `ruff_cpp_spo` harvest → `reassemble` → `ruff_cpp_codegen` → these types) produces a `UniCharSet` **byte-identical 112/112** to the C++ libtesseract oracle on real `eng` data — the core-first transcode doctrine is now empirically proven end-to-end (doctrine flipped CONJECTURE→FINDING). The sole id-0 diff was the `NULL`→space convention (`unicharset.cpp:882`), fixed + locked by `null_token_maps_to_space` (codex P1 flagged it independently; resolved + thread closed). Pairs with **ruff #20** (harvester + codegen side, merged same day). 644 contract lib green; clippy `-D warnings` + fmt clean. Branch `claude/happy-hamilton-0azlw4`, merge `620bd8e`. **Next honest increment:** wire `UniCharSet` lookups through `classid → ClassView → UnifiedStep` (the `classid → &UniCharSet` resolver), per-leaf one-`diff` parity. |
| 16 | +> |
15 | 17 | > **2026-06-17 — IN PR (branch `claude/bindspace-mailbox-soa-w3-w4a`)** — W3+W4a atomic read/write shim, the first behaviour-touching step of the BindSpace→MailboxSoA migration. New `cognitive-shader-driver::backing` module (`pub(crate)`): `BackingStore<'a>` (read) + `BackingStoreWrite<'a>` (write) — an enum with a `Singleton(&BindSpace)` arm (live default) and a `#[cfg(feature = "mailbox-thoughtspace")] Mailbox(&MailboxSoA<1024>)` arm. New Cargo feature **`mailbox-thoughtspace`** — **default-OFF, NOT in `lab`**; production stays singleton-read+write until W7. `driver.run()` keeps ONE body: all six dispatch reads (meta_prefilter / qualia17d / content_row / edge / entity_type / len) re-pointed through a `self.backing()` selector (`const DEFAULT_MAILBOX: MailboxId = 0`, `debug_assert!(mailboxes.len() <= 1)`, singleton fallback when no mailbox registered); `ontology()` stays on the singleton (re-home is W4b). Gates: **W2 differential** (`tests/w2_differential.rs`, 4 tests) asserts the WHOLE `ShaderCrystal` bit-identical (`f32::to_bits()`) across both arms incl. a non-zero-window case + non-vacuity; firewall CI lint (`tests/firewall.rs`) bars the two `CausalEdge64` twins (`ndarray::hpc::causal_diff` / `thinking_engine::layered`) from `src/`; field-isolation matrix + cycle-drop footprint (~6 KB/row vs ~71.6 KB) in `mailbox_soa.rs`. `unbind_busdto` C5 downgrade: cycle-plane index recovery feature-gated OUT under `mailbox-thoughtspace` (cycle plane never migrated — D-DIST-5), headline survives via `qualia[9]`; singleton build keeps bit-exact recovery. Tests: default **97 lib + 2 firewall + 2 e2e**; feature-on **98 lib + 2 firewall + 2 e2e + 4 w2**; clippy `--all-targets` (both cfgs) + fmt clean on touched files. **Pre-existing P0 surfaced (NOT introduced, NOT fixed here):** the `with-engine` build does not compile on `main`/HEAD (`engine_bridge.rs:259` uses `QUALIA_DIMS` without importing it); the busdto round-trip tests have never run, and (separately) the D-CSV-5b i4-qualia cutover breaks the `codebook_index` round-trip (stored in i4 `qualia[9]`, ±7 range, cannot hold a u16). Left untouched to keep scope to W3+W4a — flagged for operator. Plan: `.claude/plans/bindspace-mailbox-soa-w3-w4a-impl-v1.md`. |
16 | 18 | > |
17 | 19 | > **2026-06-16 — MERGED #512** (perturbation-sim review fixes + **core-first transcode doctrine**): +591/-5 across 11 files. **Code fixes (review of #511):** `examples/calibrate.rs` divide-by-zero guard on degenerate grid; `src/hhtl.rs::basin_lambda2` `assert_eq!(keys.len(), grid.n, …)` precondition (silent corruption→loud panic); `TECH_DEBT.md` MD018 reflow. **Doctrine (the structural delivery):** new mandatory-read `core-first-transcode-doctrine.md` (218 LOC) + 3 new agent cards (`core-first-architect`, `core-gap-auditor`, `adapter-shaper`) + `BOOT.md`/`README.md` wires + EPIPHANIES entry + CLAUDE.md (+21 LOC, doctrine wire-up — NEW content unread by this session). Likely directly aligned with the ontology-first stance the operator locked on odoo-rs. Branch `claude/happy-hamilton-0azlw4`, merge `1e23c410`. 75 lib tests + clippy + fmt clean. |
|
50 | 52 |
|
51 | 53 | | PR | Merged | Title | What it added | |
52 | 54 | |---|---|---|---| |
| 55 | +| **#521** | 2026-06-17 | lance-graph-contract: C++ codegen target (`MethodSig`) + `UniCharSet` content store | **+940/-4 across 8 files, additive to `lance-graph-contract` only.** The Core-side of the Tesseract C++→Rust transcode. **`codegen_manifest`** `MethodSig` (`&'static`/`const`-constructible method-signature type the generated Rust names; method-axis sibling of `ClassView`'s field projection) + `ClassMethods` + `methods_for`. **`unicharset`** `UniCharSet` (deepnsm::Vocabulary-shaped id↔unichar bijection) + `.unicharset` parser + `dump()` — **zero leptonica** (pure text). **PROBE-OGAR-ADAPTER-UNICHARSET → FINDING:** the full pipeline produces a `UniCharSet` **byte-identical 112/112** to the libtesseract oracle on real `eng` data; core-first doctrine proven end-to-end. `NULL`→space (`unicharset.cpp:882`) was the sole id-0 diff, locked by `null_token_maps_to_space` (codex P1 independently flagged + resolved). Pairs with **ruff #20**. 644 contract lib green; clippy `-D warnings` + fmt clean. Branch `claude/happy-hamilton-0azlw4`, merge `620bd8e`. | |
53 | 56 | | **#512** | 2026-06-16 | perturbation-sim review fixes + **core-first transcode doctrine** + 3 new agent cards | **+591/-5 across 11 files**. Fixes from #511 review: `examples/calibrate.rs` divide-by-zero guard on degenerate grid; `src/hhtl.rs::basin_lambda2` `assert_eq!(keys.len(), grid.n, …)` precondition (silent-corruption → loud panic); `TECH_DEBT.md` MD018 reflow. **The structural delivery:** new mandatory-read `core-first-transcode-doctrine.md` (218 LOC) + 3 specialist agents (`core-first-architect`, `core-gap-auditor`, `adapter-shaper`) + EPIPHANIES entry + CLAUDE.md (+21 LOC) wire-up. Likely aligned with the ontology-first / codegen-as-cut-tail doctrine the operator just locked on odoo-rs. 75 lib tests + clippy `-D warnings` + fmt clean. Branch `claude/happy-hamilton-0azlw4`, merge `1e23c410`. | |
54 | 57 | | **#513** | 2026-06-16 | perturbation-sim: inertia §0 promotion gate + CAKES/CHAODA + witness standing-wave + H ingest | **+1009/-2 across 10 files**, disjoint from #512 by design. **§0 promotion gate** for `inertia_buffer`: `GuardrailVerdict::RatifiedReuse` — takes `ResidueEdge INERTIA_SLOT = 5`, reuses existing tenant, invents no axis → **passes by reuse, not waiver**. **Probe 1 CAKES + CHAODA-lite** over HHTL basins (`CHAODA_FLAG=0.75` mirrors ndarray::clam; example flags brittle block 1.1.0 score 1.000). **Probe 2 witness arc as standing wave** — Parseval proves `particle == wave` to 0.00e0; `witness_from_spectrum` is the O(N)-per-arc read-many amortization. **Probe 3** per-bus inertia (H) ingest path. Does NOT touch `canonical_node`. Branch `claude/perturbation-sim-inertia-clam`, merge `8a3e335b`. | |
55 | 58 | | **#511** | 2026-06-16 | perturbation-sim: substrate calibration (study as ground truth) + calibrated SoA member spec | **+886/-0 additive across 9 files** — `examples/calibrate.rs` (new, 318 LOC, ICC/Spearman/Pearson/Cronbach battery), `src/columns.rs` (new, 177 LOC, **spec only**), `src/hhtl.rs` (new, 175 LOC), `examples/hhtl_grid.rs` (new, 81 LOC), `CLAM_CHAODA_FRAMING.md` (new, 75 LOC). Calibrates the SoA value tenants against perturbation-sim's deterministic study as ground truth: **all 5 contingency factors certify by VALUE at 2-bit linear** (ICC ≥ 0.96), the §10 "statistics survive the encoding" claim **CONFIRMED**; α preserved within Δ ≤ 0.02 at ≥4-bit; read ≥6-bit for cross-axis orthogonality. The **one additive member** named: **`inertia_buffer`** — orthogonal to topology per PR #509's `Spearman(λ₂, buffer) ≈ 0`, spec only, promotion gated by §0 guardrail. Self-correction: two prior guesses on `d_lambda2`'s ICC=0 (heavy-tail / near-constant) **retracted** — it was a variance-guard underflow at ~1e-7. Significance per Jirak `n^(p/2−1)`. Does **NOT** touch `canonical_node` (operator-locked). Branch `claude/perturbation-sim-calibrate-soa`, merge commit `c3dddfc9`. | |
|
0 commit comments