Skip to content

v0.43.45

Latest

Choose a tag to compare

@aahlijia aahlijia released this 01 Sep 11:24
ec28712

dekko 0.43.45

Fifty commits since 0.43.13 — a sustained correctness/reliability pass driven by six rounds of real-world evaluation (awesome-go, claude-buddy, claude-code, cline, spring-boot, tensorflow, zed) against dekko's own CLI/MCP surface. Every fix below traces to a reproduced finding on one of those repos.

Resolver & call-graph correctness

  • Cross-language false-positive call matches eliminated via language-family-aware resolver fallback.
  • Rust: crate-root resolution hardened against decoy/vendor/fixture crates sharing a real crate's name — was causing near-total under-resolution on large repos (1/383 trait implementors found on one).
  • C++: "most vexing parse" constructor-argument calls (Type name(Ctor(), deleter);, idiomatic RAII) recovered — previously dropped from the call graph entirely.
  • JS/TS: EventEmitter/EventTarget method names no longer misattributed as user calls; tsconfig.json/jsconfig.json path aliases now resolve (0 → 2,024 import edges on one repo).
  • New arity-gated resolution: single-candidate calls now check argument-count plausibility before accepting, instead of accepting on name alone.
  • TypeScript type X = ... aliases are now indexed — previously invisible to query_symbol/find_type_usages/heritage/unused, despite being the dominant type-declaration idiom in real TS/TSX code.
  • get_context_pack no longer returns false hop-2 callers/callees — a direction-less BFS traversal bug is fixed.

New capabilities

  • dekko sanity --all — repo-wide sanity sweep with --jobs/--max-names/--fail-on-unexplained for CI gating.
  • dekko sanity --unused NAME — cross-checks a flagged-dead symbol against a grep sweep.
  • dekko unused --suspect / --dispatch / --kinds {callables,types,all} — surfaces ambiguous-collision false negatives, dispatch-shaped candidates, and now scans types (including aliases) via heritage + type-usage evidence.
  • dekko query throws/catches --lang — cuts cross-language noise on mixed-language repos.
  • A standing high-ambiguous-call-rate flag across summary/doctor/hooks output.
  • Output self-disclosure hints throughout (query symbol, context, sanity --group-by-file).
  • Session-start hook gains a hard token ceiling for oversized repos.

Reliability

  • Daemon-routed diff/affected/workset timeout scaling recalibrated against real large-repo measurements; cold-rev-cache misses now default to all-core parallelism.
  • Daemon/status/process reliability batch: honest stop exit codes, worker-pool timeout hardening, a transient post-bind socket race now retried instead of failing.

Minor breaking change

  • dekko export --scope renamed to --granularity (the old flag was widely misread as scoping to a symbol). --scope still works as a deprecated alias.

Full changelog

v0.43.13...v0.43.45 · CHANGELOG.md