Skip to content

v0.27.0

Latest

Choose a tag to compare

@github-actions github-actions released this 04 Aug 22:32
v0.27.0
151083e

What's Changed

New Features

  • feat(kg): structural knowledge graph module in aptu-coder-core (#1367): Adds a graph/ directory module with StructuralGraph (backed by petgraph::DiGraph), GraphDiskStore (postcard-encoded with FORMAT_VERSION header, fs2 file locking, atomic tempfile writes), and BFS blast-radius traversal. The builder consumes existing SemanticAnalysis data with no second tree-sitter parse pass. Wired into analyze_focused so graphs are built and persisted on cold miss, loaded on warm hit. Adds petgraph and postcard as justified new dependencies.

  • feat(kg): MCP Resource surface for the knowledge graph (#1368): Implements resources/list, resources/templates/list, and resources/read backed by the structural graph store. Three URI templates are exposed: aptu-coder://graph/{repo_hash}/blast-radius/{symbol}?depth={depth}, .../import-closure/{module}, and .../subgraph/{symbol}. Results are paginated at 50 nodes per page with opaque base64url cursors. Cold-cache reads return a prompt to warm the graph via analyze_symbol first. Stale or unknown {repo_hash} values degrade gracefully.

Bug Fixes

  • fix(cache): preserve FocusedAnalysisOutput chain fields in L2 disk cache (#1366): Six fields on FocusedAnalysisOutput (prod_chains, test_chains, outgoing_chains, def_count, unfiltered_caller_count, impl_trait_caller_count) carried #[serde(skip)] because InternalCallChain lacked serde derives. On L2 cache reload these fields silently deserialized as empty or zero, producing empty chain results for all paginated analyze_symbol requests that hit the disk cache. Fix: add Serialize, Deserialize, PartialEq to InternalCallChain, remove the six #[serde(skip)] attributes (replacing with #[serde(default)] for backward-compat), and keep #[cfg_attr(feature = "schemars", schemars(skip))] so the public MCP output schema is unchanged. The secondary propagation vector (L2 hit writing degraded value into L1) is resolved as a consequence.

Maintenance

  • docs: update documentation for knowledge graph MCP resources and fix stale references (#1369). Removes stale lang-* Cargo feature flag column and non-existent env vars from README; adds APTU_CODER_BEARER_TOKEN and a MCP Resources section. Updates ARCHITECTURE.md, ROADMAP.md, DESIGN-GUIDE.md, and ASSURANCE.md to reflect the graph module layout, resource URI scheme, warm-up requirement, and corrected trust boundary claims.

Full Changelog

v0.26.2...v0.27.0