Skip to content

Commit ee3acac

Browse files
committed
docs(board): PR #511 board hygiene + odoo-rs seed AGENT_LOG entry
PR #511 merged 2026-06-16 19:01 UTC (merge commit c3dddfc) on main — +886/-0 additive substrate calibration in perturbation-sim: examples/calibrate.rs (ICC/Spearman/Pearson/Cronbach α battery against perturbation-sim as ground truth), src/columns.rs (calibrated SoaMemberSpec, spec only), src/hhtl.rs, examples/hhtl_grid.rs, CLAM_CHAODA_FRAMING.md. Headline locks: - 5 contingency factors certify by VALUE at 2-bit linear (ICC ≥ 0.96) — existing palette/turbovec tenants suffice; §10 "statistics survive the encoding" CONFIRMED. - α preserved within Δ ≤ 0.02 at ≥4-bit; read ≥6-bit for orthogonality. - inertia_buffer is the one genuinely additive member — orthogonal to topology per #509 (Spearman(λ₂, buffer) ≈ 0). Spec only; promotion gated by §0 anti-invention guardrail. - d_lambda2's ICC=0 was a variance-guard underflow at ~1e-7 magnitude; two prior guesses (heavy-tail / near-constant) retracted on the run. - Significance per Jirak n^(p/2−1) (I-NOISE-FLOOR-JIRAK). - Does NOT touch the operator-locked canonical_node. Files updated this commit: - PR_ARC_INVENTORY.md PREPEND #511 entry - LATEST_STATE.md dated bullet + Recently-Shipped row - AGENT_LOG.md PREPEND session entry covering both odoo-rs SEED (cross-repo, commit ebfb2c3 on AdaWorldAPI/odoo-rs main) AND this #511 board hygiene. Retroactive cleanup (merge landed before the same-commit hygiene rule could fire — the AGENT_LOG entry records this). https://claude.ai/code/session_01Xzyc27Nx3f8WC5KzwfWfjx
1 parent e0ca080 commit ee3acac

3 files changed

Lines changed: 36 additions & 0 deletions

File tree

