Skip to content

Commit 4c0af7a

Browse files
authored
Merge pull request #541 from AdaWorldAPI/claude/board-hygiene-539
docs(board): post-merge hygiene for #539 + #540 (+ backfill #537/#538)
2 parents ef7e97e + 6fd0d12 commit 4c0af7a

2 files changed

Lines changed: 52 additions & 0 deletions

File tree

.claude/board/LATEST_STATE.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,10 @@
5454

5555
| PR | Merged | Title | What it added |
5656
|---|---|---|---|
57+
| **#540** | 2026-06-18 | `lite-unified` additive default-OFF coexistence feature gate | **+35/-5, 2 files.** `lite-unified = []` in `crates/lance-graph/Cargo.toml` (empty until SurrealQL-on-lance lowering lands). **datafusion stays DEFAULT — NOT deprecated, NOT made optional.** Process, not switch; promoted per query-shape once OQ-LU-2a is green. Zero behavior change at default features. Branch `claude/lite-unified-gate`, merge `ef7e97ef`. |
58+
| **#539** | 2026-06-18 | particle/wave click → `ClassView::compute_dag` (the one Core gap) + electricity-cascade join | **+570, 6 files, additive to `lance-graph-contract` only.** `class_view::{ComputeEdge, compute_dag_is_acyclic, compute_dag_topo_order}` + `ClassView::compute_dag` default (zero-fallback). `compute_dag_topo_order -> Option<Vec<u8>>` = the recompute ORDER (Kahn; `None` on cycle; leaves excluded). 4+1 epiphanies (`E-OGAR-ROUTER-ENCODER` = router+encoder, physics-duality stripped; `E-EXCEL`, `E-CHESS` = NNUE-proven shape, `E-PERTURBATION` = the cascade IS compute_dag, Weyl bound certifies incrementality; folded `E-AR-DO-WIRING`). Doc-join `crates/perturbation-sim/COMPUTE_DAG_MAPPING.md` (perturbation-sim stays zero-dep). **⚠ tracked: `ClassView::value_schema` default = `ValueSchema::Full` is a TEMPORARY POC — revert to `Bootstrap` + its test when the consumer-transcode phase ends (type-level default stays `Bootstrap`).** 13/13 class_view, clippy/fmt clean. Branch `claude/particle-wave-click-epiphany`, merge `b0255499`. |
59+
| **#538** | 2026-06-18 | cycle-aware write contract (S2.5) + OGAR DO arm (`action.rs`) | Cycle-aware mailbox write + the Perdurant DO arm. `mailbox_soa`: `last_write_cycle`/`stale_write_count`/`WriteOutcome`/`WriteCell`/wrap-aware `write_row`. `action::{ActionDef, ClassActions, actions_for, effective_actions, ActionInvocation}`; `commit` gate = def-match → RBAC → state-guard → MUL → `ExecTarget::SurrealQl`. `object_instance` is a full `NodeGuid` (5+3 CATCH-CRITICAL). `substrate_sanity.rs` NaN/tautology harness (8 tests). `docs/OGAR_CONSUMER_API.md`. Branch `claude/soa-write-deinterlace-inc2`. |
60+
| **#537** | 2026-06-18 | docs: STACK_SCAFFOLD + OGAR consumer-API groundwork | `docs/STACK_SCAFFOLD.md` (surreal+ractor+ndarray fork-wired reference; surreal Lance-KV status corrected to module-implemented-not-yet-feature-wired). Docs tier. |
5761
| **#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`. |
5862
| **#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`. |
5963
| **#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`. |

.claude/board/PR_ARC_INVENTORY.md

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

