Releases: vmkteam/reviewer
Releases · vmkteam/reviewer
v0.2.6
Highlights
Accepted Risks Archive
- New archivedAt column on issues (PGD/SQL/migration + mfd
ArchivedAtIsNullfilter) - New RPC
review.ArchiveAcceptedRisks(projectId)— bulk-archives FP+Ignored issues - Frontend: Archive shown button in the Accepted Risks tab header;
excludeArchived: truefilter hides archived issues - Original
statusIdis preserved → unarchive is a single-column reset
Get Project Instructions
- New REST endpoint
GET /v1/rpc/project-instructions-:id.mdrenders ignored issues to markdown grouped by reviewType - Capped at 500 issues with truncation hint;
slog.WarnContextsurfaces overflow as a project health signal - Frontend: Get Project Instructions button copies an LLM prompt that synthesizes project review rules from accepted risks
Reliable Step 2 (review.json extraction)
- Prompt restructured as Step 1 (MD files) → Step 2 (extract from MD into review.json) — model treats JSON as a copy-job, not a fresh task
- CI metadata placeholders (
%TITLE%,%COMMIT_HASH%,%SOURCE_BRANCH%,%TARGET_BRANCH%,%AUTHOR%,%EXTERNAL_ID%) survive empty-cfg runs so the model resolves them from git context - JSON-safety rules: avoid
"and\intitle/description/summary; Read-back self-validation after Write/Edit; explicitisAcceptedinvariants (medium/low don't block, only critical/high do)
Auto-retry Step 2 with session continuation
- When the runner produces MD files but never edits review.json, reviewctl detects the skip and calls the runner again with
--resume/-sand a focused retry prompt - Original prompt stays cached, only the Step 2 body re-bills (~3K tokens)
- Retry metrics are folded into the primary record via new
ReviewModelInfo.Addso dashboards reflect total billable spend across both passes - Auto-uploads the debug bundle on skip detection so post-mortem data is preserved
Polish
SetSessioninterface method onReviewRunner(no more type-switch)cmp.Or(Go 1.21+) replaces customorPlaceholderhelper- Env helpers (
EnvBool,EnvDefault,AuthorName) extracted fromcmd/reviewctl/main.gointopkg/reviewer/ctl/env.go;EnvBoolnow usesstrconv.ParseBool(accepts1/0/t/f/true/false/TRUE/FALSE) retriedflag added to "review completed" log for production observability
Tests
ReviewModelInfo.Add(6 sub-cases): numeric sums, identity field protection, Models map merge with overlapisReviewJSONUnfilled+retryStep2(10 sub-cases): nil draft, partial fill, retry happy/error/empty-session paths- Env helpers (22 sub-cases): all parseable bool values, fallback paths, edge cases for
mail.ParseAddress ProjectInstructionsMarkdownREST handler (8 sub-cases): all 400 paths, 404 on missing project, projectKey-leak guard, end-to-end render of seeded ignored issues
DB migration
docs/patches/2026-05-08-archive-accepted-risks.sql— addsissues.archivedAt timestamptz NULL+IX_issues_archivedAtbtree index. Non-blocking, idempotent.
Full changelog: v0.2.5...v0.2.6
v0.2.5
v0.2.4
v0.2.3
v0.2.2
v0.2.1
Changelog
v0.2.0
Features
- reviewctl CLI — new orchestrator binary that fetches the review prompt, runs Claude, parses output, uploads the review artifact and posts GitLab MR comments. Replaces the legacy
upload.cjsin CI pipelines. - Auto-migrations on startup —
reviewsrvapplies SQL patches via thepgmigratorlibrary. Patches live indocs/patches/*.sql; enable with--patches /patches(default indocker-compose.yml). - Operability review type — new dimension covering reliability, metrics and error handling alongside architecture, code, security, tests.
- GitLab MR comments — summary note with traffic light + inline discussions for critical/high issues, automatic cleanup of stale reviewer threads (replies preserved).
- GoReleaser — automated Linux amd64 builds for
reviewctl(tar.gz + checksums).
Improvements
- Simplified GitLab HTTP client and improved structured logging.
- Tests migrated from
goconveytotestify. - More robust parsing of Claude JSON output.
Chores
- Archived v0.1 patches into
docs/patches/2026-v0.1/. - Fixed frontend
dist/handling forgo:embedin CI builds. - Added a no-op test migration (
2026-04-17-test-reviewer.sql—SELECT 1) to verify the patch pipeline on prod.
Docker images
vmkteam/reviewer:v0.2.0,vmkteam/reviewer:latestghcr.io/vmkteam/reviewer:v0.2.0
v0.2.0-rc2
Changelog
- b7fa464 Add GoReleaser for reviewctl binary releases
- 5178b6c Add pgmigrator, improve GitLab comments and Claude output parsing
- 4770c80 Add reviewctl CLI orchestrator
- b5aadc7 Archive v0.1 patches into docs/patches/2026-v0.1/
- 3671f49 Fix CI: create frontend dist dirs for go:embed
- 5b048e4 Improve GitLab MR comments and Claude output parsing
- 55e89f7 Migrate tests from goconvey to testify
- 295195c Replace .gitkeep with mkdir -p in Makefile for frontend dist dirs
- 584d6fc Replace dist .gitignore with .gitkeep
- 28417c3 Replace upload.cjs with reviewctl in CI template
- 970fb3f Simplify GitLab HTTP client and improve logging
- 1ef6124 Update README with reviewctl, auto-migrations and operability review type
v0.2.0-rc1
What's Changed
- Add reviewctl CLI for automated code reviews
- GitLab MR comments integration
- pgmigrator auto-migrations
- Fix CI: create frontend dist dirs for go:embed
v0.1.2
Add suggestedFix, mermaid, effort, AI slop features.
- Add suggestedFix text column to issues table
- Add effortMinutes and aiSlopScore columns to reviews table
- Add mermaid.js rendering in MarkdownContent with dark theme
- Add collapsible Suggested Fix section in IssuesTable
- Add Effort column in ReviewsTable and AI slop badge in ReviewPage
- Add prompt instructions for suggestedFix, effortMinutes, mermaid diagrams, and aiSlopScore
- Migrate PGD schema to PgDesigner format
Full Changelog: v0.1.1...v0.1.2