diff --git a/.claude/board/LATEST_STATE.md b/.claude/board/LATEST_STATE.md index b09efb93..47fe07ed 100644 --- a/.claude/board/LATEST_STATE.md +++ b/.claude/board/LATEST_STATE.md @@ -1,3 +1,19 @@ +## 2026-08-04 — branch `claude/x265-x266-plans-review-h9osnl` (PRs #881, #882, #883 MERGED) — arc hygiene restored + the legacy actor surface quarantined + +**#881** post-merge arc/state for #880 and recorded that the arc had gone stale for four PRs. **#882** backfilled those four (#862/#875/#876/#879) as marked RECONSTRUCTIONS, plus the cross-PR finding that every review-found defect in three consecutive probe PRs sat in a falsifier or a label, never in a measurement. + +**#883 — the operator ruling, canonical text:** *"#879 is the complete and independent production phase-progression path. KanbanActor has no assigned architectural responsibility. It is legacy experimental compatibility code retained only because existing probes or consumers still reference it. No new production architecture may depend on it. Its presence does not designate it as the future home of an ownership, planning-initiation, concurrency, cognition, reasoning, or lifecycle mechanism."* + +Production path: `plan evaluation → KanbanMove intent → BatchWriter → sparse seal → one WAL/version → inline apply of the sealed transitions`. No actor bridge, fleet, owned driver, custody model, or message path required. + +**Transport ≠ engine (the separation that must not blur):** `KanbanMsg::MulAdvance` and `drive_mul_advance` are legacy actor-message **wrappers only** — NOT the canonical MUL reasoning engine. `lance_graph_contract::mul::i4_eval::gate_decision_i4` is independent, consumed directly by the #879 path through `cycle_driver::shade_owner` and `run_cognitive_work_gated[_over]`, and is **not deprecated**. The NARS tactic recipes and the awareness rung ladder are **separate and untouched**. + +`cycle_driver.rs` is canonical #879 code and is NOT stale — only three inherited comments were, now corrected; `run_cognitive_work` is documented as a sequential contract-probe adapter that does not define the production execution model (production cognition may run independently and concurrently over the sealed `Vn`, converging only at the deterministic ordering/coalescing/seal boundary). The obsolete ractor-drives framing is also corrected in `supervisor/lib.rs`, `contract::kanban`, `contract::soa_view`, `contract::orchestration`. + +**Withdrawn across the arc, nothing substituted:** the A1 two-seam design gate (both seams), the actor-owned `emit_bootstrap_intent` milestone, the planning-initiation adapter, the future actor/nudge slice, the ownership-injection/guarantee-dummy framing. + +**W1 ledger:** SHIPPED — held-owner reschedule/wake. OPEN — `run_cycle` drained-writer retry guard; missing-owner counter in `cognitive_pass`. + ## 2026-08-03 — branch `claude/x265-x266-plans-review-h9osnl` (PR #880, MERGED `6bc9115`) — the kanban-64k-inverted-awareness plan + four honest module headers **Plan landed.** `.claude/plans/kanban-64k-inverted-awareness-v1.md` (W0–W6) over the two operator anchors: (a) real thinking at 64k via kanban orchestration **in parallel**, (b) inverted awareness — ontologies as the frozen cathedral an observation layer reads into, with a statistical witness. Board rows in the same commit (INTEGRATION_PLANS prepend, STATUS_BOARD D-KIA ×7, `write-on-behalf.md` caller-status supersession). **No code paths changed.** diff --git a/.claude/board/PR_ARC_INVENTORY.md b/.claude/board/PR_ARC_INVENTORY.md index 21cfbfed..0a42253d 100644 --- a/.claude/board/PR_ARC_INVENTORY.md +++ b/.claude/board/PR_ARC_INVENTORY.md @@ -33,6 +33,38 @@ > - **Docs** — knowledge files produced (immutable) > - **Confidence (YYYY-MM-DD):** — the ONLY mutable field +## 2026-08-04 — lance-graph #883 — legacy actor-surface quarantine + stale phase-progression comment correction + +**Merged:** `48d4841` (branch `claude/x265-x266-plans-review-h9osnl`, head `c65a405`). 10 files, comment/doc-only. + +- **Operator ruling (canonical text).** "#879 is the complete and independent production phase-progression path. KanbanActor has no assigned architectural responsibility. It is legacy experimental compatibility code retained only because existing probes or consumers still reference it. No new production architecture may depend on it. Its presence does not designate it as the future home of an ownership, planning-initiation, concurrency, cognition, reasoning, or lifecycle mechanism." +- **Production path:** `plan evaluation → KanbanMove intent → BatchWriter → sparse seal → one WAL/version → inline apply of the sealed transitions`. No actor bridge, fleet, owned driver, custody model, or message path required. +- **Marked LEGACY** — `KanbanMsg::{Advance, MulAdvance, Tick}` + `deliver_kanban_step` / `drive_mul_advance` / `drive_version_tick` / `drive_scheduled_tick` / `run_to_absorbing`. Disclosure in the first five header lines and at each public entry point. Marked, not deleted. +- **Locked — transport ≠ engine.** `MulAdvance` / `drive_mul_advance` are legacy actor-message **wrappers only**, NOT the canonical MUL reasoning engine. `gate_decision_i4` is independent, consumed directly by #879 via `shade_owner` / `run_cognitive_work_gated[_over]`, and **not deprecated**. NARS tactic recipes and the awareness rung ladder are separate and untouched; no coupling to KanbanActor. +- **Stale comments corrected** — `cycle_driver.rs` is canonical #879 code and NOT stale; only three inherited comments were (actor-tree/open-bridge header framing; the "actor-owned production wiring NOT proven" ledger line; `run_cognitive_work`'s actor-leg claim, replaced with the contract-probe-adapter wording). Same obsolete ractor-drives framing corrected in `supervisor/lib.rs`, `contract::kanban`, `contract::soa_view`, `contract::orchestration`. `gate_decision_i4`, `shade_owner`, `run_cognitive_work_gated[_over]`, sealing, application, recovery, runtime behaviour all unchanged. +- **Withdrawn** — the A1 two-seam design gate in full (per-mailbox `KanbanMsg` apply AND the guarantee-dummy owner framing); the actor-owned `emit_bootstrap_intent` milestone; the planning-initiation-adapter wording; the future actor/nudge slice. Nothing replaces them. +- **Inventory (no architectural legitimacy)** — spawn sites kept solely as deletion-impact evidence + removal work-list: own `#[cfg(test)]` tests; `tests/w2b_real_owner_probe.rs`; `onebrc-probe/src/lane_e.rs:170` (library source, not a test) via `drive_version_tick`. +- **W1 ledger corrected** — SHIPPED: held owner rescheduled/re-polled/wakes/advances. OPEN: `run_cycle` drained-writer retry guard (retry `SealFailure.casts`); missing-owner counter in `cognitive_pass`. +- **Docs** — `EPIPHANIES` `E-ACTOR-IS-NOT-THE-PHASE-PATH-1`; rule-4 correction on #880's entry; STATUS_BOARD A1 rescoped. +- **Confidence (2026-08-04):** working — comment-only; `cargo fmt --check` clean on supervisor + contract, `cargo check -p lance-graph-contract` passes. Merged before the in-flight machine review completed; findings from the three prior review rounds were all addressed pre-merge. + +## 2026-08-04 — lance-graph #882 — backfill of the four missing arc entries (#862/#875/#876/#879) + +**Merged:** `872db42` (branch `claude/x265-x266-plans-review-h9osnl`). Board-only. + +- **Added** — RECONSTRUCTED entries for #879, #876, #875, #862, each naming its sources (PR body, merged diff stats, merge commit, and for three of them this session's direct authorship/review). Forensic method per the 2026-07-27 precedent: never inference. Arc chain unbroken #880 → #879 → #876 → #875 → #862 → #856. +- **Docs** — `EPIPHANIES` `E-THE-DEFECTS-LIVE-IN-THE-FALSIFIERS-NOT-THE-MEASUREMENTS-1`: across three consecutive probe PRs and ~a dozen review findings, every defect was in a falsifier or a label, none in a measurement. Fenced: absence of review-found measurement defects is not proof the measurements were right. +- **Confidence (2026-08-04):** working. Note: merged with CodeRabbit reporting `success` whose description was "Review rate limited" — i.e. no machine review actually ran. + +## 2026-08-04 — lance-graph #881 — post-merge arc + state entries for #880; the arc gap recorded + +**Merged:** `4cacfa0` (branch `claude/x265-x266-plans-review-h9osnl`). Board-only. + +- **Added** — the #880 arc entry + matching LATEST_STATE entry, written on merge rather than as later cleanup (the delay is the anti-pattern the arc's own 2026-07-27 recovery note documents). +- **Locked** — recorded that the arc's memory practice had broken again: no entries existed for #862/#875/#876/#879. Made visible rather than silently filling only the new one; the session that wrote it had driven two of the missing PRs and said so. +- **Self-caught correction** (`06e8818`) — the first draft credited #570 with the healthcare bridge's collapse onto `UnifiedBridge