38+
## #540 lance-graph: `lite-unified` additive default-OFF coexistence feature gate
39+
40+
**Status:** MERGED 2026-06-18 (merge commit `ef7e97ef`), branch `claude/lite-unified-gate`. **+35/-5 across 2 files.** The "wire it but don't deprecate datafusion — process, not switch" request made concrete and non-destructive.
41+
42+
- **Added**`lite-unified = []` feature in `crates/lance-graph/Cargo.toml` (empty until the SurrealQL-on-lance lowering lands); `.claude/plans/lite-unified-surrealql-lance-v1.md` staged plan.
43+
- **Locked****datafusion stays the DEFAULT query engine; NOT deprecated, NOT made optional by this feature.** `lite-unified` only adds the SurrealQL lowering path ALONGSIDE datafusion, promoted gradually per query-shape once OQ-LU-2a (the datafusion_planner coverage probe) is green. Zero behavior change at the default feature set (flag off + empty). No dependency made optional; no source removed.
44+
- **Deferred** — the actual SurrealQL lowering (the feature is a gate, not the impl); OQ-LU-2a coverage probe.
45+
- **Docs**`.claude/plans/lite-unified-surrealql-lance-v1.md`.
46+
- **Confidence (2026-06-18):** working — additive gate, clean merge, no conflicts.
47+
48+
---
49+
50+
## #539 the particle/wave click → `ClassView::compute_dag` (the one Core gap) + the electricity-cascade join
51+
52+
**Status:** MERGED 2026-06-18 (merge commit `b0255499`), branch `claude/particle-wave-click-epiphany`. **+570 across 6 files, additive to `lance-graph-contract` only** (zero `NodeRow`/stride/`ENVELOPE_LAYOUT_VERSION` impact). Hardens the "particle/wave click" into a buildable Core extension, proves it has a real physical instance.
53+
54+
- **Added**`lance_graph_contract::class_view::{ComputeEdge, compute_dag_is_acyclic, compute_dag_topo_order}` + `ClassView::compute_dag(class) -> &[ComputeEdge]` default method (zero-fallback `&[]`). `ComputeEdge {target: u8, inputs: &'static [u8]}` = the const-constructible harvest-sourced recompute manifest. `compute_dag_is_acyclic` = the registry-build cycle gate (Kahn over ≤64-bit field masks, allocation-free). `compute_dag_topo_order -> Option<Vec<u8>>` = the recompute ORDER (the harness needs the order, not just the bool; `None` on cycle; leaves excluded). 4 epiphanies (`E-OGAR-ROUTER-ENCODER`, `E-EXCEL-SHADER-PROJECTION`, `E-CHESS-TENSOR-PROVEN`, `E-PERTURBATION-CASCADE-IS-COMPUTE-DAG`); folded the stranded `E-AR-DO-WIRING`. Plan `probe-excel-compute-dag-v1`. Doc-level join `crates/perturbation-sim/COMPUTE_DAG_MAPPING.md` (perturbation-sim stays zero-dep / workspace-excluded — no contract import).
55+
- **Locked** — the "click" = a domain-agnostic ADDRESS ROUTER (shift/mask prefix-distance, 6 bytes = CAM-PQ 6×256 code) + a deterministic FIELD ENCODER (bipolar-phase Walsh–Hadamard; sign=XOR=`vsa_bind`, magnitude=`vsa_bundle`); **the physics-duality framing is a costume, stripped.** `compute_dag` is the incremental-recompute dispatch (NNUE-proven shape); per-cell/per-square evaluation *semantics* are general compute via the DO arm / `UnifiedStep`, NOT the Walsh field. perturbation-sim's `simulate_outage` round loop ≡ `compute_dag_topo_order`; its Weyl/Davis–Kahan bound ≡ the NNUE incremental≡full invariant. No measured speed claim anywhere (inherits `witness.rs` honesty). 13/13 class_view, clippy/fmt clean.
56+
- **Deferred****`ClassView::value_schema` default returns `ValueSchema::Full` — a TEMPORARY POC default (revert to `Bootstrap` + the `value_schema_default_is_full_temporary_poc` test together when the consumer-transcode POC phase ends).** Type-level `ValueSchema::default()` stays `Bootstrap` (substrate zero-fallback untouched; only class→schema resolution is Full). Sibling `ClassView::constraints` (`validation_kind`-sourced). The probe Inc 1-3 (the actual sheet harness wiring `compute_dag` + `write_row`).
57+
- **Docs**`.claude/board/EPIPHANIES.md` (4+1 epiphanies), `.claude/plans/probe-excel-compute-dag-v1.md`, `crates/perturbation-sim/COMPUTE_DAG_MAPPING.md`.
58+
- **Confidence (2026-06-18):** working — merged; the Full POC default is the one tracked pre-merge-of-next-phase item.
59+
60+
---
61+
62+
## #538 cycle-aware write contract (S2.5) + the OGAR DO arm (`action.rs`)
63+
64+
**Status:** MERGED 2026-06-18, branch `claude/soa-write-deinterlace-inc2`. The cycle-aware mailbox write + the Perdurant DO arm completing the OGAR IR. (PR_ARC entry backfilled 2026-06-18 during #539/#540 post-merge hygiene.)
65+
66+
- **Added**`mailbox_soa.rs`: `last_write_cycle: [u32; N]`, `stale_write_count`, `WriteOutcome{Accepted,Stale,Future}`, `WriteCell`, wrap-aware `write_row(row, cycle, &WriteCell)`. `backing.rs`: `BackingStoreWrite::write_row` (Mailbox gated, Singleton cycle-blind-by-construction). `kanban.rs`: `KanbanMove::cycle()` over `witness_chain_position`. `action::{ActionState, StateGuard, ActionDef, ClassActions, actions_for, effective_actions, ActionInvocation}` — the DO arm; `ActionInvocation::commit(def, actor, impact, guard_field_value, now_millis)` gated egress: def-match → RBAC (`auth::ActorContext`) → state-guard → MUL (`mul::GateDecision`) → `ExecTarget::SurrealQl`. `tests/substrate_sanity.rs` (NaN/tautology harness, 8 tests). `docs/OGAR_CONSUMER_API.md`.
67+
- **Locked** — cycle is per-mailbox + per-cycle (`E-SOA-CYCLE-OWNERSHIP`); `last_write_cycle` (write-generation) is distinct from `last_active_cycle` (consumption stamp). The DO-arm commit gate ordering (def-match FIRST, then RBAC, then guard, then MUL). `ActionInvocation.object_instance` is a full `NodeGuid` (5+3 council CATCH-CRITICAL: u32 couldn't address outside the default basin). `ActionInvocation` is `Clone` not `Copy`; idempotency is the caller's job. ENVELOPE_LAYOUT_VERSION=2 / NODE_ROW_STRIDE=512 frozen.
68+
- **Deferred** — the per-consumer adapters (od-posting / op-surreal-ast / tesseract); `compute_dag`/`constraints` (landed in #539).
69+
- **Docs**`docs/OGAR_CONSUMER_API.md`, `.claude/plans/mailbox-cycle-aware-write-contract-v1.md`.
70+
- **Confidence (2026-06-18):** working — codex P1 (def-match) + P2 (state-guard) resolved pre-merge; 5+3 council CATCH-CRITICAL (NodeGuid) resolved.
71+
72+
---
73+
74+
## #537 docs: STACK_SCAFFOLD + OGAR consumer-API groundwork
75+
76+
**Status:** MERGED 2026-06-18, branch (docs tier). (PR_ARC entry backfilled 2026-06-18 during #539/#540 post-merge hygiene.)
77+
78+
- **Added**`docs/STACK_SCAFFOLD.md` (surreal+ractor+ndarray Cargo/Dockerfile reference, fork-wired; surreal Lance-KV status corrected to "module implemented at crates/core/src/kvs/lance/, not yet feature-wired").
79+
- **Locked** — fork-only wiring for the reference scaffold (P0 AdaWorldAPI forks, never crates.io upstream).
80+
- **Confidence (2026-06-18):** working — docs only.
81+
82+
> **Note (2026-06-18, #539/#540 hygiene):** PR **#534** (the OGAR contract keystone referenced by `E-AR-DO-WIRING`) predates these and is **not yet captured** in this inventory — a known backfill gap. Recorded here so a future session does not assume its absence means it never merged; see `LATEST_STATE.md` Contract Inventory for the live type record.
83+
84+
---
85+
3886
## #521 lance-graph-contract: C++ codegen target (`MethodSig`) + `UniCharSet` content store
3987

4088
**Status:** MERGED 2026-06-17 20:53 UTC (merge commit `620bd8e`), branch `claude/happy-hamilton-0azlw4`. **+940/-4 across 8 files, 9 commits.** The Core-side of the Tesseract C++→Rust transcode — the contract types ruff's `ruff_cpp_codegen` targets, plus the byte-parity probe's Rust side. **Additive to `lance-graph-contract` only** (container-architect ADDITIVE-CONFIRMED: zero `NodeRow`/`ValueTenant`/`ValueSchema`/stride/`ENVELOPE_LAYOUT_VERSION` impact). Pairs with **ruff #20** (the harvester + codegen that produces what these types consume; merged 2026-06-17 19:38 into ruff `main`).

0 commit comments

Comments
 (0)