Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
16 commits
Select commit Hold shift + click to select a range
7e31cd7
thinking-engine: dedup local CausalEdge64 → CascadeChannels8
claude Jul 1, 2026
3c79f29
osint: P1 distance-identity keystone — deepnsm ≡ nars_engine ≡ arm-di…
claude Jul 1, 2026
23aff55
osint: P2 edge round-trip + P3 Pearl ladder — one palette, one mask
claude Jul 1, 2026
c2c0dd8
osint: P4 discovery determinism — ARM mining joins the palette + edge…
claude Jul 1, 2026
a3820df
osint: P5 syllogize chain — NAL transitive deduction on the palette edge
claude Jul 1, 2026
0a58dbc
board: rung ladder is a dependency stack (P1-P5 = per-rung capabilities)
claude Jul 1, 2026
cd29c0e
osint: P3b — SPO 2^3 decomposition gives questions AND candidates inh…
claude Jul 1, 2026
9759ffa
board: rig discovery-membrane + 6x2x8bit exact-centroid — V3-stack ad…
claude Jul 1, 2026
b5c1eaf
board: rig/rs-graph-llm/surrealdb/AriGraph-V3 layering decision + unt…
claude Jul 1, 2026
20b5d0d
board: substrate = Semantic Transformer (deepnsm) + transpiler (OGAR)…
claude Jul 1, 2026
98974c8
osint: fix p1 synth_codebook temp-path race (codex P2 #624)
claude Jul 1, 2026
e298ede
board: track ISS-OGAR-OSINT-MIRROR-PENDING — OSINT mint COUNT_FUSE cr…
claude Jul 1, 2026
47fae22
osint: hoist shared splitmix64 into tests/common/mod.rs (coderabbit n…
claude Jul 1, 2026
875b561
board: lock classid human-readable reorder as DEFERRED-by-design (han…
claude Jul 1, 2026
f560c92
board: classid split-order is a single flippable definition (operator…
claude Jul 1, 2026
ef5aaaa
board: OGAR+lance-graph move in parallel; COUNT_FUSE is the dependenc…
claude Jul 1, 2026
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
579 changes: 579 additions & 0 deletions .claude/board/EPIPHANIES.md

Large diffs are not rendered by default.

17 changes: 17 additions & 0 deletions .claude/board/ISSUES.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,22 @@
# Issues Log — Open + Resolved (double-entry, append-only)

## 2026-07-01 — ISS-OGAR-OSINT-MIRROR-PENDING — OGAR #145's OSINT mint (+2 to `class_ids::ALL`) breaks the contract-mirror `COUNT_FUSE` on merge; the paired lance-graph mirror rows must land in the same arc

**Status:** OPEN (tracked) · **Resolution path RULED by operator 2026-07-01: keep the fuse (it IS the dependency contract enforcing OGAR↔lance-graph parallel movement); do NOT pin to a rev — "option 1" is REJECTED. Land the 2 mirror rows + `domains_agree` arm in parallel with OGAR #145 (option 2 / coordinated merge; brief transient red is acceptable — "the fuse is okay for now"). See `E-OGAR-LANCEGRAPH-MOVE-IN-PARALLEL`.** · Owner: OGAR `ogar-vocab` (PR #145) + `lance-graph-contract::ogar_codebook` mirror + `lance-graph-ogar::parity::domains_agree`. Surfaced 2026-07-01 while self-reviewing PR #624 / #145. Same cross-repo-arc shape as `ISS-OGAR-AUTH-MIRROR-DRIFT` (which took medcare CI red) and `ISS-OGAR-GENETICS-MIRROR-PENDING`; cited by `E-CODEBOOK-MINT-IS-A-CROSS-REPO-ARC`.

**READY PATCH (apply to lance-graph the moment OGAR #145 is on OGAR main; NOT to #624 while OGAR main is still 65 — that breaks #624's own fuse):** in `crates/lance-graph-contract/src/ogar_codebook.rs` add the two rows `("osint_system", 0x0700), ("osint_person", 0x0701)` to `mirror::CODEBOOK` (65 → 67); add the `(O::Osint, C::Osint)` arm to `lance-graph-ogar::parity::domains_agree` (the `ConceptDomain::Osint` enum + `0x07 => Osint` route already exist). Then `mirror::CODEBOOK.len() == ogar_vocab::class_ids::ALL.len()` (67 == 67) restored.

**The break.** OGAR PR #145 mints `osint_system` (0x0700) + `osint_person` (0x0701) into `ogar_vocab::class_ids::ALL` (+2). `lance-graph-ogar` pins `ogar-vocab = { git = ".../OGAR", branch = "main" }` (tracks main, NOT a rev), and carries the compile-time `COUNT_FUSE`: `assert!(mirror::CODEBOOK.len() == ogar_vocab::class_ids::ALL.len())` (`lance-graph-ogar/src/lib.rs:119`). The contract mirror `lance-graph-contract::ogar_codebook::CODEBOOK` currently has **65 rows with NO osint entries** (it reserved `ConceptDomain::Osint` + the `0x07 => Osint` route + a domain-nibble test, but not the two concept rows). So **the instant #145 merges to OGAR main, `COUNT_FUSE` fires `error[E0080]` in every consumer vendoring `lance-graph-ogar`** — medcare, smb, woa, etc.

**Why the mirror rows can't just be added to PR #624 now.** #624's `lance-graph-ogar` compiles against OGAR **main**, which still has 65 (osint mint is unmerged on #145). Adding +2 to the mirror now → mirror 67 vs OGAR-main 65 → breaks #624's OWN CI. The two sides are chicken-and-egg across the `branch = "main"` tracking.

**Resolution (coordinated arc, per the auth precedent):** land in lock-step —
1. OGAR #145 merges to OGAR main (ALL → 67); **at this moment lance-graph main's `COUNT_FUSE` goes red** (known transient, as with the auth mint).
2. Immediately merge a lance-graph change adding the 2 osint rows to `ogar_codebook::CODEBOOK` (`("osint_system", 0x0700)`, `("osint_person", 0x0701)`) + the `(O::Osint, C::Osint)` arm to `lance-graph-ogar::parity::domains_agree` → 67 == 67 restored.
- The `ConceptDomain::Osint` enum + `0x07 => Osint` route already exist in the mirror, so only the 2 CODEBOOK rows + the `domains_agree` arm are missing.

**Merge-ordering decision needed from operator:** whether to (a) merge #145 + the mirror follow-up back-to-back accepting the brief transient red, (b) hold #145 until the mirror PR is staged, or (c) pin `lance-graph-ogar` to a rev instead of `branch = "main"` to decouple the cadence. Flagged to the operator 2026-07-01.

## 2026-06-26 — ISS-OGAR-GENETICS-MIRROR-PENDING — contract mirror gained `ConceptDomain::Genetics` (0x0E) ahead of OGAR; the `domains_agree` arm + OGAR side follow

**Status:** OPEN (tracked) · Owner: OGAR `ogar-vocab` + `lance-graph-ogar` · Surfaced by: CodeRabbit on #618. The same cross-repo-arc shape as `ISS-OGAR-AUTH-MIRROR-DRIFT` / `E-CODEBOOK-MINT-IS-A-CROSS-REPO-ARC`, but **domain-only** so it does not break in isolation.
Expand Down
13 changes: 13 additions & 0 deletions .claude/board/TECH_DEBT.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,19 @@

## Open Debt

### TD-RUNGLEVEL-DUP — `RungLevel` duplicated verbatim in `thinking-engine` vs the canonical `lance-graph-contract` (2026-07-01)

**Open.** `thinking-engine::cognitive_stack::RungLevel` is a byte-for-byte
duplicate of `lance_graph_contract::cognitive_shader::RungLevel` (0..9:
Surface..Transcendent), and `thinking-engine` does **not** dep
`lance-graph-contract` — so the two can silently drift. Same anti-pattern as
`E-CE64-NAME-COLLISION-DEDUP` (the P0 dedup), but the fix is heavier: it needs
`thinking-engine` to take the zero-dep contract dep and `pub use` the canonical
enum, not a local rename. Canonical = the contract. Surfaced while grounding
`E-RUNG-LADDER-IS-A-DEPENDENCY-STACK` (operator's 1–9 rung-ladder reminder).
Deferred: cross-crate dep addition, out of scope for the convergence-probe
increment. Same class as the resolved `CausalEdge64` shadow.

### TD-ONTOLOGY-LINT — `lance-graph-ontology` pre-existing clippy (12) on toolchain 1.95 (2026-06-18)

`cargo clippy -p lance-graph-ontology -- -D warnings` exits 101 with 12 errors on the pinned 1.95 toolchain — all **pre-existing on `main`** (e.g. `odoo_blueprint/op_emitter.rs:182` is byte-identical on `origin/main`), in `hydrators/owl.rs` (2), `odoo_blueprint/op_emitter.rs` (1), `ttl_parse.rs` (3), + others. Mostly mechanical (`iter_cloned_collect` → `.to_vec()`, etc.). The crate is not in the CI clippy sweep ("CI tests 4 of ~30 crates"), so the debt accumulated un-gated. Surfaced while wiring `class_id_for_guid` (E-OGAR-ONTOLOGY-WIRED-1; `registry.rs` itself is clippy-clean + fmt-clean). Fix is a focused lint pass, out of scope for the wiring increment. Same class as `TD-CAUSAL-EDGE-LINT`.
Expand Down
74 changes: 67 additions & 7 deletions crates/lance-graph-osint/Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 3 additions & 0 deletions crates/lance-graph-osint/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -41,3 +41,6 @@ default = []
spider-crawl = ["dep:spider", "dep:tokio"]

[dev-dependencies]
# P1 convergence probe: the third distance source (discovery oracle) —
# proves SpoDistances (planner) ≡ MatrixDistance (arm-discovery) on one palette.
lance-graph-arm-discovery = { path = "../lance-graph-arm-discovery" }
15 changes: 15 additions & 0 deletions crates/lance-graph-osint/tests/common/mod.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
//! Shared test helpers for the P-series convergence probes.
//!
//! Lives in `tests/common/mod.rs` (not `tests/common.rs`) so cargo does not
//! compile it as its own test binary — it is included by each probe via
//! `mod common;`.

/// Deterministic PRNG — SplitMix64. No `rand`, no seed entropy; every probe's
/// index stream is byte-identical on every run and every target.
pub fn splitmix64(state: &mut u64) -> u64 {
*state = state.wrapping_add(0x9E37_79B9_7F4A_7C15);
let mut z = *state;
z = (z ^ (z >> 30)).wrapping_mul(0xBF58_476D_1CE4_E5B9);
z = (z ^ (z >> 27)).wrapping_mul(0x94D0_49BB_1331_11EB);
z ^ (z >> 31)
}
Loading
Loading