Skip to content

v0.2.0 — Kotlin parser, one-call analyze, faster cold analysis

Choose a tag to compare

@lemduc lemduc released this 21 Jul 05:15
· 25 commits to main since this release

Highlights

  • Kotlin parser (#17) — tree-sitter-based structural parsing for .kt/.kts: classes, objects, companion objects, nested types, top-level functions, import aliases, and inheritance edges, with crash-safe iterative traversal and exact-FQN regression fixtures. Requires the [languages] extra.
  • analyze — one-call async pipeline (#16) — runs ingest → parse → recover → smells → metrics in a single MCP call, off the event loop via a background thread. Returns per-stage session IDs, preserved even on partial failure (PartialAnalysisError), so agents never redo completed stages. This brings the MCP server to 18 tools.
  • Cold-analysis performance — Python reference extraction rewritten around a static annotation-field table (#14, ~2.2× faster cold parse) and component-dependency lookups now use an on-demand membership index (#15, hot path 413ms → 1.9ms median).

Also in this release

  • Atomic parse-cache writes (temp file + os.replace) — safe under concurrent analyses (#16).
  • ToolDef.is_async so adapters can dispatch coroutine tools correctly (#16).
  • max_tokens budgeting now applies to the composite analyze summary (#16).
  • README: badge row, tool-count reconciliation, and docs link (#23, #24).

Docs

Full documentation now lives at https://arcade-agent.dev — getting started, all 18 MCP tools with parameters/returns/examples from real captured runs, and CI drift-baseline setup.

Install: pip install "arcade-agent[languages,mcp]"

Full changelog: v0.1.1...v0.2.0