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
8 changes: 8 additions & 0 deletions .claude/board/INTEGRATION_PLANS.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,11 @@
## 2026-10-19 — mork-pathmap-schnellverschluss-v1 — MORK / PathMap behind one replaceable boundary → `.claude/plans/mork-pathmap-schnellverschluss-v1.md`

**Status:** D-MPS-0/1 MEASURED (probe, results only); D-MPS-2..5 upstream PROPOSALS; D-MPS-6 BLOCKED; D-MPS-7 OPEN.

- Source switch: pinned git revisions plus one `[patch]` for MORK's out-of-repo `../PathMap` path; one package identity, no upstream file edited.
- Execution switch: `Backend::{Mork, PathMapZipper, Native}` with typed refusals (`SetOnly`, `NoAdmittedNativeJoin`, `Stale`); the native arm is refused under the no-gather ruling.
- MORK stays an oracle outside the workspace (D-ASM-10); nothing is wired into Quack, R2IL or mask-risc.

## 2026-10-19 — catch-up: seven plans from #1605 and #1612–#1617 had no index entry

**Status:** INDEX CATCH-UP (post-merge recovery, entry `2026-10-19-post-merge-recovery-1601-1617.md`). All PROPOSAL; nothing implemented.
Expand Down
7 changes: 7 additions & 0 deletions .claude/board/ISSUES.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,10 @@
## ISS-MORK-LIBRARY-GLOBAL-ALLOCATOR — linking MORK replaces the binary's allocator (2026-10-19)

**Status:** OPEN. **Basis:** MEASURED (`crates/mork-pathmap-probe`, a `#[global_allocator]` in the probe fails to link: "conflicts with global allocator in: pathmap").