`; #570 collapsed the other ports and explicitly **deferred** that one. Corrected to state the specific PR is unverified rather than guess a number. +- **Confidence (2026-08-04):** working. + ## 2026-08-03 — lance-graph #880 — kanban-64k-inverted-awareness plan v1 (two-anchor arc) + a doc-header honesty pass on four unwired/partial modules > **⚠ ARC-GAP NOTE (2026-08-03, written with this entry).** The memory practice diff --git a/.claude/board/STATUS_BOARD.md b/.claude/board/STATUS_BOARD.md index b1d842b7..fd203c8f 100644 --- a/.claude/board/STATUS_BOARD.md +++ b/.claude/board/STATUS_BOARD.md @@ -6,6 +6,7 @@ Plan: `.claude/plans/kanban-64k-inverted-awareness-v1.md` (operator anchors a/b; |---|---|---|---|---| | D-KIA-0 | jc capability map + dichotomous-statistics decision note (phi/KR-20/kappa naming; Spearman dropped at view 2) | lance-graph | Queued | plan W0 | | D-KIA-A1 | ⊘ RESCOPED 2026-08-04 (E-ACTOR-IS-NOT-THE-PHASE-PATH-1): #879 is the complete phase-progression path; KanbanActor has no assigned architectural responsibility (legacy compatibility code). SHIPPED: held-owner reschedule/wake. OPEN: run_cycle drained-writer retry guard; missing-owner counter in cognitive_pass | lance-graph | Queued | plan W1 | +| D-KIA-C1b | jc additive-only extension: kappa + McDonald's omega + r-family effect size (R/R-squared, eta-squared = explained variance) + t-test (t/df/p) + a named phi wrapper. Cohen's d explicitly OUT — calculated separately if ever wanted. HARD CONSTRAINT: additive only — pearson/spearman/cronbach_alpha/icc keep their arithmetic, signature and semantics; any diff changing an existing jc statistic is an automatic reject. ONE sanctioned edit: widening reliability.rs private helpers (mean/all_finite/average_ranks/pop_var) to pub(crate) for reuse, visibility only, no body change. C1 audit found phi = pearson-on-binaries (already present in substance) and KR-20 = alpha-on-dichotomous (naming only); kappa absent = the real gap. Blocks D3's fusion falsifier | lance-graph | Queued | plan W0/C1b | | D-KIA-A2 | parallelism falsifier (protocol pre-registered: median-of-5, >=2x at >=4k owners, +/-10% stay-silent; kill = regrade claim (a)) | lance-graph | Queued | plan W2 | | D-KIA-B1 | catalog binary-range criterion contract type + generalized catalog-mirror drift guard | lance-graph | Queued | plan W3 | | D-KIA-C5 | cohort-statistic witness type under the ELEVATED carve-out + held-out anti-circularity gate | lance-graph | Queued | plan W4 | diff --git a/.claude/plans/kanban-64k-inverted-awareness-v1.md b/.claude/plans/kanban-64k-inverted-awareness-v1.md index 126f2cc9..e9975f11 100644 --- a/.claude/plans/kanban-64k-inverted-awareness-v1.md +++ b/.claude/plans/kanban-64k-inverted-awareness-v1.md @@ -195,12 +195,66 @@ actually provide toward ICC/α/ρ with variance components? Output: a one-page capability map. Everything below adjusts to what's found. +> **C1 result (2026-08-04, read-only audit).** `jc` is IN-TREE at `crates/jc/`. +> `reliability.rs` ships `pearson`, `spearman`, `cronbach_alpha`, and +> `icc(ratings, IccForm)` with `Icc2_1` (two-way random, absolute agreement) +> and `Icc3_1` (two-way mixed, consistency). There is also a `jirak.rs`, so +> C4's noise-floor requirement has a local implementation to cite rather than a +> paper to hand-derive from. +> +> **Two of C2's renames are the same computation; one is a real gap:** +> - **φ = Pearson on two binary variables** → `pearson` already computes it; +> the work is *reporting* it as φ plus the marginal-capped ceiling caveat. +> - **KR-20 = Cronbach's α on dichotomous items** → `cronbach_alpha` is the +> right function; naming + caveat only. +> - **κ is NOT ICC under another name** — a different estimator. No `kappa`, +> `kr20`, `phi_coef` or `tetrachoric` anywhere in `jc`. **This is the gap**, +> and D3's fusion falsifier cannot run until it closes. + +**C1b — the additive-only jc extension (operator ruling, 2026-08-04).** +The requested surface, in one list: + +| # | Estimator | Status against `jc` today | +|---|---|---| +| 1 | **κ** (Cohen's kappa — chance-corrected agreement) | **absent — the real gap.** Not ICC under another name. Blocks D3. | +| 2 | **McDonald's ω** (the coefficient α is routinely mis-substituted for) | absent | +| 3 | **R / R²** — the **r-family** effect size (correlation / variance explained) | `pearson` gives r for one criterion pair; **multi-criterion R / R² is new** | +| 4 | **η²** (ANOVA, *erklärte Varianz*) | absent — same r-family, group-factor form | +| 5 | **t-test** (one-sample / paired / two-sample, with df + p) | absent | +| 6 | **φ** | **already present in substance** — φ *is* Pearson r on two binary variables. Only the *named wrapper* + the marginal-capped-ceiling caveat are new; the arithmetic is `jc::reliability::pearson` and is NOT re-implemented. | + +**Effect size = the r-family (R, R², η², φ).** Cohen's **d is explicitly +out of this deliverable**; if a mean-difference contrast is ever wanted it is +calculated separately. The t-test above is the *significance* companion to +η², not a d-family smuggling route — it reports t/df/p, and effect size is +read off η²/R². + +**Hard constraint: ADDITIVE ONLY.** New estimators land as new items +(a new module) beside the existing ones. `pearson` / `spearman` / +`cronbach_alpha` / `icc` are load-bearing and their **behaviour** stays +untouched — **any diff that changes an existing `jc` statistic's arithmetic, +signature, or semantics is an automatic reject, independent of merit.** + +> **The one sanctioned edit to an existing file (operator, 2026-08-04):** +> *visibility only, for reuse.* The private helpers in `reliability.rs` +> (`mean`, `all_finite`, `average_ranks`, `pop_var`) may be widened to +> `pub(crate)` so the new module consumes them instead of re-implementing +> them — a re-implemented `mean` is a second source of truth and is the +> failure this carve-out prevents. Permitted diff shape: `fn` → `pub(crate) fn`, +> plus a `pub mod` line in `lib.rs`. **Nothing else** — no body change, no +> reordering, no signature change, no "while I was in there" cleanup. + +Blocks D3. + **C2 — name the dichotomous statistics correctly.** Over binary catalog criteria: Pearson→**φ** (report the marginal-capped ceiling), Cronbach's -α→**KR-20**, ICC→**κ-family agreement**, Spearman **degenerates and is -dropped** at view 2 (it returns only in jc's non-binary escalation). The -implementation and every doc name the dichotomous forms; reporting "Pearson" -while computing φ is the defect class this arm exists to prevent. +α→**KR-20**; **κ is a SEPARATE estimator, not a renamed ICC** — where a +continuous workflow would reach for ICC on binary criteria, compute **κ** +instead, and keep **ICC as ICC** for the non-binary jc escalation only; +Spearman **degenerates and is dropped** at view 2 (it returns only in jc's +non-binary escalation). The implementation and every doc name the dichotomous +forms; reporting "Pearson" while computing φ is the defect class this arm +exists to prevent. **C3 — reliability vs validity split (hard gate).** α/KR-20/ICC/κ = **reliability**, claimable from the cohort alone. **Validity requires an