Repository navigation
release: v0.58.0 · a guided init, a redesigned web UI, and a health check CI gate - #4316
Merged
Merged
Conversation
|
✅ Health of changed files: 8.3 (unchanged)
CoveragePatch coverage 100.0% (4 of 4 changed executable lines covered)
Report from this run for Doc drift
🧾 Evidence: 6 not known
AI review is paused: this repository reached its monthly spending limit. Bot settings 📊 See the full report for this PR Settings and updatesUpdated 2026-10-20 16:47 UTC |
swati510
approved these changes
Oct 20, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
repowise 0.58 makes the first run read like a plan and puts code health at the front of every review.
repowise initopens on one plan screen, shows its progress as a checklist of finished steps, and ends on one finish panel that leads withrepowise serve, for one repository or a folder of them.repowise health checkgates a change in CI on the code-health findings it writes, using git alone. The web UI is redesigned around what to do next: a short Overview, a rebuilt Code Health page with a folder map you can zoom, Commits led by each change's health delta and its wins, and an Ownership page built around knowledge coverage and off-boarding. Change risk follows code that moves between files,get_overviewlays out every package in a lean default, and GitHub Copilot CLI joins the providers.By the numbers
In the 5 days since 0.57.0:
Thank you to everyone who built this release with us. To our returning contributors: @aazminu, @Aman-goel-04, @arnavsx3, @kocaemre, @Laex, @msranjana, @ozenyunus35, @PragalvaXFREZ, @rishu685, @Sriram-PR, @TheNetherWatcher, @ump45nose, @wanjinhao1, @ynaamane and @Yushu-Li, thank you for coming back and raising the bar again.
And a special welcome to the 19 people whose first contribution landed in this release: @abdelhadi703, @c0mrade8, @ddaihao2022, @dhvani7014, @Gabrieljr42, @ganeshmshetty, @ian0318git, @JackGitLab, @jungwonenjoyericl, @kayaal34, @Maedza, @Marko0519, @swastiktawate, @teddiesloco, @Venius24, @wang2-lat, @WynandVStaden, @Yi-111-a and @ZhangDT-sky. Glad to have you here.
repowise initshows the whole run before it startsAn interactive init opens on one screen: the repository scan, an ETA in seconds ("Under a minute" on a small repository) and the plan for index, decisions, documentation, search, connect and sync. Enter runs the free run.
mpicks a model,eedits the plan,skeeps the global MCP entry where it is, andqquits and removes the.repowise/the run just made. The same screen offers to keep machine-specific files out of git, and init asks before it points the global Claude Code and Claude Desktop MCP entry at this repository (#4253, #4256, #4246).A logged-in Claude Code, Codex or OpenCode is offered in the picker with its cost as model calls, parallel processes and minutes, and it runs only when you pick it (#4247).
While the run goes, every finished step leaves a row with its count and time, running rows show the current file or page, and a Next line lists what is still to come. Past 10 seconds a step says Ctrl-C is safe and names
repowise init --resume. Piped, init prints short lines, and--progress jsongives agents structured progress. Exit codes are 0 for a clean run, 2 for a run with gaps and 130 for an interrupt (#4251, #4254, #4242).The run ends on one finish panel: what it built, which agent is connected, two example questions,
repowise servewith its port, at most two more steps, and the files init added (#4248).A folder of repositories gets the same plan screen with the repository list, and
rchooses which to include;--reposdoes the same in scripts. Workspace runs stamp each repository like a single-repository init, so the firstupdatehas nothing to redo (#4262, #4260, #4263, #4293, #4310).Init, status, update and the editor files share one set of mode names: Built from code, Written by and Index only. Each mode names the same next step everywhere.
repowise update --fulltakes a fast index to a full one, andrepowise reindexturns semantic search on after a keyless init (#4249, #4244, #4309, #4240).A redesigned web UI that opens on what to do
repowise health check: a CI gate on what a change writesrepowise health check origin/main...HEADneeds git alone, with no index, database or API key. It analyses the changed files at base and head, matches findings by file, marker and symbol, and exits 1 on a code-shape finding written on the change's own lines at high severity or above.--fail-at medium|high|criticalmoves the floor, and--fail-on worsenedalso fails findings the change made worse. Code that moved or was renamed is context, so a pure move passes..repowise/health-rules.jsonis read from the base, so a change cannot loosen its own gate. Output comes as a table, JSON, Markdown, GitHub annotations, SARIF or GitLab Code Quality (#4302).Three diff-risk rules read the changed text in any language and warn by default:
added-suppression: a new lint, type-check, coverage or repowise suppressionweakened-tests: a new skip or focus marker, fewer test cases or assertions, a looser coverage thresholdtest-only-branch: a test-environment check in production code--diff-risk errorturns them into failures, andRULE=LEVELsets one at a time (#4312). The security and doc-drift gates gain--fail-on-baseline-growth, which fails when the committed baseline lists a finding the base's copy does not (#4299).Health scores that saturate per category
Each defect category now follows a saturating curve,
A * (1 - exp(-raw / A))withAat 3.09 times the category cap. Several findings on one function count the largest in full and the rest at 0.25, and history findings are de-stacked the same way before their cap. A file with many findings in one category reads as heavy without collapsing to the floor, and fixing one function's worst finding moves its score (#4144, #4129).bumpy_roadisrepeated_nesting, and old ids keep working in rules, findings and filters (#4113).brain_methodis listed as advisory, since the size markers already charge that function (#4115).repowise healthnames Production code's score beside the all-files headline, andget_healthcarriesproduction_average(#4204).repowise health --score <paths>scores files from disk as the next update would, and--against <rev>prints before, after and the weighted average for the same files (#4139).get_health(include=["what_if"])names the points each code-shape fix recovers for the file, the headline and the hotspot average, and the best single fixes (#4130).Change risk follows moved code
get_change_riskmaps the symbols a change moves across files and pairs findings across the move, so a pure split reads as moved and improved findings are counted (#4109, #4112, #4125, #4127).health_deltalists each changed file's score before and after, largest move first (#4123, #4128). The default reply is leaner and keeps every fact an agent acts on, with the headline, reasons, actions and findings all leading with the same finding ("1 of 6 new findings needs review") (#4221, #4215). A repeated committed range comes from a per-process cache, and test selection runs off the event loop and is reused per change (#4209, #4208).MCP for agents
get_overviewhas a lean default: the week's top three actions, the headline health with the production score, the five riskiest files and a compact scope digest, plus every package with its front doors, layer roots and build, test and lint commands.include=["tools"],["actions"]and["scope"]add the rest (#4207, #4214).get_answercites the files its answer names, andget_whyanchors a question on the indexed file it names (#4202, #4203).get_contexttakes asymptom(issue text, an error or a stack trace) for its suspects ranking (#4205).Also in this release
openapi.json, each operation labelledstableorinternal(#3948).cfgvariants and React Native platform files all resolve (#3850, #3845, #3787, #2799, #3020, #3711)..vcxprojor.rc, C# MEF exports, cmdlets and source generators, Spring servlet initializers and Kotlin@Suppress("unused")(#4121, #4009, #3926, #3921, #3873).Plus dozens more refinements in the changelog.
Upgrading
HEALTH_ANALYZER_VERSIONmoved from 40 to 41 with the scoring changes above, so existing indexes re-score on their next update.PARSER_SCHEMA_VERSIONmoved from 8 to 9, so the parse cache refreshes once, automatically.STORE_FORMAT_VERSIONis unchanged, so nothing needs re-indexing.