adrRadar
In developmentA Rust tool that detects emerging architectural decisions in git history and reports them with evidence — CLI for humans, MCP server for agents.
At a glance
- Outcome — Architectural decisions that never got written down become visible: adrRadar diffs structural snapshots of a repo across commits and surfaces hypotheses like “possible new module boundary,” each citing the concrete evidence behind it.
- Status — In development; the v1.0 deterministic core works end-to-end on Rust repositories.
- Role — Solo. I own the invariants, signature catalog design, acceptance criteria, and review; implementation is AI-assisted and reviewed.
- Stack — Rust workspace (8 crates), tree-sitter for import analysis, git notes for review state, JSON-RPC 2.0 MCP server.
- Source — Public, MIT-licensed: github.com/Griffinhale/adrRadar, with CI running fmt, clippy, and the full suite.
- What works today —
scan,diff, andsuggestover real repositories; the evidence-backed structural model; the signature catalog with confidence tiers; accept/reject review persisted in git notes; and an MCP server that serves only reviewed findings to agents. - Validation — Nine test suites over synthetic fixture corpora, plus design invariants enforced in tests — the first is “every claim cites evidence.”
- Limitations — Deep import analysis covers Rust only so far; corpus-hardening runs against large public repos and per-signature confidence rationale are still open before a tagged v1.0.
Overview
Most architectural decisions accrete instead of getting documented. adrRadar treats that as a detection problem: a cartographer builds a structural model of the repo at a SHA (files, manifests, module boundaries, dependency edges, coupling metrics), an evolution layer diffs two models into a deterministic event stream, and a hypothesizer matches event clusters against a curated signature catalog to propose decisions a maintainer might want to write down as ADRs.
The design optimizes for precision over recall. Confidence comes from corroboration breadth, every hypothesis cites its evidence, and below the per-signature confidence floor the tool emits nothing — silence is a feature, not a failure mode.
The agent angle
Findings flow to two transports over the same core: a CLI that renders hypotheses for a human to accept or reject (state lives in git notes, so review travels with the repo), and an MCP server that exposes findings to coding agents — gated so agents only ever see human-reviewed hypotheses. An optional LLM renderer can narrate results through a local model, off by default and enforced cite-or-drop.
Status
The deterministic v1.0 floor is implemented and tested; what remains before a tagged release is hardening: corpus runs against large public Rust repos, documented per-signature confidence rationale, and catalog version stamping. Go, TypeScript, and Python analysis are planned after that.