.claude/board/AGENT_LOG.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,17 @@
1+
## 2026-06-16 — odoo-rs SEEDED + PR #511 board hygiene (cross-repo)
2+
3+
**Main thread (Opus 4.7) — two outputs, one session arc.**
4+
5+
**(1) odoo-rs SEEDED.** The empty `AdaWorldAPI/odoo-rs` repo bootstrapped to `main` (commit `ebfb2c3`, 973 LOC across 7 source files). Doctrine: Odoo's business-logic ontology as a *native SurrealDB schema* — not a sea-orm port (rejected as "sink-in"), not a codegen pipeline (deferred as the "cut tail"). Crate `od-ontology` projects the 22 245-triple SPO corpus (lance-graph `graph/spo/odoo_ontology.spo.ndjson`) → typed `Schema { tables, functions, events }` via `corpus_to_schema()` → SurrealQL DDL via `ToSql`. The split that matters: **reactive wiring is 100% faithful immediately** (which field recomputes over what, which guard fires, which method materialises which field, which deps cross records); compute/guard *bodies* and exact field types **port incrementally**.
6+
7+
**Slice-1 fixture (proves the shape):** `account.move` — 1 647 real triples extracted as `data/account_move.spo.ndjson` (610 `depends_on`, 226 `emitted_by`, 220 functions, 18 `raises`, 130 cross-record dotted deps). **9/9 slice tests + 1 doctest green** against the real fixture; clippy clean (`deny(clippy::all)`, `warn(clippy::pedantic)` — only 1 pedantic `doc_markdown` warning on `SurrealQL`/`QL` casing, non-blocking); `cargo fmt --check` clean.
8+
9+
**Architecture comparison done (op-surreal-ast / nexgen-rs):** `AdaWorldAPI/openproject-nexgen-rs::op-surreal-ast` is the analogous AR-shaped DDL AST (operator pointed at it). od-ontology's `surreal_ast.rs` mirrors its shape (TableDefinition / FieldDefinition with VALUE+ASSERT+READONLY / IndexDefinition / EventDefinition / FunctionDefinition / Kind taxonomy with ToSql) but is Odoo-aimed not Rails-aimed — Odoo's `compute='_x', store=True` lowers to `DEFINE FIELD VALUE … READONLY`, `@api.depends('rel.sub')` lowers to `DEFINE EVENT`, `@api.constrains/_check_*` lowers to `DEFINE EVENT … THROW`, `def action_X` to `DEFINE FUNCTION fn::model::X($this)`. The 7 ruff PRs (#5/#6/#7/#9/#10/#11/#12) on the OpenProject AR-shape arc are the predicate-vocab template; od-ontology consumes the *output* of that work (the {s,p,o,f,c} ndjson), so vocab parity follows from the existing 22 245 triples — no ruff-fork changes required for slice-1.
10+
11+
**(2) Board hygiene for PR #511** (perturbation-sim substrate calibration, +886/-0 additive, merge `c3dddfc9`) — this commit. PR_ARC entry prepended (Status/Added/Locked/Deferred/Docs/Confidence); LATEST_STATE dated bullet + table row at the head. PR #511's headline lock: **5 contingency factors certify by VALUE at 2-bit linear** (existing tenants suffice, no new columns); **only `inertia_buffer` is genuinely additive** (orthogonal to topology per #509); §0 anti-invention guardrail honoured (spec only). Self-correction visible: two `d_lambda2` ICC=0 hypotheses retracted on the run.
12+
13+
**Cross-repo footprint this session:** odoo-rs new repo on `main` (commit `ebfb2c3`); lance-graph board update on `claude/odoo-savant-reasoners` (this commit). No PR opened for odoo-rs yet (the repo was empty by design — the seed IS the main branch).
14+
115
## 2026-06-16 — PR #507 review pass: 5+3 agent fleet (5 specialists + PP-13/15/16 hardeners) → 1 P0 + 2 P1 + P2 docs fixed
216

317
**Main thread (Opus 4.7) spawned an 8-agent review fleet against PR #507** (the 4-task unblock-cascade below): 5 specialists (sentinel-qa, dto-soa-savant, iron-rule-savant, scenario-world, container-architect) + the 3 brutal hardeners (PP-13 brutally-honest-tester, PP-15 baton-handoff-auditor, PP-16 preflight-drift-auditor). Verdicts: dto-soa **LAND**, iron-rule **YIELDS-ALL**, container-architect **EXACT**, sentinel-qa **SOUND+P1**, scenario-world **CORRECT+P1**, PP-15 **CATCH-LATENT**, PP-16 **HOLD(P0)**, PP-13 **HOLD(P1×2)**. Consensus: mergeable after mechanical fixes; **zero REJECT, zero architectural rework** — "high-quality work" (PP-13), tests verified not-theater.

.claude/board/LATEST_STATE.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@
1010
1111
---
1212

13+
> **2026-06-16 — MERGED #511** (perturbation-sim: substrate calibration + calibrated SoA member spec): **+886/-0 additive**. New `examples/calibrate.rs` (318 LOC) runs the ICC(2,1) + Spearman + Pearson + Cronbach α battery against perturbation-sim as ground truth; new `src/columns.rs` (177 LOC, spec only) names the calibrated `SoaMemberSpec` set; new `src/hhtl.rs` + `examples/hhtl_grid.rs` + `CLAM_CHAODA_FRAMING.md`. **Findings:** all 5 contingency factors certify by VALUE at 2-bit linear (ICC ≥ 0.96) — existing palette/turbovec tenants already suffice, §10 "statistics survive the encoding" CONFIRMED; α preserved within Δ ≤ 0.02 at ≥4-bit; cross-axis ρ wobbles ±0.15 at N=24 → read ≥6-bit. **Self-correction:** `d_lambda2`'s ICC=0 was variance-guard underflow at ~1e-7 magnitude (not heavy-tail / not near-constant — both prior guesses retracted); normalized storage fixes to 1.00 at 2-bit. **Locked:** 5 factors → existing tenants (no new columns for contingency axes); the **one genuinely additive member is `inertia_buffer`** — orthogonal to topology (`Spearman(λ₂, buffer) ≈ 0` per PR #509), spec only, promotion gated by §0 anti-invention guardrail. Significance per Jirak n^(p/2−1) (I-NOISE-FLOOR-JIRAK). Does NOT touch the operator-locked `canonical_node`. Branch `claude/perturbation-sim-calibrate-soa`, merge commit `c3dddfc9`. 71 lib tests + clippy + fmt clean.
14+
>
1315
> **2026-06-16 — MERGED #510** (surreal_container seam falsifier — IN-direction): `crates/surreal_container/tests/scheduler_seam.rs` — **+125/-0, one new file, zero source change**; first integration-test file in `surreal_container`. Five kill-condition-first tests pin the `SurrealMailboxView → NextPhaseScheduler::on_version → KanbanMove` contract end-to-end: legal-successor walk over the full Rubicon arc, absorbing-column guard (Commit/Prune schedule no advance), `-550_000µs` Libet-anchor pinned to the Planning→CognitiveWork Σ-commit crossing, lowering-determinism, ExecTarget-rides-onto-move. Branch `claude/sleepy-cori-aRK2x`, merge commit `0e6452c8`. **Out of scope (explicit, deferred):** the OUT-direction = planner-emit `KanbanMove` (`CognitiveCycle` sequencer + §9 LOCKED from #496) — `D-MBX-A6-P3` remains the next unblock. This PR proves the downstream half; the upstream half is still hand-rolled. Test bench is also the template the planner-emit half will be verified against once it lands. `surreal_container` is excluded from CI, so the suite runs locally/on-demand (standing CI-coverage-gap follow-up — CI tests 4 of ~30 crates).
1416
>
1517
> **2026-06-15 — REVERTED (operator)** — the tesseract-rs `soa` wiring below was **deleted** (branch reset to master `420de08`). Operator: *"we don't want to use original Tesseract, we want to transcode it into Rust — delete everything you copied from original Tesseract into tesseract-rs."* Wrapping the original Tesseract C engine + parsing its TSV is the wrong direction; the real goal is a **pure-Rust OCR**. The contract-side transcode (`LayoutBlock::to_node_row`) + keystone STAY — they are OCR-engine-agnostic (a pure-Rust OCR feeds the same `LayoutBlock``NodeRow`); only the original-Tesseract coupling was removed. The strike-through entry below is retained per APPEND-ONLY.
@@ -40,6 +42,7 @@
4042

4143
| PR | Merged | Title | What it added |
4244
|---|---|---|---|
45+
| **#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`. |
4346
| **#510** | 2026-06-16 | test(surreal_container): additive seam falsifier — SurrealMailboxView → VersionScheduler → KanbanMove | **`crates/surreal_container/tests/scheduler_seam.rs`** — additive: **+125/-0, one new file, zero source change**; first integration-test file in the crate. Five kill-condition-first tests pin the **IN-direction** of the surreal↔kanban↔scheduler wiring against the real `SurrealMailboxView` (not the in-crate `FakeView`): full Rubicon arc → legal successors, absorbing-column no-advance guard, Libet `-550_000µs` anchor at the Planning→CognitiveWork Σ-commit crossing, lowering-determinism, ExecTarget-survives-lowering. **Out of scope (deferred, explicit):** OUT-direction = planner-emit `KanbanMove` (`CognitiveCycle` sequencer + §9 LOCKED from #496) — `D-MBX-A6-P3` remains the next unblock. Branch `claude/sleepy-cori-aRK2x`, merge commit `0e6452c8`. CI-invisible (crate excluded). |
4447
| **#459** | 2026-06-03 | feat(helix): golden-spiral Place/Residue codec (zero-dep + optional ndarray-hpc) | **`crates/helix`** — new standalone codec realising the Place/Residue `KNOWLEDGE.md` (HHTL = PLACE, helix = orthogonal RESIDUE). `HemispherePoint` (√u equal-area placement) → `CurveRuler` (stride-4-over-17) → `Similarity` (Fisher-Z/arctanh) → `RollingFloor` (256-palette; occupancy-drift + version stamp) → 3-byte `ResidueEdge` + `DistanceLut` (metric-safe 256×256 L1) + `prove()` (2-D discrepancy companion to `jc::weyl`). Zero-dep default (empty `[workspace]`, root `exclude`); optional `ndarray-hpc` = batch Fisher-Z via `simd_ln_f32`. 63 unit + 6 doctests green both configs; clippy/fmt clean. ~80% clean-room overlap with CERTIFIED primitives (E-HELIX-OVERLAP / TD-HELIX-OVERLAP-1). Merge commit `ef35ff1`. Branch `claude/gallant-rubin-Y9pQd`. |
4548
| **#450** | 2026-06-01 | NAL syllogism capstone + atoms/styles/NAL → planner-DTO unification (A1/A2) | **`causal-edge::syllogism`** — hardwired NAL **figure** resolver (`Figure{Chain,ChainRev,SharedSubject,SharedObject}` + `figure()`/`syllogize()`; SPO term-sharing → Deduction/Induction/Abduction + signed mantissa; the reasoning kernel, Pearl-2³-analogue). **A1** `contract::nars::InferenceType::{to,from}_mantissa` (zero-dep cross-crate rule bridge) + `From<grammar::NarsInference>`. **A2** `rung: RungLevel` on both `ThinkingContext` structs (the meta-aware handle). Unification spec §0–14 (`.claude/specs/atoms-styles-nal-planner-dto-unification-v1.md`) + **vart vendored** (`/home/user/vart`). Branch `claude/jolly-cori-clnf9`. _(PR_ARC #450 entry owed.)_ |

.claude/board/PR_ARC_INVENTORY.md

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,25 @@
3535
3636
---
3737

38+
## #511 perturbation-sim: substrate calibration (study as ground truth) + calibrated SoA member spec
39+
40+
**Status:** MERGED 2026-06-16 19:01 UTC (merge commit `c3dddfc9`), branch `claude/perturbation-sim-calibrate-soa`. **Additive: +886/-0 across 9 files**`examples/calibrate.rs` (new, 318 LOC), `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), small wires in `Cargo.toml`/`src/lib.rs`, plus `.claude/board/TECH_DEBT.md` (+32) and `.github/workflows/rust-test.yml` (+16). Does **NOT** touch the operator-locked `canonical_node`.
41+
42+
**Added:** the substrate-calibration loop — use perturbation-sim's deterministic study as ground truth, encode its factor matrix through the SoA value tenants, certify with the `certification-officer` battery (**ICC(2,1)** = abs agreement source↔encoded · **Spearman** = rank · **Pearson** = linear readout · **Cronbach α** = *reproduce* the source α — NOT maximize; the study's α is low by design and "improving" it corrupts the construct). Significance at the **Jirak `n^(p/2−1)`** rate (per `I-NOISE-FLOOR-JIRAK`).
43+
44+
**Findings (real ES core, members stored normalized):**
45+
- All 5 contingency factors **certify by VALUE at 2-bit linear** (ICC ≥ 0.96) — the existing palette/turbovec tenants already suffice per value. The §10 "the statistics survive the encoding" claim is **confirmed**.
46+
- **α preserved within Δ ≤ 0.02 at ≥4-bit**; the discriminant ρ wobbles ±0.15 at N=24 under coarse bins → read the cross-axis orthogonality at **≥6-bit** (store budget < read budget).
47+
- **Self-correction (the run falsified two of my own guesses):** `d_lambda2`'s initial ICC=0 was **not** heavy-tail and **not** near-constant — it was a tiny-magnitude (~1e-7) underflow of ICC's variance guard; storing the member **normalized** fixes it (1.00 at 2-bit). Both wrong hypotheses retracted in the example headline.
48+
49+
**Locked:** (1) the **5 factors map to existing tenants** (2-bit linear, normalized, read ≥6-bit) — no new SoA columns for the contingency axes; (2) the **one genuinely additive member is `inertia_buffer`** — the axis the resilience study (PR #509) measured *orthogonal* to topology (`Spearman(λ₂, buffer) ≈ 0`), which no existing connectivity column can carry. **Spec only** (`src/columns.rs`); promoting `inertia_buffer` into `lance-graph-contract` is a separate gated step (§0 anti-invention guardrail honoured).
50+
51+
**Deferred:** (1) the `inertia_buffer` promotion into the contract crate (gated by §0 guardrail review). (2) helix's exact curve-placement — this calibration tests the shared value-quantization principle via a generic min-max/rank quantizer mapping the tenants' bit budgets; not helix-curve verbatim. (3) cross-axis orthogonality probe at ≥6-bit (the read-budget recommendation).
52+
53+
**Docs:** `crates/perturbation-sim/CLAM_CHAODA_FRAMING.md` (new) + `.claude/board/TECH_DEBT.md` updated (+32 lines). This entry. **AGENT_LOG + LATEST_STATE updates owed** to this commit per board-hygiene rule (this is the retroactive cleanup window, not the same-commit landing).
54+
55+
**Confidence (2026-06-16):** working — calibration battery green, 71 lib tests + clippy `-D warnings` + fmt clean on the perturbation-sim crate.
56+
3857
## #510 surreal_container seam falsifier — SurrealMailboxView → VersionScheduler → KanbanMove (IN-direction only)
3958

4059
**Status:** MERGED 2026-06-16 16:36 UTC (merge commit `0e6452c8`), branch `claude/sleepy-cori-aRK2x`. Additive: +125/-0, one new file (`crates/surreal_container/tests/scheduler_seam.rs`); zero source change; first integration-test file in the `surreal_container` crate.

0 commit comments

Comments
 (0)