- MORK's workspace enables PathMap feature `jemalloc`, and PathMap then installs a global allocator from inside the library. Any lance-graph binary that links MORK loses control of its allocator.
- **What closes it:** D-MPS-4 upstream (enable `jemalloc` from MORK's binary, not the library), or a MORK consumer that turns the feature off through Cargo feature resolution, measured.

## ISS-GATHER-HOP-1616 — the merged `OutgoingHop` reads positions taken from another lane's values (2026-10-19)

**Status:** BLOCKED (quarantined; waits on GATHER-DECISION). **Basis:** VERIFIED-IN-CODE (`crates/lance-graph-mask-risc/src/graph_hop.rs`: two `MaskOp::Gather` over `frontier[sources[i]]` and `visible[targets[i]]`, then `ScatterOrU32` by `targets[i]`).
Expand Down
5 changes: 5 additions & 0 deletions .claude/board/LATEST_STATE.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
## 2026-10-19 — MORK / PathMap Schnellverschluss probe (in PR)

- New excluded crate `crates/mork-pathmap-probe` (own workspace, git deps on the AdaWorldAPI MORK and PathMap forks, results only) with CI job `mork-pathmap-probe.yml`; plan `mork-pathmap-schnellverschluss-v1.md`; entry `2026-10-19-mork-pathmap-schnellverschluss.md`; issue `ISS-MORK-LIBRARY-GLOBAL-ALLOCATOR`.
- Contract inventory delta: none.

## 2026-10-19 — main after #1617 (merged `47697c77`); post-merge recovery in PR

- **On main since #1597:** #1601–#1617 (17 PRs: research notes, plans, a qualia archive, the ACT-R crate, the mask-risc hop, the D-RMAP plans). None had board rows; the arc entries, STATUS_BOARD rows and plan index entries are added in this PR.
Expand Down
15 changes: 15 additions & 0 deletions .claude/board/STATUS_BOARD.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,18 @@
## MORK / PathMap Schnellverschluss (2026-10-19)

Plan `mork-pathmap-schnellverschluss-v1.md`; entry `entries/2026-10-19-mork-pathmap-schnellverschluss.md`.

| D-id | scope | status | gate / falsifier |
|---|---|---|---|
| D-MPS-0 | source and type inventory; fork/upstream switch through Cargo `[patch]` | MEASURED | one `pathmap` package in the graph; 0 / 18 upstream files differ (PathMap / MORK stable branch) |
| D-MPS-1 | differential probe `crates/mork-pathmap-probe`: MORK (product-zipper, leapfrog) and PathMap zipper vs nested-loop oracle | MEASURED (probe; CI job `mork-pathmap-probe.yml`) | 8 + 1 tests in both builds; 4 disable runs red |
| D-MPS-2 | upstream MORK: PathMap as git/version dependency, not `../PathMap` | PROPOSAL | MORK git dep resolves without `[patch]` |
| D-MPS-3 | upstream MORK: `nightly` opt-in (fork `de9312e`) | PROPOSAL | upstream `main` builds on stable |
| D-MPS-4 | upstream MORK: no library-level `jemalloc` global allocator | PROPOSAL | consumer binary sets its own allocator |
| D-MPS-5 | upstream MORK: leapfrog join generic over a cursor provider + reindex hook | PROPOSAL | MORK corpus unchanged on `PathMap<()>` |
| D-MPS-6 | Lance-owned PathMap-trait cursor over a sealed `RelationOrder` | BLOCKED (`RelationOrder` not built) | no copy, or the copy stated |
| D-MPS-7 | licence: no MORK source vendored until a licence is declared (#148 unmerged) | OPEN | probe vendors nothing |

## Post-merge recovery for #1601–#1617 (2026-10-19)

These PRs merged with no board rows. Every row below is a PROPOSAL (documents and fixtures) unless it says otherwise. Entry: `entries/2026-10-19-post-merge-recovery-1601-1617.md` (review-thread reconciliation).
Expand Down
20 changes: 20 additions & 0 deletions .claude/board/entries/2026-10-19-mork-pathmap-schnellverschluss.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# MORK / PathMap Schnellverschluss: source switch and differential probe (2026-10-19)

**Status:** MEASURED (D-MPS-0, D-MPS-1). Plan: `.claude/plans/mork-pathmap-schnellverschluss-v1.md`. Probe: `crates/mork-pathmap-probe`.

## Measured

- Forks against upstream: AdaWorldAPI/PathMap `ef02591` = upstream `master` (0 files differ). AdaWorldAPI/MORK `main` `ed57c67` = upstream `main` (0 files). The fork's stable branch `de9312e` differs in 18 files (+421 / −408) and is the only carried change.
- A git dependency on MORK does not resolve on its own: MORK names `pathmap = { path = "../PathMap/" }`, which lies outside its repository. One `[patch."https://github.com/AdaWorldAPI/MORK"] pathmap = { git = …, rev = … }` fixes it with one `pathmap` package in the graph and no edit to MORK.
- Upstream MORK `main` does not build on Rust 1.99 stable (`E0554`, nightly defaults); `de9312e` does. MORK's gxhash fork needs `+aes,+sse2`.
- MORK enables PathMap's `jemalloc` feature, which installs a `#[global_allocator]` in the library; a consumer binary cannot add its own (link error measured).
- MORK has no declared licence; upstream PR #148 (MIT) is not merged.
- `query_multi_leapfrog` takes a concrete `&PathMap<()>`; `SubtermCursor<Z>` is generic over PathMap's public `Zipper + ZipperMoving + ZipperPath + ZipperIteration` traits.
- Differential, `Q(x,y,z) :- R(x,y), S(y,z)`: MORK (product-zipper and leapfrog builds) and a PathMap read-zipper arm equal the nested-loop oracle on 8 cases (shared variable, empty, disjoint, per-atom scope, wide ids, duplicates, stale generation, ABA). Both upstream indexes are sets: bag requests are refused (`SetOnly`). Four disable runs each turned their guard's test red.
- Cost, n = 50 000, release, one run (re-run after review): PathMap index 14.8 ms (236 ns/row), query 24.1 ms; over 64 thoughts a shared index costs 1 556 ms in total vs 2 487 ms rebuilt per thought (1.6×; 24.3 vs 38.9 ms per thought). Sharing saves only the build. (The first version compared a per-thought figure with a 64-thought total and said 110×.) The MORK query time (170 ms) includes the probe's text decode and is not a measure of MORK's join.

## Open

- No admitted native lance-graph arm: the join reads `S` at positions chosen by `R`'s values (no-gather ruling). The native arm waits on a co-addressed producer.
- Whether a Lance-owned PathMap-trait cursor can walk a sealed `RelationOrder` without copying is unproved; `RelationOrder` is not built.
- The generation witness compares numbers, so a reused generation is not detected.
3 changes: 2 additions & 1 deletion .claude/board/entries/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,11 +25,12 @@ index row, (3) no duplicate entry id. Checks 1 and 2 are deliberately
opposite directions; the stranding this convention prevents shows up in
exactly one of them, never both.

371 entries, 2026-08-06 .. 2026-10-19.
372 entries, 2026-08-06 .. 2026-10-19.

| date | entry id | finding | file |
|---|---|---|---|
| 2026-10-19 | `post-merge-recovery-1601-1617` | | [2026-10-19-post-merge-recovery-1601-1617.md](2026-10-19-post-merge-recovery-1601-1617.md) |
| 2026-10-19 | `mork-pathmap-schnellverschluss` | | [2026-10-19-mork-pathmap-schnellverschluss.md](2026-10-19-mork-pathmap-schnellverschluss.md) |
| 2026-10-19 | `D-RMAP-1A` | | [2026-10-19-d-rmap-thought-git-versioning.md](2026-10-19-d-rmap-thought-git-versioning.md) |
| 2026-10-19 | `D-RMAP-1` | | [2026-10-19-d-rmap-implicit-relationship-register.md](2026-10-19-d-rmap-implicit-relationship-register.md) |
| 2026-10-17 | `thinking-tables-wiring` | | [2026-10-17-thinking-tables-wiring.md](2026-10-17-thinking-tables-wiring.md) |
Expand Down
Loading
Loading