Skip to content

v0.1.1 — agent context tools

Choose a tag to compare

@lemduc lemduc released this 09 Jul 09:23

Completes Phase 3 and Phase 4 of the roadmap: arcade-agent now ships the full agent context-tool cluster, plus a packaged CI action for architectural drift detection.

This is also the first release whose tag makes lemduc/arcade-agent/actions/analyze@v0.1.1 resolvable.

Agent context tools (#12)

Four composable tools for token-efficient codebase understanding, all exposed over MCP:

  • api_surface — extract public interfaces only, without implementation bodies or private members. Public is derived structurally (naming convention + external-dependent signal), never read from a field.
  • diff_impact — blast-radius analysis for a set of changed files: affected entities, enclosing components, the transitive reverse-dependency closure, and potentially broken public contracts.
  • context_for_task — given a natural-language task, return the minimal ranked set of files to read, each with a role (direct match / dependency / dependent / component sibling) and a reason.
  • dependency_cone — upstream and/or downstream reachability from an entity or file, with depth control and per-direction node caps.

Backed by a new cycle-safe traversal helper (algorithms/traversal.py) that diff_impact was refactored onto.

CI analysis action (#11)

actions/analyze composite action and reusable workflow, with architecture drift detection against a committed baseline.

Architecture scoring (#5)

Strengthened the balanced architecture score.

Fixes

  • _paths_match no longer falls back to bare-basename equality, so unrelated files sharing a name (src/auth/models.py vs src/billing/models.py) are no longer conflated. This previously skewed diff_impact's blast radius and let dependency_cone attribute one file's dependents to another.
  • dependency_cone now resolves file targets in order (exact FQN, exact path, then path-suffix) and reports ambiguous: true with candidate_files when a target matches several distinct files, instead of silently unioning them.
  • Pinned gh-action-pypi-publish to v1.14.0 (#10).

Full changelog: v0.1.0...v0.1.1