Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
10 changes: 10 additions & 0 deletions .claude/board/AGENT_ORCHESTRATION_LOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -1220,3 +1220,13 @@ Detail:
Plus W8 scope (full_pipeline.rs + bgz7_hydration_quality.rs) has ~5 unfixed sites.
- test: /dev/vda at 100% (68 MB free); datafusion/parquet compile aborted.
- Missing agent reports: W8, W10 (W10 code in working tree, uncommitted).

## [W3 sprint-log-10] 2026-05-14 — PAL8 + NarsTables regression spec

**Agent:** W3 (pal8-nars-regression, Sonnet, sprint-log-10 CCA2A)
**Deliverables:** D-CE64-MB-2 + D-CE64-MB-3 spec
**Output:** `.claude/specs/pr-ce64-mb-2-pal8-nars-regression.md` (32 KB)
**Plans cited:** `causaledge64-mailbox-rename-soa-v1.md` §3
**Key finding:** `edge.rs` has no unused bits in 51-63 (plan's "13 reserved bits" does not match impl — plasticity at 49-51, temporal at 52-63). W2 must resolve reclaim strategy before implementation. Tests written against functional accessor properties, not raw bit positions.
**Status:** SPEC DRAFT complete. Tests: 6 gating + 1 ignored property test. CI extension: 3 new steps in rust-test.yml.
W4 | 2026-05-14 | pr-ce64-mb-3-bindspace-efgh.md | ~14 KB | Plans: bindspace-columns-v1 §1-§5, causaledge64 §6-§7 | COMPLETE | Closes PR355#6 + FIX-5 + Phase2 | OQ: BindSpaceView placement (par-tile vs driver)
64 changes: 64 additions & 0 deletions .claude/board/sprint-log-10/MANIFEST.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
# Sprint-log-10 — CausalEdge64 mailbox + sparse-rename SoA composition spec fleet

**Branch:** `claude/causaledge64-mailbox-rename-soa-v1` (PR #371)
**Goal:** Produce 12 per-PR/per-deliverable specs that realize `.claude/plans/causaledge64-mailbox-rename-soa-v1.md`. The parent plan has 9 D-ids across 7 PRs + 1 ndarray-side prerequisite. This sprint produces the meticulously detailed specs each PR will follow during sprint-11+ implementation.

**Parent plan:** `.claude/plans/causaledge64-mailbox-rename-soa-v1.md` (15 §, ~600 lines, ratified by all active sessions)
**Pattern:** CCA2A 12-worker + 1-meta (Sonnet workers, Opus meta), per `.claude/knowledge/A2Aworkarounds.md` Workaround 1 (File Blackboard)
**Permission:** `tee -a .claude/board/sprint-log-10/**` pre-allowed in `.claude/settings.json`; workers DO NOT commit (main thread aggregates).

## Fleet (12 Sonnet workers + 1 Opus meta)

| # | Worker | Output spec | Composes (plan §) | Output target |
|---|---|---|---|---|
| W1 | par-tile-crate | par-tile crate apex (Mailbox<T> trait + 3 backings + workspace deps) | §6 par-tile NEW · §7 PR-CE64-MB-1 | `.claude/specs/pr-ce64-mb-1-par-tile-crate.md` |
| W2 | causaledge64-v2 | CausalEdge64 v2 layout (G:5 + W:6 + truth:2 reclaim) + accessors + feature flag | §3 layout extension · §7 PR-CE64-MB-2 | `.claude/specs/pr-ce64-mb-2-causaledge64-v2.md` |
| W3 | pal8-nars-regression | PAL8 round-trip + NarsTables LUT regression tests (D-CE64-MB-2 + D-CE64-MB-3) | §3 compat invariants · §7 PR-CE64-MB-2 test plan | `.claude/specs/pr-ce64-mb-2-pal8-nars-regression.md` |
| W4 | bindspace-efgh | BindSpace Columns E (OntologyDelta) + F (AwarenessColumn) + G (ModelBindingColumn) + H (TypeColumn EntityTypeId u16) | §6 cognitive-shader-driver · §7 PR-CE64-MB-3 · `bindspace-columns-v1.md` Phase 2 | `.claude/specs/pr-ce64-mb-3-bindspace-efgh.md` |
| W5 | arigraph-spo-g | SPO-G quad upgrade in AriGraph + ghost-edge persistence + SpoWitnessChain<N> | §6 lance-graph/arigraph · §7 PR-CE64-MB-4 · `ogit-g-context-bundle-v1.md` D-OGIT-G-1 · `oxigraph-arigraph-cognitive-shader-soa-merge-v1.md` §1-§8 | `.claude/specs/pr-ce64-mb-4-arigraph-spo-g.md` |
| W6 | mailbox-soa-attentionmask | MailboxSoA<N> + AttentionMask SoA + AttentionMaskActor + lifecycle | §4 + §5 + §7 PR-CE64-MB-5 | `.claude/specs/pr-ce64-mb-5-mailbox-soa-attentionmask.md` |
| W7 | sigma-tier-router | SigmaTierRouter (Σ1-Σ10 → mailbox backing) + InMemoryMailbox cycle-speed backing + plasticity + pruning triggers + budget | §7 PR-CE64-MB-6 · Σ10 Rubicon from `linguistic-epiphanies-2026-04-19.md` E21 · `THINKING_ORCHESTRATION_WIRING.md` Gap 4 closure | `.claude/specs/pr-ce64-mb-6-sigma-tier-router.md` |
| W8 | ndarray-miri-complete | u-word method gaps (simd_eq/ne/ge/gt/le/lt/clamp/select/zero on U16x32/U32x16/U64x8 + I-word symmetric) + cfg(miri) dispatch reroute in `ndarray/src/simd.rs` | §8 ndarray-side prerequisites · `PR-NDARRAY-MIRI-COMPLETE` | `.claude/specs/pr-ndarray-miri-complete.md` |
| W9 | bevy-cull-plugin | NdarrayCullPlugin proof plugin (consumes MailboxSoA for frustum cull) | §7 PR-CE64-MB-7 · bevy session round-2 agent #7 `intersects_sphere_x16` sketch | `.claude/specs/pr-ce64-mb-7-bevy-cull-plugin.md` |
| W10 | pr-dep-graph | Cross-PR dependency graph + sequencing + parallel-landability + gating | §7 sequencing table · §10 blast radius · §11 OQs that gate each PR | `.claude/specs/sprint-10-pr-dep-graph.md` |
| W11 | test-plan-unification | Regression test plan unified across all 7 PRs + Miri coverage extension + clippy gate | §12 iron rules · §3 compat invariants · `scripts/miri-tests.sh` extension | `.claude/specs/sprint-10-test-plan.md` |
| W12 | board-hygiene-execution | Sprint-10 execution plan + post-merge governance (LATEST_STATE + STATUS_BOARD + PR_ARC_INVENTORY hygiene per CLAUDE.md Mandatory Board-Hygiene Rule) | §14 board entries to add post-spec-ratify | `.claude/specs/sprint-10-execution-plan.md` |
| **M** | **meta-reviewer (Opus)** | Brutally honest cross-spec review + super-helpful per-worker solutions + cross-spec inconsistency flagging | reads all W1-W12 outputs + scratchpads | `.claude/board/sprint-log-10/meta-review.md` |

## CCA2A coordination protocol (per `.claude/knowledge/A2Aworkarounds.md`)

**Each worker MUST**:
1. Read `.claude/board/AGENT_LOG.md` BEFORE drafting (see what other workers already shipped this sprint).
2. Read mandatory plan(s) listed in worker's row.
3. Write ONE spec file to the path in their row (~10 KB target, but expand as needed for detail).
4. APPEND to `.claude/board/sprint-log-10/agents/agent-W{N}.md` via `tee -a` with their report.
5. APPEND to `.claude/board/AGENT_LOG.md` via `tee -a` with a one-line entry.
6. DO NOT git commit/push — main thread aggregates.
7. Report <120 words to main thread: spec byte size + plans cited + key delta-vs-prior + open questions surfaced.

**Meta-agent (Opus) MUST**:
1. Read all 12 worker scratchpads `.claude/board/sprint-log-10/agents/agent-W{N}.md`.
2. Read all 12 spec output files.
3. Read `.claude/board/AGENT_LOG.md` for context.
4. Produce **brutally honest** cross-spec review at `.claude/board/sprint-log-10/meta-review.md`:
- Per-worker grade (A/B/C/D/F) with rationale
- Cross-spec inconsistencies (where W2's spec conflicts with W4's, etc.)
- Per-worker **super-helpful solutions** (concrete next-step that worker should take to address gaps)
- Cross-cutting epiphanies (patterns that emerge only when all 12 specs are held in mind together)
- Recommended PR-merge sequencing adjustments based on what specs surfaced
5. Report <300 words to main thread with overall sprint grade + critical-path next steps.

## Spec scope norms

- Each spec ~5-20 KB markdown (detail depth proportional to PR risk).
- **DELTA against parent plan**, not fresh draft. Cite §X.Y of parent plan being extended.
- Include: rationale, code/struct sketches, files-to-touch table, test plan, risk matrix, open questions.
- Forbidden: re-deriving architectural decisions already made in parent plan or composed plans.

## Output collation

Main thread after fleet completes:
1. Aggregate all spec files + scratchpads + meta-review into one commit on `claude/causaledge64-mailbox-rename-soa-v1`.
2. Update `STATUS_BOARD.md` with D-CE64-MB-1..9 rows (Status = Queued, PR/Evidence = `sprint-log-10/agent-W{N}.md`).
3. Update `INTEGRATION_PLANS.md` plan entry's **Status** if any OQ resolved.
4. Push to update PR #371.
56 changes: 56 additions & 0 deletions .claude/board/sprint-log-10/agents/agent-W1.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
# Agent W1 — par-tile-crate — Sprint-10 Scratchpad

**Worker:** W1 (par-tile-crate)
**Timestamp:** 2026-05-14T12:35:38Z
**Model:** claude-sonnet-4-6
**Status:** COMPLETE

## Deliverable

Spec written to: `.claude/specs/pr-ce64-mb-1-par-tile-crate.md`
File size: 37,134 bytes (~36 KB, 13 sections)

## Plans Cited

1. `.claude/plans/causaledge64-mailbox-rename-soa-v1.md` — §0 (zone framing), §4 (AttentionMask struct), §5 (MailboxSoA<N> struct + footprint + lifecycle), §6 (par-tile NEW substrate crate), §7 (PR-CE64-MB-1 scope ~1500 LOC), §11 OQ-5 (defer vendored-rayon)
2. `.claude/board/LATEST_STATE.md` — confirmed ractor="0.14" from PR #366 S7-W3 (CallcenterSupervisor)
3. `.claude/board/sprint-log-10/MANIFEST.md` — fleet coordination, W1 role
4. `crates/lance-graph-supervisor/Cargo.toml` — exact ractor version match ("0.14", optional, features=["tokio_runtime"])
5. `.claude/knowledge/A2Aworkarounds.md` — Workaround 1 (File Blackboard) coordination protocol

## Key Delta vs Parent Plan

Parent plan §6 listed par-tile as "NEW crate (to be specced)" with ~1500 LOC estimate. This spec materializes the full Cargo.toml, 7-module layout, all three Mailbox<T> backings (InMemoryMailbox/TokioMailbox/SupabaseSubMailbox), AttentionMask SoA with LRU eviction + wrap-around renormalization, MailboxSoA<N> with push_row/dispatch_cycle/emit_one/drop_row lifecycle, BindSpaceView via NonNull<u8> raw pointer (dep-isolation without importing cognitive-shader-driver), and dep-guard build.rs that panics on forbidden transitive deps.

## Key Design Decisions (DELTA vs parent plan)

1. **BindSpaceView dep isolation**: cognitive-shader-driver CANNOT be a par-tile dep (diamond invariant). Solved via `NonNull<u8>` + lifetime `'a` — callers (lance-graph-supervisor, bevy) hold Arc<BindSpace> and pass raw pointers.
2. **EvictionSender enum**: `Std(std::sync::mpsc::Sender<EvictionEvent>)` + `#[cfg(feature = "tokio-backing")] Tokio(tokio::sync::broadcast::Sender<EvictionEvent>)` — keeps AttentionMask pure std by default.
3. **LRU wrap at u32::MAX**: renormalize all LRU arrays (subtract u32::MAX/2, preserve relative ordering). Triggered at ~860 seconds of continuous operation at 1 cycle/5ms.
4. **dep-guard build.rs**: `FORBIDDEN_DEPS = ["lance", "arrow", "datafusion", "blas", "mkl", "cognitive-shader-driver", "lance-graph-callcenter"]` — panics at compile time if any appear in transitive deps.
5. **vendored-rayon as no-op stub**: feature exists but panics if enabled (OQ-5 deferred per §11).
6. **Source LOC**: ~1,425 (within §7 1500 estimate); tests ~540 LOC separate.

## Open Questions Surfaced for Meta-Review

- **OQ-A**: Should causal-edge appear as a direct `[dependencies]` entry or should par-tile newtype CausalEdge64 rather than re-export? (Affects whether downstream crates get the type from par-tile or must also depend on causal-edge.)
- **OQ-B**: Should vendored-rayon feature be a no-op stub (current spec) or omitted entirely until OQ-5 profiling shows the throughput cliff? (Stub risks confusion; omitting risks forgetting to re-add.)
- **OQ-C**: BindSpaceView's `unsafe fn from_raw_parts` requires callers to prove the Arc<BindSpace> outlives the view. Should par-tile expose a safe constructor that takes `&Arc<BindSpace>` (requiring cognitive-shader-driver import, breaking diamond) or keep the unsafe API and document the contract?

## Files-to-Touch Summary (from spec §11)

| File | Action |
|---|---|
| `Cargo.toml` (workspace root) | Add `crates/par-tile` to members |
| `crates/par-tile/Cargo.toml` | New |
| `crates/par-tile/build.rs` | New (dep-guard) |
| `crates/par-tile/src/lib.rs` | New |
| `crates/par-tile/src/mailbox.rs` | New (Mailbox<T> trait + 3 backings) |
| `crates/par-tile/src/attention.rs` | New (AttentionMask SoA) |
| `crates/par-tile/src/soa.rs` | New (MailboxSoA<N>) |
| `crates/par-tile/src/bind_space_view.rs` | New (BindSpaceView) |
| `crates/par-tile/src/sigma_tier.rs` | New (SigmaTier enum + routing) |
| `crates/par-tile/tests/` | New (5 test files) |
| `crates/lance-graph-supervisor/Cargo.toml` | Add par-tile dep |
| `crates/cognitive-shader-driver/Cargo.toml` | Add par-tile dep |

47 changes: 47 additions & 0 deletions .claude/board/sprint-log-10/agents/agent-W10.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
# agent-W10 scratchpad — sprint-log-10 CCA2A

## Identity
- Worker: W10 (pr-dep-graph)
- Role: Cross-PR dependency graph + sequencing + parallel-landability + OQ gating
- Output: `.claude/specs/sprint-10-pr-dep-graph.md`
- Date: 2026-05-14

## Mandatory reads completed
1. `.claude/board/sprint-log-10/MANIFEST.md` — confirmed W10 scope
2. `.claude/plans/causaledge64-mailbox-rename-soa-v1.md` §7 (PR sequencing) + §10 (blast radius) + §11 (OQs) + §15 (readiness checklist) — primary source
3. `.claude/board/LATEST_STATE.md` — checked current contract inventory, active branches
4. `.claude/board/AGENT_LOG.md` — file does not exist yet (first W10 agent in sprint-10)
5. Worker spec files W1-W9 — not yet authored (sprint-10 workers running in parallel); this graph is based on parent plan §7 + crate-dep inference

## Spec file
- Path: `/home/user/lance-graph/.claude/specs/sprint-10-pr-dep-graph.md`
- Size: 25183 bytes (~24.6 KB)
- Sections: 11 (§1 scope, §2 PR inventory, §3 dep graph ASCII, §4 parallel-landability 6 waves, §5 OQ-to-PR gating table, §6 cross-spec consistency 6 checks, §7 risk matrix, §8 handover, §9 user gating recommendations, §10 files-to-touch, §11 cross-ref index)

## Key findings

### Dependency graph structure
- 8 PRs total (7 from parent plan §7 + 1 ndarray prerequisite from W8)
- 6 waves: Wave 0 (ndarray independent), Waves 1+2 (parallel: par-tile + causal-edge), Wave 3 (parallel pair: BindSpace + AriGraph), Wave 4 (convergence: MailboxSoA), Wave 5 (SigmaTierRouter), Wave 6 (bevy proof)
- Maximum parallelism: 3 workers simultaneous (W1 + W2 + W3 in Waves 1+2)

### Key delta vs parent plan §7
- Parent plan shows linear sequence PR-CE64-MB-1 through MB-7. This spec surfaces the ACTUAL parallel structure: Waves 1+2 are parallel; Wave 3 is a parallel pair; Wave 6 (bevy) can start after Wave 4 without waiting for Wave 5.
- Bevy plugin (PR-CE64-MB-7) does NOT hard-depend on SigmaTierRouter (PR-CE64-MB-6). Primary plugin path uses MailboxSoA directly. This is a meaningful unblocking: Wave 6 can proceed in parallel with Wave 5.

### OQ gating table (primary contribution)
- OQ-5 -> gates W1 (par-tile apex = Wave 1 foundation): must ratify before sprint-11 spawns
- OQ-1 -> gates W7 (SigmaTierRouter = Wave 5, highest-risk PR): must ratify before MB-6 merges
- OQ-3 -> gates W6 (MailboxSoA = Wave 4 convergence): must ratify before MB-5 merges
- OQ-2, OQ-7, OQ-8 -> ratify at meta-review or during sprint-11 W4/W5 prep
- OQ-4, OQ-6 -> documentation-only, defer

### Top 3 open questions for meta-review
1. **C-1 (accessor naming)**: W2's spec will define the actual accessor names for CausalEdge64 G/W/truth fields. Meta-reviewer MUST verify W6 and W7 specs use identical names. If they diverge, integration fails silently. This is the single highest-probability cross-spec integration bug.
2. **C-5 (SigmaTier enum residence)**: Recommend moving SigmaTier from par-tile to lance-graph-contract to avoid import cycle risk. Meta-reviewer should check if W6 and W7 independently defined SigmaTier and force reconciliation.
3. **C-2 (BindSpaceView lifetime)**: Parent plan §5 shows `BindSpaceView<'static>` in MailboxSoA rows, which requires Arc<BindSpace> interior. If W1 (par-tile) uses raw refs instead, W6 (MailboxSoA) cannot compile without unsound lifetime extension. This should be caught at meta-review before sprint-11 spawns.

## Coordination
- No other W1-W9 agents found to have shipped yet when W10 ran (sprint-log-10/agents/ was empty)
- This graph is based on parent plan + crate-dep inference, not on reading other worker specs
- Meta-reviewer should update this graph after reading all W1-W9 specs if any structural deps changed
20 changes: 20 additions & 0 deletions .claude/board/sprint-log-10/agents/agent-W11.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
## 2026-05-14T12:26 — W11 spec-draft started (sonnet)

**Role:** test-plan-unification — unified regression test plan across all 8 PRs + Miri extension + clippy gate
**Output target:** `.claude/specs/sprint-10-test-plan.md`
**Plans cited:** causaledge64-mailbox-rename-soa-v1.md §3/§7/§12; scripts/miri-tests.sh (lance-graph + ndarray); .github/workflows/rust-test.yml + style.yml; MANIFEST.md worker table; LATEST_STATE.md sprint context
**Mandatory reads completed:** MANIFEST.md (fleet table), parent plan §3/§7/§12, LATEST_STATE.md, AGENT_LOG.md (W12 only agent so far), scripts/miri-tests.sh (lance-graph), ndarray/scripts/miri-tests.sh, rust-test.yml + style.yml (CI structure), .claude/specs/ directory (no sprint-10 worker specs yet — W1-W9 not yet run)
**Key observation:** W1-W9 worker specs do not yet exist (W12 is first runner). W11 must draft the test-plan spec from parent plan + miri scripts + CI structure alone, with placeholders for per-worker spec citations.
**Drafting spec now.**

## 2026-05-14T12:29 — W11 spec complete

**Spec written:** `.claude/specs/sprint-10-test-plan.md` — 43,718 bytes, 775 lines
**Plans cited:** causaledge64-mailbox-rename-soa-v1.md §3/§5/§6/§7/§8/§12; scripts/miri-tests.sh (lance-graph); ndarray/scripts/miri-tests.sh; rust-test.yml; style.yml; MANIFEST.md
**Key delta:** Miri coverage growth target = ~760 current → ~1550 post-sprint-11 (3 mechanisms: W8 dispatch reroute +529 ndarray, new pure-Rust crates +116 lance-graph, expanded lance-graph Miri scope +145)
**Open questions for meta-review:**
- OQ-T1: W1-W9 test count reconciliation (specs not yet authored)
- OQ-T2: proptest Miri runtime (PROPTEST_CASES=100 mitigation untested)
- OQ-T3: bevy headless approach (xvfb-run vs bevy/headless feature)
- OQ-T4: causal-edge Miri scope (confirm pure-Rust dep closure; W2 must verify)
- OQ-T5: ractor Miri guard in lance-graph-supervisor (W7 must add cfg(not(miri)) guards)
19 changes: 19 additions & 0 deletions .claude/board/sprint-log-10/agents/agent-W12.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
## 2026-05-14T12:25 — W12 spec-draft started (sonnet)

**Role:** board-hygiene-execution — sprint-10 execution plan + post-merge governance
**Output target:** `.claude/specs/sprint-10-execution-plan.md`
**Plans cited:** causaledge64-mailbox-rename-soa-v1.md §14+§15, sprint-5-through-9-roadmap-v1.md, A2Aworkarounds.md, cca2a-sprint-prompt-template.md
**Mandatory reads completed:** MANIFEST.md, §14+§15 of parent plan, sprint-5-9 roadmap, LATEST_STATE.md, EPIPHANIES.md (E-CE64-MB-1..10), CLAUDE.md board-hygiene rule, A2Aworkarounds.md, cca2a-sprint-prompt-template.md
**No other worker scratchpads present** — W12 is first agent running.
**Drafting spec now.**

## 2026-05-14T12:35 — W12 spec complete (sonnet)

**Commit:** (pending main-thread aggregation — not yet committed)
**LOC delta:** +473 lines / ~28.5 KB at .claude/specs/sprint-10-execution-plan.md
**Tests:** N/A (governance spec, no code)
**Open questions:**
- OQ-1: User ratification of Sigma-tier banding policy needed before sprint-11 Wave 5
- OQ-3: User ratification of compartment plasticity update granularity needed before Wave 4
- OQ-5: User ratification of rayon vendor decision (std::thread::scope first) needed before Wave 1
- Meta-reviewer (M agent, Opus) needed to validate all 12 specs before sprint-11 spawns
Loading