Skip to content

Releases: vmkteam/reviewer

v0.2.6

08 May 21:02

Choose a tag to compare

Highlights

Accepted Risks Archive

  • New archivedAt column on issues (PGD/SQL/migration + mfd ArchivedAtIsNull filter)
  • New RPC review.ArchiveAcceptedRisks(projectId) — bulk-archives FP+Ignored issues
  • Frontend: Archive shown button in the Accepted Risks tab header; excludeArchived: true filter hides archived issues
  • Original statusId is preserved → unarchive is a single-column reset

Get Project Instructions

  • New REST endpoint GET /v1/rpc/project-instructions-:id.md renders ignored issues to markdown grouped by reviewType
  • Capped at 500 issues with truncation hint; slog.WarnContext surfaces 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 \ in title/description/summary; Read-back self-validation after Write/Edit; explicit isAccepted invariants (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/-s and 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.Add so dashboards reflect total billable spend across both passes
  • Auto-uploads the debug bundle on skip detection so post-mortem data is preserved

Polish

  • SetSession interface method on ReviewRunner (no more type-switch)
  • cmp.Or (Go 1.21+) replaces custom orPlaceholder helper
  • Env helpers (EnvBool, EnvDefault, AuthorName) extracted from cmd/reviewctl/main.go into pkg/reviewer/ctl/env.go; EnvBool now uses strconv.ParseBool (accepts 1/0/t/f/true/false/TRUE/FALSE)
  • retried flag added to "review completed" log for production observability

Tests

  • ReviewModelInfo.Add (6 sub-cases): numeric sums, identity field protection, Models map merge with overlap
  • isReviewJSONUnfilled + 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
  • ProjectInstructionsMarkdown REST 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 — adds issues.archivedAt timestamptz NULL + IX_issues_archivedAt btree index. Non-blocking, idempotent.

Full changelog: v0.2.5...v0.2.6

v0.2.5

08 May 12:31

Choose a tag to compare

Changelog

  • 9f36e74 Pin opus default and seed review.json skeleton

v0.2.4

08 May 11:13

Choose a tag to compare

Changelog

  • 1f20dd7 Harden review.json prompt and show CLI version

v0.2.3

08 May 09:49
e2f067b

Choose a tag to compare

Changelog

  • 15a66db Add debug bundle storage for failed CI runs
  • 6d1faff Add opencode runner alongside Claude CLI
  • e2f067b Merge pull request #17 from vmkteam/feat/opencode-runner

v0.2.2

21 Apr 14:33
daf5a88

Choose a tag to compare

Changelog

  • f44664c Fix Docker workflow checkout for annotated tags
  • daf5a88 Fix undefined ModelInfo fields breaking old reviews (#16)

v0.2.1

21 Apr 13:14
65d1971

Choose a tag to compare

Changelog

  • b919fa0 Add fix-prompt markdown endpoint and Copy Fix Prompt UI
  • 66f7ca8 Capture per-model Claude metrics and diagnostics
  • bc772f0 Inject git tag into reviewsrv/reviewctl version
  • 65d1971 Merge pull request #15 from vmkteam/feat/v0.2.1
  • 1139f73 Separate reviewsrv URL for API calls and MR comment links

v0.2.0

17 Apr 15:05

Choose a tag to compare

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.cjs in CI pipelines.
  • Auto-migrations on startupreviewsrv applies SQL patches via the pgmigrator library. Patches live in docs/patches/*.sql; enable with --patches /patches (default in docker-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 goconvey to testify.
  • More robust parsing of Claude JSON output.

Chores

  • Archived v0.1 patches into docs/patches/2026-v0.1/.
  • Fixed frontend dist/ handling for go:embed in CI builds.
  • Added a no-op test migration (2026-04-17-test-reviewer.sqlSELECT 1) to verify the patch pipeline on prod.

Docker images

  • vmkteam/reviewer:v0.2.0, vmkteam/reviewer:latest
  • ghcr.io/vmkteam/reviewer:v0.2.0

v0.2.0-rc2

16 Apr 14:05

Choose a tag to compare

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

13 Apr 15:47
ff5867d

Choose a tag to compare

v0.2.0-rc1 Pre-release
Pre-release

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

09 Apr 07:59
b39b624

Choose a tag to compare

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