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
25 changes: 25 additions & 0 deletions .claude/board/AGENT_LOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,28 @@
## [Fleet sprint-11-wave-a-impl] [IN PR] D-CSV-1 + D-CSV-3 + D-CSV-4 (branch claude/sprint-11-wave-a-impl, commit ab39d01)

**D-id(s):** D-CSV-1 (causal-edge v2 layout), D-CSV-3 (signed-mantissa InferenceType expansion), D-CSV-4 (CollapseGateEmission in contract).

**Workers (2 Sonnet, parallel):**
- **W-A1** — D-CSV-1 + D-CSV-3 paired in causal-edge crate. NEW `layout.rs` (~130 LOC, all shift constants + masks + TrustTexture + compile-time _LAYOUT_COVERAGE const-assert); EXTEND `edge.rs` with v2 accessors (inference_mantissa i4-signed, w_slot, truth, spare, with_routing(w,t) — no G-slot); NEW `v2_layout_tests.rs` (16 tests covering signed-mantissa round-trip, field-isolation matrix, 2-arg with_routing, spare isolation, size_of==8). Cargo bumped 0.1.0 → 0.2.0 with `default = ["causal-edge-v2-layout"]`. `InferenceType::to_mantissa/from_mantissa` provides bidirectional v2 mapping while keeping the enum intact for v1 callers.
- **W-A2** — D-CSV-4 in contract crate. NEW `MailboxId = u32` + `CollapseGateEmission` (Vec instead of SmallVec to preserve contract zero-dep, with documented deferral to sprint-12+ optimization). API: new/push_baton/baton_count/wire_cost_bytes (13 + 10×N) + provenance accessors. 8 tests pass.

**Main-thread P0 caught in code review:** worker W-A1 left v1 `pack()` writing `temporal << 52` even under v2 feature, corrupting the new reclaim zone (bit 52 = plasticity[2], 53-58 = W, 59-60 = lens, 61-63 = spare). Same root cause as the W3 spec codex P1 from PR #381. Fixed by feature-gating the temporal write in pack() so v2 silently drops the arg; two v1-only tests (`test_roundtrip`, `test_temporal_in_msb_gives_sort_order`) gated on `#[cfg(not(feature = "causal-edge-v2-layout"))]`.

**OQ ratifications absorbed:** OQ-CSV-2 = 6 bits (default per plan §11 recommendation). OQ-CSV-1 + OQ-CSV-4 deferred to Wave B (D-CSV-2 / D-CSV-5).

**Test status:**
- causal-edge v2 (default): 30 pass / 1 fail (test_build_fast — pre-existing on main, confirmed via stash-revert)
- causal-edge v1 (no default features): 16 pass / 1 fail (same pre-existing)
- lance-graph-contract collapse_gate: 8/8 pass
- lance-graph-planner: compiles with 2 deprecation warnings (`inference_type()`, `temporal()`) — the intended migration signal for downstream callers
- p64-bridge: compiles with 1 deprecation warning

**Outcome:** Sprint-11 Wave A scope (Phase A substrate primitives) reaching merge gate. Wave B (D-CSV-2 QualiaI4_16D + D-CSV-5 QualiaColumn migration) blocked on OQ-CSV-1 (qualia 16D per-dim assignment) — needs qualia-engineer agent cross-check before spawn.

**Pre-existing finding:** `tables::tests::test_build_fast` fails on clean main under both feature configurations; not introduced by this PR. To be filed in ISSUES.md separately.

---

## [Fleet sprint-log-csv-prep] [DONE] cognitive-substrate-convergence-v1 spec patches (PR #381 merged 2026-05-16)

**D-id(s):** Pre-sprint-11 spec-patch bundle for all 8 active D-CSV-* deliverables (D-CSV-1..D-CSV-7, D-CSV-11) — patches to 8 sprint-10 specs without implementation; sprint-11 implementation spawn still gated on user ratifications.
Expand Down
6 changes: 3 additions & 3 deletions .claude/board/STATUS_BOARD.md
Original file line number Diff line number Diff line change
Expand Up @@ -426,10 +426,10 @@ Consolidates sprint-10 architectural decisions before context dilution.

