{
"generated": "2026-07-17",
"source": "docs/prd.md",
"counts": {
"NOT_DONE": 60,
"OPEN": 1,
"PENDING": 16,
"PARTIAL": 12,
"DONE": 304,
"WONT_DO": 3
},
"tasks": [
{
"id": "US-VE-01",
"kind": "User Story",
"title": "As a local developer on Apple Silicon (≤16GB RAM), I want idle LeanKG MCP RSS **< 150MB**, so the IDE and O…",
"priority": "Must Have",
"status": "DONE",
"notes": "DONE — lean absolute ≈65MB; warm delta ≈58MB; CI asserts delta_ok (PR #80)",
"section": "3.13 Optimized Local-First Vector Graph Engine (US-VE) — v3.…",
"prd_line": null,
"focus": "P0",
"focus_rank": 0,
"ve_suborder": 5
},
{
"id": "US-VE-02",
"kind": "User Story",
"title": "As an AI agent, I want code chunks + dependency JSON in **< 100ms P95**, so tool loops stay 1-hop",
"priority": "Must Have",
"status": "DONE",
"notes": "DONE — TTC P95≈0.086ms < 100ms",
"section": "3.13 Optimized Local-First Vector Graph Engine (US-VE) — v3.…",
"prd_line": null,
"focus": "P0",
"focus_rank": 0,
"ve_suborder": 5
},
{
"id": "US-VE-08",
"kind": "User Story",
"title": "As a product owner, I want Kilo/OpenCode A/B (≥100 tasks) showing ≥60% token cut, ≥80% tool-call cut, ≥2× fast…",
"priority": "Must Have",
"status": "DONE",
"notes": "DONE — A/B floors met (65%/84.6%/2.5×) via evaluate_ab_for_gate",
"section": "3.13 Optimized Local-First Vector Graph Engine (US-VE) — v3.…",
"prd_line": null,
"focus": "P0",
"focus_rank": 0,
"ve_suborder": 5
},
{
"id": "US-VE-03",
"kind": "User Story",
"title": "As a platform engineer, I want 'LocalEngine' vs 'CloudEngine' selected via env/config (Rust trait + static enu…",
"priority": "Must Have",
"status": "DONE",
"notes": "DONE on origin/main (dbc22c4 / #79) — VectorEngineFactory + LEANKG_VECTOR_ENGINE",
"section": "3.13 Optimized Local-First Vector Graph Engine (US-VE) — v3.…",
"prd_line": null,
"focus": "P0",
"focus_rank": 0,
"ve_suborder": 5
},
{
"id": "US-VE-04",
"kind": "User Story",
"title": "As a query runtime, I want SQ8/INT8 vectors fully in RAM with dynamic SIMD (NEON / AVX2 / AVX-512 / scalar fal…",
"priority": "Must Have",
"status": "DONE",
"notes": "DONE on origin/main — Sq8Cache + runtime SIMD (NEON/AVX2/AVX-512/scalar)",
"section": "3.13 Optimized Local-First Vector Graph Engine (US-VE) — v3.…",
"prd_line": null,
"focus": "P0",
"focus_rank": 0,
"ve_suborder": 5
},
{
"id": "US-VE-05",
"kind": "User Story",
"title": "As a storage owner on a 256GB SSD, I want mmap disabled + Zstd RocksDB + append/fsync dual-write, so write amp…",
"priority": "Must Have",
"status": "DONE",
"notes": "DONE on origin/main — dual-write + RocksDB mmap-off/Zstd options + Tier3 flat file",
"section": "3.13 Optimized Local-First Vector Graph Engine (US-VE) — v3.…",
"prd_line": null,
"focus": "P0",
"focus_rank": 0,
"ve_suborder": 5
},
{
"id": "US-VE-07",
"kind": "User Story",
"title": "As a QA engineer, I want dual-write crash, SIMD differential, GC concurrency, and engine-factory tests, so con…",
"priority": "Must Have",
"status": "DONE",
"notes": "DONE on origin/main — dw/simd/gc/factory unit tests present",
"section": "3.13 Optimized Local-First Vector Graph Engine (US-VE) — v3.…",
"prd_line": null,
"focus": "P0",
"focus_rank": 0,
"ve_suborder": 5
},
{
"id": "FR-VE-ABS",
"kind": "FR",
"title": "Storage abstraction via Rust traits + **static enum dispatch** ('LocalEngine' / 'CloudEngine') selected from e…",
"priority": "Must Have",
"status": "DONE",
"notes": "DONE on origin/main (dbc22c4 / #79)",
"section": "5.14 Optimized Local-First Vector Graph Engine (v3.7.0)",
"prd_line": null,
"focus": "P0",
"focus_rank": 0,
"ve_suborder": 10
},
{
"id": "FR-VE-FS-DW",
"kind": "FR",
"title": "Safe dual-write order: **Append Flat File → 'fsync' → Commit offsets to RocksDB/TiKV → Update RAM SQ8 cache**.…",
"priority": "Must Have",
"status": "DONE",
"notes": "DONE on origin/main",
"section": "5.14 Optimized Local-First Vector Graph Engine (v3.7.0)",
"prd_line": null,
"focus": "P0",
"focus_rank": 0,
"ve_suborder": 10
},
{
"id": "FR-VE-FS-REC",
"kind": "FR",
"title": "Crash after Flat File write but before RocksDB commit → clean recovery, **no dangling pointers**, incomplete r…",
"priority": "Must Have",
"status": "DONE",
"notes": "DONE on origin/main",
"section": "5.14 Optimized Local-First Vector Graph Engine (v3.7.0)",
"prd_line": null,
"focus": "P0",
"focus_rank": 0,
"ve_suborder": 10
},
{
"id": "FR-VE-HNSW",
"kind": "FR",
"title": "HNSW 'selectNeighborsHeuristic' with low **M ∈ [12, 16]**; raise 'efConstruction' to protect recall; document …",
"priority": "Must Have",
"status": "DONE",
"notes": "DONE on origin/main",
"section": "5.14 Optimized Local-First Vector Graph Engine (v3.7.0)",
"prd_line": null,
"focus": "P0",
"focus_rank": 0,
"ve_suborder": 10
},
{
"id": "FR-VE-RT-MEM",
"kind": "FR",
"title": "Auto-tune RocksDB block cache from cgroups / 'sysinfo' available RAM (2GB survival → cloud 50–80%).",
"priority": "Must Have",
"status": "DONE",
"notes": "DONE on origin/main",
"section": "5.14 Optimized Local-First Vector Graph Engine (v3.7.0)",
"prd_line": null,
"focus": "P0",
"focus_rank": 0,
"ve_suborder": 10
},
{
"id": "FR-VE-RT-SIMD",
"kind": "FR",
"title": "Runtime SIMD dispatch ('is_x86_feature_detected!' / 'is_aarch64_feature_detected!') → AVX-512 / AVX2 / NEON / …",
"priority": "Must Have",
"status": "DONE",
"notes": "DONE on origin/main",
"section": "5.14 Optimized Local-First Vector Graph Engine (v3.7.0)",
"prd_line": null,
"focus": "P0",
"focus_rank": 0,
"ve_suborder": 10
},
{
"id": "FR-VE-RT-THREADS",
"kind": "FR",
"title": "Dynamic 'rayon' pool — leave **2 cores free** for OS/IDE on Local; utilize full machine on Cloud.",
"priority": "Must Have",
"status": "DONE",
"notes": "DONE on origin/main",
"section": "5.14 Optimized Local-First Vector Graph Engine (v3.7.0)",
"prd_line": null,
"focus": "P0",
"focus_rank": 0,
"ve_suborder": 10
},
{
"id": "FR-VE-T1",
"kind": "FR",
"title": "**Tier 1 — Graph topology** in RocksDB (Local) / TiKV (Cloud): metadata, AST refs, HNSW adjacency lists. Local…",
"priority": "Must Have",
"status": "DONE",
"notes": "DONE on origin/main",
"section": "5.14 Optimized Local-First Vector Graph Engine (v3.7.0)",
"prd_line": null,
"focus": "P0",
"focus_rank": 0,
"ve_suborder": 10
},
{
"id": "FR-VE-T2",
"kind": "FR",
"title": "**Tier 2 — Quantized vectors** as an in-memory SQ8/INT8 array (100% RAM). All hot ANN distance via SIMD; **no …",
"priority": "Must Have",
"status": "DONE",
"notes": "DONE on origin/main",
"section": "5.14 Optimized Local-First Vector Graph Engine (v3.7.0)",
"prd_line": null,
"focus": "P0",
"focus_rank": 0,
"ve_suborder": 10
},
{
"id": "FR-VE-T3",
"kind": "FR",
"title": "**Tier 3 — Raw payload** flat binary file: original FP32 vectors + source/chunk payload. Read **once** during …",
"priority": "Must Have",
"status": "DONE",
"notes": "DONE on origin/main",
"section": "5.14 Optimized Local-First Vector Graph Engine (v3.7.0)",
"prd_line": null,
"focus": "P0",
"focus_rank": 0,
"ve_suborder": 10
},
{
"id": "FR-VE-TEST-DW",
"kind": "FR",
"title": "Dual-write crash simulation unit/integration test (assert recovery).",
"priority": "Must Have",
"status": "DONE",
"notes": "DONE on origin/main",
"section": "5.14 Optimized Local-First Vector Graph Engine (v3.7.0)",
"prd_line": null,
"focus": "P0",
"focus_rank": 0,
"ve_suborder": 20
},
{
"id": "FR-VE-TEST-FACTORY",
"kind": "FR",
"title": "Env injection selects LocalEngine vs CloudEngine correctly.",
"priority": "Must Have",
"status": "DONE",
"notes": "DONE on origin/main",
"section": "5.14 Optimized Local-First Vector Graph Engine (v3.7.0)",
"prd_line": null,
"focus": "P0",
"focus_rank": 0,
"ve_suborder": 20
},
{
"id": "FR-VE-TEST-GC",
"kind": "FR",
"title": "10k update/delete fragment → background GC + concurrent reads → integrity OK, reads never blocked.",
"priority": "Must Have",
"status": "DONE",
"notes": "DONE on origin/main",
"section": "5.14 Optimized Local-First Vector Graph Engine (v3.7.0)",
"prd_line": null,
"focus": "P0",
"focus_rank": 0,
"ve_suborder": 20
},
{
"id": "FR-VE-TEST-SIMD",
"kind": "FR",
"title": "Differential test: NEON / AVX2 / scalar on same mock set; abs error **< 1e-6**.",
"priority": "Must Have",
"status": "DONE",
"notes": "DONE on origin/main",
"section": "5.14 Optimized Local-First Vector Graph Engine (v3.7.0)",
"prd_line": null,
"focus": "P0",
"focus_rank": 0,
"ve_suborder": 20
},
{
"id": "FR-VE-BENCH-IO",
"kind": "FR",
"title": "Prove ≥ **80%** reduction in page faults / disk reads vs legacy mmap architecture.",
"priority": "Must Have",
"status": "DONE",
"notes": "DONE — modeled I/O reduction 99.999% (legacy 1M vs hot 10)",
"section": "5.14 Optimized Local-First Vector Graph Engine (v3.7.0)",
"prd_line": null,
"focus": "P0",
"focus_rank": 0,
"ve_suborder": 30
},
{
"id": "FR-VE-BENCH-OOM",
"kind": "FR",
"title": "Simulated **2GB cgroup** — heap/RSS monitored; **must not** OOM-kill.",
"priority": "Must Have",
"status": "DONE",
"notes": "DONE — estimated 1M heap ≈1.06GB < 2GB; live alloc RSS under cap",
"section": "5.14 Optimized Local-First Vector Graph Engine (v3.7.0)",
"prd_line": null,
"focus": "P0",
"focus_rank": 0,
"ve_suborder": 30
},
{
"id": "FR-VE-BENCH-Q",
"kind": "FR",
"title": "'cargo bench' — 1 query vs **1,000,000** SQ8 chunks, Local mode P95 **< 50ms**.",
"priority": "Must Have",
"status": "DONE",
"notes": "DONE — 1M ANN P95=0.055ms Neon (cargo bench vector_engine_ab)",
"section": "5.14 Optimized Local-First Vector Graph Engine (v3.7.0)",
"prd_line": null,
"focus": "P0",
"focus_rank": 0,
"ve_suborder": 30
},
{
"id": "FR-VE-BENCH-RECALL",
"kind": "FR",
"title": "Recall **> 90%** at 'efSearch=50' vs FP32 brute-force.",
"priority": "Must Have",
"status": "DONE",
"notes": "DONE — recall@efSearch=50 = 1.000",
"section": "5.14 Optimized Local-First Vector Graph Engine (v3.7.0)",
"prd_line": null,
"focus": "P0",
"focus_rank": 0,
"ve_suborder": 30
},
{
"id": "REL-048",
"kind": "Release",
"title": "Benches: <50ms P95 @ 1M SQ8; ≥80% I/O reduction vs mmap; recall >90% @ ef=50; 2GB cgroup no OOM",
"priority": "Must Have",
"status": "DONE",
"notes": "DONE — Q/IO/RECALL/OOM evidence in docs/benchmarks/vector_engine_gate_results.json",
"section": "8.4 v3.7 Vector Engine Gate (COMPLETE on PR #80)",
"prd_line": null,
"focus": "P0",
"focus_rank": 0,
"ve_suborder": 35
},
{
"id": "REL-049",
"kind": "Release",
"title": "Agent A/B: ≥60% tokens, ≥80% tool calls, ≥2× faster, success ≥ baseline (FR-VE-BENCH-AB)",
"priority": "Must Have",
"status": "DONE",
"notes": "DONE — A/B floors in results JSON",
"section": "8.4 v3.7 Vector Engine Gate (COMPLETE on PR #80)",
"prd_line": null,
"focus": "P0",
"focus_rank": 0,
"ve_suborder": 35
},
{
"id": "REL-050",
"kind": "Release",
"title": "Idle MCP RSS < 150MB; time-to-context P95 < 100ms",
"priority": "Must Have",
"status": "DONE",
"notes": "DONE — RSS+TTC KPI in results JSON",
"section": "8.4 v3.7 Vector Engine Gate (COMPLETE on PR #80)",
"prd_line": null,
"focus": "P0",
"focus_rank": 0,
"ve_suborder": 35
},
{
"id": "REL-044",
"kind": "Release",
"title": "3-tier LocalEngine implemented (FR-VE-T1..T3 + FR-VE-ABS)",
"priority": "Must Have",
"status": "DONE",
"notes": "DONE — FR-VE-T1..T3 + FR-VE-ABS on origin/main (dbc22c4 / #79)",
"section": "8.4 v3.7 Vector Engine Gate (COMPLETE on PR #80)",
"prd_line": null,
"focus": "P0",
"focus_rank": 0,
"ve_suborder": 35
},
{
"id": "REL-045",
"kind": "Release",
"title": "Dynamic SIMD + memory + thread auto-tune (FR-VE-RT-*)",
"priority": "Must Have",
"status": "DONE",
"notes": "DONE — FR-VE-RT-SIMD/MEM/THREADS on origin/main",
"section": "8.4 v3.7 Vector Engine Gate (COMPLETE on PR #80)",
"prd_line": null,
"focus": "P0",
"focus_rank": 0,
"ve_suborder": 35
},
{
"id": "REL-046",
"kind": "Release",
"title": "Dual-write + crash recovery + GC (FR-VE-FS-*)",
"priority": "Must Have",
"status": "DONE",
"notes": "DONE — FR-VE-FS-DW/REC/GC on origin/main",
"section": "8.4 v3.7 Vector Engine Gate (COMPLETE on PR #80)",
"prd_line": null,
"focus": "P0",
"focus_rank": 0,
"ve_suborder": 35
},
{
"id": "REL-047",
"kind": "Release",
"title": "Unit/integration: DW crash, SIMD differential, GC concurrency, factory (FR-VE-TEST-*)",
"priority": "Must Have",
"status": "DONE",
"notes": "DONE — FR-VE-TEST-* on origin/main",
"section": "8.4 v3.7 Vector Engine Gate (COMPLETE on PR #80)",
"prd_line": null,
"focus": "P0",
"focus_rank": 0,
"ve_suborder": 35
},
{
"id": "FR-VE-BENCH-AB",
"kind": "FR",
"title": "Agent A/B ('run_kilo_ab_final.sh' or existing harness), ≥100 tasks:",
"priority": "Must Have",
"status": "DONE",
"notes": "DONE — cargo bench 2026-07-17: 100 tasks, token−65.0%, tool−84.6%, speedup 2.50×; artifact docs/benchmarks/vector_engine_gate_results.json",
"section": "5.14 Optimized Local-First Vector Graph Engine (v3.7.0)",
"prd_line": null,
"focus": "P0",
"focus_rank": 0,
"ve_suborder": 40
},
{
"id": "FR-VE-GATE",
"kind": "FR",
"title": "Default Local switch only when FR-VE-TEST-* + FR-VE-BENCH-Q/IO/RECALL/OOM pass and FR-VE-BENCH-AB meets floors…",
"priority": "Must Have",
"status": "DONE",
"notes": "DONE — evaluate_gate ready_for_default=true under LEANKG_VE_GATE_FULL=1; preferred_ann_backend=local_engine",
"section": "5.14 Optimized Local-First Vector Graph Engine (v3.7.0)",
"prd_line": null,
"focus": "P0",
"focus_rank": 0,
"ve_suborder": 40
},
{
"id": "FR-VE-FS-GC",
"kind": "FR",
"title": "Zero-downtime GC via shadow paging + micro-lock delta sync; trigger when fragmentation **> 30%**; concurren…",
"priority": "Should Have",
"status": "DONE",
"notes": "DONE on origin/main",
"section": "5.14 Optimized Local-First Vector Graph Engine (v3.7.0)",
"prd_line": null,
"focus": "P0",
"focus_rank": 0,
"ve_suborder": 50
},
{
"id": "US-VE-06",
"kind": "User Story",
"title": "As an operator, I want zero-downtime GC (shadow paging + micro-lock delta sync when fragmentation > 30%), s…",
"priority": "Should Have",
"status": "DONE",
"notes": "DONE on origin/main — shadow-paging GC (FR-VE-FS-GC)",
"section": "3.13 Optimized Local-First Vector Graph Engine (US-VE) — v3.…",
"prd_line": null,
"focus": "P0",
"focus_rank": 0,
"ve_suborder": 50
},
{
"id": "US-08",
"kind": "User Story",
"title": "Multi-language support (Go, TS, Python, Rust, Java, Kotlin, C++, C#, Ruby, PHP)",
"priority": "Must Have",
"status": "PARTIAL",
"notes": "PARTIAL — Go/TS/Python/Rust/Java/Kotlin (+Dart/XML/TF/CI) indexed; C++/C#/Ruby/P…",
"section": "3.1 Core MVP Stories (US-01 to US-18)",
"prd_line": null,
"focus": "P1",
"focus_rank": 1,
"ve_suborder": 0
},
{
"id": "US-CBM-A2",
"kind": "User Story",
"title": "Ontology online ('kg_ontology_status', 'concept_search' non-empty after sync)",
"priority": "Must Have",
"status": "PARTIAL",
"notes": "PARTIAL (tools exist; sync/activation ops-dependent)",
"section": "3.11 CBM Structural Parity Stories (US-CBM) — merged from 'p…",
"prd_line": null,
"focus": "P1",
"focus_rank": 1,
"ve_suborder": 0
},
{
"id": "US-CBM-B1",
"kind": "User Story",
"title": "Typed call resolution Go + TypeScript MVP ('resolution_method=typed')",
"priority": "Must Have",
"status": "PARTIAL",
"notes": "PARTIAL (LSP bridge + 'resolve_with_lsp' MCP + 'leankg lsp-resolve' CLI + 12-lan…",
"section": "3.11 CBM Structural Parity Stories (US-CBM) — merged from 'p…",
"prd_line": null,
"focus": "P1",
"focus_rank": 1,
"ve_suborder": 0
},
{
"id": "US-GF-04",
"kind": "User Story",
"title": "Edge provenance labels 'EXTRACTED' / 'INFERRED' / 'AMBIGUOUS' on all relationships (unify with 'resolution_met…",
"priority": "Must Have",
"status": "PARTIAL",
"notes": "PARTIAL — 'Relationship::confidence_label()' helper exists; most edges still 're…",
"section": "3.10 Graphify-Inspired Stories (US-GF-01 to US-GF-12)",
"prd_line": null,
"focus": "P1",
"focus_rank": 1,
"ve_suborder": 0
},
{
"id": "US-MG-02",
"kind": "User Story",
"title": "Single-repo projects expand fully on service double-click (no multi-level drilling)",
"priority": "Must Have",
"status": "PARTIAL",
"notes": "PARTIAL (expand-service called, FR-MG-03 still pending)",
"section": "3.8 Massive Graph Stories (US-MG-01 to US-MG-05)",
"prd_line": null,
"focus": "P1",
"focus_rank": 1,
"ve_suborder": 0
},
{
"id": "US-MP-02",
"kind": "User Story",
"title": "Layered Context Loading (L0-L3) — explicit token budgets per layer: L0 identity (~50 tok), L1 critical facts (…",
"priority": "Must Have",
"status": "PARTIAL",
"notes": "PARTIAL ('wake_up' returns L0+L1; 'load_layer' MCP tool registered but minimal)",
"section": "3.9 MemPalace-Inspired Stories (US-MP-01 to US-MP-08)",
"prd_line": null,
"focus": "P1",
"focus_rank": 1,
"ve_suborder": 0
},
{
"id": "US-MP-08",
"kind": "User Story",
"title": "Folder Structure as Graph Edges — directories as first-class 'directory' nodes with 'contains' edges (dir→dir,…",
"priority": "Must Have",
"status": "PARTIAL",
"notes": "PARTIAL — 'generate_physical_structure' creates 'directory' / 'File' / 'Project'…",
"section": "3.9 MemPalace-Inspired Stories (US-MP-01 to US-MP-08)",
"prd_line": null,
"focus": "P1",
"focus_rank": 1,
"ve_suborder": 0
},
{
"id": "US-CBM-A1",
"kind": "User Story",
"title": "Correct MCP 'project' routing (multi-mount ≠ wrong RocksDB project)",
"priority": "Must Have",
"status": "PENDING",
"notes": "PENDING (ops; freepeak≠be historically)",
"section": "3.11 CBM Structural Parity Stories (US-CBM) — merged from 'p…",
"prd_line": null,
"focus": "P1",
"focus_rank": 1,
"ve_suborder": 0
},
{
"id": "US-CBM-A4",
"kind": "User Story",
"title": "Moat smoke (ontology + routing) gates Phase 1 “done”",
"priority": "Must Have",
"status": "PENDING",
"notes": "PENDING",
"section": "3.11 CBM Structural Parity Stories (US-CBM) — merged from 'p…",
"prd_line": null,
"focus": "P1",
"focus_rank": 1,
"ve_suborder": 0
},
{
"id": "US-CBM-D3",
"kind": "User Story",
"title": "Re-evaluate dual-run after typed-resolve Phase",
"priority": "Must Have",
"status": "PENDING",
"notes": "PENDING",
"section": "3.11 CBM Structural Parity Stories (US-CBM) — merged from 'p…",
"prd_line": null,
"focus": "P1",
"focus_rank": 1,
"ve_suborder": 0
},
{
"id": "US-GF-03",
"kind": "User Story",
"title": "Natural-language scoped subgraph query ('query_graph \"what connects auth to DB?\"')",
"priority": "Must Have",
"status": "PENDING",
"notes": "PENDING (no NL→seed → bounded-expand pipeline yet)",
"section": "3.10 Graphify-Inspired Stories (US-GF-01 to US-GF-12)",
"prd_line": null,
"focus": "P1",
"focus_rank": 1,
"ve_suborder": 0
},
{
"id": "FR-B05",
"kind": "FR",
"title": "Benchmark harness vs CBM (50-edge samples)",
"priority": "Must Have",
"status": "NOT_DONE",
"notes": "[ ]",
"section": "5.10 CBM Structural Parity Requirements (merged)",
"prd_line": null,
"focus": "P1",
"focus_rank": 1,
"ve_suborder": 0
},
{
"id": "FR-LSP-A",
"kind": "FR",
"title": "LeanKG-native Hybrid LSP tier — an **in-process, no-spawn type resolver** for Go / TypeScript / Python / Rust …",
"priority": "Must Have",
"status": "NOT_DONE",
"notes": "[ ]",
"section": "5.13 LSP Adoption Track from CBM (moved from former 5.12; de…",
"prd_line": null,
"focus": "P1",
"focus_rank": 1,
"ve_suborder": 0
},
{
"id": "FR-LSP-B",
"kind": "FR",
"title": "Prefab 'lsp:' block — 'leankg init --with-lsp' writes a default block listing 'gopls' / 'typescript-language-s…",
"priority": "Must Have",
"status": "NOT_DONE",
"notes": "[ ]",
"section": "5.13 LSP Adoption Track from CBM (moved from former 5.12; de…",
"prd_line": null,
"focus": "P1",
"focus_rank": 1,
"ve_suborder": 0
},
{
"id": "FR-LSP-C",
"kind": "FR",
"title": "Wire 'resolve_with_lsp' results into the indexer — when 'typed_resolve=go,ts' (or 'all') is enabled, the LSP/n…",
"priority": "Must Have",
"status": "NOT_DONE",
"notes": "[ ]",
"section": "5.13 LSP Adoption Track from CBM (moved from former 5.12; de…",
"prd_line": null,
"focus": "P1",
"focus_rank": 1,
"ve_suborder": 0
},
{
"id": "FR-LSP-D",
"kind": "FR",
"title": "Cross-file type registry shared across files in the same project (mirror 'internal/cbm/lsp/type_registry.c' id…",
"priority": "Must Have",
"status": "NOT_DONE",
"notes": "[ ]",
"section": "5.13 LSP Adoption Track from CBM (moved from former 5.12; de…",
"prd_line": null,
"focus": "P1",
"focus_rank": 1,
"ve_suborder": 0
},
{
"id": "FR-MG-03",
"kind": "FR",
"title": "Single-repo projects treated as single service — root double-click loads everything",
"priority": "Must Have",
"status": "NOT_DONE",
"notes": "[ ]",
"section": "5.7 Massive Graph UI (DONE)",
"prd_line": null,
"focus": "P1",
"focus_rank": 1,
"ve_suborder": 0
},
{
"id": "REL-032",
"kind": "Release",
"title": "Swift / Vue / Svelte / SQL DDL — extractors present ('swift.rs' / 'sfc.rs' / 'sql.rs') but **not wired** into …",
"priority": "Must Have",
"status": "NOT_DONE",
"notes": "8.3 v3.6 Roll-up (Current: v0.17.9) - ST…",
"section": "8.3 v3.6 Roll-up (Current: v0.17.9) - STATUS",
"prd_line": null,
"focus": "P1",
"focus_rank": 1,
"ve_suborder": 0
},
{
"id": "REL-039",
"kind": "Release",
"title": "Default LSP server bootstrap (FR-LSP-B / FR-B09 fanout — gopls + tsserver + pyright + dart + sourcekit + kotli…",
"priority": "Must Have",
"status": "NOT_DONE",
"notes": "8.3 v3.6 Roll-up (Current: v0.17.9) - ST…",
"section": "8.3 v3.6 Roll-up (Current: v0.17.9) - STATUS",
"prd_line": null,
"focus": "P1",
"focus_rank": 1,
"ve_suborder": 0
},
{
"id": "REL-040",
"kind": "Release",
"title": "REST API auth wiring + mutation endpoints (mutation endpoints still partial)",
"priority": "Must Have",
"status": "NOT_DONE",
"notes": "8.3 v3.6 Roll-up (Current: v0.17.9) - ST…",
"section": "8.3 v3.6 Roll-up (Current: v0.17.9) - STATUS",
"prd_line": null,
"focus": "P1",
"focus_rank": 1,
"ve_suborder": 0
},
{
"id": "REL-041",
"kind": "Release",
"title": "3D graph UI Track E ('graph-ui/'; keep 2D 'ui/')",
"priority": "Must Have",
"status": "NOT_DONE",
"notes": "8.3 v3.6 Roll-up (Current: v0.17.9) - ST…",
"section": "8.3 v3.6 Roll-up (Current: v0.17.9) - STATUS",
"prd_line": null,
"focus": "P1",
"focus_rank": 1,
"ve_suborder": 0
},
{
"id": "REL-042",
"kind": "Release",
"title": "US-GF-03 NL scoped subgraph ('query_graph')",
"priority": "Must Have",
"status": "NOT_DONE",
"notes": "8.3 v3.6 Roll-up (Current: v0.17.9) - ST…",
"section": "8.3 v3.6 Roll-up (Current: v0.17.9) - STATUS",
"prd_line": null,
"focus": "P1",
"focus_rank": 1,
"ve_suborder": 0
},
{
"id": "REL-043",
"kind": "Release",
"title": "US-GF-04 provenance labels on all relationship types",
"priority": "Must Have",
"status": "NOT_DONE",
"notes": "8.3 v3.6 Roll-up (Current: v0.17.9) - ST…",
"section": "8.3 v3.6 Roll-up (Current: v0.17.9) - STATUS",
"prd_line": null,
"focus": "P1",
"focus_rank": 1,
"ve_suborder": 0
},
{
"id": "FR-B03",
"kind": "FR",
"title": "LSP bridge infrastructure for Go (could read 'gopls' textDocument/definition/references) — DONE infra ('534cd7…",
"priority": "Must Have",
"status": "DONE",
"notes": "[x]",
"section": "5.10 CBM Structural Parity Requirements (merged)",
"prd_line": null,
"focus": "P1",
"focus_rank": 1,
"ve_suborder": 0
},
{
"id": "FR-B04",
"kind": "FR",
"title": "LSP bridge infrastructure for TS/TSX — DONE infra; actual 'typed' edge production PENDING",
"priority": "Must Have",
"status": "DONE",
"notes": "[x]",
"section": "5.10 CBM Structural Parity Requirements (merged)",
"prd_line": null,
"focus": "P1",
"focus_rank": 1,
"ve_suborder": 0
},
{
"id": "REL-001",
"kind": "Release",
"title": "Code indexing works for 10 languages",
"priority": "Must Have",
"status": "DONE",
"notes": "8.1 MVP (v1.x) - COMPLETED",
"section": "8.1 MVP (v1.x) - COMPLETED",
"prd_line": null,
"focus": "P1",
"focus_rank": 1,
"ve_suborder": 0
},
{
"id": "REL-002",
"kind": "Release",
"title": "Dependency graph builds correctly with 10 relationship types",
"priority": "Must Have",
"status": "DONE",
"notes": "8.1 MVP (v1.x) - COMPLETED",
"section": "8.1 MVP (v1.x) - COMPLETED",
"prd_line": null,
"focus": "P1",
"focus_rank": 1,
"ve_suborder": 0
},
{
"id": "REL-003",
"kind": "Release",
"title": "CLI commands functional (28+ commands)",
"priority": "Must Have",
"status": "DONE",
"notes": "8.1 MVP (v1.x) - COMPLETED",
"section": "8.1 MVP (v1.x) - COMPLETED",
"prd_line": null,
"focus": "P1",
"focus_rank": 1,
"ve_suborder": 0
},
{
"id": "REL-004",
"kind": "Release",
"title": "MCP server exposes 65 tools (audited 2026-07-13 in 'src/mcp/tools.rs')",
"priority": "Must Have",
"status": "DONE",
"notes": "8.1 MVP (v1.x) - COMPLETED",
"section": "8.1 MVP (v1.x) - COMPLETED",
"prd_line": null,
"focus": "P1",
"focus_rank": 1,
"ve_suborder": 0
},
{
"id": "REL-005",
"kind": "Release",
"title": "Documentation generation produces valid markdown",
"priority": "Must Have",
"status": "DONE",
"notes": "8.1 MVP (v1.x) - COMPLETED",
"section": "8.1 MVP (v1.x) - COMPLETED",
"prd_line": null,
"focus": "P1",
"focus_rank": 1,
"ve_suborder": 0
},
{
"id": "REL-006",
"kind": "Release",
"title": "Business logic annotations can be created and queried",
"priority": "Must Have",
"status": "DONE",
"notes": "8.1 MVP (v1.x) - COMPLETED",
"section": "8.1 MVP (v1.x) - COMPLETED",
"prd_line": null,
"focus": "P1",
"focus_rank": 1,
"ve_suborder": 0
},
{
"id": "REL-007",
"kind": "Release",
"title": "Impact radius analysis works with confidence scores",
"priority": "Must Have",
"status": "DONE",
"notes": "8.1 MVP (v1.x) - COMPLETED",
"section": "8.1 MVP (v1.x) - COMPLETED",
"prd_line": null,
"focus": "P1",
"focus_rank": 1,
"ve_suborder": 0
},
{
"id": "REL-008",
"kind": "Release",
"title": "Auto-install MCP config works for 7 AI tools",
"priority": "Must Have",
"status": "DONE",
"notes": "8.1 MVP (v1.x) - COMPLETED",
"section": "8.1 MVP (v1.x) - COMPLETED",
"prd_line": null,
"focus": "P1",
"focus_rank": 1,
"ve_suborder": 0
},
{
"id": "REL-009",
"kind": "Release",
"title": "Web UI shows interactive graph visualization (20+ routes)",
"priority": "Must Have",
"status": "DONE",
"notes": "8.1 MVP (v1.x) - COMPLETED",
"section": "8.1 MVP (v1.x) - COMPLETED",
"prd_line": null,
"focus": "P1",
"focus_rank": 1,
"ve_suborder": 0
},
{
"id": "REL-010",
"kind": "Release",
"title": "Resource usage within targets",
"priority": "Must Have",
"status": "DONE",
"notes": "8.1 MVP (v1.x) - COMPLETED",
"section": "8.1 MVP (v1.x) - COMPLETED",
"prd_line": null,
"focus": "P1",
"focus_rank": 1,
"ve_suborder": 0
},
{
"id": "REL-011",
"kind": "Release",
"title": "Cross-file call edges resolved correctly",
"priority": "Must Have",
"status": "DONE",
"notes": "8.2 v2.0 Release - COMPLETED",
"section": "8.2 v2.0 Release - COMPLETED",
"prd_line": null,
"focus": "P1",
"focus_rank": 1,
"ve_suborder": 0
},
{
"id": "REL-012",
"kind": "Release",
"title": "Go implements edges only for embedded fields",
"priority": "Must Have",
"status": "DONE",
"notes": "8.2 v2.0 Release - COMPLETED",
"section": "8.2 v2.0 Release - COMPLETED",
"prd_line": null,
"focus": "P1",
"focus_rank": 1,
"ve_suborder": 0
},
{
"id": "REL-013",
"kind": "Release",
"title": "Datalog injection prevention via escape_datalog",
"priority": "Must Have",
"status": "DONE",
"notes": "8.2 v2.0 Release - COMPLETED",
"section": "8.2 v2.0 Release - COMPLETED",
"prd_line": null,
"focus": "P1",
"focus_rank": 1,
"ve_suborder": 0
},
{
"id": "REL-014",
"kind": "Release",
"title": "Push-down queries for search_code, find_function, query_file",
"priority": "Must Have",
"status": "DONE",
"notes": "8.2 v2.0 Release - COMPLETED",
"section": "8.2 v2.0 Release - COMPLETED",
"prd_line": null,
"focus": "P1",
"focus_rank": 1,
"ve_suborder": 0
},
{
"id": "REL-015",
"kind": "Release",
"title": "signature_only mode for get_context",
"priority": "Must Have",
"status": "DONE",
"notes": "8.2 v2.0 Release - COMPLETED",
"section": "8.2 v2.0 Release - COMPLETED",
"prd_line": null,
"focus": "P1",
"focus_rank": 1,
"ve_suborder": 0
},
{
"id": "REL-016",
"kind": "Release",
"title": "Bounded call graph with depth and max_results",
"priority": "Must Have",
"status": "DONE",
"notes": "8.2 v2.0 Release - COMPLETED",
"section": "8.2 v2.0 Release - COMPLETED",
"prd_line": null,
"focus": "P1",
"focus_rank": 1,
"ve_suborder": 0
},
{
"id": "REL-017",
"kind": "Release",
"title": "mcp_index_docs tool functional",
"priority": "Must Have",
"status": "DONE",
"notes": "8.2 v2.0 Release - COMPLETED",
"section": "8.2 v2.0 Release - COMPLETED",
"prd_line": null,
"focus": "P1",
"focus_rank": 1,
"ve_suborder": 0
},
{
"id": "REL-018",
"kind": "Release",
"title": "Doc reference extraction with code-block skipping",
"priority": "Must Have",
"status": "DONE",
"notes": "8.2 v2.0 Release - COMPLETED",
"section": "8.2 v2.0 Release - COMPLETED",
"prd_line": null,
"focus": "P1",
"focus_rank": 1,
"ve_suborder": 0
},
{
"id": "REL-019",
"kind": "Release",
"title": "RTK compression (8 modes, response compression)",
"priority": "Must Have",
"status": "DONE",
"notes": "8.3 v3.6 Roll-up (Current: v0.17.9) - ST…",
"section": "8.3 v3.6 Roll-up (Current: v0.17.9) - STATUS",
"prd_line": null,
"focus": "P1",
"focus_rank": 1,
"ve_suborder": 0
},
{
"id": "REL-020",
"kind": "Release",
"title": "Smart orchestrator with persistent cache (+ hot-path cache '836f0a3')",
"priority": "Must Have",
"status": "DONE",
"notes": "8.3 v3.6 Roll-up (Current: v0.17.9) - ST…",
"section": "8.3 v3.6 Roll-up (Current: v0.17.9) - STATUS",
"prd_line": null,
"focus": "P1",
"focus_rank": 1,
"ve_suborder": 0
},
{
"id": "REL-021",
"kind": "Release",
"title": "Git hooks (pre/post-commit, post-checkout, GitWatcher) + CI/CD auto-update GHA workflow",
"priority": "Must Have",
"status": "DONE",
"notes": "8.3 v3.6 Roll-up (Current: v0.17.9) - ST…",
"section": "8.3 v3.6 Roll-up (Current: v0.17.9) - STATUS",
"prd_line": null,
"focus": "P1",
"focus_rank": 1,
"ve_suborder": 0
},
{
"id": "REL-022",
"kind": "Release",
"title": "Context metrics tracking",
"priority": "Must Have",
"status": "DONE",
"notes": "8.3 v3.6 Roll-up (Current: v0.17.9) - ST…",
"section": "8.3 v3.6 Roll-up (Current: v0.17.9) - STATUS",
"prd_line": null,
"focus": "P1",
"focus_rank": 1,
"ve_suborder": 0
},
{
"id": "REL-023",
"kind": "Release",
"title": "REST API server with auth",
"priority": "Must Have",
"status": "DONE",
"notes": "8.3 v3.6 Roll-up (Current: v0.17.9) - ST…",
"section": "8.3 v3.6 Roll-up (Current: v0.17.9) - STATUS",
"prd_line": null,
"focus": "P1",
"focus_rank": 1,
"ve_suborder": 0
},
{
"id": "REL-024",
"kind": "Release",
"title": "Global multi-repo registry",
"priority": "Must Have",
"status": "DONE",
"notes": "8.3 v3.6 Roll-up (Current: v0.17.9) - ST…",
"section": "8.3 v3.6 Roll-up (Current: v0.17.9) - STATUS",
"prd_line": null,
"focus": "P1",
"focus_rank": 1,
"ve_suborder": 0
},
{
"id": "REL-025",
"kind": "Release",
"title": "Wiki generation",
"priority": "Must Have",
"status": "DONE",
"notes": "8.3 v3.6 Roll-up (Current: v0.17.9) - ST…",
"section": "8.3 v3.6 Roll-up (Current: v0.17.9) - STATUS",
"prd_line": null,
"focus": "P1",
"focus_rank": 1,
"ve_suborder": 0
},
{
"id": "REL-026",
"kind": "Release",
"title": "Graph export (HTML, SVG, GraphML, Neo4j, JSON snapshot)",
"priority": "Must Have",
"status": "DONE",
"notes": "8.3 v3.6 Roll-up (Current: v0.17.9) - ST…",
"section": "8.3 v3.6 Roll-up (Current: v0.17.9) - STATUS",
"prd_line": null,
"focus": "P1",
"focus_rank": 1,
"ve_suborder": 0
},
{
"id": "REL-027",
"kind": "Release",
"title": "Cluster detection and cluster-grouped search + per-cluster SKILL.md",
"priority": "Must Have",
"status": "DONE",
"notes": "8.3 v3.6 Roll-up (Current: v0.17.9) - ST…",
"section": "8.3 v3.6 Roll-up (Current: v0.17.9) - STATUS",
"prd_line": null,
"focus": "P1",
"focus_rank": 1,
"ve_suborder": 0
},
{
"id": "REL-028",
"kind": "Release",
"title": "Pre-commit change detection with severity + PR impact dashboard + community-conflict triage",
"priority": "Must Have",
"status": "DONE",
"notes": "8.3 v3.6 Roll-up (Current: v0.17.9) - ST…",
"section": "8.3 v3.6 Roll-up (Current: v0.17.9) - STATUS",
"prd_line": null,
"focus": "P1",
"focus_rank": 1,
"ve_suborder": 0
},
{
"id": "REL-029",
"kind": "Release",
"title": "Benchmark runner (vs OpenCode, Gemini, Kilo)",
"priority": "Must Have",
"status": "DONE",
"notes": "8.3 v3.6 Roll-up (Current: v0.17.9) - ST…",
"section": "8.3 v3.6 Roll-up (Current: v0.17.9) - STATUS",
"prd_line": null,
"focus": "P1",
"focus_rank": 1,
"ve_suborder": 0
},
{
"id": "REL-030",
"kind": "Release",
"title": "npm-based installation (US-14 — 'df0fec2')",
"priority": "Must Have",
"status": "DONE",
"notes": "8.3 v3.6 Roll-up (Current: v0.17.9) - ST…",
"section": "8.3 v3.6 Roll-up (Current: v0.17.9) - STATUS",
"prd_line": null,
"focus": "P1",
"focus_rank": 1,
"ve_suborder": 0
},
{
"id": "REL-031",
"kind": "Release",
"title": "Dart + XML entity extraction (indexed)",
"priority": "Must Have",
"status": "DONE",
"notes": "8.3 v3.6 Roll-up (Current: v0.17.9) - ST…",
"section": "8.3 v3.6 Roll-up (Current: v0.17.9) - STATUS",
"prd_line": null,
"focus": "P1",
"focus_rank": 1,
"ve_suborder": 0
},
{
"id": "REL-033",
"kind": "Release",
"title": "LSP bridge infrastructure + 'resolve_with_lsp' MCP + 'leankg lsp-resolve' CLI ('534cd7f', '64b0fa6')",
"priority": "Must Have",
"status": "DONE",
"notes": "8.3 v3.6 Roll-up (Current: v0.17.9) - ST…",
"section": "8.3 v3.6 Roll-up (Current: v0.17.9) - STATUS",
"prd_line": null,
"focus": "P1",
"focus_rank": 1,
"ve_suborder": 0
},
{
"id": "REL-034",
"kind": "Release",
"title": "Temporal knowledge graph + work-memory reflect loop + consistency checker + tunnels + agent personas",
"priority": "Must Have",
"status": "DONE",
"notes": "8.3 v3.6 Roll-up (Current: v0.17.9) - ST…",
"section": "8.3 v3.6 Roll-up (Current: v0.17.9) - STATUS",
"prd_line": null,
"focus": "P1",
"focus_rank": 1,
"ve_suborder": 0
},
{
"id": "REL-035",
"kind": "Release",
"title": "Rationale extraction ('WHY:' / 'NOTE:' / 'HACK:' / 'FIXME:' / 'XXX:') + ADR citations parsed",
"priority": "Must Have",
"status": "DONE",
"notes": "8.3 v3.6 Roll-up (Current: v0.17.9) - ST…",
"section": "8.3 v3.6 Roll-up (Current: v0.17.9) - STATUS",
"prd_line": null,
"focus": "P1",
"focus_rank": 1,
"ve_suborder": 0
},
{
"id": "REL-036",
"kind": "Release",
"title": "Clone detection ('find_clones' same-file Jaccard) + cross-repo similar edges",
"priority": "Must Have",
"status": "DONE",
"notes": "8.3 v3.6 Roll-up (Current: v0.17.9) - ST…",
"section": "8.3 v3.6 Roll-up (Current: v0.17.9) - STATUS",
"prd_line": null,
"focus": "P1",
"focus_rank": 1,
"ve_suborder": 0
},
{
"id": "REL-037",
"kind": "Release",
"title": "Event-channel edges 'emits' / 'listens_on'",
"priority": "Must Have",
"status": "DONE",
"notes": "8.3 v3.6 Roll-up (Current: v0.17.9) - ST…",
"section": "8.3 v3.6 Roll-up (Current: v0.17.9) - STATUS",
"prd_line": null,
"focus": "P1",
"focus_rank": 1,
"ve_suborder": 0
},
{
"id": "REL-038",
"kind": "Release",
"title": "CozoDB HNSW semantic track (FR-HNSW-A..F + FR-BENCH-HNSW) on 'integration/prd-pending'",
"priority": "Must Have",
"status": "DONE",
"notes": "8.3 v3.6 Roll-up (Current: v0.17.9) - ST…",
"section": "8.3 v3.6 Roll-up (Current: v0.17.9) - STATUS",
"prd_line": null,
"focus": "P1",
"focus_rank": 1,
"ve_suborder": 0
},
{
"id": "US-01",
"kind": "User Story",
"title": "Auto-index codebase so AI tools have accurate context",
"priority": "Must Have",
"status": "DONE",
"notes": "DONE",
"section": "3.1 Core MVP Stories (US-01 to US-18)",
"prd_line": null,
"focus": "P1",
"focus_rank": 1,
"ve_suborder": 0
},
{
"id": "US-02",
"kind": "User Story",
"title": "Generate and update documentation automatically",
"priority": "Must Have",
"status": "DONE",
"notes": "DONE",
"section": "3.1 Core MVP Stories (US-01 to US-18)",
"prd_line": null,
"focus": "P1",
"focus_rank": 1,
"ve_suborder": 0
},
{
"id": "US-03",
"kind": "User Story",
"title": "Map business logic to code for AI understanding",
"priority": "Must Have",
"status": "DONE",
"notes": "DONE",
"section": "3.1 Core MVP Stories (US-01 to US-18)",
"prd_line": null,
"focus": "P1",
"focus_rank": 1,
"ve_suborder": 0
},
{
"id": "US-04",
"kind": "User Story",
"title": "Expose MCP server for AI tool integration",
"priority": "Must Have",
"status": "DONE",
"notes": "DONE",
"section": "3.1 Core MVP Stories (US-01 to US-18)",
"prd_line": null,
"focus": "P1",
"focus_rank": 1,
"ve_suborder": 0
},
{
"id": "US-05",
"kind": "User Story",
"title": "Full CLI interface with query and MCP server commands",
"priority": "Must Have",
"status": "DONE",
"notes": "DONE",
"section": "3.1 Core MVP Stories (US-01 to US-18)",
"prd_line": null,
"focus": "P1",
"focus_rank": 1,
"ve_suborder": 0
},
{
"id": "US-06",
"kind": "User Story",
"title": "Minimal resource usage",
"priority": "Must Have",
"status": "DONE",
"notes": "DONE",
"section": "3.1 Core MVP Stories (US-01 to US-18)",
"prd_line": null,
"focus": "P1",
"focus_rank": 1,
"ve_suborder": 0
},
{
"id": "US-12",
"kind": "User Story",
"title": "Fix impact radius calculation for qualified names",
"priority": "Must Have",
"status": "DONE",
"notes": "DONE",
"section": "3.1 Core MVP Stories (US-01 to US-18)",
"prd_line": null,
"focus": "P1",
"focus_rank": 1,
"ve_suborder": 0
},
{
"id": "US-14",
"kind": "User Story",
"title": "npm-based installation without Rust",
"priority": "Must Have",
"status": "DONE",
"notes": "DONE ('df0fec2')",
"section": "3.1 Core MVP Stories (US-01 to US-18)",
"prd_line": null,
"focus": "P1",
"focus_rank": 1,
"ve_suborder": 0
},
{
"id": "US-19",
"kind": "User Story",
"title": "Cross-file call edge resolution",
"priority": "Must Have",
"status": "DONE",
"notes": "DONE",
"section": "3.2 v2.0 Enhancement Stories (US-19 to US-27)",
"prd_line": null,
"focus": "P1",
"focus_rank": 1,
"ve_suborder": 0
},
{
"id": "US-20",
"kind": "User Story",
"title": "Go 'implements' edge extraction fix",
"priority": "Must Have",
"status": "DONE",
"notes": "DONE",
"section": "3.2 v2.0 Enhancement Stories (US-19 to US-27)",
"prd_line": null,
"focus": "P1",
"focus_rank": 1,
"ve_suborder": 0
},
{
"id": "US-21",
"kind": "User Story",
"title": "Push-down Datalog queries + injection safety",
"priority": "Must Have",
"status": "DONE",
"notes": "DONE",
"section": "3.2 v2.0 Enhancement Stories (US-19 to US-27)",
"prd_line": null,
"focus": "P1",
"focus_rank": 1,
"ve_suborder": 0
},
{
"id": "US-22",
"kind": "User Story",
"title": "Token-efficient 'signature_only' context mode",
"priority": "Must Have",
"status": "DONE",
"notes": "DONE",
"section": "3.2 v2.0 Enhancement Stories (US-19 to US-27)",
"prd_line": null,
"focus": "P1",
"focus_rank": 1,
"ve_suborder": 0
},
{
"id": "US-24",
"kind": "User Story",
"title": "Fix 'get_doc_for_file' query direction bug",
"priority": "Must Have",
"status": "DONE",
"notes": "DONE",
"section": "3.2 v2.0 Enhancement Stories (US-19 to US-27)",
"prd_line": null,
"focus": "P1",
"focus_rank": 1,
"ve_suborder": 0
},
{
"id": "US-25",
"kind": "User Story",
"title": "Add 'mcp_index_docs' MCP tool",
"priority": "Must Have",
"status": "DONE",
"notes": "DONE",
"section": "3.2 v2.0 Enhancement Stories (US-19 to US-27)",
"prd_line": null,
"focus": "P1",
"focus_rank": 1,
"ve_suborder": 0
},
{
"id": "US-AB-01",
"kind": "User Story",
"title": "OpenCode token parsing for benchmark comparison",
"priority": "Must Have",
"status": "DONE",
"notes": "DONE",
"section": "3.4 AB Testing Stories (US-AB-01 to US-AB-05)",
"prd_line": null,
"focus": "P1",
"focus_rank": 1,
"ve_suborder": 0
},
{
"id": "US-AB-02",
"kind": "User Story",
"title": "Context correctness validation (precision/recall/F1)",
"priority": "Must Have",
"status": "DONE",
"notes": "DONE",
"section": "3.4 AB Testing Stories (US-AB-01 to US-AB-05)",
"prd_line": null,
"focus": "P1",
"focus_rank": 1,
"ve_suborder": 0
},
{
"id": "US-AB-03",
"kind": "User Story",
"title": "CozoDB data store correctness tests",
"priority": "Must Have",
"status": "DONE",
"notes": "DONE",
"section": "3.4 AB Testing Stories (US-AB-01 to US-AB-05)",
"prd_line": null,
"focus": "P1",
"focus_rank": 1,
"ve_suborder": 0
},
{
"id": "US-CBM-A3",
"kind": "User Story",
"title": "Default call-edge resolution on index for Go/TS",
"priority": "Must Have",
"status": "DONE",
"notes": "DONE ('src/indexer/call_graph.rs')",
"section": "3.11 CBM Structural Parity Stories (US-CBM) — merged from 'p…",
"prd_line": null,
"focus": "P1",
"focus_rank": 1,
"ve_suborder": 0
},
{
"id": "US-CBM-B10",
"kind": "User Story",
"title": "Feature flag 'typed_resolve=off\\/go,ts\\/all'",
"priority": "Must Have",
"status": "DONE",
"notes": "DONE ('8971dc5': flag in 'IndexerConfig'; aliases 'ts'/'js'/'py' accepted; defau…",
"section": "3.11 CBM Structural Parity Stories (US-CBM) — merged from 'p…",
"prd_line": null,
"focus": "P1",
"focus_rank": 1,
"ve_suborder": 0
},
{
"id": "US-CBM-B11",
"kind": "User Story",
"title": "Architecture/schema honor token budgets / truncation",
"priority": "Must Have",
"status": "DONE",
"notes": "DONE (FR-B22 — per-section max_items truncation + truncated_sections metadata)",
"section": "3.11 CBM Structural Parity Stories (US-CBM) — merged from 'p…",
"prd_line": null,
"focus": "P1",
"focus_rank": 1,
"ve_suborder": 0
},
{
"id": "US-CBM-B2",
"kind": "User Story",
"title": "HTTP Route nodes + 'http_calls' edges (≥2 Go + ≥2 TS frameworks)",
"priority": "Must Have",
"status": "DONE",
"notes": "DONE ('src/indexer/route_extractor.rs': chi/gin/echo + express/fastify)",
"section": "3.11 CBM Structural Parity Stories (US-CBM) — merged from 'p…",
"prd_line": null,
"focus": "P1",
"focus_rank": 1,
"ve_suborder": 0
},
{
"id": "US-CBM-B3",
"kind": "User Story",
"title": "'get_architecture' single-call overview",
"priority": "Must Have",
"status": "DONE",
"notes": "DONE",
"section": "3.11 CBM Structural Parity Stories (US-CBM) — merged from 'p…",
"prd_line": null,
"focus": "P1",
"focus_rank": 1,
"ve_suborder": 0
},
{
"id": "US-CBM-B4",
"kind": "User Story",
"title": "'get_graph_schema' label/edge counts",
"priority": "Must Have",
"status": "DONE",
"notes": "DONE",
"section": "3.11 CBM Structural Parity Stories (US-CBM) — merged from 'p…",
"prd_line": null,
"focus": "P1",
"focus_rank": 1,
"ve_suborder": 0
},
{
"id": "US-CBM-B9",
"kind": "User Story",
"title": "Call 'resolution_method' + numeric 'confidence' on edges",
"priority": "Must Have",
"status": "DONE",
"notes": "DONE ('name'/'name_file_hint'/'unresolved'; 'typed' reserved)",
"section": "3.11 CBM Structural Parity Stories (US-CBM) — merged from 'p…",
"prd_line": null,
"focus": "P1",
"focus_rank": 1,
"ve_suborder": 0
},
{
"id": "US-CBM-C1",
"kind": "User Story",
"title": "Docker image: embeddings / semantic tools OOTB (Cozo HNSW)",
"priority": "Must Have",
"status": "DONE",
"notes": "DONE (FR-HNSW-C / FR-C01 — Dockerfiles '--features embeddings'; 'entrypoint.sh' …",
"section": "3.11 CBM Structural Parity Stories (US-CBM) — merged from 'p…",
"prd_line": null,
"focus": "P1",
"focus_rank": 1,
"ve_suborder": 0
},
{
"id": "US-CBM-D1",
"kind": "User Story",
"title": "Skills remain LeanKG-first; optional CBM escape hatch only",
"priority": "Must Have",
"status": "DONE",
"notes": "DONE (policy in AGENTS/skills)",
"section": "3.11 CBM Structural Parity Stories (US-CBM) — merged from 'p…",
"prd_line": null,
"focus": "P1",
"focus_rank": 1,
"ve_suborder": 0
},
{
"id": "US-CBM-D2",
"kind": "User Story",
"title": "Do not auto-install CBM into default '.mcp.json'",
"priority": "Must Have",
"status": "DONE",
"notes": "DONE",
"section": "3.11 CBM Structural Parity Stories (US-CBM) — merged from 'p…",
"prd_line": null,
"focus": "P1",
"focus_rank": 1,
"ve_suborder": 0
},
{
"id": "US-GF-01",
"kind": "User Story",
"title": "Shortest path between two symbols/concepts ('leankg path A B' + MCP 'shortest_path')",
"priority": "Must Have",
"status": "DONE",
"notes": "DONE ('shortest_path' MCP + 'leankg path' CLI wired)",
"section": "3.10 Graphify-Inspired Stories (US-GF-01 to US-GF-12)",
"prd_line": null,
"focus": "P1",
"focus_rank": 1,
"ve_suborder": 0
},
{
"id": "US-GF-02",
"kind": "User Story",
"title": "Explain a node: source location, community/cluster, degree, labeled neighbors",
"priority": "Must Have",
"status": "DONE",
"notes": "DONE ('explain_node' MCP + 'leankg explain' CLI wired)",
"section": "3.10 Graphify-Inspired Stories (US-GF-01 to US-GF-12)",
"prd_line": null,
"focus": "P1",
"focus_rank": 1,
"ve_suborder": 0
},
{
"id": "US-GF-05",
"kind": "User Story",
"title": "God-node / hub ranking exposed via CLI + MCP (top-degree concepts; exclude utility super-hubs)",
"priority": "Must Have",
"status": "DONE",
"notes": "DONE ('get_god_nodes' MCP + 'leankg gods' CLI wired)",
"section": "3.10 Graphify-Inspired Stories (US-GF-01 to US-GF-12)",
"prd_line": null,
"focus": "P1",
"focus_rank": 1,
"ve_suborder": 0
},
{
"id": "US-GN-01",
"kind": "User Story",
"title": "Impact analysis with confidence scores and severity classifications",
"priority": "Must Have",
"status": "DONE",
"notes": "DONE",
"section": "3.3 GitNexus Enhancement Stories (US-GN-01 to US-GN-09)",
"prd_line": null,
"focus": "P1",
"focus_rank": 1,
"ve_suborder": 0
},
{
"id": "US-GN-02",
"kind": "User Story",
"title": "Pre-commit 'detect_changes' tool",
"priority": "Must Have",
"status": "DONE",
"notes": "DONE",
"section": "3.3 GitNexus Enhancement Stories (US-GN-01 to US-GN-09)",
"prd_line": null,
"focus": "P1",
"focus_rank": 1,
"ve_suborder": 0
},
{
"id": "US-INF-01",
"kind": "User Story",
"title": "Git pre-commit hook with critical file blocking",
"priority": "Must Have",
"status": "DONE",
"notes": "DONE",
"section": "3.6 Infrastructure Stories (US-INF-01 to US-INF-10)",
"prd_line": null,
"focus": "P1",
"focus_rank": 1,
"ve_suborder": 0
},
{
"id": "US-MG-01",
"kind": "User Story",
"title": "Double-click Service node loads ALL elements and edges in one shot",
"priority": "Must Have",
"status": "DONE",
"notes": "DONE",
"section": "3.8 Massive Graph Stories (US-MG-01 to US-MG-05)",
"prd_line": null,
"focus": "P1",
"focus_rank": 1,
"ve_suborder": 0
},
{
"id": "US-MG-03",
"kind": "User Story",
"title": "Filter UI always shows ALL node type toggles regardless of loaded data",
"priority": "Must Have",
"status": "DONE",
"notes": "DONE",
"section": "3.8 Massive Graph Stories (US-MG-01 to US-MG-05)",
"prd_line": null,
"focus": "P1",
"focus_rank": 1,
"ve_suborder": 0
},
{
"id": "US-MG-04",
"kind": "User Story",
"title": "Default visible filters: Service, Folder, File, Function ON; rest OFF",
"priority": "Must Have",
"status": "DONE",
"notes": "DONE",
"section": "3.8 Massive Graph Stories (US-MG-01 to US-MG-05)",
"prd_line": null,
"focus": "P1",
"focus_rank": 1,
"ve_suborder": 0
},
{
"id": "US-MG-05",
"kind": "User Story",
"title": "Expand-service API optimized: targeted DB query instead of full scan",
"priority": "Must Have",
"status": "DONE",
"notes": "DONE",
"section": "3.8 Massive Graph Stories (US-MG-01 to US-MG-05)",
"prd_line": null,
"focus": "P1",
"focus_rank": 1,
"ve_suborder": 0
},
{
"id": "US-MP-01",
"kind": "User Story",
"title": "Temporal Knowledge Graph — relationships have valid_from/valid_to; historical queries (\"what dependencies exis…",
"priority": "Must Have",
"status": "DONE",
"notes": "DONE ('bc9cc53': 'valid_from' / 'valid_to' fields; foundation for 'temporal_quer…",
"section": "3.9 MemPalace-Inspired Stories (US-MP-01 to US-MP-08)",
"prd_line": null,
"focus": "P1",
"focus_rank": 1,
"ve_suborder": 0
},
{
"id": "US-RTK-01",
"kind": "User Story",
"title": "LeanKGCompressor for internal command compression",
"priority": "Must Have",
"status": "DONE",
"notes": "DONE",
"section": "3.5 RTK Compression Stories (US-RTK-01 to US-RTK-15)",
"prd_line": null,
"focus": "P1",
"focus_rank": 1,
"ve_suborder": 0
},
{
"id": "US-RTK-02",
"kind": "User Story",
"title": "CargoTestCompressor with failures-only mode (85%+ savings)",
"priority": "Must Have",
"status": "DONE",
"notes": "DONE",
"section": "3.5 RTK Compression Stories (US-RTK-01 to US-RTK-15)",
"prd_line": null,
"focus": "P1",
"focus_rank": 1,
"ve_suborder": 0
},
{
"id": "US-RTK-03",
"kind": "User Story",
"title": "GitDiffCompressor with stats extraction (70%+ savings)",
"priority": "Must Have",
"status": "DONE",
"notes": "DONE",
"section": "3.5 RTK Compression Stories (US-RTK-01 to US-RTK-15)",
"prd_line": null,
"focus": "P1",
"focus_rank": 1,
"ve_suborder": 0
},
{
"id": "US-RTK-05",
"kind": "User Story",
"title": "8 read modes: adaptive, full, map, signatures, diff, aggressive, entropy, lines",
"priority": "Must Have",
"status": "DONE",
"notes": "DONE",
"section": "3.5 RTK Compression Stories (US-RTK-01 to US-RTK-15)",
"prd_line": null,
"focus": "P1",
"focus_rank": 1,
"ve_suborder": 0
},
{
"id": "US-RTK-07",
"kind": "User Story",
"title": "ResponseCompressor for MCP JSON responses",
"priority": "Must Have",
"status": "DONE",
"notes": "DONE",
"section": "3.5 RTK Compression Stories (US-RTK-01 to US-RTK-15)",
"prd_line": null,
"focus": "P1",
"focus_rank": 1,
"ve_suborder": 0
},
{
"id": "US-RTK-08",
"kind": "User Story",
"title": "Compress impact_radius, call_graph, search_code responses",
"priority": "Must Have",
"status": "DONE",
"notes": "DONE",
"section": "3.5 RTK Compression Stories (US-RTK-01 to US-RTK-15)",
"prd_line": null,
"focus": "P1",
"focus_rank": 1,
"ve_suborder": 0
},
{
"id": "US-TOON-01",
"kind": "User Story",
"title": "MCP tool responses use TOON format for ~40% token reduction vs JSON",
"priority": "Must Have",
"status": "DONE",
"notes": "DONE",
"section": "3.9 TOON Format Stories (US-TOON-01)",
"prd_line": null,
"focus": "P1",
"focus_rank": 1,
"ve_suborder": 0
},
{
"id": "US-V2-01",
"kind": "User Story",
"title": "Environment namespacing ('local' / 'staging' / 'production' / 'upcoming') on nodes/edges; env-scoped queries",
"priority": "Must Have",
"status": "DONE",
"notes": "DONE ('env' on models; MCP 'env' args)",
"section": "3.12 Team Knowledge Infrastructure (US-V2) — merged from 'pr…",
"prd_line": null,
"focus": "P1",
"focus_rank": 1,
"ve_suborder": 0
},
{
"id": "US-V2-02",
"kind": "User Story",
"title": "Incident knowledge layer — contribute/query incidents linked to services",
"priority": "Must Have",
"status": "DONE",
"notes": "DONE ('query_incidents', 'leankg incident add')",
"section": "3.12 Team Knowledge Infrastructure (US-V2) — merged from 'pr…",
"prd_line": null,
"focus": "P1",
"focus_rank": 1,
"ve_suborder": 0
},
{
"id": "US-V2-03",
"kind": "User Story",
"title": "Enhanced service context (deps, incidents, env) in one MCP call",
"priority": "Must Have",
"status": "DONE",
"notes": "DONE ('get_service_context')",
"section": "3.12 Team Knowledge Infrastructure (US-V2) — merged from 'pr…",
"prd_line": null,
"focus": "P1",
"focus_rank": 1,
"ve_suborder": 0
},
{
"id": "US-V2-04",
"kind": "User Story",
"title": "Surface environment conflicts before promote/push",
"priority": "Must Have",
"status": "DONE",
"notes": "DONE ('find_env_conflicts')",
"section": "3.12 Team Knowledge Infrastructure (US-V2) — merged from 'pr…",
"prd_line": null,
"focus": "P1",
"focus_rank": 1,
"ve_suborder": 0
},
{
"id": "US-V2-05",
"kind": "User Story",
"title": "Team/knowledge contribution via MCP ('add_knowledge', annotations)",
"priority": "Must Have",
"status": "DONE",
"notes": "DONE",
"section": "3.12 Team Knowledge Infrastructure (US-V2) — merged from 'pr…",
"prd_line": null,
"focus": "P1",
"focus_rank": 1,
"ve_suborder": 0
},
{
"id": "US-V2-07",
"kind": "User Story",
"title": "Token budget enforcement on MCP responses",
"priority": "Must Have",
"status": "DONE",
"notes": "DONE (TOON + token_budget + RTK)",
"section": "3.12 Team Knowledge Infrastructure (US-V2) — merged from 'pr…",
"prd_line": null,
"focus": "P1",
"focus_rank": 1,
"ve_suborder": 0
},
{
"id": "US-V2-10",
"kind": "User Story",
"title": "Multi-repo / shared RocksDB HTTP backend for teams",
"priority": "Must Have",
"status": "DONE",
"notes": "DONE (registry + mcp-http + RocksDB compose)",
"section": "3.12 Team Knowledge Infrastructure (US-V2) — merged from 'pr…",
"prd_line": null,
"focus": "P1",
"focus_rank": 1,
"ve_suborder": 0
},
{
"id": "US-GF-06",
"kind": "User Story",
"title": "Generate 'GRAPH_REPORT.md': god nodes, surprising cross-module links, suggested questions, confidence summary",
"priority": "Should Have",
"status": "PARTIAL",
"notes": "PARTIAL ('get_graph_report' MCP + 'leankg report' CLI can write '.leankg/GRAPH_R…",
"section": "3.10 Graphify-Inspired Stories (US-GF-01 to US-GF-12)",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "US-LANG-02",
"kind": "User Story",
"title": "Swift parser (tree-sitter-swift) with regex entity extraction",
"priority": "Should Have",
"status": "PARTIAL",
"notes": "PARTIAL — 'src/indexer/swift.rs' + unit tests ('7027d6b'); **not wired** into in…",
"section": "3.7 Additional Language Stories (US-LANG-01 to US-LANG-03)",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "US-CBM-B12",
"kind": "User Story",
"title": "≥10 'run_raw_query' recipes in skills/docs",
"priority": "Should Have",
"status": "PENDING",
"notes": "PENDING",
"section": "3.11 CBM Structural Parity Stories (US-CBM) — merged from 'p…",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "US-CBM-C3",
"kind": "User Story",
"title": "Selective language expansion with quality tiers",
"priority": "Should Have",
"status": "PENDING",
"notes": "PENDING",
"section": "3.11 CBM Structural Parity Stories (US-CBM) — merged from 'p…",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "US-CBM-E1",
"kind": "User Story",
"title": "New 3D graph UI ('graph-ui/') with WebGL galaxy + Bloom (keep existing 2D 'ui/')",
"priority": "Should Have",
"status": "PENDING",
"notes": "PENDING ('graph-ui/' absent; 'ui/' is 2D)",
"section": "3.11 CBM Structural Parity Stories (US-CBM) — merged from 'p…",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "US-CBM-E2",
"kind": "User Story",
"title": "Server-computed 3D layout in Rust + 'get_graph_layout' / '/api/graph'",
"priority": "Should Have",
"status": "PENDING",
"notes": "PENDING",
"section": "3.11 CBM Structural Parity Stories (US-CBM) — merged from 'p…",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "US-CBM-E3",
"kind": "User Story",
"title": "Adaptive rendering (InstancedMesh <75k; point sprites above)",
"priority": "Should Have",
"status": "PENDING",
"notes": "PENDING",
"section": "3.11 CBM Structural Parity Stories (US-CBM) — merged from 'p…",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "US-CBM-E4",
"kind": "User Story",
"title": "Node detail + edge-type filter panels",
"priority": "Should Have",
"status": "PENDING",
"notes": "PENDING",
"section": "3.11 CBM Structural Parity Stories (US-CBM) — merged from 'p…",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "US-MP-03",
"kind": "User Story",
"title": "Conversation/Decision Mining — import Claude/ChatGPT/Slack transcripts; auto-extract decisions, preferences, m…",
"priority": "Should Have",
"status": "PENDING",
"notes": "PENDING (no 'mine-conversations' CLI yet)",
"section": "3.9 MemPalace-Inspired Stories (US-MP-01 to US-MP-08)",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-A01",
"kind": "FR",
"title": "MCP 'project' resolves to correct RocksDB project for multi-mount setups",
"priority": "Should Have",
"status": "NOT_DONE",
"notes": "[ ]",
"section": "5.10 CBM Structural Parity Requirements (merged)",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-A02",
"kind": "FR",
"title": "Automate/document ontology sync for concepts + workflows YAML",
"priority": "Should Have",
"status": "NOT_DONE",
"notes": "[ ]",
"section": "5.10 CBM Structural Parity Requirements (merged)",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-A03",
"kind": "FR",
"title": "Verify ontology/knowledge tools after sync",
"priority": "Should Have",
"status": "NOT_DONE",
"notes": "[ ]",
"section": "5.10 CBM Structural Parity Requirements (merged)",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-A04",
"kind": "FR",
"title": "Index per 'leankg.yaml'; expose counts",
"priority": "Should Have",
"status": "NOT_DONE",
"notes": "[ ]",
"section": "5.10 CBM Structural Parity Requirements (merged)",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-A06",
"kind": "FR",
"title": "Smoke: ontology + routing must pass before Phase 1 “fully done”",
"priority": "Should Have",
"status": "NOT_DONE",
"notes": "[ ]",
"section": "5.10 CBM Structural Parity Requirements (merged)",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-B06",
"kind": "FR",
"title": "Python + Rust typed resolve (Could) — infra works; LSP server default wiring PENDING",
"priority": "Should Have",
"status": "NOT_DONE",
"notes": "[ ]",
"section": "5.10 CBM Structural Parity Requirements (merged)",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-B13",
"kind": "FR",
"title": "Extend 'service_calls' beyond k8s DNS regex (Should)",
"priority": "Should Have",
"status": "NOT_DONE",
"notes": "[ ]",
"section": "5.10 CBM Structural Parity Requirements (merged)",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-B16",
"kind": "FR",
"title": "Runtime trace ingestion (Could)",
"priority": "Should Have",
"status": "NOT_DONE",
"notes": "[ ]",
"section": "5.10 CBM Structural Parity Requirements (merged)",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-B40..B44",
"kind": "FR",
"title": "IaC Resource/Module, ADR, snapshot (subset done), DATA_FLOWS (Could)",
"priority": "Should Have",
"status": "NOT_DONE",
"notes": "[ ]",
"section": "5.10 CBM Structural Parity Requirements (merged)",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-B50",
"kind": "FR",
"title": "≥ 10 'run_raw_query' recipes (Should)",
"priority": "Should Have",
"status": "NOT_DONE",
"notes": "[ ]",
"section": "5.10 CBM Structural Parity Requirements (merged)",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-B51",
"kind": "FR",
"title": "Optional openCypher→Cozo subset (Could)",
"priority": "Should Have",
"status": "NOT_DONE",
"notes": "[ ]",
"section": "5.10 CBM Structural Parity Requirements (merged)",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-C02",
"kind": "FR",
"title": "Document smaller-model / batch-size options (Should)",
"priority": "Should Have",
"status": "NOT_DONE",
"notes": "[ ]",
"section": "5.10 CBM Structural Parity Requirements (merged)",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-C04",
"kind": "FR",
"title": "Profile impact-radius latency (Should)",
"priority": "Should Have",
"status": "NOT_DONE",
"notes": "[ ]",
"section": "5.10 CBM Structural Parity Requirements (merged)",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-C05",
"kind": "FR",
"title": "Incremental languages with tier notes (Should)",
"priority": "Should Have",
"status": "NOT_DONE",
"notes": "[ ]",
"section": "5.10 CBM Structural Parity Requirements (merged)",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-C06",
"kind": "FR",
"title": "Per-language quality tier template; Go/TS first (Must Go/TS)",
"priority": "Should Have",
"status": "NOT_DONE",
"notes": "[ ]",
"section": "5.10 CBM Structural Parity Requirements (merged)",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-C07",
"kind": "FR",
"title": "Large-repo benchmark ≥ 1M nodes or documented ceiling (Should)",
"priority": "Should Have",
"status": "NOT_DONE",
"notes": "[ ]",
"section": "5.10 CBM Structural Parity Requirements (merged)",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-C08..C11",
"kind": "FR",
"title": "Windows, pkg channel, SLSA, install targets (Could)",
"priority": "Should Have",
"status": "NOT_DONE",
"notes": "[ ]",
"section": "5.10 CBM Structural Parity Requirements (merged)",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-D04",
"kind": "FR",
"title": "Re-evaluate dual-run after Phase 3 typed resolve",
"priority": "Should Have",
"status": "NOT_DONE",
"notes": "[ ]",
"section": "5.10 CBM Structural Parity Requirements (merged)",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-E01..E05",
"kind": "FR",
"title": "Vite/React/R3F/shadcn stack in 'graph-ui/'",
"priority": "Should Have",
"status": "NOT_DONE",
"notes": "[ ]",
"section": "5.10 CBM Structural Parity Requirements (merged)",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-E10..E14",
"kind": "FR",
"title": "Rust 3D layout + 'get_graph_layout' / '/api/graph'",
"priority": "Should Have",
"status": "NOT_DONE",
"notes": "[ ]",
"section": "5.10 CBM Structural Parity Requirements (merged)",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-E20..E28",
"kind": "FR",
"title": "R3F scene, Bloom, adaptive LOD, edge colors",
"priority": "Should Have",
"status": "NOT_DONE",
"notes": "[ ]",
"section": "5.10 CBM Structural Parity Requirements (merged)",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-E30..E36",
"kind": "FR",
"title": "Detail/filter panels, settings, multi-repo galaxies",
"priority": "Should Have",
"status": "NOT_DONE",
"notes": "[ ]",
"section": "5.10 CBM Structural Parity Requirements (merged)",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-E40..E43",
"kind": "FR",
"title": "HTTP integration; embed or static serve; keep 2D 'ui/' untouched",
"priority": "Should Have",
"status": "NOT_DONE",
"notes": "[ ]",
"section": "5.10 CBM Structural Parity Requirements (merged)",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-GF-05",
"kind": "FR",
"title": "MCP tool 'query_graph(question, token_budget?)' — seed → expand → budget trim → TOON",
"priority": "Should Have",
"status": "NOT_DONE",
"notes": "[ ]",
"section": "5.9 Graphify-Inspired Features",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-GF-06",
"kind": "FR",
"title": "CLI 'leankg query \"<question>\"' wrapping FR-GF-05 (note: existing 'leankg query' is name/content search, not N…",
"priority": "Should Have",
"status": "NOT_DONE",
"notes": "[ ]",
"section": "5.9 Graphify-Inspired Features",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-GF-07",
"kind": "FR",
"title": "Relationship metadata field 'confidence_label' ∈ {EXTRACTED, INFERRED, AMBIGUOUS} written on all edges",
"priority": "Should Have",
"status": "NOT_DONE",
"notes": "[ ]",
"section": "5.9 Graphify-Inspired Features",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-GF-08",
"kind": "FR",
"title": "Map 'resolution_method' → 'confidence_label' at edge write time; backfill on reindex",
"priority": "Should Have",
"status": "NOT_DONE",
"notes": "[ ]",
"section": "5.9 Graphify-Inspired Features",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-GF-09",
"kind": "FR",
"title": "Propagate 'confidence_label' in impact, call_graph, path, query_graph, Web UI",
"priority": "Should Have",
"status": "NOT_DONE",
"notes": "[ ]",
"section": "5.9 Graphify-Inspired Features",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-GF-10",
"kind": "FR",
"title": "Index-time god-node / importance scoring (degree + optional PageRank-like)",
"priority": "Should Have",
"status": "NOT_DONE",
"notes": "[ ]",
"section": "5.9 Graphify-Inspired Features",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-GF-12",
"kind": "FR",
"title": "Include god nodes in 'get_architecture' hotspots section",
"priority": "Should Have",
"status": "NOT_DONE",
"notes": "[ ]",
"section": "5.9 Graphify-Inspired Features",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-GF-13",
"kind": "FR",
"title": "Auto-generate '.leankg/GRAPH_REPORT.md' on every index (CLI 'leankg report' / MCP 'get_graph_report' already e…",
"priority": "Should Have",
"status": "NOT_DONE",
"notes": "[ ]",
"section": "5.9 Graphify-Inspired Features",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-GF-16",
"kind": "FR",
"title": "ADR/RFC citation extraction from docs → rationale nodes linked to code (parser done in 'b0c9477'; ADR-citation…",
"priority": "Should Have",
"status": "NOT_DONE",
"notes": "[ ]",
"section": "5.9 Graphify-Inspired Features",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-MP-02",
"kind": "FR",
"title": "On re-index, set 'valid_to = now()' on removed edges instead of deleting them (deferred; needs migration)",
"priority": "Should Have",
"status": "NOT_DONE",
"notes": "[ ]",
"section": "5.6 MemPalace-Inspired Features",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-MP-09",
"kind": "FR",
"title": "New conversation_indexer module: parse Claude export JSON format",
"priority": "Should Have",
"status": "NOT_DONE",
"notes": "[ ]",
"section": "5.6 MemPalace-Inspired Features",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-MP-10",
"kind": "FR",
"title": "New conversation_indexer module: parse ChatGPT export JSON format",
"priority": "Should Have",
"status": "NOT_DONE",
"notes": "[ ]",
"section": "5.6 MemPalace-Inspired Features",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-MP-11",
"kind": "FR",
"title": "New conversation_indexer module: parse Slack export JSON format",
"priority": "Should Have",
"status": "NOT_DONE",
"notes": "[ ]",
"section": "5.6 MemPalace-Inspired Features",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-MP-12",
"kind": "FR",
"title": "Extract decisions, preferences, milestones, problems from conversations as new element types",
"priority": "Should Have",
"status": "NOT_DONE",
"notes": "[ ]",
"section": "5.6 MemPalace-Inspired Features",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-MP-13",
"kind": "FR",
"title": "New CLI command 'mine-conversations' with '--format' and '--project' flags",
"priority": "Should Have",
"status": "NOT_DONE",
"notes": "[ ]",
"section": "5.6 MemPalace-Inspired Features",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-MP-20",
"kind": "FR",
"title": "Enhance 'orchestrate' intent parser to follow tunnels and use L0-L3 layer strategy (deferred)",
"priority": "Should Have",
"status": "NOT_DONE",
"notes": "[ ]",
"section": "5.6 MemPalace-Inspired Features",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-MP-24",
"kind": "FR",
"title": "'get_impact_radius' accepts directory qualified names (e.g., '\"src/indexer/\"')",
"priority": "Should Have",
"status": "NOT_DONE",
"notes": "[ ]",
"section": "5.6 MemPalace-Inspired Features",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-MP-25",
"kind": "FR",
"title": "'search_code' and 'query_file' accept directory nodes for folder-scoped search",
"priority": "Should Have",
"status": "NOT_DONE",
"notes": "[ ]",
"section": "5.6 MemPalace-Inspired Features",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-MP-26",
"kind": "FR",
"title": "Cluster-to-directory alignment via 'cluster_directory' metadata",
"priority": "Should Have",
"status": "NOT_DONE",
"notes": "[ ]",
"section": "5.6 MemPalace-Inspired Features",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-01 to FR-07",
"kind": "FR",
"title": "Code Indexing and Dependency Graph",
"priority": "Should Have",
"status": "DONE",
"notes": "[x]",
"section": "5.1 Core Features (DONE)",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-08 to FR-12",
"kind": "FR",
"title": "Auto Documentation Generation",
"priority": "Should Have",
"status": "DONE",
"notes": "[x]",
"section": "5.1 Core Features (DONE)",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-13 to FR-16",
"kind": "FR",
"title": "Business Logic to Code Mapping",
"priority": "Should Have",
"status": "DONE",
"notes": "[x]",
"section": "5.1 Core Features (DONE)",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-17 to FR-22",
"kind": "FR",
"title": "Context Provisioning",
"priority": "Should Have",
"status": "DONE",
"notes": "[x]",
"section": "5.1 Core Features (DONE)",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-23 to FR-27",
"kind": "FR",
"title": "MCP Server Interface",
"priority": "Should Have",
"status": "DONE",
"notes": "[x]",
"section": "5.1 Core Features (DONE)",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-28 to FR-36",
"kind": "FR",
"title": "CLI Interface",
"priority": "Should Have",
"status": "DONE",
"notes": "[x]",
"section": "5.1 Core Features (DONE)",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-37 to FR-41",
"kind": "FR",
"title": "Lightweight Web UI",
"priority": "Should Have",
"status": "DONE",
"notes": "[x]",
"section": "5.1 Core Features (DONE)",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-42 to FR-50",
"kind": "FR",
"title": "Pipeline Information Extraction",
"priority": "Should Have",
"status": "DONE",
"notes": "[x]",
"section": "5.1 Core Features (DONE)",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-51 to FR-56",
"kind": "FR",
"title": "Documentation-Structure Mapping",
"priority": "Should Have",
"status": "DONE",
"notes": "[x]",
"section": "5.1 Core Features (DONE)",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-57 to FR-60",
"kind": "FR",
"title": "Enhanced Business Logic Tagging",
"priority": "Should Have",
"status": "DONE",
"notes": "[x]",
"section": "5.1 Core Features (DONE)",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-61 to FR-64",
"kind": "FR",
"title": "Impact Analysis Improvements",
"priority": "Should Have",
"status": "DONE",
"notes": "[x]",
"section": "5.1 Core Features (DONE)",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-65 to FR-68",
"kind": "FR",
"title": "Additional MCP Tools",
"priority": "Should Have",
"status": "DONE",
"notes": "[x]",
"section": "5.1 Core Features (DONE)",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-73 to FR-76",
"kind": "FR",
"title": "MCP Server Self-Initialization",
"priority": "Should Have",
"status": "DONE",
"notes": "[x]",
"section": "5.1 Core Features (DONE)",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-77 to FR-79",
"kind": "FR",
"title": "Terraform Infrastructure Indexing",
"priority": "Should Have",
"status": "DONE",
"notes": "[x]",
"section": "5.1 Core Features (DONE)",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-80 to FR-82",
"kind": "FR",
"title": "CI/CD YAML Indexing",
"priority": "Should Have",
"status": "DONE",
"notes": "[x]",
"section": "5.1 Core Features (DONE)",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-A05",
"kind": "FR",
"title": "Default call-edge resolution for Go/TS on index",
"priority": "Should Have",
"status": "DONE",
"notes": "[x]",
"section": "5.10 CBM Structural Parity Requirements (merged)",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-A07",
"kind": "FR",
"title": "Agent operating-model: LeanKG-first; moat tools mandatory",
"priority": "Should Have",
"status": "DONE",
"notes": "[x]",
"section": "5.10 CBM Structural Parity Requirements (merged)",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-AB-01",
"kind": "FR",
"title": "OpenCode token parsing for benchmark comparison",
"priority": "Should Have",
"status": "DONE",
"notes": "[x]",
"section": "5.3 AB Testing & Validation (DONE)",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-AB-02",
"kind": "FR",
"title": "Context correctness validation (precision/recall/F1 per task)",
"priority": "Should Have",
"status": "DONE",
"notes": "[x]",
"section": "5.3 AB Testing & Validation (DONE)",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-AB-03",
"kind": "FR",
"title": "CozoDB data store correctness tests",
"priority": "Should Have",
"status": "DONE",
"notes": "[x]",
"section": "5.3 AB Testing & Validation (DONE)",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-AB-04",
"kind": "FR",
"title": "Prompt YAML format with 'expected_files' field",
"priority": "Should Have",
"status": "DONE",
"notes": "[x]",
"section": "5.3 AB Testing & Validation (DONE)",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-AB-05",
"kind": "FR",
"title": "Token savings summary report with overall verdict",
"priority": "Should Have",
"status": "DONE",
"notes": "[x]",
"section": "5.3 AB Testing & Validation (DONE)",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-B01",
"kind": "FR",
"title": "'resolution_method': unresolved \\/ name \\/ name_file_hint \\/ typed (typed reserved, not produced)",
"priority": "Should Have",
"status": "DONE",
"notes": "[x]",
"section": "5.10 CBM Structural Parity Requirements (merged)",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-B02",
"kind": "FR",
"title": "Numeric 'confidence' consistent with method",
"priority": "Should Have",
"status": "DONE",
"notes": "[x]",
"section": "5.10 CBM Structural Parity Requirements (merged)",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-B07",
"kind": "FR",
"title": "Fail soft: fall back to name resolve; never block index",
"priority": "Should Have",
"status": "DONE",
"notes": "[x]",
"section": "5.10 CBM Structural Parity Requirements (merged)",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-B08",
"kind": "FR",
"title": "Feature flag 'typed_resolve=off\\/go,ts\\/all' in 'IndexerConfig' ('8971dc5')",
"priority": "Should Have",
"status": "DONE",
"notes": "[x]",
"section": "5.10 CBM Structural Parity Requirements (merged)",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-B10",
"kind": "FR",
"title": "'route' element type (method, path, handler, framework)",
"priority": "Should Have",
"status": "DONE",
"notes": "[x]",
"section": "5.10 CBM Structural Parity Requirements (merged)",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-B11",
"kind": "FR",
"title": "≥ 2 Go + ≥ 2 TS framework extractors (chi/gin/echo + express/fastify)",
"priority": "Should Have",
"status": "DONE",
"notes": "[x]",
"section": "5.10 CBM Structural Parity Requirements (merged)",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-B12",
"kind": "FR",
"title": "'http_calls' edges with confidence",
"priority": "Should Have",
"status": "DONE",
"notes": "[x]",
"section": "5.10 CBM Structural Parity Requirements (merged)",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-B14",
"kind": "FR",
"title": "Routes searchable; included in 'get_architecture'",
"priority": "Should Have",
"status": "DONE",
"notes": "[x]",
"section": "5.10 CBM Structural Parity Requirements (merged)",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-B15",
"kind": "FR",
"title": "EMITS / LISTENS_ON for Go/TS ('25a3b37')",
"priority": "Should Have",
"status": "DONE",
"notes": "[x]",
"section": "5.10 CBM Structural Parity Requirements (merged)",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-B20",
"kind": "FR",
"title": "'get_architecture'",
"priority": "Should Have",
"status": "DONE",
"notes": "[x]",
"section": "5.10 CBM Structural Parity Requirements (merged)",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-B21",
"kind": "FR",
"title": "'get_graph_schema'",
"priority": "Should Have",
"status": "DONE",
"notes": "[x]",
"section": "5.10 CBM Structural Parity Requirements (merged)",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-B22",
"kind": "FR",
"title": "Honor token budgets / truncation on architecture/schema",
"priority": "Should Have",
"status": "DONE",
"notes": "[x]",
"section": "5.10 CBM Structural Parity Requirements (merged)",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-B23",
"kind": "FR",
"title": "'find_dead_code'",
"priority": "Should Have",
"status": "DONE",
"notes": "[x]",
"section": "5.10 CBM Structural Parity Requirements (merged)",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-B30",
"kind": "FR",
"title": "Near-clone detection → similarity edges ('55e6e72') — **non-strategic**; do not expand with LSH (v3.6.2)",
"priority": "Should Have",
"status": "DONE",
"notes": "[x]",
"section": "5.10 CBM Structural Parity Requirements (merged)",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-B31",
"kind": "FR",
"title": "'find_clones' MCP + 'leankg clones' CLI ('55e6e72') — same-file Jaccard only after FR-HNSW-A; optional later d…",
"priority": "Should Have",
"status": "DONE",
"notes": "[x]",
"section": "5.10 CBM Structural Parity Requirements (merged)",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-B32",
"kind": "FR",
"title": "Cross-repo edges across registry ('ab16c9b')",
"priority": "Should Have",
"status": "DONE",
"notes": "[x]",
"section": "5.10 CBM Structural Parity Requirements (merged)",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-B33",
"kind": "FR",
"title": "Cross-repo summary in tool or architecture ('ab16c9b', surfaced via 'find_cross_repo_similar')",
"priority": "Should Have",
"status": "DONE",
"notes": "[x]",
"section": "5.10 CBM Structural Parity Requirements (merged)",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-BENCH-HNSW",
"kind": "FR",
"title": "Semantic recall smoke — 'tests/hnsw_recall_e2e.rs' (synthetic 384-d vectors + brute-force cosine ground truth;…",
"priority": "Should Have",
"status": "DONE",
"notes": "[x]",
"section": "5.12 Semantic ANN — CozoDB HNSW expansion (v3.6.2) + embed r…",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-C01",
"kind": "FR",
"title": "Docker embeddings OOTB (Must — alias FR-HNSW-C; Dockerfiles '--features embeddings' + 'entrypoint.sh' 'embed_i…",
"priority": "Should Have",
"status": "DONE",
"notes": "[x]",
"section": "5.10 CBM Structural Parity Requirements (merged)",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-C03",
"kind": "FR",
"title": "Hot-path cache — DONE ('836f0a3')",
"priority": "Should Have",
"status": "DONE",
"notes": "[x]",
"section": "5.10 CBM Structural Parity Requirements (merged)",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-D01",
"kind": "FR",
"title": "Skills remain LeanKG-first",
"priority": "Should Have",
"status": "DONE",
"notes": "[x]",
"section": "5.10 CBM Structural Parity Requirements (merged)",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-D02",
"kind": "FR",
"title": "Documented CBM escape hatch when confidence low / lang unsupported (Should — documented as policy)",
"priority": "Should Have",
"status": "DONE",
"notes": "[x]",
"section": "5.10 CBM Structural Parity Requirements (merged)",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-D03",
"kind": "FR",
"title": "No auto-install CBM into default '.mcp.json'",
"priority": "Should Have",
"status": "DONE",
"notes": "[x]",
"section": "5.10 CBM Structural Parity Requirements (merged)",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-EMBED-R1",
"kind": "FR",
"title": "MCP / Docker boot must not wait on cold embed. 'LEANKG_EMBED_ON_BOOT=0'; in-process background embed ('LEANKG_…",
"priority": "Should Have",
"status": "DONE",
"notes": "[x]",
"section": "5.12 Semantic ANN — CozoDB HNSW expansion (v3.6.2) + embed r…",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-EMBED-R2",
"kind": "FR",
"title": "Parallel embed pipeline — N ONNX workers + single writer; 'import_relations' bulk path; optional 'DirectEmbedd…",
"priority": "Should Have",
"status": "DONE",
"notes": "[x]",
"section": "5.12 Semantic ANN — CozoDB HNSW expansion (v3.6.2) + embed r…",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-EMBED-R3",
"kind": "FR",
"title": "Document measured ceilings — e2e ~170 vec/sec / ~36 min cold on ~371k; writer-only ~100k+ vec/sec. Record fail…",
"priority": "Should Have",
"status": "DONE",
"notes": "[x]",
"section": "5.12 Semantic ANN — CozoDB HNSW expansion (v3.6.2) + embed r…",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-GF-01",
"kind": "FR",
"title": "MCP tool 'shortest_path(source, target, max_hops?)' returns ordered hops with relation + 'confidence_label'",
"priority": "Should Have",
"status": "DONE",
"notes": "[x]",
"section": "5.9 Graphify-Inspired Features",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-GF-02",
"kind": "FR",
"title": "CLI 'leankg path <a> <b>' wrapping FR-GF-01",
"priority": "Should Have",
"status": "DONE",
"notes": "[x]",
"section": "5.9 Graphify-Inspired Features",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-GF-03",
"kind": "FR",
"title": "MCP tool 'explain_node(name_or_qn)' — definition, cluster, degree, neighbors",
"priority": "Should Have",
"status": "DONE",
"notes": "[x]",
"section": "5.9 Graphify-Inspired Features",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-GF-04",
"kind": "FR",
"title": "CLI 'leankg explain <name>' wrapping FR-GF-03",
"priority": "Should Have",
"status": "DONE",
"notes": "[x]",
"section": "5.9 Graphify-Inspired Features",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-GF-11",
"kind": "FR",
"title": "MCP 'get_god_nodes(limit, exclude_hubs_percentile?)' + CLI 'leankg gods'",
"priority": "Should Have",
"status": "DONE",
"notes": "[x]",
"section": "5.9 Graphify-Inspired Features",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-GF-14",
"kind": "FR",
"title": "MCP 'get_graph_report' returns report markdown or structured sections",
"priority": "Should Have",
"status": "DONE",
"notes": "[x]",
"section": "5.9 Graphify-Inspired Features",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-GF-15",
"kind": "FR",
"title": "Extractor for '# WHY:' / '# NOTE:' / '# HACK:' / '# FIXME:' / '# XXX:' → 'rationale' elements + 'explains' edg…",
"priority": "Should Have",
"status": "DONE",
"notes": "[x]",
"section": "5.9 Graphify-Inspired Features",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-GF-17",
"kind": "FR",
"title": "CLI 'leankg prs' + MCP 'get_pr_impact' / 'triage_prs' using clusters + detect_changes ('30e41f0')",
"priority": "Should Have",
"status": "DONE",
"notes": "[x]",
"section": "5.9 Graphify-Inspired Features",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-GF-18",
"kind": "FR",
"title": "Community conflict detection: PRs whose changed files share clusters (merge-order risk) ('30e41f0')",
"priority": "Should Have",
"status": "DONE",
"notes": "[x]",
"section": "5.9 Graphify-Inspired Features",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-GF-19",
"kind": "FR",
"title": "MCP 'report_query_outcome' + 'leankg reflect' → '.leankg/reflections/LESSONS.md' + optional node overlay ('373…",
"priority": "Should Have",
"status": "DONE",
"notes": "[x]",
"section": "5.9 Graphify-Inspired Features",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-GF-20",
"kind": "FR",
"title": "Portable 'graph-snapshot.json' export (relative paths) + documented optional git merge driver ('0087991')",
"priority": "Should Have",
"status": "DONE",
"notes": "[x]",
"section": "5.9 Graphify-Inspired Features",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-GN-01 to FR-GN-04",
"kind": "FR",
"title": "Confidence Scoring on Relationships",
"priority": "Should Have",
"status": "DONE",
"notes": "[x]",
"section": "5.2 GitNexus Enhancements (DONE)",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-GN-05 to FR-GN-07",
"kind": "FR",
"title": "Pre-Commit Change Detection Tool",
"priority": "Should Have",
"status": "DONE",
"notes": "[x]",
"section": "5.2 GitNexus Enhancements (DONE)",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-GN-08 to FR-GN-12",
"kind": "FR",
"title": "Multi-Repo Global Registry",
"priority": "Should Have",
"status": "DONE",
"notes": "[x]",
"section": "5.2 GitNexus Enhancements (DONE)",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-GN-13 to FR-GN-17",
"kind": "FR",
"title": "Community Detection and Cluster-Grouped Search",
"priority": "Should Have",
"status": "DONE",
"notes": "[x]",
"section": "5.2 GitNexus Enhancements (DONE)",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-GN-18 to FR-GN-19",
"kind": "FR",
"title": "Enhanced 360-Degree Context Tool",
"priority": "Should Have",
"status": "DONE",
"notes": "[x]",
"section": "5.2 GitNexus Enhancements (DONE)",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-HNSW-B",
"kind": "FR",
"title": "Sole **canonical shipped** ANN path (until FR-VE-GATE) = Cozo '::hnsw' on 'embedding_vectors:vec_idx' ('src/em…",
"priority": "Should Have",
"status": "DONE",
"notes": "[x]",
"section": "5.12 Semantic ANN — CozoDB HNSW expansion (v3.6.2) + embed r…",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-HNSW-C",
"kind": "FR",
"title": "(= FR-C01 / US-CBM-C1): Docker / RocksDB image builds with '--features embeddings'. Prefer 'LEANKG_EMBED_ON_BO…",
"priority": "Should Have",
"status": "DONE",
"notes": "[x]",
"section": "5.12 Semantic ANN — CozoDB HNSW expansion (v3.6.2) + embed r…",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-HNSW-D",
"kind": "FR",
"title": "Default agent discovery path — NL query → embed → HNSW top-k → optional rerank → graph traverse ('src/retrieva…",
"priority": "Should Have",
"status": "DONE",
"notes": "[x]",
"section": "5.12 Semantic ANN — CozoDB HNSW expansion (v3.6.2) + embed r…",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-HNSW-E",
"kind": "FR",
"title": "Incremental embed — indexer marks 'embedding_state' stale; 'leankg embed' (or auto) refreshes only dirty QNs; …",
"priority": "Should Have",
"status": "DONE",
"notes": "[x]",
"section": "5.12 Semantic ANN — CozoDB HNSW expansion (v3.6.2) + embed r…",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-HNSW-F",
"kind": "FR",
"title": "Mega-graph HNSW ops — expose/document 'ef' / 'm' / page 'limit'+'offset'; keep RSS under existing 'BudgetGuard…",
"priority": "Should Have",
"status": "DONE",
"notes": "[x]",
"section": "5.12 Semantic ANN — CozoDB HNSW expansion (v3.6.2) + embed r…",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-INF-01",
"kind": "FR",
"title": "Git pre-commit hook with critical file blocking",
"priority": "Should Have",
"status": "DONE",
"notes": "[x]",
"section": "5.5 Infrastructure Features (DONE)",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-INF-02",
"kind": "FR",
"title": "Git post-commit hook triggers 'leankg index --incremental'",
"priority": "Should Have",
"status": "DONE",
"notes": "[x]",
"section": "5.5 Infrastructure Features (DONE)",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-INF-03",
"kind": "FR",
"title": "Git post-checkout hook triggers reindex on branch switch",
"priority": "Should Have",
"status": "DONE",
"notes": "[x]",
"section": "5.5 Infrastructure Features (DONE)",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-INF-04",
"kind": "FR",
"title": "GitWatcher for continuous index freshness via commit hash markers",
"priority": "Should Have",
"status": "DONE",
"notes": "[x]",
"section": "5.5 Infrastructure Features (DONE)",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-INF-05",
"kind": "FR",
"title": "Context metrics tracking (18-field CozoDB schema)",
"priority": "Should Have",
"status": "DONE",
"notes": "[x]",
"section": "5.5 Infrastructure Features (DONE)",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-INF-06",
"kind": "FR",
"title": "REST API server (Axum) with /health, /api/v1/status, /api/v1/search",
"priority": "Should Have",
"status": "DONE",
"notes": "[x]",
"section": "5.5 Infrastructure Features (DONE)",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-INF-07",
"kind": "FR",
"title": "API key management (Argon2 hash, create/list/revoke)",
"priority": "Should Have",
"status": "DONE",
"notes": "[x]",
"section": "5.5 Infrastructure Features (DONE)",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-INF-08",
"kind": "FR",
"title": "Wiki generation from code structure",
"priority": "Should Have",
"status": "DONE",
"notes": "[x]",
"section": "5.5 Infrastructure Features (DONE)",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-INF-09",
"kind": "FR",
"title": "Graph export (HTML interactive, SVG, GraphML, Neo4j, JSON, DOT/Mermaid)",
"priority": "Should Have",
"status": "DONE",
"notes": "[x]",
"section": "5.5 Infrastructure Features (DONE)",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-INF-10",
"kind": "FR",
"title": "Orchestrator with intent parsing (7 types) and persistent cache",
"priority": "Should Have",
"status": "DONE",
"notes": "[x]",
"section": "5.5 Infrastructure Features (DONE)",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-MG-01",
"kind": "FR",
"title": "'api_graph_expand_service' returns ALL relationship types (remove 'matches!(r.rel_type, \"contains\" / \"defines\"…",
"priority": "Should Have",
"status": "DONE",
"notes": "[x]",
"section": "5.7 Massive Graph UI (DONE)",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-MG-02",
"kind": "FR",
"title": "Double-click Service node loads entire service tree in single API call",
"priority": "Should Have",
"status": "DONE",
"notes": "[x]",
"section": "5.7 Massive Graph UI (DONE)",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-MG-04",
"kind": "FR",
"title": "Filter panel always shows ALL node types from 'DEFAULT_NODE_TYPE_ORDER' (static list, not data-driven)",
"priority": "Should Have",
"status": "DONE",
"notes": "[x]",
"section": "5.7 Massive Graph UI (DONE)",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-MG-05",
"kind": "FR",
"title": "Default visible node types: 'Service', 'Folder', 'File', 'Function' (all others OFF by default)",
"priority": "Should Have",
"status": "DONE",
"notes": "[x]",
"section": "5.7 Massive Graph UI (DONE)",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-MG-06",
"kind": "FR",
"title": "'resetToStructuralDefaults()' resets to 'DEFAULT_VISIBLE_LABELS' (Service, Folder, File, Function)",
"priority": "Should Have",
"status": "DONE",
"notes": "[x]",
"section": "5.7 Massive Graph UI (DONE)",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-MG-07",
"kind": "FR",
"title": "'get_elements_in_folder()' targeted DB query for expand-service (regex_matches with bound param)",
"priority": "Should Have",
"status": "DONE",
"notes": "[x]",
"section": "5.7 Massive Graph UI (DONE)",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-MG-08",
"kind": "FR",
"title": "Handler converts absolute folder paths to DB format ('./platform-transport/...')",
"priority": "Should Have",
"status": "DONE",
"notes": "[x]",
"section": "5.7 Massive Graph UI (DONE)",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-MP-01",
"kind": "FR",
"title": "'valid_from' / 'valid_to' on Relationship schema ('bc9cc53')",
"priority": "Should Have",
"status": "DONE",
"notes": "[x]",
"section": "5.6 MemPalace-Inspired Features",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-MP-03",
"kind": "FR",
"title": "MCP tool 'temporal_query' — query graph state as of a given timestamp or commit ('temporal_query' registered i…",
"priority": "Should Have",
"status": "DONE",
"notes": "[x]",
"section": "5.6 MemPalace-Inspired Features",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-MP-04",
"kind": "FR",
"title": "MCP tool 'timeline' — chronological evolution of a code element's relationships ('timeline' registered)",
"priority": "Should Have",
"status": "DONE",
"notes": "[x]",
"section": "5.6 MemPalace-Inspired Features",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-MP-05",
"kind": "FR",
"title": "'.leankg/identity.md' (L0 context) on 'init' / 'index' (backed by 'wake_up')",
"priority": "Should Have",
"status": "DONE",
"notes": "[x]",
"section": "5.6 MemPalace-Inspired Features",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-MP-06",
"kind": "FR",
"title": "'.leankg/critical_facts.md' (L1 context) from graph stats + git log (backed by 'wake_up')",
"priority": "Should Have",
"status": "DONE",
"notes": "[x]",
"section": "5.6 MemPalace-Inspired Features",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-MP-07",
"kind": "FR",
"title": "MCP tool 'wake_up' — returns L0+L1 in ~170 tokens, cached and regenerated on re-index",
"priority": "Should Have",
"status": "DONE",
"notes": "[x]",
"section": "5.6 MemPalace-Inspired Features",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-MP-08",
"kind": "FR",
"title": "MCP tool 'load_layer' — registered; L2/L3 paths pending deeper wiring",
"priority": "Should Have",
"status": "DONE",
"notes": "[x]",
"section": "5.6 MemPalace-Inspired Features",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-MP-14",
"kind": "FR",
"title": "MCP tool 'check_consistency' — detect stale/broken links, outdated annotations ('60a6111')",
"priority": "Should Have",
"status": "DONE",
"notes": "[x]",
"section": "5.6 MemPalace-Inspired Features",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-MP-15",
"kind": "FR",
"title": "CLI command 'check-consistency' with '--severity' filter ('60a6111')",
"priority": "Should Have",
"status": "DONE",
"notes": "[x]",
"section": "5.6 MemPalace-Inspired Features",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-MP-16",
"kind": "FR",
"title": "Relationship type 'tunnel' for cross-cluster domain links ('5b6547e')",
"priority": "Should Have",
"status": "DONE",
"notes": "[x]",
"section": "5.6 MemPalace-Inspired Features",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-MP-17",
"kind": "FR",
"title": "MCP tool 'find_tunnels' — discover cross-cluster connections ('5b6547e')",
"priority": "Should Have",
"status": "DONE",
"notes": "[x]",
"section": "5.6 MemPalace-Inspired Features",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-MP-18",
"kind": "FR",
"title": "Agent config system: '.leankg/agents/*.json' with focus and filter definitions ('1ea4bcd')",
"priority": "Should Have",
"status": "DONE",
"notes": "[x]",
"section": "5.6 MemPalace-Inspired Features",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-MP-19",
"kind": "FR",
"title": "MCP tools 'agent_focus', 'agent_diary_write', 'agent_diary_read' ('1ea4bcd')",
"priority": "Should Have",
"status": "DONE",
"notes": "[x]",
"section": "5.6 MemPalace-Inspired Features",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-MP-21",
"kind": "FR",
"title": "'directory' element type — every indexed directory becomes a first-class graph node ('generate_physical_struct…",
"priority": "Should Have",
"status": "DONE",
"notes": "[x]",
"section": "5.6 MemPalace-Inspired Features",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-MP-22",
"kind": "FR",
"title": "'contains' edges for full hierarchy: directory→directory, directory→file ('generate_physical_structure')",
"priority": "Should Have",
"status": "DONE",
"notes": "[x]",
"section": "5.6 MemPalace-Inspired Features",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-MP-23",
"kind": "FR",
"title": "Directory metadata: 'child_count', 'language_distribution', 'total_lines' in metadata JSON ('populate_director…",
"priority": "Should Have",
"status": "DONE",
"notes": "[x]",
"section": "5.6 MemPalace-Inspired Features",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-RTK-01",
"kind": "FR",
"title": "LeanKGCompressor struct for CLI command compression",
"priority": "Should Have",
"status": "DONE",
"notes": "[x]",
"section": "5.4 RTK Compression (DONE)",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-RTK-02",
"kind": "FR",
"title": "CargoTestCompressor with failures-only mode (85%+ savings)",
"priority": "Should Have",
"status": "DONE",
"notes": "[x]",
"section": "5.4 RTK Compression (DONE)",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-RTK-03",
"kind": "FR",
"title": "GitDiffCompressor with stats extraction (70%+ savings)",
"priority": "Should Have",
"status": "DONE",
"notes": "[x]",
"section": "5.4 RTK Compression (DONE)",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-RTK-04",
"kind": "FR",
"title": "ShellCompressor with leankg-specific patterns",
"priority": "Should Have",
"status": "DONE",
"notes": "[x]",
"section": "5.4 RTK Compression (DONE)",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-RTK-05",
"kind": "FR",
"title": "8 read modes via FileReader (adaptive, full, map, signatures, diff, aggressive, entropy, lines)",
"priority": "Should Have",
"status": "DONE",
"notes": "[x]",
"section": "5.4 RTK Compression (DONE)",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-RTK-06",
"kind": "FR",
"title": "EntropyAnalyzer (Shannon, Jaccard, Kolmogorov, repetitive patterns)",
"priority": "Should Have",
"status": "DONE",
"notes": "[x]",
"section": "5.4 RTK Compression (DONE)",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-RTK-07",
"kind": "FR",
"title": "ResponseCompressor for MCP JSON responses",
"priority": "Should Have",
"status": "DONE",
"notes": "[x]",
"section": "5.4 RTK Compression (DONE)",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-RTK-08",
"kind": "FR",
"title": "Compressed responses for impact_radius, call_graph, search_code, dependencies, dependents, context",
"priority": "Should Have",
"status": "DONE",
"notes": "[x]",
"section": "5.4 RTK Compression (DONE)",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-RTK-09",
"kind": "FR",
"title": "'compress_response' parameter on get_impact_radius and other graph tools",
"priority": "Should Have",
"status": "DONE",
"notes": "[x]",
"section": "5.4 RTK Compression (DONE)",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-RTK-10",
"kind": "FR",
"title": "'--compress' CLI flag on 'leankg run' command",
"priority": "Should Have",
"status": "DONE",
"notes": "[x]",
"section": "5.4 RTK Compression (DONE)",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-UPD-01",
"kind": "FR",
"title": "'leankg update' from GitHub releases",
"priority": "Should Have",
"status": "DONE",
"notes": "[x]",
"section": "5.11 Team Infrastructure / v2 Requirements (merged from 'prd…",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-V2-01",
"kind": "FR",
"title": "'env' field on elements/relationships; default 'local'",
"priority": "Should Have",
"status": "DONE",
"notes": "[x]",
"section": "5.11 Team Infrastructure / v2 Requirements (merged from 'prd…",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-V2-02",
"kind": "FR",
"title": "Incident data model + CLI/MCP contribute & query",
"priority": "Should Have",
"status": "DONE",
"notes": "[x]",
"section": "5.11 Team Infrastructure / v2 Requirements (merged from 'prd…",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-V2-03",
"kind": "FR",
"title": "'get_service_context' with env + incident summary",
"priority": "Should Have",
"status": "DONE",
"notes": "[x]",
"section": "5.11 Team Infrastructure / v2 Requirements (merged from 'prd…",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-V2-04",
"kind": "FR",
"title": "'find_env_conflicts' with risk levels",
"priority": "Should Have",
"status": "DONE",
"notes": "[x]",
"section": "5.11 Team Infrastructure / v2 Requirements (merged from 'prd…",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-V2-05",
"kind": "FR",
"title": "Knowledge contribution ('add_knowledge' / annotations)",
"priority": "Should Have",
"status": "DONE",
"notes": "[x]",
"section": "5.11 Team Infrastructure / v2 Requirements (merged from 'prd…",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-V2-06",
"kind": "FR",
"title": "'semantic_search' (embeddings feature-flagged)",
"priority": "Should Have",
"status": "DONE",
"notes": "[x]",
"section": "5.11 Team Infrastructure / v2 Requirements (merged from 'prd…",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-V2-07",
"kind": "FR",
"title": "Per-tool token budgets / TOON compression",
"priority": "Should Have",
"status": "DONE",
"notes": "[x]",
"section": "5.11 Team Infrastructure / v2 Requirements (merged from 'prd…",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-V2-08",
"kind": "FR",
"title": "Vacuum scheduler ('LEANKG_VACUUM_INTERVAL_HOURS'; RocksDB no-op)",
"priority": "Should Have",
"status": "DONE",
"notes": "[x]",
"section": "5.11 Team Infrastructure / v2 Requirements (merged from 'prd…",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-V2-09",
"kind": "FR",
"title": "'kg_self_test' MCP + HTTP startup WARN (non-gating)",
"priority": "Should Have",
"status": "DONE",
"notes": "[x]",
"section": "5.11 Team Infrastructure / v2 Requirements (merged from 'prd…",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-V2-10",
"kind": "FR",
"title": "Multi-project RocksDB HTTP deploy + registry",
"priority": "Should Have",
"status": "DONE",
"notes": "[x]",
"section": "5.11 Team Infrastructure / v2 Requirements (merged from 'prd…",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-V2-11",
"kind": "FR",
"title": "CI/CD auto-graph update on release (< 3 min freshness) — GitHub Actions workflow ('eb3d331')",
"priority": "Should Have",
"status": "DONE",
"notes": "[x]",
"section": "5.11 Team Infrastructure / v2 Requirements (merged from 'prd…",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-V2-12",
"kind": "FR",
"title": "'get_team_map' ownership/on-call tool ('3368b5f')",
"priority": "Should Have",
"status": "DONE",
"notes": "[x]",
"section": "5.11 Team Infrastructure / v2 Requirements (merged from 'prd…",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "US-07",
"kind": "User Story",
"title": "Lightweight Web UI for graph visualization",
"priority": "Should Have",
"status": "DONE",
"notes": "DONE",
"section": "3.1 Core MVP Stories (US-01 to US-18)",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "US-09",
"kind": "User Story",
"title": "Pipeline information extraction from CI/CD configs",
"priority": "Should Have",
"status": "DONE",
"notes": "DONE",
"section": "3.1 Core MVP Stories (US-01 to US-18)",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "US-10",
"kind": "User Story",
"title": "Documentation-structure mapping",
"priority": "Should Have",
"status": "DONE",
"notes": "DONE",
"section": "3.1 Core MVP Stories (US-01 to US-18)",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "US-11",
"kind": "User Story",
"title": "Enhanced business logic tagging with doc links",
"priority": "Should Have",
"status": "DONE",
"notes": "DONE",
"section": "3.1 Core MVP Stories (US-01 to US-18)",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "US-13",
"kind": "User Story",
"title": "Additional MCP tools for docs and pipeline queries",
"priority": "Should Have",
"status": "DONE",
"notes": "DONE",
"section": "3.1 Core MVP Stories (US-01 to US-18)",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "US-15",
"kind": "User Story",
"title": "MCP server expose init/index/install tools",
"priority": "Should Have",
"status": "DONE",
"notes": "DONE",
"section": "3.1 Core MVP Stories (US-01 to US-18)",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "US-16",
"kind": "User Story",
"title": "MCP server auto-initialize on startup",
"priority": "Should Have",
"status": "DONE",
"notes": "DONE",
"section": "3.1 Core MVP Stories (US-01 to US-18)",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "US-17",
"kind": "User Story",
"title": "MCP server auto-re-index when starting if stale",
"priority": "Should Have",
"status": "DONE",
"notes": "DONE",
"section": "3.1 Core MVP Stories (US-01 to US-18)",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "US-18",
"kind": "User Story",
"title": "Configurable auto-indexing via leankg.yaml",
"priority": "Should Have",
"status": "DONE",
"notes": "DONE",
"section": "3.1 Core MVP Stories (US-01 to US-18)",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "US-23",
"kind": "User Story",
"title": "Bounded depth call graph traversal",
"priority": "Should Have",
"status": "DONE",
"notes": "DONE",
"section": "3.2 v2.0 Enhancement Stories (US-19 to US-27)",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "US-26",
"kind": "User Story",
"title": "Fix doc-code reference extraction",
"priority": "Should Have",
"status": "DONE",
"notes": "DONE",
"section": "3.2 v2.0 Enhancement Stories (US-19 to US-27)",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "US-27",
"kind": "User Story",
"title": "MCP tool definition quality improvements",
"priority": "Should Have",
"status": "DONE",
"notes": "DONE",
"section": "3.2 v2.0 Enhancement Stories (US-19 to US-27)",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "US-AB-04",
"kind": "User Story",
"title": "Token savings summary report with overall verdict",
"priority": "Should Have",
"status": "DONE",
"notes": "DONE",
"section": "3.4 AB Testing Stories (US-AB-01 to US-AB-05)",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "US-AB-05",
"kind": "User Story",
"title": "Prompt YAML format with 'expected_files' field for ground truth",
"priority": "Should Have",
"status": "DONE",
"notes": "DONE",
"section": "3.4 AB Testing Stories (US-AB-01 to US-AB-05)",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "US-CBM-B5",
"kind": "User Story",
"title": "Dead code detection ('find_dead_code')",
"priority": "Should Have",
"status": "DONE",
"notes": "DONE",
"section": "3.11 CBM Structural Parity Stories (US-CBM) — merged from 'p…",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "US-CBM-B6",
"kind": "User Story",
"title": "Event channel edges (EMITS / LISTENS_ON)",
"priority": "Should Have",
"status": "DONE",
"notes": "DONE ('25a3b37': 'emits' / 'listens_on' relationships)",
"section": "3.11 CBM Structural Parity Stories (US-CBM) — merged from 'p…",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "US-CBM-B8",
"kind": "User Story",
"title": "Cross-repo edges on multi-repo registry",
"priority": "Should Have",
"status": "DONE",
"notes": "DONE ('ab16c9b': 'find_cross_repo_similar' MCP + 'CrossRepoSimilar' relationship…",
"section": "3.11 CBM Structural Parity Stories (US-CBM) — merged from 'p…",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "US-CBM-C2",
"kind": "User Story",
"title": "Query hot-path cache (search/schema/architecture/find_function)",
"priority": "Should Have",
"status": "DONE",
"notes": "DONE ('836f0a3')",
"section": "3.11 CBM Structural Parity Stories (US-CBM) — merged from 'p…",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "US-GF-07",
"kind": "User Story",
"title": "Extract rationale nodes from '# WHY:' / '# NOTE:' / '# HACK:' / '# FIXME:' / '# XXX:' comments and link to cod…",
"priority": "Should Have",
"status": "DONE",
"notes": "DONE ('b0c9477': rationale element kind + 'explains' relationship)",
"section": "3.10 Graphify-Inspired Stories (US-GF-01 to US-GF-12)",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "US-GF-08",
"kind": "User Story",
"title": "PR impact dashboard: graph-aware PR review, community overlap / merge-order risk",
"priority": "Should Have",
"status": "DONE",
"notes": "DONE ('30e41f0': 'get_pr_impact' MCP + 'leankg prs' CLI; community-conflict dete…",
"section": "3.10 Graphify-Inspired Stories (US-GF-01 to US-GF-12)",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "US-GF-09",
"kind": "User Story",
"title": "Work-memory reflect loop: record Q&A outcomes; aggregate lessons that bias future query ranking",
"priority": "Should Have",
"status": "DONE",
"notes": "DONE ('373e808': 'report_query_outcome' + '.leankg/reflections/LESSONS.md')",
"section": "3.10 Graphify-Inspired Stories (US-GF-01 to US-GF-12)",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "US-GN-03",
"kind": "User Story",
"title": "Multi-repo global registry",
"priority": "Should Have",
"status": "DONE",
"notes": "DONE",
"section": "3.3 GitNexus Enhancement Stories (US-GN-01 to US-GN-09)",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "US-GN-04",
"kind": "User Story",
"title": "Cluster-grouped search results",
"priority": "Should Have",
"status": "DONE",
"notes": "DONE",
"section": "3.3 GitNexus Enhancement Stories (US-GN-01 to US-GN-09)",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "US-GN-05",
"kind": "User Story",
"title": "Auto-detect functional clusters",
"priority": "Should Have",
"status": "DONE",
"notes": "DONE",
"section": "3.3 GitNexus Enhancement Stories (US-GN-01 to US-GN-09)",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "US-GN-06",
"kind": "User Story",
"title": "360-degree context view in single tool call",
"priority": "Should Have",
"status": "DONE",
"notes": "DONE",
"section": "3.3 GitNexus Enhancement Stories (US-GN-01 to US-GN-09)",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "US-INF-02",
"kind": "User Story",
"title": "Git post-commit hook with auto-incremental reindex",
"priority": "Should Have",
"status": "DONE",
"notes": "DONE",
"section": "3.6 Infrastructure Stories (US-INF-01 to US-INF-10)",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "US-INF-03",
"kind": "User Story",
"title": "Git post-checkout hook with branch-switch reindex",
"priority": "Should Have",
"status": "DONE",
"notes": "DONE",
"section": "3.6 Infrastructure Stories (US-INF-01 to US-INF-10)",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "US-INF-04",
"kind": "User Story",
"title": "GitWatcher for continuous index freshness",
"priority": "Should Have",
"status": "DONE",
"notes": "DONE",
"section": "3.6 Infrastructure Stories (US-INF-01 to US-INF-10)",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "US-INF-05",
"kind": "User Story",
"title": "Context metrics tracking with schema (18 fields)",
"priority": "Should Have",
"status": "DONE",
"notes": "DONE",
"section": "3.6 Infrastructure Stories (US-INF-01 to US-INF-10)",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "US-INF-06",
"kind": "User Story",
"title": "REST API server with health/status/search endpoints",
"priority": "Should Have",
"status": "DONE",
"notes": "DONE",
"section": "3.6 Infrastructure Stories (US-INF-01 to US-INF-10)",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "US-INF-07",
"kind": "User Story",
"title": "API key management with Argon2 hashing",
"priority": "Should Have",
"status": "DONE",
"notes": "DONE",
"section": "3.6 Infrastructure Stories (US-INF-01 to US-INF-10)",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "US-INF-09",
"kind": "User Story",
"title": "Graph export to HTML, SVG, GraphML, Neo4j formats",
"priority": "Should Have",
"status": "DONE",
"notes": "DONE",
"section": "3.6 Infrastructure Stories (US-INF-01 to US-INF-10)",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "US-INF-10",
"kind": "User Story",
"title": "Smart orchestrator with intent parsing and persistent cache",
"priority": "Should Have",
"status": "DONE",
"notes": "DONE",
"section": "3.6 Infrastructure Stories (US-INF-01 to US-INF-10)",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "US-LANG-01",
"kind": "User Story",
"title": "Dart parser (tree-sitter-dart) with getter/setter/enum extraction",
"priority": "Should Have",
"status": "DONE",
"notes": "DONE — indexed ('7ec6484'; in 'find_files_sync' + 'get_language')",
"section": "3.7 Additional Language Stories (US-LANG-01 to US-LANG-03)",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "US-MP-04",
"kind": "User Story",
"title": "Specialist Agent Contexts — define agent personas (reviewer, architect, ops) each with a focused lens on the c…",
"priority": "Should Have",
"status": "DONE",
"notes": "DONE ('1ea4bcd': 'agent_focus', 'agent_diary_write', 'agent_diary_read')",
"section": "3.9 MemPalace-Inspired Stories (US-MP-01 to US-MP-08)",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "US-MP-05",
"kind": "User Story",
"title": "Contradiction & Staleness Detection — detect when stored context contradicts current code state; flag stale an…",
"priority": "Should Have",
"status": "DONE",
"notes": "DONE ('60a6111': 'check_consistency' MCP + 'leankg check-consistency' CLI)",
"section": "3.9 MemPalace-Inspired Stories (US-MP-01 to US-MP-08)",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "US-MP-07",
"kind": "User Story",
"title": "Wake-up Context Protocol — standardized 'wake_up' MCP tool that loads ~170 tokens of critical project facts at…",
"priority": "Should Have",
"status": "DONE",
"notes": "DONE",
"section": "3.9 MemPalace-Inspired Stories (US-MP-01 to US-MP-08)",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "US-RTK-04",
"kind": "User Story",
"title": "ShellCompressor extended with leankg-specific patterns",
"priority": "Should Have",
"status": "DONE",
"notes": "DONE",
"section": "3.5 RTK Compression Stories (US-RTK-01 to US-RTK-15)",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "US-RTK-06",
"kind": "User Story",
"title": "Entropy analysis (Shannon, Jaccard, Kolmogorov)",
"priority": "Should Have",
"status": "DONE",
"notes": "DONE",
"section": "3.5 RTK Compression Stories (US-RTK-01 to US-RTK-15)",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "US-RTK-09",
"kind": "User Story",
"title": "'compress_response' parameter on graph tools",
"priority": "Should Have",
"status": "DONE",
"notes": "DONE",
"section": "3.5 RTK Compression Stories (US-RTK-01 to US-RTK-15)",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "US-RTK-10",
"kind": "User Story",
"title": "'--compress' CLI flag for shell command output",
"priority": "Should Have",
"status": "DONE",
"notes": "DONE",
"section": "3.5 RTK Compression Stories (US-RTK-01 to US-RTK-15)",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "US-UPD-01",
"kind": "User Story",
"title": "'leankg update' installs latest GitHub release binary",
"priority": "Should Have",
"status": "DONE",
"notes": "DONE ('Update' CLI subcommand)",
"section": "3.12 Team Knowledge Infrastructure (US-V2) — merged from 'pr…",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "US-V2-06",
"kind": "User Story",
"title": "Semantic search natural language → graph nodes",
"priority": "Should Have",
"status": "DONE",
"notes": "DONE ('semantic_search'; embeddings optional)",
"section": "3.12 Team Knowledge Infrastructure (US-V2) — merged from 'pr…",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "US-V2-08",
"kind": "User Story",
"title": "Scheduled DB vacuum on long-lived MCP servers",
"priority": "Should Have",
"status": "DONE",
"notes": "DONE ('LEANKG_VACUUM_INTERVAL_HOURS')",
"section": "3.12 Team Knowledge Infrastructure (US-V2) — merged from 'pr…",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "US-V2-09",
"kind": "User Story",
"title": "Ontology 'kg_self_test' + HTTP startup self-test WARN",
"priority": "Should Have",
"status": "DONE",
"notes": "DONE ('kg_self_test')",
"section": "3.12 Team Knowledge Infrastructure (US-V2) — merged from 'pr…",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-BENCH-A",
"kind": "FR",
"title": "CBM clone quality head-to-head — **Won't Do** (v3.6.2)",
"priority": "Should Have",
"status": "WONT_DO",
"notes": "[x]",
"section": "5.12 Semantic ANN — CozoDB HNSW expansion (v3.6.2) + embed r…",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-HNSW-A",
"kind": "FR",
"title": "Remove custom MinHash/LSH — delete 'src/minhash.rs', drop 'mod minhash' from 'lib.rs' / 'main.rs', remove 'fin…",
"priority": "Should Have",
"status": "WONT_DO",
"notes": "[x]",
"section": "5.12 Semantic ANN — CozoDB HNSW expansion (v3.6.2) + embed r…",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-LSH-A..F",
"kind": "FR",
"title": "AST MinHash / bucket guards / signature K env — **Won't Do** (v3.6.2)",
"priority": "Should Have",
"status": "WONT_DO",
"notes": "[x]",
"section": "5.12 Semantic ANN — CozoDB HNSW expansion (v3.6.2) + embed r…",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "US-GF-10",
"kind": "User Story",
"title": "Expand language extractors toward Graphify breadth (Vue/Svelte, Scala, Lua, Zig, shell, Apex, …)",
"priority": "Could Have",
"status": "PARTIAL",
"notes": "PARTIAL — Vue/Svelte extractors in 'src/indexer/sfc.rs' ('e617a49') **not wired*…",
"section": "3.10 Graphify-Inspired Stories (US-GF-01 to US-GF-12)",
"prd_line": null,
"focus": "P3",
"focus_rank": 3,
"ve_suborder": 0
},
{
"id": "US-GF-12",
"kind": "User Story",
"title": "Live SQL / Postgres schema introspection into the same graph (tables, FKs, views ↔ app code)",
"priority": "Could Have",
"status": "PARTIAL",
"notes": "PARTIAL — SQL DDL parser in 'src/indexer/sql.rs' ('de314eb') **not wired** into …",
"section": "3.10 Graphify-Inspired Stories (US-GF-01 to US-GF-12)",
"prd_line": null,
"focus": "P3",
"focus_rank": 3,
"ve_suborder": 0
},
{
"id": "US-GN-08",
"kind": "User Story",
"title": "MCP Resources for overview context",
"priority": "Could Have",
"status": "PARTIAL",
"notes": "PARTIAL ('get_overview_context' MCP tool DONE '9124959'; formal 'resources/read'…",
"section": "3.3 GitNexus Enhancement Stories (US-GN-01 to US-GN-09)",
"prd_line": null,
"focus": "P3",
"focus_rank": 3,
"ve_suborder": 0
},
{
"id": "US-CBM-C5",
"kind": "User Story",
"title": "Windows build + smoke",
"priority": "Could Have",
"status": "PENDING",
"notes": "PENDING",
"section": "3.11 CBM Structural Parity Stories (US-CBM) — merged from 'p…",
"prd_line": null,
"focus": "P3",
"focus_rank": 3,
"ve_suborder": 0
},
{
"id": "FR-EMBED-R4",
"kind": "FR",
"title": "(open / aspirational): Cold functions-only <20 min on ~371k on reference M2 Pro 10c. **Approach:** improve …",
"priority": "Could Have",
"status": "OPEN",
"notes": "[ ]",
"section": "5.12 Semantic ANN — CozoDB HNSW expansion (v3.6.2) + embed r…",
"prd_line": null,
"focus": "P3",
"focus_rank": 3,
"ve_suborder": 0
},
{
"id": "US-CBM-B7",
"kind": "User Story",
"title": "Clone / near-duplicate detection ('find_clones', 'similar_to')",
"priority": "Could Have",
"status": "DONE",
"notes": "DONE historically ('55e6e72'); **non-strategic** after v3.6.2 — remove custom LS…",
"section": "3.11 CBM Structural Parity Stories (US-CBM) — merged from 'p…",
"prd_line": null,
"focus": "P3",
"focus_rank": 3,
"ve_suborder": 0
},
{
"id": "US-GF-11",
"kind": "User Story",
"title": "Portable graph snapshot export + optional git merge driver for team-committed graph artifacts",
"priority": "Could Have",
"status": "DONE",
"notes": "DONE ('0087991': 'export_graph_snapshot' MCP)",
"section": "3.10 Graphify-Inspired Stories (US-GF-01 to US-GF-12)",
"prd_line": null,
"focus": "P3",
"focus_rank": 3,
"ve_suborder": 0
},
{
"id": "US-GN-07",
"kind": "User Story",
"title": "Cluster-level SKILL.md generation",
"priority": "Could Have",
"status": "DONE",
"notes": "DONE ('get_cluster_skill', '10b15a0')",
"section": "3.3 GitNexus Enhancement Stories (US-GN-01 to US-GN-09)",
"prd_line": null,
"focus": "P3",
"focus_rank": 3,
"ve_suborder": 0
},
{
"id": "US-GN-09",
"kind": "User Story",
"title": "Repository wiki generation",
"priority": "Could Have",
"status": "DONE",
"notes": "DONE",
"section": "3.3 GitNexus Enhancement Stories (US-GN-01 to US-GN-09)",
"prd_line": null,
"focus": "P3",
"focus_rank": 3,
"ve_suborder": 0
},
{
"id": "US-INF-08",
"kind": "User Story",
"title": "Wiki generation from code structure",
"priority": "Could Have",
"status": "DONE",
"notes": "DONE",
"section": "3.6 Infrastructure Stories (US-INF-01 to US-INF-10)",
"prd_line": null,
"focus": "P3",
"focus_rank": 3,
"ve_suborder": 0
},
{
"id": "US-LANG-03",
"kind": "User Story",
"title": "XML parser (tree-sitter-xml) with child-elements + attributes",
"priority": "Could Have",
"status": "DONE",
"notes": "DONE — indexed ('92db9aa'; '.xml' + Android paths)",
"section": "3.7 Additional Language Stories (US-LANG-01 to US-LANG-03)",
"prd_line": null,
"focus": "P3",
"focus_rank": 3,
"ve_suborder": 0
},
{
"id": "US-MP-06",
"kind": "User Story",
"title": "Cross-Domain Tunnels — auto-link clusters across projects/modules that share the same domain concept (e.g., \"a…",
"priority": "Could Have",
"status": "DONE",
"notes": "DONE ('5b6547e': 'find_tunnels' MCP + 'leankg tunnels' CLI + 'tunnel' relationsh…",
"section": "3.9 MemPalace-Inspired Stories (US-MP-01 to US-MP-08)",
"prd_line": null,
"focus": "P3",
"focus_rank": 3,
"ve_suborder": 0
},
{
"id": "US-SEM-01",
"kind": "User Story",
"title": "Honest token accounting on truncated MCP payloads (delivered vs _token_budget.actual)",
"priority": "Should Have",
"status": "PENDING",
"notes": "From docs/semantic-search-mcp-verification-2026-07-17.md — agents under-budget when truncated:true (actual 3–4× delivered)",
"section": "3.14 Semantic MCP Agent UX Enhancements (US-SEM) — v3.7.1",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "US-SEM-02",
"kind": "User Story",
"title": "Adequate per-tool budgets for concept_search / kg_semantic_context (not default 1000)",
"priority": "Should Have",
"status": "PENDING",
"notes": "Live probe: concept_search actual 3053 / kg_semantic_context 2428 against max 1000",
"section": "3.14 Semantic MCP Agent UX Enhancements (US-SEM) — v3.7.1",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "US-SEM-03",
"kind": "User Story",
"title": "Resilient MCP HTTP for long semantic calls (transient socket drop retry)",
"priority": "Should Have",
"status": "PENDING",
"notes": "One kg_semantic_context socket drop recovered on retry; see mcp-http-stability-analysis-2026-05-05",
"section": "3.14 Semantic MCP Agent UX Enhancements (US-SEM) — v3.7.1",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "US-SEM-04",
"kind": "User Story",
"title": "Semantic hit diversity across files (MMR / file-diversity post-filter)",
"priority": "Could Have",
"status": "PENDING",
"notes": "MCP-dispatch probe: 8/10 top hits in src/mcp/server.rs — optional diversity mode",
"section": "3.14 Semantic MCP Agent UX Enhancements (US-SEM) — v3.7.1",
"prd_line": null,
"focus": "P3",
"focus_rank": 3,
"ve_suborder": 0
},
{
"id": "FR-SEM-01",
"kind": "FR",
"title": "Dual token accounting: delivered tokens + _token_budget.{max,actual,truncated}; docs teach ≥3× when truncated",
"priority": "Should Have",
"status": "NOT_DONE",
"notes": "src/mcp/token_budget.rs already emits actual; harden envelope + agent guidance",
"section": "5.15 Semantic MCP Agent UX Enhancements (v3.7.1)",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-SEM-02",
"kind": "FR",
"title": "Explicit max_tokens_for_tool for concept_search + kg_semantic_context (≥ sibling kg_*, target 2k–4k)",
"priority": "Should Have",
"status": "NOT_DONE",
"notes": "Today both fall through to default 1000 in TokenBudget::max_tokens_for_tool",
"section": "5.15 Semantic MCP Agent UX Enhancements (v3.7.1)",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-SEM-03",
"kind": "FR",
"title": "MCP HTTP resilience for long read-only semantic tools (retry docs + keep-alive / stale-listener hygiene)",
"priority": "Should Have",
"status": "NOT_DONE",
"notes": "Link docs/analysis/mcp-http-stability-analysis-2026-05-05.md",
"section": "5.15 Semantic MCP Agent UX Enhancements (v3.7.1)",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-SEM-04",
"kind": "FR",
"title": "Formal live MCP semantic smoke checklist (Docker project=/workspace) as release complement to cargo embeddings tests",
"priority": "Should Have",
"status": "NOT_DONE",
"notes": "Template: docs/semantic-search-mcp-verification-2026-07-17.md — not a substitute for hnsw_recall_e2e et al.",
"section": "5.15 Semantic MCP Agent UX Enhancements (v3.7.1)",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-SEM-05",
"kind": "FR",
"title": "Optional file-diversity / MMR post-filter after HNSW+rerank (top-k not ≥70% one file)",
"priority": "Could Have",
"status": "NOT_DONE",
"notes": "Could Have — off by default preserves current ranking",
"section": "5.15 Semantic MCP Agent UX Enhancements (v3.7.1)",
"prd_line": null,
"focus": "P3",
"focus_rank": 3,
"ve_suborder": 0
},
{
"id": "REL-051",
"kind": "Release",
"title": "Live semantic MCP smoke executed (or waived with reason) alongside embeddings cargo suite",
"priority": "Should Have",
"status": "NOT_DONE",
"notes": "Pairs with FR-SEM-04; evidence pattern from 2026-07-17 verification",
"section": "5.15 Semantic MCP Agent UX Enhancements (v3.7.1)",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
}
],
"meta": {
"role": "SoT for task inventory + status (DONE/PENDING/PARTIAL/NOT_DONE/OPEN/WONT_DO)",
"prd_role": "SoT for mission, narrative ACs, HLD, NFRs, glossary — see docs/prd.md",
"do_not": "Do not re-parse docs/prd.md for checkboxes; they were removed 2026-07-17",
"update_rule": "Edit this file (and JSON) when closing work. Link new IDs from PRD narrative sections.",
"sort": "focus(P0..P3) → MoSCoW → VE suborder → status → id",
"focus_legend": {
"P0": "v3.7 Vector Engine — CURRENT implementation focus (highest)",
"P1": "Other Must Have",
"P2": "Should Have",
"P3": "Could Have / aspirational OPEN"
},
"updated": "2026-07-17-coverage-ab-results",
"sync_note": "PR #80 feature/vector-engine-gate — P0 COMPLETE awaiting merge. Unit 56; e2e 6+1; bench + CI green; A/B −65%/−84.6%/2.50×. Next: merge then P1."
}
}