{
"generated": "2026-07-21",
"source": "docs/prd.md",
"counts": {
"DONE": 375,
"PARTIAL": 13,
"PENDING": 25,
"NOT_DONE": 61,
"WONT_DO": 3,
"OPEN": 1
},
"tasks": [
{
"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-MG-03",
"kind": "FR",
"title": "Single-repo projects treated as single service \u2014 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 \u2014 extractors present ('swift.rs' / 'sfc.rs' / 'sql.rs') but **not wired** into \u2026",
"priority": "Must Have",
"status": "NOT_DONE",
"notes": "8.3 v3.6 Roll-up (Current: v0.17.9) - ST\u2026",
"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\u2026",
"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\u2026",
"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-058",
"kind": "Release",
"title": "Manager ROI brief checked into docs/reports/ and linked from README competitive section",
"priority": "Must Have",
"status": "NOT_DONE",
"notes": "Brief exists; still need README competitive section link",
"section": "5.20 Company cost / competitive ROI (v3.7.8)",
"prd_line": null,
"focus": "P1",
"ve_suborder": 1,
"focus_rank": 1
},
{
"id": "FR-GF-22",
"kind": "FR",
"title": "README / AGENTS / using-leankg skill lead with path \u00b7 explain \u00b7 query; demote full tool wall",
"priority": "Must Have",
"status": "NOT_DONE",
"notes": "v3.7.8 P1 \u2014 US-GF-14",
"section": "5.9 Graphify-Inspired Features",
"prd_line": null,
"focus": "P1",
"ve_suborder": 2,
"focus_rank": 1
},
{
"id": "FR-GF-24",
"kind": "FR",
"title": "Always-on graph-first rules/hooks: nudge before grep/Read; optional strict first-Read redirect",
"priority": "Must Have",
"status": "NOT_DONE",
"notes": "v3.7.8 P1 \u2014 US-GF-17 primary cost lever",
"section": "5.9 Graphify-Inspired Features",
"prd_line": null,
"focus": "P1",
"ve_suborder": 3,
"focus_rank": 1
},
{
"id": "FR-GF-07",
"kind": "FR",
"title": "Relationship metadata field 'confidence_label' \u2208 {EXTRACTED, INFERRED, AMBIGUOUS} written on all edges",
"priority": "Must Have",
"status": "NOT_DONE",
"notes": "v3.7.8 P1 company adoption \u2014 confidence_label field",
"section": "5.9 Graphify-Inspired Features",
"prd_line": null,
"focus": "P1",
"focus_rank": 1,
"ve_suborder": 4
},
{
"id": "FR-GF-08",
"kind": "FR",
"title": "Map 'resolution_method' \u2192 'confidence_label' at edge write time; backfill on reindex",
"priority": "Must Have",
"status": "NOT_DONE",
"notes": "v3.7.8 P1 \u2014 map resolution_method \u2192 confidence_label",
"section": "5.9 Graphify-Inspired Features",
"prd_line": null,
"focus": "P1",
"focus_rank": 1,
"ve_suborder": 4
},
{
"id": "FR-GF-09",
"kind": "FR",
"title": "Propagate 'confidence_label' in impact, call_graph, path, query_graph, Web UI",
"priority": "Must Have",
"status": "NOT_DONE",
"notes": "v3.7.8 P1 \u2014 propagate to MCP + ui-v2 edge tooltips",
"section": "5.9 Graphify-Inspired Features",
"prd_line": null,
"focus": "P1",
"focus_rank": 1,
"ve_suborder": 4
},
{
"id": "REL-043",
"kind": "Release",
"title": "US-GF-04 provenance labels on all relationship types",
"priority": "Must Have",
"status": "NOT_DONE",
"notes": "v3.7.8 P1 \u2014 US-GF-04 provenance gate",
"section": "8.3 v3.6 Roll-up (Current: v0.17.9) - STATUS",
"prd_line": null,
"focus": "P1",
"focus_rank": 1,
"ve_suborder": 4
},
{
"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\u2026",
"priority": "Must Have",
"status": "NOT_DONE",
"notes": "v3.7.8 P1 \u2014 auto-write .leankg/GRAPH_REPORT.md on index",
"section": "5.9 Graphify-Inspired Features",
"prd_line": null,
"focus": "P1",
"focus_rank": 1,
"ve_suborder": 5
},
{
"id": "FR-GF-21",
"kind": "FR",
"title": "CLI/MCP export html \u2014 single-file bounded subgraph/community; document node budget",
"priority": "Must Have",
"status": "NOT_DONE",
"notes": "v3.7.8 P1 \u2014 US-GF-13",
"section": "5.9 Graphify-Inspired Features",
"prd_line": null,
"focus": "P1",
"ve_suborder": 6,
"focus_rank": 1
},
{
"id": "FR-UI2-08",
"kind": "FR",
"title": "Query FAB dual-mode: NL \u2192 query_graph; Advanced \u2192 raw Cozo POST /api/query",
"priority": "Must Have",
"status": "NOT_DONE",
"notes": "v3.7.8 P1 \u2014 US-UI2-06",
"section": "5.19 UI v2 Graph Explorer",
"prd_line": null,
"focus": "P1",
"ve_suborder": 7,
"focus_rank": 1
},
{
"id": "FR-UI2-09",
"kind": "FR",
"title": "Build ui-v2 into src/embed/; leankg serve + Docker serve ui-v2 by default",
"priority": "Must Have",
"status": "NOT_DONE",
"notes": "v3.7.8 P1 \u2014 US-UI2-07",
"section": "5.19 UI v2 Graph Explorer",
"prd_line": null,
"focus": "P1",
"ve_suborder": 8,
"focus_rank": 1
},
{
"id": "REL-057",
"kind": "Release",
"title": "ui-v2 cutover evidence: smoke + screenshots that embed/Docker serves ui-v2 as default",
"priority": "Must Have",
"status": "NOT_DONE",
"notes": "v3.7.8 P1 \u2014 US-UI2-07 gate",
"section": "5.19 UI v2 Graph Explorer",
"prd_line": null,
"focus": "P1",
"ve_suborder": 8,
"focus_rank": 1
},
{
"id": "FR-A02",
"kind": "FR",
"title": "Automate/document ontology sync for concepts + workflows YAML",
"priority": "Should Have",
"status": "NOT_DONE",
"notes": "P1 docs/automation; runtime auto-update is US-ONT-PROC-01 / FR-ONT-PROC-* P0 (v3.7.9)",
"section": "5.10 CBM Structural Parity Requirements (merged)",
"prd_line": null,
"focus": "P1",
"focus_rank": 1,
"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-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 \u201cfully done\u201d",
"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) \u2014 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": "\u2265 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\u2192Cozo 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 \u2265 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-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-16",
"kind": "FR",
"title": "ADR/RFC citation extraction from docs \u2192 rationale nodes linked to code (parser done in 'b0c9477'; ADR-citation\u2026",
"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-23",
"kind": "FR",
"title": "Expand leankg install platforms (start Cursor+Claude+Codex; grow toward Graphify breadth)",
"priority": "Should Have",
"status": "NOT_DONE",
"notes": "v3.7.8 P2 \u2014 US-GF-15",
"section": "5.9 Graphify-Inspired Features",
"prd_line": null,
"focus": "P2",
"ve_suborder": 0,
"focus_rank": 2
},
{
"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-SEM-01",
"kind": "FR",
"title": "Dual token accounting: delivered tokens + _token_budget.{max,actual,truncated}; docs teach \u22653\u00d7 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 (\u2265 sibling kg_*, target 2k\u20134k)",
"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-UI2-10",
"kind": "FR",
"title": "Cluster legend + show/hide filters wired to /api/graph/clusters",
"priority": "Should Have",
"status": "NOT_DONE",
"notes": "v3.7.8 P2 \u2014 US-UI2-08",
"section": "5.19 UI v2 Graph Explorer",
"prd_line": null,
"focus": "P2",
"ve_suborder": 0,
"focus_rank": 2
},
{
"id": "FR-UI2-11",
"kind": "FR",
"title": "Port incidents / env / conflicts panels from legacy ui/ into ui-v2",
"priority": "Should Have",
"status": "NOT_DONE",
"notes": "v3.7.8 P2 \u2014 US-UI2-09",
"section": "5.19 UI v2 Graph Explorer",
"prd_line": null,
"focus": "P2",
"ve_suborder": 0,
"focus_rank": 2
},
{
"id": "FR-SEM-05",
"kind": "FR",
"title": "Optional file-diversity / MMR post-filter after HNSW+rerank (top-k not \u226570% one file)",
"priority": "Could Have",
"status": "NOT_DONE",
"notes": "Could Have \u2014 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": "FR-SURF-06",
"kind": "FR",
"title": "Mega-safe get_doc_structure/tree; optional merge format tree|list after safety",
"priority": "Could Have",
"status": "NOT_DONE",
"notes": "v3.7.4 \u2014 Could Have; do not merge without refusing all_elements on mega",
"section": "5.18 MCP Tool Surface Rationalization (v3.7.4)",
"prd_line": null,
"focus": "P3",
"focus_rank": 3,
"ve_suborder": 0
},
{
"id": "US-CBM-A1",
"kind": "User Story",
"title": "Correct MCP 'project' routing (multi-mount \u2260 wrong RocksDB project)",
"priority": "Must Have",
"status": "PENDING",
"notes": "PENDING (ops; freepeak\u2260be historically)",
"section": "3.11 CBM Structural Parity Stories (US-CBM) \u2014 merged from 'p\u2026",
"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 \u201cdone\u201d",
"priority": "Must Have",
"status": "PENDING",
"notes": "PENDING",
"section": "3.11 CBM Structural Parity Stories (US-CBM) \u2014 merged from 'p\u2026",
"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) \u2014 merged from 'p\u2026",
"prd_line": null,
"focus": "P1",
"focus_rank": 1,
"ve_suborder": 0
},
{
"id": "US-GF-14",
"kind": "User Story",
"title": "Three-verb product narrative: path \u00b7 explain \u00b7 query first in README / AGENTS / skills",
"priority": "Must Have",
"status": "PENDING",
"notes": "v3.7.8 \u2014 cheap tools first for agent cost",
"section": "3.10 Graphify-Inspired Stories (US-GF-01 to US-GF-17)",
"prd_line": null,
"focus": "P1",
"ve_suborder": 2,
"focus_rank": 1
},
{
"id": "US-GF-17",
"kind": "User Story",
"title": "Always-on graph-first install/hooks (Cursor/Claude/Codex) \u2014 primary company cost lever",
"priority": "Must Have",
"status": "PENDING",
"notes": "v3.7.8 P1 \u2014 nudge/strict before grep; Graphify install pattern",
"section": "3.10 Graphify-Inspired Stories (US-GF-01 to US-GF-17)",
"prd_line": null,
"focus": "P1",
"ve_suborder": 3,
"focus_rank": 1
},
{
"id": "US-GF-13",
"kind": "User Story",
"title": "Shareable single-file HTML graph export (leankg export html, bounded subgraph/community)",
"priority": "Must Have",
"status": "PENDING",
"notes": "v3.7.8 \u2014 Graphify graph.html parity without replacing live UI",
"section": "3.10 Graphify-Inspired Stories (US-GF-01 to US-GF-17)",
"prd_line": null,
"focus": "P1",
"ve_suborder": 6,
"focus_rank": 1
},
{
"id": "US-UI2-06",
"kind": "User Story",
"title": "Query FAB NL mode calls query_graph (raw Cozo remains advanced)",
"priority": "Must Have",
"status": "PENDING",
"notes": "v3.7.8 P1 \u2014 Graphify query verb in UI",
"section": "3.17 UI v2 \u2014 GitNexus Shell Adapted (US-UI2)",
"prd_line": null,
"focus": "P1",
"ve_suborder": 7,
"focus_rank": 1
},
{
"id": "US-UI2-07",
"kind": "User Story",
"title": "ui-v2 production cutover: embed into src/embed/ / Docker serve; become default explorer",
"priority": "Must Have",
"status": "PENDING",
"notes": "v3.7.8 P1 \u2014 end Phase-1-only split",
"section": "3.17 UI v2 \u2014 GitNexus Shell Adapted (US-UI2)",
"prd_line": null,
"focus": "P1",
"ve_suborder": 8,
"focus_rank": 1
},
{
"id": "US-CBM-B12",
"kind": "User Story",
"title": "\u226510 'run_raw_query' recipes in skills/docs",
"priority": "Should Have",
"status": "PENDING",
"notes": "PENDING",
"section": "3.11 CBM Structural Parity Stories (US-CBM) \u2014 merged from 'p\u2026",
"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) \u2014 merged from 'p\u2026",
"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) \u2014 merged from 'p\u2026",
"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) \u2014 merged from 'p\u2026",
"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) \u2014 merged from 'p\u2026",
"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) \u2014 merged from 'p\u2026",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "US-GF-15",
"kind": "User Story",
"title": "Expand assistant install matrix (Cursor/Claude/Codex/\u2026) toward Graphify-style one-command install",
"priority": "Should Have",
"status": "PENDING",
"notes": "v3.7.8 P2 \u2014 after US-GF-17 core platforms",
"section": "3.10 Graphify-Inspired Stories (US-GF-01 to US-GF-17)",
"prd_line": null,
"focus": "P2",
"ve_suborder": 0,
"focus_rank": 2
},
{
"id": "US-GF-16",
"kind": "User Story",
"title": "Productize reflect / query-outcome loop as default skill guidance",
"priority": "Should Have",
"status": "PENDING",
"notes": "v3.7.8 P2 \u2014 package existing report_query_outcome",
"section": "3.10 Graphify-Inspired Stories (US-GF-01 to US-GF-17)",
"prd_line": null,
"focus": "P2",
"ve_suborder": 0,
"focus_rank": 2
},
{
"id": "US-MP-03",
"kind": "User Story",
"title": "Conversation/Decision Mining \u2014 import Claude/ChatGPT/Slack transcripts; auto-extract decisions, preferences, m\u2026",
"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": "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 \u2014 agents under-budget when truncated:true (actual 3\u20134\u00d7 delivered)",
"section": "3.14 Semantic MCP Agent UX Enhancements (US-SEM) \u2014 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) \u2014 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) \u2014 v3.7.1",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "US-UI2-08",
"kind": "User Story",
"title": "Community/cluster legend with show-hide filters (Graphify sidebar parity)",
"priority": "Should Have",
"status": "PENDING",
"notes": "v3.7.8 P2",
"section": "3.17 UI v2 \u2014 GitNexus Shell Adapted (US-UI2)",
"prd_line": null,
"focus": "P2",
"ve_suborder": 0,
"focus_rank": 2
},
{
"id": "US-UI2-09",
"kind": "User Story",
"title": "Port legacy ops panels (incidents / env / conflicts) into ui-v2",
"priority": "Should Have",
"status": "PENDING",
"notes": "v3.7.8 P2 \u2014 preserve LeanKG ops strength",
"section": "3.17 UI v2 \u2014 GitNexus Shell Adapted (US-UI2)",
"prd_line": null,
"focus": "P2",
"ve_suborder": 0,
"focus_rank": 2
},
{
"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) \u2014 merged from 'p\u2026",
"prd_line": null,
"focus": "P3",
"focus_rank": 3,
"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 \u2014 optional diversity mode",
"section": "3.14 Semantic MCP Agent UX Enhancements (US-SEM) \u2014 v3.7.1",
"prd_line": null,
"focus": "P3",
"focus_rank": 3,
"ve_suborder": 0
},
{
"id": "US-SURF-05",
"kind": "User Story",
"title": "Optional unify get_doc_tree + get_doc_structure (mega-safe first)",
"priority": "Could Have",
"status": "PENDING",
"notes": "v3.7.4 \u2014 safety before merge; both currently all_elements()",
"section": "3.16 MCP Tool Surface Rationalization (US-SURF) \u2014 v3.7.4",
"prd_line": null,
"focus": "P3",
"focus_rank": 3,
"ve_suborder": 0
},
{
"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 \u2014 Go/TS/Python/Rust/Java/Kotlin (+Dart/XML/TF/CI) indexed; C++/C#/Ruby/P\u2026",
"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) \u2014 merged from 'p\u2026",
"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) \u2014 explicit token budgets per layer: L0 identity (~50 tok), L1 critical facts (\u2026",
"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 \u2014 directories as first-class 'directory' nodes with 'contains' edges (dir\u2192dir,\u2026",
"priority": "Must Have",
"status": "PARTIAL",
"notes": "PARTIAL \u2014 'generate_physical_structure' creates 'directory' / 'File' / 'Project'\u2026",
"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": "FR-COST-01",
"kind": "FR",
"title": "Publish ROI brief: token/tool-call floors, multi-repo Docker TCO, mega-graph + ops differentiators; link \u00a71.1 queue",
"priority": "Must Have",
"status": "PARTIAL",
"notes": "PARTIAL \u2014 ROI brief published; polish + README competitive link remains",
"section": "5.20 Company cost / competitive ROI (v3.7.8)",
"prd_line": null,
"focus": "P1",
"ve_suborder": 1,
"focus_rank": 1
},
{
"id": "US-COST-01",
"kind": "User Story",
"title": "Manager ROI brief: why LeanKG reduces AI agent cost vs grep/cat and vs Graphify at company scale",
"priority": "Must Have",
"status": "PARTIAL",
"notes": "PARTIAL \u2014 brief at docs/reports/leankg-vs-graphify-company-roi-2026-07-21.md; README link pending REL-058",
"section": "5.20 Company cost / competitive ROI (v3.7.8)",
"prd_line": null,
"focus": "P1",
"ve_suborder": 1,
"focus_rank": 1
},
{
"id": "US-GF-04",
"kind": "User Story",
"title": "Edge provenance labels 'EXTRACTED' / 'INFERRED' / 'AMBIGUOUS' on all relationships (unify with 'resolution_met\u2026",
"priority": "Must Have",
"status": "PARTIAL",
"notes": "PARTIAL \u2014 unify confidence_label; ui-v2 tooltips FR-GF-09; v3.7.8 P1",
"section": "3.10 Graphify-Inspired Stories (US-GF-01 to US-GF-12)",
"prd_line": null,
"focus": "P1",
"focus_rank": 1,
"ve_suborder": 4
},
{
"id": "US-GF-06",
"kind": "User Story",
"title": "Generate 'GRAPH_REPORT.md': god nodes, surprising cross-module links, suggested questions, confidence summary",
"priority": "Must Have",
"status": "PARTIAL",
"notes": "PARTIAL \u2014 get_graph_report MCP DONE; auto GRAPH_REPORT.md + Overview still open",
"section": "3.10 Graphify-Inspired Stories (US-GF-01 to US-GF-12)",
"prd_line": null,
"focus": "P1",
"focus_rank": 1,
"ve_suborder": 5
},
{
"id": "US-LANG-02",
"kind": "User Story",
"title": "Swift parser (tree-sitter-swift) with regex entity extraction",
"priority": "Should Have",
"status": "PARTIAL",
"notes": "PARTIAL \u2014 'src/indexer/swift.rs' + unit tests ('7027d6b'); **not wired** into in\u2026",
"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-GF-10",
"kind": "User Story",
"title": "Expand language extractors toward Graphify breadth (Vue/Svelte, Scala, Lua, Zig, shell, Apex, \u2026)",
"priority": "Could Have",
"status": "PARTIAL",
"notes": "PARTIAL \u2014 Vue/Svelte extractors in 'src/indexer/sfc.rs' ('e617a49') **not wired*\u2026",
"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 \u2194 app code)",
"priority": "Could Have",
"status": "PARTIAL",
"notes": "PARTIAL \u2014 SQL DDL parser in 'src/indexer/sql.rs' ('de314eb') **not wired** into \u2026",
"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'\u2026",
"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": "FR-EMBED-R4",
"kind": "FR",
"title": "(open / aspirational): Cold functions-only <20 min on ~371k on reference M2 Pro 10c. **Approach:** improve \u2026",
"priority": "Could Have",
"status": "OPEN",
"notes": "[ ]",
"section": "5.12 Semantic ANN \u2014 CozoDB HNSW expansion (v3.6.2) + embed r\u2026",
"prd_line": null,
"focus": "P3",
"focus_rank": 3,
"ve_suborder": 0
},
{
"id": "FR-HNSW-E",
"kind": "FR",
"title": "Incremental embed filter (foundation) \u2014 PARTIAL: day-2 resume/HNSW no-op/stale-blast tracked under FR-EMBED-RESUME-*",
"priority": "Must Have",
"status": "DONE",
"notes": "DONE \u2014 day-2 gaps closed by FR-EMBED-RESUME-* (v3.7.2)",
"section": "5.16 Day-2 Embed Resume / Resource Gate (v3.7.2) + 5.12",
"prd_line": null,
"focus": "P0",
"focus_rank": 0,
"ve_suborder": 0
},
{
"id": "US-MG-TOOL-01",
"kind": "User Story",
"title": "Mega-safe concept_search / query_graph / get_clusters serve",
"priority": "Must Have",
"status": "DONE",
"notes": "OPEN P0 2026-07-20 \u2014 evidence docs/reports/ce03fd8-docker-mcp-full-tool-test-2026-07-20.md",
"section": "3.14 / US-MG-TOOL-01",
"prd_line": null,
"focus": "P0",
"focus_rank": 0,
"ve_suborder": 0
},
{
"id": "US-ONT-PROC-01",
"kind": "User Story",
"title": "Procedural ontology auto-update while using LeanKG (YAML watch + index hook; no manual sync/restart)",
"priority": "Must Have",
"status": "DONE",
"notes": "P0 CLOSED \u2014 YAML watch + boot marker + post-index + ontology_control; evidence docs/reports/ontology-proc-auto-smoke-2026-07-21.md",
"section": "3.18 Procedural Ontology Auto-Update (US-ONT-PROC)",
"prd_line": null,
"focus": "P0",
"ve_suborder": 0,
"focus_rank": 0
},
{
"id": "US-SEM-06",
"kind": "User Story",
"title": "Mega-graph HNSW semantic_search / kg_semantic_context must not OOM MCP",
"priority": "Must Have",
"status": "DONE",
"notes": "DONE 2026-07-20 \u2014 keyed hydration + has_any; evidence docs/reports/rel-054-mega-sem-oom-fix-2026-07-20.md",
"section": "3.14 Semantic MCP Agent UX Enhancements (US-SEM) \u2014 v3.7.1",
"prd_line": null,
"focus": "P0",
"focus_rank": 0,
"ve_suborder": 0
},
{
"id": "FR-ONT-MEGA-01",
"kind": "FR",
"title": "Mega-safe concept_search keyed code_ref + typed name fallback",
"priority": "Must Have",
"status": "DONE",
"notes": "P0 \u2014 ban load_indexed_code_elements on hot path",
"section": "5.15",
"prd_line": null,
"focus": "P0",
"focus_rank": 0,
"ve_suborder": 1
},
{
"id": "FR-ONT-PROC-01",
"kind": "FR",
"title": "Watch ontology/workflows.yaml + concepts.yaml during mcp-http/serve; debounce idempotent sync without dropping HTTP",
"priority": "Must Have",
"status": "DONE",
"notes": "Watcher wired mcp-http/stdio/serve; debounce LEANKG_ONTOLOGY_WATCH_DEBOUNCE_MS",
"section": "5.21 Procedural ontology auto-update (v3.7.9)",
"prd_line": null,
"focus": "P0",
"ve_suborder": 1,
"focus_rank": 0
},
{
"id": "FR-SEM-07",
"kind": "FR",
"title": "Mega-safe HNSW path: no unbounded all_elements(); ANN + paginated/keyed hydration; MCP stays healthy under mem_limit",
"priority": "Must Have",
"status": "DONE",
"notes": "DONE 2026-07-20 \u2014 get_elements_by_qualified_names; skip index_size when ann_top_k set; has_any gates",
"section": "5.15 Semantic MCP Agent UX Enhancements (v3.7.1)",
"prd_line": null,
"focus": "P0",
"focus_rank": 0,
"ve_suborder": 1
},
{
"id": "US-EMBED-01",
"kind": "User Story",
"title": "Second standalone Docker/CLI embed --wait on unchanged code skips fresh vectors (day-2 delta only)",
"priority": "Must Have",
"status": "DONE",
"notes": "DONE \u2014 e2e incremental_build_skips_when_all_rows_fresh + build early-exit",
"section": "3.15 Day-2 Embed Resume (US-EMBED) \u2014 v3.7.2",
"prd_line": null,
"focus": "P0",
"focus_rank": 0,
"ve_suborder": 1
},
{
"id": "FR-GF-MEGA-01",
"kind": "FR",
"title": "Mega-safe query_graph keyed resolve + frontier-local BFS",
"priority": "Must Have",
"status": "DONE",
"notes": "P0 \u2014 no all_elements/all_relationships on NL path",
"section": "5.15",
"prd_line": null,
"focus": "P0",
"focus_rank": 0,
"ve_suborder": 2
},
{
"id": "FR-ONT-PROC-02",
"kind": "FR",
"title": "Boot ontology skip marker considers workflows.yaml mtime (not only concepts.yaml)",
"priority": "Must Have",
"status": "DONE",
"notes": "entrypoint.sh marker gates on concepts.yaml AND workflows.yaml",
"section": "5.21 Procedural ontology auto-update (v3.7.9)",
"prd_line": null,
"focus": "P0",
"ve_suborder": 2,
"focus_rank": 0
},
{
"id": "REL-054",
"kind": "Release",
"title": "Live mega smoke: semantic_search + kg_semantic_context on /workspace-other without OOM/restart",
"priority": "Must Have",
"status": "DONE",
"notes": "DONE 2026-07-20 \u2014 docs/reports/rel-054-mega-sem-oom-fix-2026-07-20.md; residual model RSS under ~3.9GiB cgroup noted",
"section": "5.15 Semantic MCP Agent UX Enhancements (v3.7.1)",
"prd_line": null,
"focus": "P0",
"focus_rank": 0,
"ve_suborder": 2
},
{
"id": "US-EMBED-02",
"kind": "User Story",
"title": "Interrupted embed (CLI or Docker MCP) resumes; already-fresh vectors are not re-inferred",
"priority": "Must Have",
"status": "DONE",
"notes": "DONE \u2014 per-batch upsert_fresh in serial + parallel writer (FR-EMBED-RESUME-03)",
"section": "3.15 Day-2 Embed Resume (US-EMBED) \u2014 v3.7.2",
"prd_line": null,
"focus": "P0",
"focus_rank": 0,
"ve_suborder": 2
},
{
"id": "FR-ONT-PROC-03",
"kind": "FR",
"title": "After successful index, refresh procedural ontology (or MCP ontology_control sync on index complete)",
"priority": "Must Have",
"status": "DONE",
"notes": "Post-index hooks + ontology_control(action=sync|status)",
"section": "5.21 Procedural ontology auto-update (v3.7.9)",
"prd_line": null,
"focus": "P0",
"ve_suborder": 3,
"focus_rank": 0
},
{
"id": "REL-055",
"kind": "Release",
"title": "Live mega smoke concept_search + query_graph + get_clusters",
"priority": "Must Have",
"status": "DONE",
"notes": "P0 release gate after FR-ONT/GF/CL",
"section": "5.15",
"prd_line": null,
"focus": "P0",
"focus_rank": 0,
"ve_suborder": 3
},
{
"id": "US-EMBED-03",
"kind": "User Story",
"title": "Zero-dirty embed does not drop/rebuild HNSW",
"priority": "Must Have",
"status": "DONE",
"notes": "DONE \u2014 should_skip_hnsw_rebuild + nothing_to_embed_report",
"section": "3.15 Day-2 Embed Resume (US-EMBED) \u2014 v3.7.2",
"prd_line": null,
"focus": "P0",
"focus_rank": 0,
"ve_suborder": 3
},
{
"id": "REL-059",
"kind": "Release",
"title": "Live smoke: edit workflows.yaml \u2192 kg_trace_workflow updates without restart; boot respects workflows mtime",
"priority": "Must Have",
"status": "DONE",
"notes": "Smoke report docs/reports/ontology-proc-auto-smoke-2026-07-21.md",
"section": "5.21 Procedural ontology auto-update (v3.7.9)",
"prd_line": null,
"focus": "P0",
"ve_suborder": 4,
"focus_rank": 0
},
{
"id": "US-EMBED-04",
"kind": "User Story",
"title": "Docker MCP/boot/setup embed resumes existing RocksDB data; cold/fresh only when no embed data",
"priority": "Must Have",
"status": "DONE",
"notes": "DONE \u2014 Docker MCP + 3-workspace vector counts + semantic_search OK (report 2026-07-18)",
"section": "3.15 Day-2 Embed Resume (US-EMBED) \u2014 v3.7.2",
"prd_line": null,
"focus": "P0",
"focus_rank": 0,
"ve_suborder": 4
},
{
"id": "US-VE-01",
"kind": "User Story",
"title": "As a local developer on Apple Silicon (\u226416GB RAM), I want idle LeanKG MCP RSS **< 150MB**, so the IDE and O\u2026",
"priority": "Must Have",
"status": "DONE",
"notes": "DONE \u2014 lean absolute \u224865MB; warm delta \u224858MB; CI asserts delta_ok (PR #80)",
"section": "3.13 Optimized Local-First Vector Graph Engine (US-VE) \u2014 v3.\u2026",
"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 \u2014 TTC P95\u22480.086ms < 100ms",
"section": "3.13 Optimized Local-First Vector Graph Engine (US-VE) \u2014 v3.\u2026",
"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\u2026",
"priority": "Must Have",
"status": "DONE",
"notes": "DONE on origin/main (dbc22c4 / #79) \u2014 VectorEngineFactory + LEANKG_VECTOR_ENGINE",
"section": "3.13 Optimized Local-First Vector Graph Engine (US-VE) \u2014 v3.\u2026",
"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\u2026",
"priority": "Must Have",
"status": "DONE",
"notes": "DONE on origin/main \u2014 Sq8Cache + runtime SIMD (NEON/AVX2/AVX-512/scalar)",
"section": "3.13 Optimized Local-First Vector Graph Engine (US-VE) \u2014 v3.\u2026",
"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\u2026",
"priority": "Must Have",
"status": "DONE",
"notes": "DONE on origin/main \u2014 dual-write + RocksDB mmap-off/Zstd options + Tier3 flat file",
"section": "3.13 Optimized Local-First Vector Graph Engine (US-VE) \u2014 v3.\u2026",
"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\u2026",
"priority": "Must Have",
"status": "DONE",
"notes": "DONE on origin/main \u2014 dw/simd/gc/factory unit tests present",
"section": "3.13 Optimized Local-First Vector Graph Engine (US-VE) \u2014 v3.\u2026",
"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 (\u2265100 tasks) showing \u226560% token cut, \u226580% tool-call cut, \u22652\u00d7 fast\u2026",
"priority": "Must Have",
"status": "DONE",
"notes": "DONE \u2014 A/B floors met (65%/84.6%/2.5\u00d7) via evaluate_ab_for_gate",
"section": "3.13 Optimized Local-First Vector Graph Engine (US-VE) \u2014 v3.\u2026",
"prd_line": null,
"focus": "P0",
"focus_rank": 0,
"ve_suborder": 5
},
{
"id": "FR-EMBED-RESUME-01",
"kind": "FR",
"title": "Standalone embed --wait loads RocksDB embedding_state; unchanged second run skips fresh (embedded\u22480)",
"priority": "Must Have",
"status": "DONE",
"notes": "DONE \u2014 incremental filter + e2e resume no-op",
"section": "5.16 Day-2 Embed Resume / Resource Gate (v3.7.2)",
"prd_line": null,
"focus": "P0",
"focus_rank": 0,
"ve_suborder": 10
},
{
"id": "FR-VE-ABS",
"kind": "FR",
"title": "Storage abstraction via Rust traits + **static enum dispatch** ('LocalEngine' / 'CloudEngine') selected from e\u2026",
"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 \u2192 'fsync' \u2192 Commit offsets to RocksDB/TiKV \u2192 Update RAM SQ8 cache**.\u2026",
"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 \u2192 clean recovery, **no dangling pointers**, incomplete r\u2026",
"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 \u2208 [12, 16]**; raise 'efConstruction' to protect recall; document \u2026",
"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 \u2192 cloud 50\u201380%).",
"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!') \u2192 AVX-512 / AVX2 / NEON / \u2026",
"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 \u2014 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 \u2014 Graph topology** in RocksDB (Local) / TiKV (Cloud): metadata, AST refs, HNSW adjacency lists. Local\u2026",
"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 \u2014 Quantized vectors** as an in-memory SQ8/INT8 array (100% RAM). All hot ANN distance via SIMD; **no \u2026",
"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 \u2014 Raw payload** flat binary file: original FP32 vectors + source/chunk payload. Read **once** during \u2026",
"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-EMBED-RESUME-02",
"kind": "FR",
"title": "Skip HNSW drop+recreate when to_embed empty and orphan set empty; fast no-op exit",
"priority": "Must Have",
"status": "DONE",
"notes": "DONE \u2014 skip HNSW drop/rebuild + model load when nothing dirty",
"section": "5.16 Day-2 Embed Resume / Resource Gate (v3.7.2)",
"prd_line": null,
"focus": "P0",
"focus_rank": 0,
"ve_suborder": 11
},
{
"id": "FR-EMBED-RESUME-03",
"kind": "FR",
"title": "Mid-run durability: committed fresh rows survive kill/restart; next run dirty-only",
"priority": "Must Have",
"status": "DONE",
"notes": "DONE \u2014 upsert_fresh per batch/flush",
"section": "5.16 Day-2 Embed Resume / Resource Gate (v3.7.2)",
"prd_line": null,
"focus": "P0",
"focus_rank": 0,
"ve_suborder": 12
},
{
"id": "FR-EMBED-RESUME-04",
"kind": "FR",
"title": "Indexer marks stale only for content_hash-changed QNs; no stale-all on no-op full index",
"priority": "Must Have",
"status": "DONE",
"notes": "DONE \u2014 mark_stale_if_changed + indexer wiring",
"section": "5.16 Day-2 Embed Resume / Resource Gate (v3.7.2)",
"prd_line": null,
"focus": "P0",
"focus_rank": 0,
"ve_suborder": 13
},
{
"id": "FR-EMBED-RESUME-05",
"kind": "FR",
"title": "Day-2 SLA evidence: unchanged mega-graph second pass near-zero ONNX; wall time << cold",
"priority": "Must Have",
"status": "DONE",
"notes": "DONE \u2014 3-workspace day-2 incremental + vector store counts documented",
"section": "5.16 Day-2 Embed Resume / Resource Gate (v3.7.2)",
"prd_line": null,
"focus": "P0",
"focus_rank": 0,
"ve_suborder": 14
},
{
"id": "FR-EMBED-RESUME-06",
"kind": "FR",
"title": "All Docker embed-on paths share resume-if-data / cold-if-empty; never wipe on enable (BACKGROUND/ON_BOOT/SETUP/docker-up)",
"priority": "Must Have",
"status": "DONE",
"notes": "DONE \u2014 shared build path + Docker MCP evidence in embed-3-workspaces report",
"section": "5.16 Day-2 Embed Resume / Resource Gate (v3.7.2)",
"prd_line": null,
"focus": "P0",
"focus_rank": 0,
"ve_suborder": 15
},
{
"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 \u2192 background GC + concurrent reads \u2192 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": "REL-052",
"kind": "Release",
"title": "v3.7.2 embed-resume gate: day-2 proven for standalone embed --wait AND Docker MCP embed-on (resume if data)",
"priority": "Must Have",
"status": "DONE",
"notes": "DONE \u2014 CLI smoke + Docker MCP vectors/semantic on 3 mounts (PR #81)",
"section": "8.5 v3.7.2 Embed Resume Gate",
"prd_line": null,
"focus": "P0",
"focus_rank": 0,
"ve_suborder": 20
},
{
"id": "FR-VE-BENCH-IO",
"kind": "FR",
"title": "Prove \u2265 **80%** reduction in page faults / disk reads vs legacy mmap architecture.",
"priority": "Must Have",
"status": "DONE",
"notes": "DONE \u2014 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** \u2014 heap/RSS monitored; **must not** OOM-kill.",
"priority": "Must Have",
"status": "DONE",
"notes": "DONE \u2014 estimated 1M heap \u22481.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' \u2014 1 query vs **1,000,000** SQ8 chunks, Local mode P95 **< 50ms**.",
"priority": "Must Have",
"status": "DONE",
"notes": "DONE \u2014 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 \u2014 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-044",
"kind": "Release",
"title": "3-tier LocalEngine implemented (FR-VE-T1..T3 + FR-VE-ABS)",
"priority": "Must Have",
"status": "DONE",
"notes": "DONE \u2014 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 \u2014 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 \u2014 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 \u2014 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": "REL-048",
"kind": "Release",
"title": "Benches: <50ms P95 @ 1M SQ8; \u226580% I/O reduction vs mmap; recall >90% @ ef=50; 2GB cgroup no OOM",
"priority": "Must Have",
"status": "DONE",
"notes": "DONE \u2014 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: \u226560% tokens, \u226580% tool calls, \u22652\u00d7 faster, success \u2265 baseline (FR-VE-BENCH-AB)",
"priority": "Must Have",
"status": "DONE",
"notes": "DONE \u2014 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 \u2014 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": "FR-VE-BENCH-AB",
"kind": "FR",
"title": "Agent A/B ('run_kilo_ab_final.sh' or existing harness), \u2265100 tasks:",
"priority": "Must Have",
"status": "DONE",
"notes": "DONE \u2014 cargo bench 2026-07-17: 100 tasks, token\u221265.0%, tool\u221284.6%, speedup 2.50\u00d7; 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\u2026",
"priority": "Must Have",
"status": "DONE",
"notes": "DONE \u2014 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\u2026",
"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\u2026",
"priority": "Should Have",
"status": "DONE",
"notes": "DONE on origin/main \u2014 shadow-paging GC (FR-VE-FS-GC)",
"section": "3.13 Optimized Local-First Vector Graph Engine (US-VE) \u2014 v3.\u2026",
"prd_line": null,
"focus": "P0",
"focus_rank": 0,
"ve_suborder": 50
},
{
"id": "FR-B03",
"kind": "FR",
"title": "LSP bridge infrastructure for Go (could read 'gopls' textDocument/definition/references) \u2014 DONE infra ('534cd7\u2026",
"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 \u2014 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": "FR-CL-MEGA-01",
"kind": "FR",
"title": "Mega get_clusters serves precomputed cluster_id from DB",
"priority": "Must Have",
"status": "DONE",
"notes": "P1 \u2014 no live Louvain on mega; offline assign hint if empty",
"section": "5.15",
"prd_line": null,
"focus": "P1",
"focus_rank": 1,
"ve_suborder": 0
},
{
"id": "FR-LSP-A",
"kind": "FR",
"title": "LeanKG-native Hybrid LSP tier \u2014 an **in-process, no-spawn type resolver** for Go / TypeScript / Python / Rust \u2026",
"priority": "Must Have",
"status": "DONE",
"notes": "[ ]",
"section": "5.13 LSP Adoption Track from CBM (moved from former 5.12; de\u2026",
"prd_line": null,
"focus": "P1",
"focus_rank": 1,
"ve_suborder": 0
},
{
"id": "FR-LSP-B",
"kind": "FR",
"title": "Prefab 'lsp:' block \u2014 'leankg init --with-lsp' writes a default block listing 'gopls' / 'typescript-language-s\u2026",
"priority": "Must Have",
"status": "DONE",
"notes": "[ ]",
"section": "5.13 LSP Adoption Track from CBM (moved from former 5.12; de\u2026",
"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 \u2014 when 'typed_resolve=go,ts' (or 'all') is enabled, the LSP/n\u2026",
"priority": "Must Have",
"status": "DONE",
"notes": "[ ]",
"section": "5.13 LSP Adoption Track from CBM (moved from former 5.12; de\u2026",
"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\u2026",
"priority": "Must Have",
"status": "DONE",
"notes": "[ ]",
"section": "5.13 LSP Adoption Track from CBM (moved from former 5.12; de\u2026",
"prd_line": null,
"focus": "P1",
"focus_rank": 1,
"ve_suborder": 0
},
{
"id": "FR-SURF-01",
"kind": "FR",
"title": "Fix semantic_search schema: dual-path HNSW+rerank OR ontology-first (not ANN-only)",
"priority": "Must Have",
"status": "DONE",
"notes": "v3.7.4 \u2014 handler.rs dual path; tools.rs description outdated | DONE 2026-07-18 dual-path docstring in tools.rs",
"section": "5.18 MCP Tool Surface Rationalization (v3.7.4)",
"prd_line": null,
"focus": "P1",
"focus_rank": 1,
"ve_suborder": 0
},
{
"id": "FR-SURF-02",
"kind": "FR",
"title": "Prefer-order one-liners on concept_search / search_code / semantic_search / kg_semantic_context / kg_context",
"priority": "Must Have",
"status": "DONE",
"notes": "v3.7.4 \u2014 sync AGENTS + using-leankg skill | DONE 2026-07-18 prefer-order one-liners",
"section": "5.18 MCP Tool Surface Rationalization (v3.7.4)",
"prd_line": null,
"focus": "P1",
"focus_rank": 1,
"ve_suborder": 0
},
{
"id": "FR-SURF-03",
"kind": "FR",
"title": "Delete mcp_hello, mcp_impact, get_doc_for_file; update redundant_tools_matrix.rs",
"priority": "Must Have",
"status": "DONE",
"notes": "v3.7.4 \u2014 registry ~85 \u2192 ~82 | DONE 2026-07-18 hard delete + redundant_tools_matrix",
"section": "5.18 MCP Tool Surface Rationalization (v3.7.4)",
"prd_line": null,
"focus": "P1",
"focus_rank": 1,
"ve_suborder": 0
},
{
"id": "FR-UI2-01",
"kind": "FR",
"title": "New ui-v2/ app; leave ui/ and src/embed untouched in Phase 1",
"priority": "Must Have",
"status": "DONE",
"notes": "DONE 2026-07-20 \u2014 ui-v2 Phase 1; evidence docs/reports/ui-v2-gitnexus-parity-2026-07-20.md",
"section": "5.19 UI v2",
"prd_line": null,
"focus": "P1",
"focus_rank": 1,
"ve_suborder": 0
},
{
"id": "FR-UI2-02",
"kind": "FR",
"title": "3-pane shell: FileTree+Filters / Canvas / Code + Header + StatusBar",
"priority": "Must Have",
"status": "DONE",
"notes": "DONE 2026-07-20 \u2014 ui-v2 Phase 1; evidence docs/reports/ui-v2-gitnexus-parity-2026-07-20.md",
"section": "5.19 UI v2",
"prd_line": null,
"focus": "P1",
"focus_rank": 1,
"ve_suborder": 0
},
{
"id": "FR-UI2-03",
"kind": "FR",
"title": "Force / Tree / Circles layout modes",
"priority": "Must Have",
"status": "DONE",
"notes": "DONE 2026-07-20 \u2014 ui-v2 Phase 1; evidence docs/reports/ui-v2-gitnexus-parity-2026-07-20.md",
"section": "5.19 UI v2",
"prd_line": null,
"focus": "P1",
"focus_rank": 1,
"ve_suborder": 0
},
{
"id": "FR-UI2-04",
"kind": "FR",
"title": "LeanKG REST data plane",
"priority": "Must Have",
"status": "DONE",
"notes": "DONE 2026-07-20 \u2014 ui-v2 Phase 1; evidence docs/reports/ui-v2-gitnexus-parity-2026-07-20.md",
"section": "5.19 UI v2",
"prd_line": null,
"focus": "P1",
"focus_rank": 1,
"ve_suborder": 0
},
{
"id": "FR-UI2-05",
"kind": "FR",
"title": "Preserve US-MG-03/04 filter defaults",
"priority": "Must Have",
"status": "DONE",
"notes": "DONE 2026-07-20 \u2014 ui-v2 Phase 1; evidence docs/reports/ui-v2-gitnexus-parity-2026-07-20.md",
"section": "5.19 UI v2",
"prd_line": null,
"focus": "P1",
"focus_rank": 1,
"ve_suborder": 0
},
{
"id": "FR-UI2-06",
"kind": "FR",
"title": "decideSkipGraph mega-graph gate + Load anyway",
"priority": "Must Have",
"status": "DONE",
"notes": "DONE 2026-07-20 \u2014 ui-v2 Phase 1; evidence docs/reports/ui-v2-gitnexus-parity-2026-07-20.md",
"section": "5.19 UI v2",
"prd_line": null,
"focus": "P1",
"focus_rank": 1,
"ve_suborder": 0
},
{
"id": "FR-UI2-07",
"kind": "FR",
"title": "Vitest + Playwright Phase-1 parity matrix",
"priority": "Must Have",
"status": "DONE",
"notes": "DONE 2026-07-20 \u2014 ui-v2 Phase 1; evidence docs/reports/ui-v2-gitnexus-parity-2026-07-20.md",
"section": "5.19 UI v2",
"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\u2026",
"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\u2026",
"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\u2026",
"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\u2026",
"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\u2026",
"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\u2026",
"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\u2026",
"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\u2026",
"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\u2026",
"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\u2026",
"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\u2026",
"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 \u2014 'df0fec2')",
"priority": "Must Have",
"status": "DONE",
"notes": "8.3 v3.6 Roll-up (Current: v0.17.9) - ST\u2026",
"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\u2026",
"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\u2026",
"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\u2026",
"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\u2026",
"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\u2026",
"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\u2026",
"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\u2026",
"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 \u2014 gopls + tsserver + pyright + dart + sourcekit + kotli\u2026",
"priority": "Must Have",
"status": "DONE",
"notes": "8.3 v3.6 Roll-up (Current: v0.17.9) - ST\u2026",
"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": "DONE",
"notes": "DONE \u2014 US-GF-03 NL subgraph",
"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-056",
"kind": "Release",
"title": "ui-v2 GitNexus shell parity report",
"priority": "Must Have",
"status": "DONE",
"notes": "DONE 2026-07-20 \u2014 ui-v2 Phase 1; evidence docs/reports/ui-v2-gitnexus-parity-2026-07-20.md",
"section": "5.19 UI v2",
"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) \u2014 merged from 'p\u2026",
"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": "DONE",
"notes": "PARTIAL (LSP bridge + 'resolve_with_lsp' MCP + 'leankg lsp-resolve' CLI + 12-lan\u2026",
"section": "3.11 CBM Structural Parity Stories (US-CBM) \u2014 merged from 'p\u2026",
"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\u2026",
"section": "3.11 CBM Structural Parity Stories (US-CBM) \u2014 merged from 'p\u2026",
"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 \u2014 per-section max_items truncation + truncated_sections metadata)",
"section": "3.11 CBM Structural Parity Stories (US-CBM) \u2014 merged from 'p\u2026",
"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 (\u22652 Go + \u22652 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) \u2014 merged from 'p\u2026",
"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) \u2014 merged from 'p\u2026",
"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) \u2014 merged from 'p\u2026",
"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) \u2014 merged from 'p\u2026",
"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 \u2014 Dockerfiles '--features embeddings'; 'entrypoint.sh' \u2026",
"section": "3.11 CBM Structural Parity Stories (US-CBM) \u2014 merged from 'p\u2026",
"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) \u2014 merged from 'p\u2026",
"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) \u2014 merged from 'p\u2026",
"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-03",
"kind": "User Story",
"title": "Natural-language scoped subgraph query ('query_graph \"what connects auth to DB?\"')",
"priority": "Must Have",
"status": "DONE",
"notes": "DONE \u2014 MCP+CLI+tests (nl_query); REL-042",
"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 \u2014 relationships have valid_from/valid_to; historical queries (\"what dependencies exis\u2026",
"priority": "Must Have",
"status": "DONE",
"notes": "DONE ('bc9cc53': 'valid_from' / 'valid_to' fields; foundation for 'temporal_quer\u2026",
"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-SURF-01",
"kind": "User Story",
"title": "Agents know which search/semantic tool to call first (prefer-order in schemas)",
"priority": "Must Have",
"status": "DONE",
"notes": "v3.7.4 \u2014 document search + semantic triples; fix semantic_search dual-path docstring | DONE after FR-SURF-01+02",
"section": "3.16 MCP Tool Surface Rationalization (US-SURF) \u2014 v3.7.4",
"prd_line": null,
"focus": "P1",
"focus_rank": 1,
"ve_suborder": 0
},
{
"id": "US-SURF-02",
"kind": "User Story",
"title": "Remove zero-value / superseded MCP tools (mcp_hello, mcp_impact, get_doc_for_file)",
"priority": "Must Have",
"status": "DONE",
"notes": "v3.7.4 \u2014 hard delete; keep get_impact_radius / find_related_docs | DONE 2026-07-18 FR-SURF-03",
"section": "3.16 MCP Tool Surface Rationalization (US-SURF) \u2014 v3.7.4",
"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-UI2-01",
"kind": "User Story",
"title": "Explore graph in Force/Tree/Circles via ui-v2 + leankg serve",
"priority": "Must Have",
"status": "DONE",
"notes": "DONE 2026-07-20 \u2014 ui-v2 Phase 1; evidence docs/reports/ui-v2-gitnexus-parity-2026-07-20.md",
"section": "3.17 UI v2",
"prd_line": null,
"focus": "P1",
"focus_rank": 1,
"ve_suborder": 0
},
{
"id": "US-UI2-02",
"kind": "User Story",
"title": "File tree + type/edge filters (US-MG-04 defaults)",
"priority": "Must Have",
"status": "DONE",
"notes": "DONE 2026-07-20 \u2014 ui-v2 Phase 1; evidence docs/reports/ui-v2-gitnexus-parity-2026-07-20.md",
"section": "3.17 UI v2",
"prd_line": null,
"focus": "P1",
"focus_rank": 1,
"ve_suborder": 0
},
{
"id": "US-UI2-03",
"kind": "User Story",
"title": "Node select opens /api/file code panel",
"priority": "Must Have",
"status": "DONE",
"notes": "DONE 2026-07-21 \u2014 tightened; Service/Folder no longer call /api/file",
"section": "3.17 UI v2",
"prd_line": null,
"focus": "P1",
"focus_rank": 1,
"ve_suborder": 0
},
{
"id": "US-UI2-04",
"kind": "User Story",
"title": "Server search + QueryFAB /api/query",
"priority": "Must Have",
"status": "DONE",
"notes": "DONE 2026-07-20 \u2014 ui-v2 Phase 1; evidence docs/reports/ui-v2-gitnexus-parity-2026-07-20.md",
"section": "3.17 UI v2",
"prd_line": null,
"focus": "P1",
"focus_rank": 1,
"ve_suborder": 0
},
{
"id": "US-UI2-05",
"kind": "User Story",
"title": "Mega-graph skip + Load graph anyway",
"priority": "Must Have",
"status": "DONE",
"notes": "DONE 2026-07-20 \u2014 ui-v2 Phase 1; evidence docs/reports/ui-v2-gitnexus-parity-2026-07-20.md",
"section": "3.17 UI v2",
"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) \u2014 merged from 'pr\u2026",
"prd_line": null,
"focus": "P1",
"focus_rank": 1,
"ve_suborder": 0
},
{
"id": "US-V2-02",
"kind": "User Story",
"title": "Incident knowledge layer \u2014 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) \u2014 merged from 'pr\u2026",
"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) \u2014 merged from 'pr\u2026",
"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) \u2014 merged from 'pr\u2026",
"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) \u2014 merged from 'pr\u2026",
"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) \u2014 merged from 'pr\u2026",
"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) \u2014 merged from 'pr\u2026",
"prd_line": null,
"focus": "P1",
"focus_rank": 1,
"ve_suborder": 0
},
{
"id": "US-SEM-05",
"kind": "User Story",
"title": "Exclude UI-bundle / benchmark noise from semantic seeds (embed/assets + src/benchmark gate)",
"priority": "Must Have",
"status": "DONE",
"notes": "DONE \u2014 FilterPolicy path markers + pipeline should_drop_candidate (FR-SEM-06)",
"section": "3.14 Semantic MCP Agent UX Enhancements (US-SEM)",
"prd_line": null,
"focus": "P1",
"focus_rank": 1,
"ve_suborder": 1
},
{
"id": "FR-SEM-06",
"kind": "FR",
"title": "Path filter: always drop embed/assets/; query-gate src/benchmark/ unless query contains benchmark",
"priority": "Must Have",
"status": "DONE",
"notes": "DONE \u2014 src/retrieval/filter_policy.rs + pipeline.rs",
"section": "5.15 Semantic MCP Agent UX Enhancements (v3.7.1)",
"prd_line": null,
"focus": "P1",
"focus_rank": 1,
"ve_suborder": 2
},
{
"id": "FR-MG-AUTO-01",
"kind": "FR",
"title": "LEANKG_SKIP_FRESHNESS_CHECK=1 skips MCP auto-index; document mega-graph 6g/3g/cpus6 + AUTO_INDEX=0",
"priority": "Must Have",
"status": "DONE",
"notes": "DONE \u2014 server.rs env gate; RocksDB mtime follow-up remains open note",
"section": "5.17 Mega-graph MCP auto-index + embed ops (v3.7.3)",
"prd_line": null,
"focus": "P1",
"focus_rank": 1,
"ve_suborder": 3
},
{
"id": "FR-OPS-EMBED-CPU",
"kind": "FR",
"title": "Compose envelope: cpus 6, mem_reservation 3g; MCP mem_limit 6g; embed mem_limit 10g",
"priority": "Must Have",
"status": "DONE",
"notes": "DONE \u2014 docker-compose.rocksdb.yml + docker-compose.embed.yml; evidence embed-3-workspaces report",
"section": "5.17 Mega-graph MCP auto-index + embed ops (v3.7.3)",
"prd_line": null,
"focus": "P1",
"focus_rank": 1,
"ve_suborder": 4
},
{
"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": "\u2265 2 Go + \u2265 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 \u2192 similarity edges ('55e6e72') \u2014 **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') \u2014 same-file Jaccard only after FR-HNSW-A; optional later d\u2026",
"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 \u2014 'tests/hnsw_recall_e2e.rs' (synthetic 384-d vectors + brute-force cosine ground truth;\u2026",
"priority": "Should Have",
"status": "DONE",
"notes": "[x]",
"section": "5.12 Semantic ANN \u2014 CozoDB HNSW expansion (v3.6.2) + embed r\u2026",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-C01",
"kind": "FR",
"title": "Docker embeddings OOTB (Must \u2014 alias FR-HNSW-C; Dockerfiles '--features embeddings' + 'entrypoint.sh' 'embed_i\u2026",
"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 \u2014 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 \u2014 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_\u2026",
"priority": "Should Have",
"status": "DONE",
"notes": "[x]",
"section": "5.12 Semantic ANN \u2014 CozoDB HNSW expansion (v3.6.2) + embed r\u2026",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-EMBED-R2",
"kind": "FR",
"title": "Parallel embed pipeline \u2014 N ONNX workers + single writer; 'import_relations' bulk path; optional 'DirectEmbedd\u2026",
"priority": "Should Have",
"status": "DONE",
"notes": "[x]",
"section": "5.12 Semantic ANN \u2014 CozoDB HNSW expansion (v3.6.2) + embed r\u2026",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-EMBED-R3",
"kind": "FR",
"title": "Document measured ceilings \u2014 e2e ~170 vec/sec / ~36 min cold on ~371k; writer-only ~100k+ vec/sec. Record fail\u2026",
"priority": "Should Have",
"status": "DONE",
"notes": "[x]",
"section": "5.12 Semantic ANN \u2014 CozoDB HNSW expansion (v3.6.2) + embed r\u2026",
"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)' \u2014 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-05",
"kind": "FR",
"title": "MCP tool 'query_graph(question, token_budget?)' \u2014 seed \u2192 expand \u2192 budget trim \u2192 TOON",
"priority": "Should Have",
"status": "DONE",
"notes": "DONE \u2014 query_graph MCP",
"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\u2026",
"priority": "Should Have",
"status": "DONE",
"notes": "DONE \u2014 graph-query CLI",
"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:' \u2192 'rationale' elements + 'explains' edg\u2026",
"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' \u2192 '.leankg/reflections/LESSONS.md' + optional node overlay ('373\u2026",
"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\u2026",
"priority": "Should Have",
"status": "DONE",
"notes": "[x]",
"section": "5.12 Semantic ANN \u2014 CozoDB HNSW expansion (v3.6.2) + embed r\u2026",
"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\u2026",
"priority": "Should Have",
"status": "DONE",
"notes": "[x]",
"section": "5.12 Semantic ANN \u2014 CozoDB HNSW expansion (v3.6.2) + embed r\u2026",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-HNSW-D",
"kind": "FR",
"title": "Default agent discovery path \u2014 NL query \u2192 embed \u2192 HNSW top-k \u2192 optional rerank \u2192 graph traverse ('src/retrieva\u2026",
"priority": "Should Have",
"status": "DONE",
"notes": "[x]",
"section": "5.12 Semantic ANN \u2014 CozoDB HNSW expansion (v3.6.2) + embed r\u2026",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-HNSW-F",
"kind": "FR",
"title": "Mega-graph HNSW ops \u2014 expose/document 'ef' / 'm' / page 'limit'+'offset'; keep RSS under existing 'BudgetGuard\u2026",
"priority": "Should Have",
"status": "DONE",
"notes": "[x]",
"section": "5.12 Semantic ANN \u2014 CozoDB HNSW expansion (v3.6.2) + embed r\u2026",
"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\"\u2026",
"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' \u2014 query graph state as of a given timestamp or commit ('temporal_query' registered i\u2026",
"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' \u2014 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' \u2014 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' \u2014 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' \u2014 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' \u2014 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 \u2014 every indexed directory becomes a first-class graph node ('generate_physical_struct\u2026",
"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\u2192directory, directory\u2192file ('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\u2026",
"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-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": "DONE",
"notes": "DONE \u2014 live smoke 2026-07-17 + 2026-07-18 verification docs",
"section": "5.15 Semantic MCP Agent UX Enhancements (v3.7.1)",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-SURF-04",
"kind": "FR",
"title": "Soft-deprecate wake_up \u2192 get_overview_context (not load_layer L0 alone)",
"priority": "Should Have",
"status": "DONE",
"notes": "v3.7.4",
"section": "5.18 MCP Tool Surface Rationalization (v3.7.4)",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-SURF-05",
"kind": "FR",
"title": "Soft-deprecate search_by_environment; point to env= on primary search/kg tools",
"priority": "Should Have",
"status": "DONE",
"notes": "v3.7.4",
"section": "5.18 MCP Tool Surface Rationalization (v3.7.4)",
"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\u2026",
"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\u2026",
"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\u2026",
"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\u2026",
"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\u2026",
"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\u2026",
"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\u2026",
"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\u2026",
"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\u2026",
"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\u2026",
"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\u2026",
"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) \u2014 GitHub Actions workflow ('eb3d331')",
"priority": "Should Have",
"status": "DONE",
"notes": "[x]",
"section": "5.11 Team Infrastructure / v2 Requirements (merged from 'prd\u2026",
"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\u2026",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"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": "DONE",
"notes": "DONE \u2014 semantic MCP smoke executed 2026-07-18",
"section": "5.15 Semantic MCP Agent UX Enhancements (v3.7.1)",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "REL-053",
"kind": "Release",
"title": "Release note: MCP tool surface shrink after FR-SURF-03 (list_tools before/after)",
"priority": "Should Have",
"status": "DONE",
"notes": "v3.7.4 \u2014 quote live registry counts, not 64\u219257",
"section": "5.18 MCP Tool Surface Rationalization (v3.7.4)",
"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) \u2014 merged from 'p\u2026",
"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) \u2014 merged from 'p\u2026",
"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\u2026",
"section": "3.11 CBM Structural Parity Stories (US-CBM) \u2014 merged from 'p\u2026",
"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) \u2014 merged from 'p\u2026",
"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\u2026",
"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\u2026",
"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 \u2014 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 \u2014 define agent personas (reviewer, architect, ops) each with a focused lens on the c\u2026",
"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 \u2014 detect when stored context contradicts current code state; flag stale an\u2026",
"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 \u2014 standardized 'wake_up' MCP tool that loads ~170 tokens of critical project facts at\u2026",
"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-SURF-03",
"kind": "User Story",
"title": "Soft-deprecate wake_up in favor of get_overview_context (not load_layer L0 alone)",
"priority": "Should Have",
"status": "DONE",
"notes": "v3.7.4 \u2014 wake_up is L0+L1 cached text; load_layer(L0) is identity-only",
"section": "3.16 MCP Tool Surface Rationalization (US-SURF) \u2014 v3.7.4",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "US-SURF-04",
"kind": "User Story",
"title": "Soft-deprecate search_by_environment (use env= on primary search/kg tools)",
"priority": "Should Have",
"status": "DONE",
"notes": "v3.7.4",
"section": "3.16 MCP Tool Surface Rationalization (US-SURF) \u2014 v3.7.4",
"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) \u2014 merged from 'pr\u2026",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "US-V2-06",
"kind": "User Story",
"title": "Semantic search natural language \u2192 graph nodes",
"priority": "Should Have",
"status": "DONE",
"notes": "DONE ('semantic_search'; embeddings optional)",
"section": "3.12 Team Knowledge Infrastructure (US-V2) \u2014 merged from 'pr\u2026",
"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) \u2014 merged from 'pr\u2026",
"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) \u2014 merged from 'pr\u2026",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"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 \u2014 remove custom LS\u2026",
"section": "3.11 CBM Structural Parity Stories (US-CBM) \u2014 merged from 'p\u2026",
"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 \u2014 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 \u2014 auto-link clusters across projects/modules that share the same domain concept (e.g., \"a\u2026",
"priority": "Could Have",
"status": "DONE",
"notes": "DONE ('5b6547e': 'find_tunnels' MCP + 'leankg tunnels' CLI + 'tunnel' relationsh\u2026",
"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": "FR-BENCH-A",
"kind": "FR",
"title": "CBM clone quality head-to-head \u2014 **Won't Do** (v3.6.2)",
"priority": "Should Have",
"status": "WONT_DO",
"notes": "[x]",
"section": "5.12 Semantic ANN \u2014 CozoDB HNSW expansion (v3.6.2) + embed r\u2026",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "FR-HNSW-A",
"kind": "FR",
"title": "Remove custom MinHash/LSH \u2014 delete 'src/minhash.rs', drop 'mod minhash' from 'lib.rs' / 'main.rs', remove 'fin\u2026",
"priority": "Should Have",
"status": "WONT_DO",
"notes": "[x]",
"section": "5.12 Semantic ANN \u2014 CozoDB HNSW expansion (v3.6.2) + embed r\u2026",
"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 \u2014 **Won't Do** (v3.6.2)",
"priority": "Should Have",
"status": "WONT_DO",
"notes": "[x]",
"section": "5.12 Semantic ANN \u2014 CozoDB HNSW expansion (v3.6.2) + embed r\u2026",
"prd_line": null,
"focus": "P2",
"focus_rank": 2,
"ve_suborder": 0
},
{
"id": "US-UI2-10",
"kind": "User Story",
"title": "Double-click Service/Folder replaces canvas with expand-service subgraph",
"priority": "Must Have",
"status": "DONE",
"notes": "DONE 2026-07-21 \u2014 replace-graph + breadcrumbs; RCA docs/reports/root_cause_api_file_service_folder_400.md",
"section": "3.17 UI v2",
"prd_line": null,
"focus": "P1",
"focus_rank": 1,
"ve_suborder": 0
},
{
"id": "US-UI2-11",
"kind": "User Story",
"title": "Load more expand pages merge into current graph (500 then +200)",
"priority": "Must Have",
"status": "DONE",
"notes": "DONE 2026-07-21 \u2014 expand limit/offset + hasMore fix + Load more merge UI",
"section": "3.17 UI v2",
"prd_line": null,
"focus": "P1",
"focus_rank": 1,
"ve_suborder": 0
},
{
"id": "US-UI2-12",
"kind": "User Story",
"title": "Explore sidebar hierarchical Folders & files with session retention",
"priority": "Must Have",
"status": "DONE",
"notes": "DONE 2026-07-21 \u2014 buildExplorerTree + sessionExplorerNodes; deep test docs/reports/ui-v2-sidebar-nav-loadmore-deep-test-2026-07-21.md",
"section": "3.17 UI v2",
"prd_line": null,
"focus": "P1",
"focus_rank": 1,
"ve_suborder": 0
},
{
"id": "FR-UI2-12",
"kind": "FR",
"title": "expandService replace-graph + CodePanel file gate + directory /api/file error",
"priority": "Must Have",
"status": "DONE",
"notes": "DONE 2026-07-21 \u2014 FR-UI2-12 / REL-060",
"section": "5.19 UI v2",
"prd_line": null,
"focus": "P1",
"focus_rank": 1,
"ve_suborder": 0
},
{
"id": "FR-UI2-13",
"kind": "FR",
"title": "expand-service pagination + Load more merge (+200) into kg",
"priority": "Must Have",
"status": "DONE",
"notes": "DONE 2026-07-21 \u2014 FR-UI2-13 / REL-061; root has_more fixed",
"section": "5.19 UI v2",
"prd_line": null,
"focus": "P1",
"focus_rank": 1,
"ve_suborder": 0
},
{
"id": "FR-UI2-14",
"kind": "FR",
"title": "Explore sidebar hierarchical Folders & files + session tree across Overview",
"priority": "Must Have",
"status": "DONE",
"notes": "DONE 2026-07-21 \u2014 FR-UI2-14",
"section": "5.19 UI v2",
"prd_line": null,
"focus": "P1",
"focus_rank": 1,
"ve_suborder": 0
},
{
"id": "REL-060",
"kind": "Release",
"title": "ui-v2 Service/Folder expand replace-graph + no /api/file 400",
"priority": "Must Have",
"status": "DONE",
"notes": "DONE 2026-07-21 \u2014 Vitest gate + expand replace (ID REL-060; main REL-057 remains cutover)",
"section": "5.19 UI v2",
"prd_line": null,
"focus": "P1",
"focus_rank": 1,
"ve_suborder": 0
},
{
"id": "REL-061",
"kind": "Release",
"title": "ui-v2 expand Load more merge pagination + sidebar tree",
"priority": "Must Have",
"status": "DONE",
"notes": "DONE 2026-07-21 \u2014 Vitest graph-merge/file-tree + browser deep test",
"section": "5.19 UI v2",
"prd_line": null,
"focus": "P1",
"focus_rank": 1,
"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 \u2014 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": "status(NOT_DONE\u2192PENDING\u2192PARTIAL\u2192OPEN\u2192DONE\u2192WONT_DO) \u2192 focus(P0..P3) \u2192 MoSCoW \u2192 ve_suborder \u2192 id",
"focus_legend": {
"P0": "CLOSED \u2014 procedural ontology auto-update (see smoke report); next open work is P1 company adoption",
"P1": "CURRENT next \u2014 company adoption / Graphify packaging (US-COST / US-GF-*)",
"P2": "Should Have",
"P3": "Could Have / aspirational OPEN"
},
"updated": "2026-07-21-v3.7.9-ont-proc-auto-done",
"sync_note": "v3.7.9 P0 procedural ontology auto-update CLOSED (US-ONT-PROC-01 / FR-ONT-PROC-* / REL-059); company adoption remains P1",
"company_adoption_order": [
"US-COST-01",
"US-GF-14",
"US-GF-17",
"US-GF-04",
"US-GF-06",
"US-GF-13",
"US-UI2-06",
"US-UI2-07"
],
"p0_current": [
"US-ONT-PROC-01",
"FR-ONT-PROC-01",
"FR-ONT-PROC-02",
"FR-ONT-PROC-03",
"REL-059"
]
}
}