v0.57.0

Every change carries its evidence

The PR bot adds an evidence checklist to its pull request comment, Code Health reads clearly at any repository size, Spring, Astro and MassTransit join the graph, and the open-source CLI rebuilds every merged change as a Change Record with policy checks and evidence packs.

The open-source release, 0.57.0, reads every merged change as a Change Record with an evidence checklist, and checks changes against a local policy. On repowise.dev the PR bot puts that checklist in its pull request comment, Code Health reads clearly on repositories of any size, and Spring, Astro and MassTransit join the graph.

Keep Pro at $15 a month

On repowise.dev.

Paid plans go up later in November, and Pro moves from $15 to $20 a month. Subscribe to Pro before the change and you keep $15 for as long as your subscription stays active: private repositories, push-triggered sync, full git history and monthly AI credits, at today's price. See pricing.

Evidence on every pull request

On repowise.dev.

The PR bot's comment gains an Evidence section, a collapsed table with one row per item: components touched, declared owners from CODEOWNERS and the component catalog, reaching tests, health delta and AI provenance. Each row says ok, look or unknown, names the basis it rests on, and reads as one plain sentence. An item the bot cannot gather on a pull request reads "not known" with its reason. Declared owners are quoted, so a row never pings anyone. The checklist is on by default and follows the comment's verbosity setting, so a compact comment leaves it out.

Code Health you can read at any size

The map is drawn on canvas with zoom, pan and a Fit control. Files are circle-packed by folder inside each module, dots sit in the five score bands, and "Draw more" reaches 8,000 files, with vendored and generated files behind a toggle. Click a file and a drawer opens on its score, one plain sentence and the top three issues with their vital signs, next to one primary action. The trend chart has a hover and keyboard readout and a list of the files that moved most.

Every language is served by default. A language whose layer is still being measured carries a Preview badge, with its latest hand-judged measurement in the tooltip, and health findings ship normally on Java, C# and C, each measured at 92.5% or more correct or debatable on a blind sample. Git-history markers such as ownership and churn on production files move out of the default defect lists and are counted as history. They still feed scores and the work queue. A repository headline prints a band such as "Excellent" once at least half of its code files were analysed, and says "analysed N of M code files" whenever some were left out.

Spring, Astro and MassTransit support

  • Spring routes link to their handler methods across @GetMapping, @RequestMapping and the rest, in Java and Kotlin. On three Spring sample applications, route edges go from 0 to 33, all hand-checked correct.
  • Spring Data and MyBatis calls inside Java loops are flagged as database I/O. On one Spring Boot application the performance list grows from 5 to 16 rows, 10 of the 11 new rows judged real costs.
  • Astro is indexed at the Full tier: frontmatter and every <script> body parse as TypeScript, components become calls, and pages under src/pages are entry points.
  • MassTransit publishers and consumers link C# and VB.NET services by message type.
  • Dart call receivers are typed from fields, parameters and locals (979 to 1,086 call edges on a public Flutter sample), Swift gets a complexity map, and Pascal performance loops say whether they grow with the data.
  • Refactoring plans carry test commands for Go, Rust, JVM, Ruby and C#.

repowise parses 27 languages to a full AST, 14 of them at the Full tier, with 41 on the language ladder.

Also on repowise.dev

  • The dead code tab leads with what is safe to delete, with the flagged count as a second sentence.
  • Commits read as agent, human-attested or unknown, and a commit with no marker reads unknown. An AI share is the agent share of commits with a known source, shown with its coverage, and is withheld below 30% coverage.
  • get_answer grades its confidence on whether the top hit covers the question, and retrieval detail sits behind include=["diagnostics"].

Change Records, rebuilt from git

Open-source release.

Every first-parent commit of HEAD becomes a Change Record: a PR, MR, Gerrit change or lone commit, with its category and provenance. Each record carries an evidence checklist (components, declared owners, suggested reviewers, reaching tests, contracts and consumers in other repositories, decisions crossed, health delta, provenance with coverage and diff size rank) and its outcomes, read from explicit links only: a later revert, a fix that names it as the cause, and how many of its files received fixes within 30 days. The local Commits page groups commits By commit, By change or Events, and repowise changes show prints a record, with an in-toto export.

Change policy and evidence packs

Open-source release.

repowise check runs the rules in .repowise/policies.yaml against any change and writes a table, JSON, SARIF 2.1.0 or JUnit XML, exiting 1 when a fail rule fires. A condition whose evidence is unavailable is reported as not evaluated. repowise report writes an assessment per repository or workspace, a change evidence pack for a period (90 days by default) and a component inventory, in JSON with Markdown, HTML and CSV renderers. repowise suspects takes an error, a stack trace or an issue and ranks the recent changes to read first, with the evidence for each.

Charts in chat

On repowise.dev and in the local dashboard.

Ask chat for a chart and it draws one in a single call from the repository's own data: files, findings, health trend, coverage, dead code, dependencies and layers, plus changes in the local dashboard. Each chart names its basis and the commit it was read at, opens as a table with one click, and can be redrawn as another kind. Every figure in an answer is checked against that turn's tool results, and one the check cannot find is underlined.

Models from Settings

Open-source release.

Settings take a model from the provider's live list or any typed id, and a base URL for LM Studio or another OpenAI-compatible server on your machine needs no key. After a minor upgrade the dashboard opens What's new once.

Also in the open-source release

  • Components follow the Backstage model, compare declared owners with the last 90 days of activity, and export package usage as CycloneDX 1.6.
  • Opt-in edit capture for Claude Code, Codex and Cursor records the lines an agent wrote as content hashes, and repowise attribution backfill binds past commits from local transcripts.
  • REST, MCP HTTP and webhooks authenticate to a principal with repository and tool scope, and installed plugins extend named seams.
  • In workspace mode, MCP sends a path or symbol to the repository that owns it, and repo="all" answers with partial results.
  • Gitea and Forgejo push webhooks sync.
  • Git history reads the newest 5,000 commits by default.
  • A get_change_risk finding drill-down returns in under a second, and warm repowise suspects calls drop from about 6 s to under 1 s.

Upgrading

pip install --upgrade repowise

The first repowise update after upgrading re-reads git history, re-parses and re-scores once, with no model calls, and builds the Change Records. An existing index keeps its commit_limit, and commit_limit: 5000 in config.yaml reads the wider window. On repowise.dev, each repository re-computes its scores once on its next index, and the new Code Health views fill in from there.

Thank you

This release includes work from 39 contributors outside the core team.

Run this release on your repo.

Index a repository free and see what this release finds in it. Rolling it out to a team? We will walk you through it.