| D-id | Title | Status | PR / Evidence |
|---|---|---|---|
| D-CSV-1 | `causal-edge` crate v2 layout (signed mantissa, W-slot, lens, drop temporal) | **Queued** | blocked on OQ-CSV-1 + OQ-CSV-2 user ratification |
| D-CSV-1 | `causal-edge` crate v2 layout (signed mantissa, W-slot, lens, drop temporal) | **In PR** | branch `claude/sprint-11-wave-a-impl`, commit `ab39d01`; OQ-CSV-2 ratified to 6 bits (default) |
| D-CSV-2 | `QualiaI4_16D` type in `lance-graph-contract::qualia` + f32↔i4 migration helpers | **Queued** | blocked on OQ-CSV-1 (per-dim assignment) |
| D-CSV-3 | InferenceType signed-mantissa expansion (absorbs PR-LL-1 Intervention/Counterfactual into canonical edge enum) | **Queued** | depends on D-CSV-1 |
| D-CSV-4 | `CollapseGateEmission` wire format spec + impl per plan §8 | **Queued** | depends on D-CSV-1 |
| D-CSV-3 | InferenceType signed-mantissa expansion (absorbs PR-LL-1 Intervention/Counterfactual into canonical edge enum) | **In PR** | branch `claude/sprint-11-wave-a-impl`, paired with D-CSV-1 in same crate |
| D-CSV-4 | `CollapseGateEmission` wire format spec + impl per plan §8 | **In PR** | branch `claude/sprint-11-wave-a-impl`, contract crate (Vec instead of SmallVec to preserve zero-dep) |

### Phase B — Storage & dispatch path (sprint-11)

Expand Down
72 changes: 72 additions & 0 deletions .claude/knowledge/woa-routing/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
# WoA Flask Routing Table (Canonical Mirror)

> **Canonical source:** [`AdaWorldAPI/WoA` `.claude/reference/routing_table.{json,csv}`](https://github.com/AdaWorldAPI/WoA/tree/main/.claude/reference) — generated by [PR #33](https://github.com/AdaWorldAPI/WoA/pull/33) (merged 2026-05-16).
> **This is a mirror** for cross-repo greppability from lance-graph sessions — refresh by re-fetching from the canonical path.
> **Routes:** 514 endpoints across the WoA app.py monolith + 53 blueprint modules under `woa/blueprints/*.py`.
> **Refreshed:** 2026-05-16.

## Schema

`routing-table.json`:

```json
{
"generated_by": "...",
"generated_at": "...",
"route_count": 514,
"routes": [
{
"endpoint": "system_pages.index",
"function": "index",
"path": "/",
"methods": "GET",
"source_file": "woa/blueprints/system_pages.py",
"line": 19,
"blueprint": "system_pages",
"cluster": "system_pages"
},
...
]
}
```

`routing-table.csv`: same fields as flat columns.

## How WoA harvested it (per PR #33)

> Walked every `*.py` under:
> - `app.py` (91 routes still in the monolith)
> - `woa/blueprints/*.py` (423 routes across 53 files)
> - `woa/*.py` and `woa_*.py` (root-level helpers)
>
> For each `FunctionDef`, scanned `decorator_list` for any `@.route(...)` call, pulled path + methods, joined with the blueprint's `url_prefix`.
>
> Coverage: 514 of 515 runtime routes captured; the delta is Flask's auto `/static/` rule (no decorator → invisible to AST).

## When to refresh

When PR #33's harvester runs again on a newer WoA HEAD (e.g. after further refactors moving more routes out of the monolith), re-fetch from the canonical path. Drop a dated note in this README on each refresh.

The local fetch pattern (used by the 2026-05-16 refresh):

```python
# via mcp__github__get_file_contents on AdaWorldAPI/WoA path
# .claude/reference/routing_table.csv (and .json), strip the
# "[Resource from github at ...]" wrapper prefix, write the body
```

## Use cases (cross-repo, from a lance-graph session)

- **Plan further extractions:** filter `cluster == "app.py-monolith"` to see what's left in the 91-route remnant.
- **Verify no route disappears across refactors:** diff `route_count` before/after.
- **Membrane wiring (callcenter / sharepoint / spear / q2):** identify which WoA endpoints feed which downstream consumer faster than grepping the multi-file blueprint tree.
- **Sprint planning** for lance-graph ↔ WoA integration: this table is the contract surface.

## What this is NOT

- Not a live runtime extraction (no `app.url_map` introspection). Pure static AST per PR #33's harvester. Dynamic decorator expressions (computed `route(some_var, ...)`) are skipped silently.
- Not a security/auth model. The harvester does NOT include the auth/csrf/limiter decorator chain (unlike the lance-graph session's earlier partial 96-route harvest of just `app.py` — superseded by this mirror).

## History

- **2026-05-16** initial harvest in this lance-graph session against `WoA/app.py` only — 96 routes from the monolith. Superseded the same day by this canonical mirror from WoA PR #33, which covers all 514 routes across the modular blueprint architecture.
Loading
Loading