From 1fb02925e0ef67b66bca21ec04cc60ade082811c Mon Sep 17 00:00:00 2001 From: Claude Date: Mon, 2 Nov 2026 07:01:18 +0000 Subject: [PATCH] board: post-merge record for #1921 (D-CODEGRAPH-0 slice C shipped at fixture scale) Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01X6y3drwKSE2zSgoexheLFX --- .claude/board/LATEST_STATE.md | 6 ++++++ .claude/board/PR_ARC_INVENTORY.md | 8 ++++++++ .claude/board/STATUS_BOARD.md | 2 +- 3 files changed, 15 insertions(+), 1 deletion(-) diff --git a/.claude/board/LATEST_STATE.md b/.claude/board/LATEST_STATE.md index 84c7dda2b..beaa9c50f 100644 --- a/.claude/board/LATEST_STATE.md +++ b/.claude/board/LATEST_STATE.md @@ -1,3 +1,9 @@ +## 2026-11-02 — main after #1920 and #1921 (merged `4ab93bf3e`), ruff #130–#132 + +- New workspace-excluded crate `lance-graph-codegraph` (#1921, D-CODEGRAPH-0 slice C): reads the `ruff_charon` rows v2 artifacts by column name and answers callers, callees, references and impact as confirmed / possible / unknown masks over one xlog cube; diagnostics dead function, unresolved call, dangling call, unused import (NOT_RUN). Limits surfaced as typed refusals: closure > 64 positions, tile > 256 symbols. +- ruff `ruff_charon`: offline per-crate store with incremental refresh (#130, #131) and rows v2 (#132: `PUBLIC`, `IMPLEMENTS`, `SYNTHETIC`, `REFERENCES`, `CRATE` status; `MAY_DISPATCH` names the method). +- `sag-ra-probe/fixtures/codegraph/rev2` also deletes `area_dyn` (#1920). + ## 2026-11-02 — main after #1918 (merged `c11e4262e`) and ruff #129 - D-CODEGRAPH-0 (resident Codegraph, Charon → ruff → lance-graph + crai-rs): plan, gap map G1–G9, oracle fixture `sag-ra-probe/fixtures/codegraph`, hand-read Kythe pins, `tools/kythe_calls_check.py`, and `sag-ra-probe GRAPH=1` as the independent rust-analyzer check. diff --git a/.claude/board/PR_ARC_INVENTORY.md b/.claude/board/PR_ARC_INVENTORY.md index d58f60009..5a4403500 100644 --- a/.claude/board/PR_ARC_INVENTORY.md +++ b/.claude/board/PR_ARC_INVENTORY.md @@ -1,3 +1,11 @@ +## 2026-11-02 — lance-graph PR #1921 (merged `4ab93bf3e`, branch `claude/clone-repositories-71a5sw`) — D-CODEGRAPH-0 slice C: `lance-graph-codegraph` + +- **Added:** `crates/lance-graph-codegraph` (workspace-excluded): rows v2 reader keyed by schema names; one xlog cube (CALLS, NODE, MAY, IMPL, RCONF, RPOSS) and position masks; `callers` / `callees` / `references` / `impact` graded confirmed / possible / unknown; diagnostics dead function, unresolved call, dangling call, unused import NOT_RUN; store fixtures rev1, rev2, mixed, fnref; `examples/timing.rs`. +- **Locked:** `MAY_DISPATCH` is never confirmed; a dyn or pointer call is UNKNOWN; a diagnostic that cannot run is NOT_RUN, never clean. +- **Deferred:** closure over more than 64 positions and cubes over more than 256 symbols (refused, typed UNKNOWN); import facts; body → R2IL (G4, G7). +- **Confidence:** 27 tests; 12 disable runs red; rustc agrees on `dead_code` and on E0425 for the dangling call; release ns per call 184–5103; `rows_materialized == 0`. +- **Companion:** ruff PR #132 (merged `ed8fd4194f`, rows v2). + ## 2026-11-02 — lance-graph PR #1920 (merged `5b967b130`, branch `claude/clone-repositories-71a5sw`) — D-CODEGRAPH-0 slice B record; rev2 fixture deletes `area_dyn` - **Added:** `fixtures/codegraph/rev2` also deletes `cg_lib::area_dyn` and drops its call from `cg_app`, so a refresh that skips the dependent leaves one dangling edge; the slice B section of the gap-map entry; STATUS_BOARD D-CODEGRAPH-0-B LANDED for the offline store. diff --git a/.claude/board/STATUS_BOARD.md b/.claude/board/STATUS_BOARD.md index 217217d0b..071031b8c 100644 --- a/.claude/board/STATUS_BOARD.md +++ b/.claude/board/STATUS_BOARD.md @@ -239,7 +239,7 @@ Plan: [d-codegraph-0-resident-codegraph-v1.md](../plans/d-codegraph-0-resident-c |---|---|---|---| | **D-CODEGRAPH-0-A** | ruff `ruff_charon`: LLBC → Kythe facts with a witness status per call, for one real crate | SHIPPED: ruff #129 (merged `9913e90946`), lance-graph #1918 (merged `c11e4262e`): calls byte-identical to `llbc_calls.py` on the fixture and `mask-risc`; receipt conserved (16,149); Kythe `/xrefs` 3/3 call pins | rust-analyzer oracle (`sag-ra-probe GRAPH=1`) and rustc on `fixtures/codegraph`; `POSSIBLE` never counted as a confirmed caller | | **D-CODEGRAPH-0-B** | resident rows via the ruff sink; per-file digests; incremental invalidation | LANDED (offline form): ruff #130 (merged `95be2e480b`; offline store in `ruff_charon`; `RefinedTruthSink` not reused, typed to R2IL). Incremental == clean on the fixture, byte-identical; skipped dependent leaves exactly one dangling edge. Follow-up fixes in ruff #131 (open). Lance-graph SoA residency still open | clean import == incremental import | -| **D-CODEGRAPH-0-C** | callers / callees / impact / diagnostics; tiled closure; body → R2IL design check | IN PR: ruff #132 (merged `ed8fd4194f`, rows v2) + `crates/lance-graph-codegraph` (queries as confirmed / possible / unknown masks over the xlog cube; dead function, unresolved call, dangling call; unused import NOT_RUN). 27 tests, 12 disable runs red. Tiled closure deferred: refusals `ClosureWidth` (> 64) and `TooMany` (> 256) are surfaced as typed UNKNOWN | each guard disable-verified; unused import proven only without macros, traits, globs, re-exports | +| **D-CODEGRAPH-0-C** | callers / callees / impact / diagnostics; tiled closure; body → R2IL design check | SHIPPED (fixture scale): ruff #132 (merged `ed8fd4194f`, rows v2) + lance-graph #1921 (merged `4ab93bf3e`), `crates/lance-graph-codegraph` (queries as confirmed / possible / unknown masks over the xlog cube; dead function, unresolved call, dangling call; unused import NOT_RUN). 27 tests, 12 disable runs red. Tiled closure deferred: refusals `ClosureWidth` (> 64) and `TooMany` (> 256) are surfaced as typed UNKNOWN | each guard disable-verified; unused import proven only without macros, traits, globs, re-exports | | **D-CODEGRAPH-0-D** | local stdio MCP over C | QUEUED | only after B and C gates | | **D-CODEGRAPH-0-E** | token measurement with and without the Codegraph | QUEUED | same revision, questions, model; nothing claimed before measured |