Repository navigation
Releases: humanbased-ai/crosscheck
Releases · humanbased-ai/crosscheck
Release list
v1.7.1
What's Changed
- fix: keep codex reviews running when a ChatGPT login rejects the tier model by @beingzy in #344
- chore: sync v1.7.0 version to staging by @Trump-One in #343
- fix(board): count distinct PRs and processing runs by @beingzy in #346
- fix: review the PR's own diff from a cached checkout by @beingzy in #345
- fix(codex): preserve user model config on startup by @Trump-One in #348
- fix: guard Codex fallback and incomplete review detection by @Trump-One in #350
- chore: promote staging for next Crosscheck release by @Trump-One in #349
- chore: release v1.7.1 by @Trump-One in #351
Full Changelog: v1.7.0...v1.7.1
v1.7.0
What's Changed
- chore: sync main back into staging after the 2026-09-11 promotion by @Trump-One in #323
- Use GitHub OIDC for npm publish workflows by @beingzy with @Copilot in #324
- feat: paginate the watch board over the full session history by @beingzy in #327
- chore: sync version to v1.5.0 after the manual release by @Trump-One in #325
- fix(board): keep failed PRs in the workspace, add session stats by @beingzy in #329
- fix: make PR locks instance-owned and stop re-reviewing approved commits by @beingzy in #330
- fix(watch): summarize vendor JSON errors and page with arrows on macOS by @beingzy in #331
- feat: recover PRs watch mode drops, via a recurring sweep and event re-queue by @beingzy in #328
- feat: reduce repeated review work with caching and structured findings by @Trump-One in #326
- feat: mute dead page keys and show PR entered-at time on the watch board by @beingzy in #332
- feat(watch): page the board with ← / → only, on every platform by @beingzy in #333
- feat: honor smart review strategy in one-shot review command by @kay404 in #334
- fix: reconcile closed findings instead of discarding a structured review by @kay404 in #335
- chore: staging → main promotion (2026-09-25) by @beingzy in #336
- fix: fail over across vendor review failures by @Trump-One in #338
- fix: prevent release version drift by @Trump-One in #339
- feat: make OpenCode selectable through onboard/init/status/optimize (IN-6034) by @zouqone in #340
- feat: guide reviewer selection, installation, and login (IN-6085) by @Trump-One in #341
- chore: release v1.7.0 from staging by @Trump-One in #342
New Contributors
Full Changelog: v1.5.0...v1.7.0
v1.6.0
1.6.0 (2026-09-25)
Features
- add cached checkouts and structured incremental reviews (8eaacbf)
- enable review efficiency by default (e0beefb)
- honor smart review strategy in one-shot review command (780e06e)
- mute dead page keys and show PR entered-at time on the watch board (98702ac)
- paginate the watch board over the full session history (b2f3201)
- recover PRs watch mode drops, via a recurring sweep and event re-queue (c32a359)
- watch: page the board with ← / → only, on every platform (ef6455c)
- watch: swap page arrows — ← newer PRs, → older PRs (209d0b3)
Bug Fixes
- board: keep failed PRs in the workspace, add session stats (da6a220)
- make PR locks instance-owned and stop re-reviewing approved commits (f46abe1), closes #4507
- watch: summarize vendor JSON errors and page with arrows on macOS (cb3ad57)
- cite no tier for a class that selects none (225c0aa)
- harden review memory and repository cache per PR #326 review (f3a39a3)
- reconcile closed findings instead of discarding a structured review (fa5dd3a)
- stop refusing a verdict because the base branch advanced (6393c6c)
Code Refactoring
- share strategy logging and comment citation helpers (b24fad5)
Documentation
- document crosscheck review --force (ff7222c)
What's Changed
- chore: sync main back into staging after the 2026-09-11 promotion by @Trump-One in #323
- Use GitHub OIDC for npm publish workflows by @beingzy with @Copilot in #324
- feat: paginate the watch board over the full session history by @beingzy in #327
- chore: sync version to v1.5.0 after the manual release by @Trump-One in #325
- fix(board): keep failed PRs in the workspace, add session stats by @beingzy in #329
- fix: make PR locks instance-owned and stop re-reviewing approved commits by @beingzy in #330
- fix(watch): summarize vendor JSON errors and page with arrows on macOS by @beingzy in #331
- feat: recover PRs watch mode drops, via a recurring sweep and event re-queue by @beingzy in #328
- feat: reduce repeated review work with caching and structured findings by @Trump-One in #326
- feat: mute dead page keys and show PR entered-at time on the watch board by @beingzy in #332
- feat(watch): page the board with ← / → only, on every platform by @beingzy in #333
- feat: honor smart review strategy in one-shot review command by @kay404 in #334
- fix: reconcile closed findings instead of discarding a structured review by @kay404 in #335
- chore: staging → main promotion (2026-09-25) by @beingzy in #336
Full Changelog: v1.5.0...v1.6.0
v1.5.0
What's Changed
- fix: remove --bare from issue command to restore OAuth support by @Trump-One in #91
- [crosscheck] fix: apply CR fixes from review of PR #89 — by Claude Code by @beingzy in #98
- fix: pipe prompt via stdin in claude reviewer by @Trump-One in #97
- fix: prefer ~/.crosscheck/config.yml over cwd in config discovery by @kay404 in #99
- feat: add clone_protocol config for ssh/https selection by @chababa9 in #100
- feat: smart-switch — subscription-limit fault tolerance for cross-vendor mode by @beingzy in #101
- fix: robust verdict parsing and persistent crosscheck SHA tracking by @beingzy in #103
- release: verdict parsing, persistent SHA cache, smart-switch, clone protocol by @beingzy in #104
- feat(picker): fixed-height viewport with / filter and PageUp/PageDown by @kay404 in #105
- fix(ci): don't push version-bump commit to protected main by @beingzy in #106
- fix(ci): don't push version-bump commit to protected main by @beingzy in #107
- feat: track and display token usage per workflow step by @beingzy in #108
- fix: infer VERDICT from Codex [P1]/[P2]/[P3] priority markers by @beingzy in #109
- fix(ci): use semver dry-run to compute next stable version for beta/alpha stamps by @beingzy in #110
- docs: reposition README around Auto Code Review Pipeline by @beingzy in #111
- chore: release staging → main by @beingzy in #112
- fix(ci): fall back to github.token when RELEASE_TOKEN secret is not set by @beingzy in #113
- fix(ci): open a sync PR when direct push to protected staging is rejected by @beingzy in #114
- fix(ci): long-term fix for staging sync — PR + auto-merge, never direct push by @beingzy in #115
- fix(ci): skip npm publish when version already exists on registry by @beingzy in #116
- fix: restore .codex/instructions after Codex review to prevent false recheck findings by @beingzy in #117
- fix: switch fix step to edit-block format, add size guard against truncation by @beingzy in #118
- fix: switch fix step to edit-block format with safety guards by @beingzy in #120
- feat: retry fix step on transient failure, notify PR author on final failure by @beingzy in #122
- fix(onboard): regenerate workflow.yml on preset downgrade by @chababa9 in #119
- release: v0.9.1 — fix step reliability and CI hardening by @beingzy in #123
- fix: ask which AI you primarily use during onboard; fix --reconfigure routing by @beingzy in #125
- feat: recheck round tracking + max_rounds onboard prompt by @beingzy in #126
- release: merge staging → main (0.11.0 → 0.12.0) by @beingzy in #127
- fix: use full detection chain in review command by @beingzy in #129
- fix: resolve merge conflict markers in board.ts by @beingzy in #130
- release: merge staging → main by @beingzy in #128
- feat: add in-flight lock to prevent duplicate reviews by @beingzy in #131
- fix: recheck comments link to original review and carry annotation tags by @beingzy in #132
- fix: annotation origin= always present; field order matches documented contract by @beingzy in #133
- fix: show CR as prior-round when displaying round 2+ PR stripe by @beingzy in #134
- feat: add conflict-resolve workflow step with onboard opt-in by @beingzy in #135
- feat: reorder watch board layout (config → stats → PR workspace) by @beingzy in #138
- fix: align cross-vendor routing with multi-agent usage by @beingzy in #137
- feat: add condition checks to conflict-resolve step by @beingzy in #136
- fix: harden conflict marker check against PR-controlled inputs by @beingzy in #139
- fix(ci): harden publish workflow (provenance, idempotency, node 22) by @beingzy in #140
- fix: scope [crosscheck] commit guard to commits ahead of base by @beingzy in #142
- fix: re-raise signals after PR-lock cleanup when sole listener by @beingzy in #143
- Promote staging to main by @beingzy in #141
- fix: release pushed-sha pending statuses from the run signal handler by @beingzy in #145
- fix: prefer PR side in conflict-resolve prompt; refresh remote lock to newSha by @beingzy in #144
- feat: human-readable duration in watch board by @Trump-One in #147
- fix: dedup webhook scopes and skip no-diff re-reviews by @beingzy in #148
- feat: post summary comment after silent-commit fix and conflict-resolve by @beingzy in #149
- feat(log): add step_type, step_name, vendor, duration_ms to completion events by @beingzy in #152
- feat(log): emit workflow_complete event in runWorkflow finally by @beingzy in #153
- docs: auto-fix gate redesign — outcome-based invariant, bounded loop, single gate by @beingzy in #151
- docs: redesign telemetry around versioned categories with idle upload by @beingzy in #150
- docs: add scan kickass PRD tickets by @beingzy in #157
- fix: harden crosscheck review deduping by @beingzy in #154
- feat: add model-aware review headers by @beingzy in #156
- feat: add annotation contract v2 by @beingzy in #155
- feat: add PR status scanner by @beingzy in #158
- feat: add scan command by @beingzy in #159
- feat: add scan and kickass operator queue by @beingzy in #160
- feat: add kickass operator command by @beingzy in #163
- refactor: dedupe PR status annotation parser by @beingzy in #161
- feat: add scan command by @beingzy in #162
- docs: rewrite README with per-command sections + mark scan/kickass done in prd by @beingzy in #165
- Promote to stable release with cutting-edge features by @beingzy in #167
- feat: rename PR states + add --reviewer vendor aliases by @beingzy in #166
- feat: supercharge kickass — all actionable PRs, fix→recheck cycles, --crazy/--halfcrazy by @beingzy in #168
- feat: add --timeout flag; crazy/halfcrazy lift all timeout constraints by @beingzy in #169
- feat: --timeout flag, --crazy/--half-crazy autonomous loop modes by @beingzy in #170
- feat: --concurrent flag for kickass — parallel PR execution by @beingzy in #172
- feat: remove crazy/half-crazy round ceiling — loop runs until stop condition by @beingzy in #171
- feat: configurable per-vendor review timeout (vendors.*.timeout_sec) by @kay404 in #173
- feat: data-driven logging — pr_complexity, token split, trigger source, retention 30d by @beingzy in #174
- fix: correct network mis-categorization and add retry in kickass by @beingzy in #177
- feat: identify next workflow step from PR comment history + detect-step command by @beingzy in #178
- fix: revert incorrect fixAfterReview shortcut that caused BLOCK rec...
v1.3.0
1.3.0 (2026-08-18)
Features
- show git clone progress in review spinner (6f274f0)
- linear: add linear-test, quieten the defaults, rewrite the README (2dfd0aa)
- linear: per-step actor names and the shared identity contract (d164bcb)
- linear: surface the attribution ladder and enrich the signature (57e621c)
- linear: tiered Linear identity and review write-back (129bccd)
- linear: verify identity attribution from crosscheck status (9c01851)
- add crosscheck adoption, measuring real usage from local logs (#295) (df89c41), closes #202
- add per-step skill activation broker (67475b3)
- adopt the review strategy at runtime, surface it in onboard, restore the smart default (#280) (ccf264d), closes #279
- attribute skills per workflow step (9936373)
- bundle recommended agent skill catalog (53875b0)
- dynamic thoroughness — per-PR model and effort selection (#279) (ac04cd8)
- expose all six codex reasoning tiers in vendors.codex.effort (9dadcba)
- honor codex model config under subscription auth (c9d7abc)
- honor repository review guidance (c2dfdaa)
- inject skills into coding agent steps (1b0c257)
- install agent skills with provenance (aff0a05)
- pass vendors.codex.effort as codex reasoning effort (b4712ae)
- preload engineering skills (100cc63)
- recommend compatible agent skills (f1e3f4c)
- verify skill package integrity (9971b82)
- attribution: one shared footer for every posted card, with model and effort (#276) (96263ab)
- onboard: mark Linear write-back as beta and stop prompting for it (#277) (92f63e4)
- stop working a PR once its latest verdict is APPROVE (#281) (3af82c0)
Bug Fixes
- ci: promote staging via PR, and email yi@ when a release publishes (#278) (74caf20)
- ci: unblock the release pipeline and restore the production gate (#288) (8d0d4bc)
- linear: address crosscheck review — runner wiring, scopes, host anchoring (c5ba911), closes #257
- linear: address recheck — abort on auth failure, parse URLs, fix metadata (26d3375), closes #257
- linear: address review — blank clear, narrower tidying, contract version (4932f59)
- linear: address review — config reference and contract wording (c0547e7)
- linear: board and auth ahead of the clone; gate the startup preflight (9c29ae5), closes #257
- linear: bound and parallelise the Linear status probe (c4396cc)
- linear: bump to 0.20.0 for the new command; reuse the verified identity (aaa9d81), closes #261
- linear: gate preflight on verdict-writing steps; surface watch failures (1c543ff), closes #257
- linear: honour the no-write gate in the runner; name rejected credentials (77c916d), closes #257
- linear: iterate scheme-less URL candidates; gate for round-mode rechecks (4d86f05), closes #257
- linear: NEEDS WORK was silently dropped; dry-run and exit-code fixes (a18fdb0), closes #257
- linear: onboarding could disable a working integration; harden linear-test (5159294), closes #261
- linear: one auth predicate everywhere; parse the identifier segment whole (940b39d), closes #257
- linear: outage exit codes, preflight placement, ref punctuation (ac92cdc), closes #257
- linear: preflight Linear at watch startup, not silently per event (a1e09eb), closes #257
- linear: punctuated URLs keep their workspace; accept 1-char team keys (c5500f4), closes #257
- linear: scope runner write-back to the step actor (216f11c)
- linear: watch fails fast on auth; recheck comments say recheck (316784f), closes #257
- linear: workspace safety, one token per run, outage classification (a2dba33), closes #257
- runner: retry base-branch fetch so a blip cannot disable auto-fix (ed3e6ea), closes humanbased-ai/crosscheck#257
- address CR issues in fix: land auto-fixes on the PR branch instead of always opening a follow-up PR (#287) (c5d9743), closes [#286](https://g...
v1.2.0
1.2.0 (2026-08-07)
What's Changed
- fix: remove --bare from issue command to restore OAuth support by @Trump-One in #91
- [crosscheck] fix: apply CR fixes from review of PR #89 — by Claude Code by @beingzy in #98
- fix: pipe prompt via stdin in claude reviewer by @Trump-One in #97
- fix: prefer ~/.crosscheck/config.yml over cwd in config discovery by @kay404 in #99
- feat: add clone_protocol config for ssh/https selection by @chababa9 in #100
- feat: smart-switch — subscription-limit fault tolerance for cross-vendor mode by @beingzy in #101
- fix: robust verdict parsing and persistent crosscheck SHA tracking by @beingzy in #103
- release: verdict parsing, persistent SHA cache, smart-switch, clone protocol by @beingzy in #104
- feat(picker): fixed-height viewport with / filter and PageUp/PageDown by @kay404 in #105
- fix(ci): don't push version-bump commit to protected main by @beingzy in #106
- fix(ci): don't push version-bump commit to protected main by @beingzy in #107
- feat: track and display token usage per workflow step by @beingzy in #108
- fix: infer VERDICT from Codex [P1]/[P2]/[P3] priority markers by @beingzy in #109
- fix(ci): use semver dry-run to compute next stable version for beta/alpha stamps by @beingzy in #110
- docs: reposition README around Auto Code Review Pipeline by @beingzy in #111
- chore: release staging → main by @beingzy in #112
- fix(ci): fall back to github.token when RELEASE_TOKEN secret is not set by @beingzy in #113
- fix(ci): open a sync PR when direct push to protected staging is rejected by @beingzy in #114
- fix(ci): long-term fix for staging sync — PR + auto-merge, never direct push by @beingzy in #115
- fix(ci): skip npm publish when version already exists on registry by @beingzy in #116
- fix: restore .codex/instructions after Codex review to prevent false recheck findings by @beingzy in #117
- fix: switch fix step to edit-block format, add size guard against truncation by @beingzy in #118
- fix: switch fix step to edit-block format with safety guards by @beingzy in #120
- feat: retry fix step on transient failure, notify PR author on final failure by @beingzy in #122
- fix(onboard): regenerate workflow.yml on preset downgrade by @chababa9 in #119
- release: v0.9.1 — fix step reliability and CI hardening by @beingzy in #123
- fix: ask which AI you primarily use during onboard; fix --reconfigure routing by @beingzy in #125
- feat: recheck round tracking + max_rounds onboard prompt by @beingzy in #126
- release: merge staging → main (0.11.0 → 0.12.0) by @beingzy in #127
- fix: use full detection chain in review command by @beingzy in #129
- fix: resolve merge conflict markers in board.ts by @beingzy in #130
- release: merge staging → main by @beingzy in #128
- feat: add in-flight lock to prevent duplicate reviews by @beingzy in #131
- fix: recheck comments link to original review and carry annotation tags by @beingzy in #132
- fix: annotation origin= always present; field order matches documented contract by @beingzy in #133
- fix: show CR as prior-round when displaying round 2+ PR stripe by @beingzy in #134
- feat: add conflict-resolve workflow step with onboard opt-in by @beingzy in #135
- feat: reorder watch board layout (config → stats → PR workspace) by @beingzy in #138
- fix: align cross-vendor routing with multi-agent usage by @beingzy in #137
- feat: add condition checks to conflict-resolve step by @beingzy in #136
- fix: harden conflict marker check against PR-controlled inputs by @beingzy in #139
- fix(ci): harden publish workflow (provenance, idempotency, node 22) by @beingzy in #140
- fix: scope [crosscheck] commit guard to commits ahead of base by @beingzy in #142
- fix: re-raise signals after PR-lock cleanup when sole listener by @beingzy in #143
- Promote staging to main by @beingzy in #141
- fix: release pushed-sha pending statuses from the run signal handler by @beingzy in #145
- fix: prefer PR side in conflict-resolve prompt; refresh remote lock to newSha by @beingzy in #144
- feat: human-readable duration in watch board by @Trump-One in #147
- fix: dedup webhook scopes and skip no-diff re-reviews by @beingzy in #148
- feat: post summary comment after silent-commit fix and conflict-resolve by @beingzy in #149
- feat(log): add step_type, step_name, vendor, duration_ms to completion events by @beingzy in #152
- feat(log): emit workflow_complete event in runWorkflow finally by @beingzy in #153
- docs: auto-fix gate redesign — outcome-based invariant, bounded loop, single gate by @beingzy in #151
- docs: redesign telemetry around versioned categories with idle upload by @beingzy in #150
- docs: add scan kickass PRD tickets by @beingzy in #157
- fix: harden crosscheck review deduping by @beingzy in #154
- feat: add model-aware review headers by @beingzy in #156
- feat: add annotation contract v2 by @beingzy in #155
- feat: add PR status scanner by @beingzy in #158
- feat: add scan command by @beingzy in #159
- feat: add scan and kickass operator queue by @beingzy in #160
- feat: add kickass operator command by @beingzy in #163
- refactor: dedupe PR status annotation parser by @beingzy in #161
- feat: add scan command by @beingzy in #162
- docs: rewrite README with per-command sections + mark scan/kickass done in prd by @beingzy in #165
- Promote to stable release with cutting-edge features by @beingzy in #167
- feat: rename PR states + add --reviewer vendor aliases by @beingzy in #166
- feat: supercharge kickass — all actionable PRs, fix→recheck cycles, --crazy/--halfcrazy by @beingzy in #168
- feat: add --timeout flag; crazy/halfcrazy lift all timeout constraints by @beingzy in #169
- feat: --timeout flag, --crazy/--half-crazy autonomous loop modes by @beingzy in #170
- feat: --concurrent flag for kickass — parallel PR execution by @beingzy in #172
- feat: remove crazy/half-crazy round ceiling — loop runs until stop condition by @beingzy in #171
- feat: configurable per-vendor review timeout (vendors.*.timeout_sec) by @kay404 in #173
- feat: data-driven logging — pr_complexity, token split, trigger source, retention 30d by @beingzy in #174
- fix: correct network mis-categorization and add retry in kickass by @beingzy in #177
- feat: identify next workflow step from PR comment history + detect-step command by @beingzy in https://github.com/humanba...
v1.1.0
1.1.0 (2026-07-26)
⚠ BREAKING CHANGES
- store per-repo workflow overrides in files; default to full loop
Features
- add --port flag to watch and serve (c0ed2dd)
- add per-repo workflow overrides (da0d1e1)
- soft-deprecate serve in favor of watch + smee (a1bf6d8)
- source review tier model mapping (ebc625d)
- store per-repo workflow overrides in files; default to full loop (9588bee), closes #245
- enrich: anchor reviews to the linked Linear issue's goal (69a41fc)
- support review,recheck per-repo workflow depth (#249) (422b97a)
Bug Fixes
- address review feedback on per-repo workflow overrides (72148b1)
- strip temp clone dir prefix from codex review paths (0ce4506)
Code Refactoring
- address review — consolidate override reader, dedup file reads (ccb5766)
- enrich: fetch tracker issue after locks; loosen the goal instruction (d7292e9), closes #251
Documentation
- mark --port shipped and add serve sunset plan to PRD (e558caa)
What's Changed
- fix: remove --bare from issue command to restore OAuth support by @Trump-One in #91
- [crosscheck] fix: apply CR fixes from review of PR #89 — by Claude Code by @beingzy in #98
- fix: pipe prompt via stdin in claude reviewer by @Trump-One in #97
- fix: prefer ~/.crosscheck/config.yml over cwd in config discovery by @kay404 in #99
- feat: add clone_protocol config for ssh/https selection by @chababa9 in #100
- feat: smart-switch — subscription-limit fault tolerance for cross-vendor mode by @beingzy in #101
- fix: robust verdict parsing and persistent crosscheck SHA tracking by @beingzy in #103
- release: verdict parsing, persistent SHA cache, smart-switch, clone protocol by @beingzy in #104
- feat(picker): fixed-height viewport with / filter and PageUp/PageDown by @kay404 in #105
- fix(ci): don't push version-bump commit to protected main by @beingzy in #106
- fix(ci): don't push version-bump commit to protected main by @beingzy in #107
- feat: track and display token usage per workflow step by @beingzy in #108
- fix: infer VERDICT from Codex [P1]/[P2]/[P3] priority markers by @beingzy in #109
- fix(ci): use semver dry-run to compute next stable version for beta/alpha stamps by @beingzy in #110
- docs: reposition README around Auto Code Review Pipeline by @beingzy in #111
- chore: release staging → main by @beingzy in #112
- fix(ci): fall back to github.token when RELEASE_TOKEN secret is not set by @beingzy in #113
- fix(ci): open a sync PR when direct push to protected staging is rejected by @beingzy in #114
- fix(ci): long-term fix for staging sync — PR + auto-merge, never direct push by @beingzy in #115
- fix(ci): skip npm publish when version already exists on registry by @beingzy in #116
- fix: restore .codex/instructions after Codex review to prevent false recheck findings by @beingzy in #117
- fix: switch fix step to edit-block format, add size guard against truncation by @beingzy in #118
- fix: switch fix step to edit-block format with safety guards by @beingzy in #120
- feat: retry fix step on transient failure, notify PR author on final failure by @beingzy in #122
- fix(onboard): regenerate workflow.yml on preset downgrade by @chababa9 in #119
- release: v0.9.1 — fix step reliability and CI hardening by @beingzy in #123
- fix: ask which AI you primarily use during onboard; fix --reconfigure routing by @beingzy in #125
- feat: recheck round tracking + max_rounds onboard prompt by @beingzy in #126
- release: merge staging → main (0.11.0 → 0.12.0) by @beingzy in #127
- fix: use full detection chain in review command by @beingzy in #129
- fix: resolve merge conflict markers in board.ts by @beingzy in #130
- release: merge staging → main by @beingzy in #128
- feat: add in-flight lock to prevent duplicate reviews by @beingzy in #131
- fix: recheck comments link to original review and carry annotation tags by @beingzy in #132
- fix: annotation origin= always present; field order matches documented contract by @beingzy in #133
- fix: show CR as prior-round when displaying round 2+ PR stripe by @beingzy in #134
- feat: add conflict-resolve workflow step with onboard opt-in by @beingzy in #135
- feat: reorder watch board layout (config → stats → PR workspace) by @beingzy in #138
- fix: align cross-vendor routing with multi-agent usage by @beingzy in #137
- feat: add condition checks to conflict-resolve step by @beingzy in #136
- fix: harden conflict marker check against PR-controlled inputs by @beingzy in #139
- fix(ci): harden publish workflow (provenance, idempotency, node 22) by @beingzy in #140
- fix: scope [crosscheck] commit guard to commits ahead of base by @beingzy in #142
- fix: re-raise signals after PR-lock cleanup when sole listener by @beingzy in #143
- Promote staging to main by @beingzy in #141
- fix: release pushed-sha pending statuses from the run signal handler by @beingzy in #145
- fix: prefer PR side in conflict-resolve prompt; refresh remote lock to newSha by @beingzy in #144
- feat: human-readable duration in watch board by @Trump-One in #147
- fix: dedup webhook scopes and skip no-diff re-reviews by @beingzy in #148
- feat: post summary comment after silent-commit fix and conflict-resolve by @beingzy in #149
- feat(log): add step_type, step_name, vendor, duration_ms to completion events by @beingzy in #152
- feat(log): emit workflow_complete event in runWorkflow finally by @beingzy in #153
- docs: auto-fix gate redesign — outcome-based invariant, bounded loop, single gate by @beingzy in #151
- docs: redesign telemetry around versioned categories with idle upload by @beingzy in #150
- docs: add scan kickass PRD tickets by @beingzy in #157
- fix: harden crosscheck review deduping by @beingzy in #154
- feat: add model-aware review headers by @beingzy in #156
- feat: add annotation contract v2 by @beingzy in #155
...
v1.0.1
1.0.1 (2026-07-21)
What's Changed
- fix: remove --bare from issue command to restore OAuth support by @Trump-One in #91
- [crosscheck] fix: apply CR fixes from review of PR #89 — by Claude Code by @beingzy in #98
- fix: pipe prompt via stdin in claude reviewer by @Trump-One in #97
- fix: prefer ~/.crosscheck/config.yml over cwd in config discovery by @kay404 in #99
- feat: add clone_protocol config for ssh/https selection by @chababa9 in #100
- feat: smart-switch — subscription-limit fault tolerance for cross-vendor mode by @beingzy in #101
- fix: robust verdict parsing and persistent crosscheck SHA tracking by @beingzy in #103
- release: verdict parsing, persistent SHA cache, smart-switch, clone protocol by @beingzy in #104
- feat(picker): fixed-height viewport with / filter and PageUp/PageDown by @kay404 in #105
- fix(ci): don't push version-bump commit to protected main by @beingzy in #106
- fix(ci): don't push version-bump commit to protected main by @beingzy in #107
- feat: track and display token usage per workflow step by @beingzy in #108
- fix: infer VERDICT from Codex [P1]/[P2]/[P3] priority markers by @beingzy in #109
- fix(ci): use semver dry-run to compute next stable version for beta/alpha stamps by @beingzy in #110
- docs: reposition README around Auto Code Review Pipeline by @beingzy in #111
- chore: release staging → main by @beingzy in #112
- fix(ci): fall back to github.token when RELEASE_TOKEN secret is not set by @beingzy in #113
- fix(ci): open a sync PR when direct push to protected staging is rejected by @beingzy in #114
- fix(ci): long-term fix for staging sync — PR + auto-merge, never direct push by @beingzy in #115
- fix(ci): skip npm publish when version already exists on registry by @beingzy in #116
- fix: restore .codex/instructions after Codex review to prevent false recheck findings by @beingzy in #117
- fix: switch fix step to edit-block format, add size guard against truncation by @beingzy in #118
- fix: switch fix step to edit-block format with safety guards by @beingzy in #120
- feat: retry fix step on transient failure, notify PR author on final failure by @beingzy in #122
- fix(onboard): regenerate workflow.yml on preset downgrade by @chababa9 in #119
- release: v0.9.1 — fix step reliability and CI hardening by @beingzy in #123
- fix: ask which AI you primarily use during onboard; fix --reconfigure routing by @beingzy in #125
- feat: recheck round tracking + max_rounds onboard prompt by @beingzy in #126
- release: merge staging → main (0.11.0 → 0.12.0) by @beingzy in #127
- fix: use full detection chain in review command by @beingzy in #129
- fix: resolve merge conflict markers in board.ts by @beingzy in #130
- release: merge staging → main by @beingzy in #128
- feat: add in-flight lock to prevent duplicate reviews by @beingzy in #131
- fix: recheck comments link to original review and carry annotation tags by @beingzy in #132
- fix: annotation origin= always present; field order matches documented contract by @beingzy in #133
- fix: show CR as prior-round when displaying round 2+ PR stripe by @beingzy in #134
- feat: add conflict-resolve workflow step with onboard opt-in by @beingzy in #135
- feat: reorder watch board layout (config → stats → PR workspace) by @beingzy in #138
- fix: align cross-vendor routing with multi-agent usage by @beingzy in #137
- feat: add condition checks to conflict-resolve step by @beingzy in #136
- fix: harden conflict marker check against PR-controlled inputs by @beingzy in #139
- fix(ci): harden publish workflow (provenance, idempotency, node 22) by @beingzy in #140
- fix: scope [crosscheck] commit guard to commits ahead of base by @beingzy in #142
- fix: re-raise signals after PR-lock cleanup when sole listener by @beingzy in #143
- Promote staging to main by @beingzy in #141
- fix: release pushed-sha pending statuses from the run signal handler by @beingzy in #145
- fix: prefer PR side in conflict-resolve prompt; refresh remote lock to newSha by @beingzy in #144
- feat: human-readable duration in watch board by @Trump-One in #147
- fix: dedup webhook scopes and skip no-diff re-reviews by @beingzy in #148
- feat: post summary comment after silent-commit fix and conflict-resolve by @beingzy in #149
- feat(log): add step_type, step_name, vendor, duration_ms to completion events by @beingzy in #152
- feat(log): emit workflow_complete event in runWorkflow finally by @beingzy in #153
- docs: auto-fix gate redesign — outcome-based invariant, bounded loop, single gate by @beingzy in #151
- docs: redesign telemetry around versioned categories with idle upload by @beingzy in #150
- docs: add scan kickass PRD tickets by @beingzy in #157
- fix: harden crosscheck review deduping by @beingzy in #154
- feat: add model-aware review headers by @beingzy in #156
- feat: add annotation contract v2 by @beingzy in #155
- feat: add PR status scanner by @beingzy in #158
- feat: add scan command by @beingzy in #159
- feat: add scan and kickass operator queue by @beingzy in #160
- feat: add kickass operator command by @beingzy in #163
- refactor: dedupe PR status annotation parser by @beingzy in #161
- feat: add scan command by @beingzy in #162
- docs: rewrite README with per-command sections + mark scan/kickass done in prd by @beingzy in #165
- Promote to stable release with cutting-edge features by @beingzy in #167
- feat: rename PR states + add --reviewer vendor aliases by @beingzy in #166
- feat: supercharge kickass — all actionable PRs, fix→recheck cycles, --crazy/--halfcrazy by @beingzy in #168
- feat: add --timeout flag; crazy/halfcrazy lift all timeout constraints by @beingzy in #169
- feat: --timeout flag, --crazy/--half-crazy autonomous loop modes by @beingzy in #170
- feat: --concurrent flag for kickass — parallel PR execution by @beingzy in #172
- feat: remove crazy/half-crazy round ceiling — loop runs until stop condition by @beingzy in #171
- feat: configurable per-vendor review timeout (vendors.*.timeout_sec) by @kay404 in #173
- feat: data-driven logging — pr_complexity, token split, trigger source, retention 30d by @beingzy in #174
- fix: correct network mis-categorization and add retry in kickass by @beingzy in #177
- feat: identify next workflow step from PR comment history + detect-step command by @beingzy in https://github.com/humanb...
v1.0.0
1.0.0 (2026-07-08)
⚠ BREAKING CHANGES
- the
servecommand is removed — release this as a major bump.
Features
- add watch --only-review flag and remove serve command (b8a1b88)
Bug Fixes
- runner: preserve fallback after transient retry (f99b819)
- runner: retry review/recheck steps on transient API errors (429/529) (4b887d9), closes #191
- review crosscheck/fix-pushed commits in watch --only-review (d8d026d), closes #243
What's Changed
- fix: remove --bare from issue command to restore OAuth support by @Trump-One in #91
- [crosscheck] fix: apply CR fixes from review of PR #89 — by Claude Code by @beingzy in #98
- fix: pipe prompt via stdin in claude reviewer by @Trump-One in #97
- fix: prefer ~/.crosscheck/config.yml over cwd in config discovery by @kay404 in #99
- feat: add clone_protocol config for ssh/https selection by @chababa9 in #100
- feat: smart-switch — subscription-limit fault tolerance for cross-vendor mode by @beingzy in #101
- fix: robust verdict parsing and persistent crosscheck SHA tracking by @beingzy in #103
- release: verdict parsing, persistent SHA cache, smart-switch, clone protocol by @beingzy in #104
- feat(picker): fixed-height viewport with / filter and PageUp/PageDown by @kay404 in #105
- fix(ci): don't push version-bump commit to protected main by @beingzy in #106
- fix(ci): don't push version-bump commit to protected main by @beingzy in #107
- feat: track and display token usage per workflow step by @beingzy in #108
- fix: infer VERDICT from Codex [P1]/[P2]/[P3] priority markers by @beingzy in #109
- fix(ci): use semver dry-run to compute next stable version for beta/alpha stamps by @beingzy in #110
- docs: reposition README around Auto Code Review Pipeline by @beingzy in #111
- chore: release staging → main by @beingzy in #112
- fix(ci): fall back to github.token when RELEASE_TOKEN secret is not set by @beingzy in #113
- fix(ci): open a sync PR when direct push to protected staging is rejected by @beingzy in #114
- fix(ci): long-term fix for staging sync — PR + auto-merge, never direct push by @beingzy in #115
- fix(ci): skip npm publish when version already exists on registry by @beingzy in #116
- fix: restore .codex/instructions after Codex review to prevent false recheck findings by @beingzy in #117
- fix: switch fix step to edit-block format, add size guard against truncation by @beingzy in #118
- fix: switch fix step to edit-block format with safety guards by @beingzy in #120
- feat: retry fix step on transient failure, notify PR author on final failure by @beingzy in #122
- fix(onboard): regenerate workflow.yml on preset downgrade by @chababa9 in #119
- release: v0.9.1 — fix step reliability and CI hardening by @beingzy in #123
- fix: ask which AI you primarily use during onboard; fix --reconfigure routing by @beingzy in #125
- feat: recheck round tracking + max_rounds onboard prompt by @beingzy in #126
- release: merge staging → main (0.11.0 → 0.12.0) by @beingzy in #127
- fix: use full detection chain in review command by @beingzy in #129
- fix: resolve merge conflict markers in board.ts by @beingzy in #130
- release: merge staging → main by @beingzy in #128
- feat: add in-flight lock to prevent duplicate reviews by @beingzy in #131
- fix: recheck comments link to original review and carry annotation tags by @beingzy in #132
- fix: annotation origin= always present; field order matches documented contract by @beingzy in #133
- fix: show CR as prior-round when displaying round 2+ PR stripe by @beingzy in #134
- feat: add conflict-resolve workflow step with onboard opt-in by @beingzy in #135
- feat: reorder watch board layout (config → stats → PR workspace) by @beingzy in #138
- fix: align cross-vendor routing with multi-agent usage by @beingzy in #137
- feat: add condition checks to conflict-resolve step by @beingzy in #136
- fix: harden conflict marker check against PR-controlled inputs by @beingzy in #139
- fix(ci): harden publish workflow (provenance, idempotency, node 22) by @beingzy in #140
- fix: scope [crosscheck] commit guard to commits ahead of base by @beingzy in #142
- fix: re-raise signals after PR-lock cleanup when sole listener by @beingzy in #143
- Promote staging to main by @beingzy in #141
- fix: release pushed-sha pending statuses from the run signal handler by @beingzy in #145
- fix: prefer PR side in conflict-resolve prompt; refresh remote lock to newSha by @beingzy in #144
- feat: human-readable duration in watch board by @Trump-One in #147
- fix: dedup webhook scopes and skip no-diff re-reviews by @beingzy in #148
- feat: post summary comment after silent-commit fix and conflict-resolve by @beingzy in #149
- feat(log): add step_type, step_name, vendor, duration_ms to completion events by @beingzy in #152
- feat(log): emit workflow_complete event in runWorkflow finally by @beingzy in #153
- docs: auto-fix gate redesign — outcome-based invariant, bounded loop, single gate by @beingzy in #151
- docs: redesign telemetry around versioned categories with idle upload by @beingzy in #150
- docs: add scan kickass PRD tickets by @beingzy in #157
- fix: harden crosscheck review deduping by @beingzy in #154
- feat: add model-aware review headers by @beingzy in #156
- feat: add annotation contract v2 by @beingzy in #155
- feat: add PR status scanner by @beingzy in #158
- feat: add scan command by @beingzy in #159
- feat: add scan and kickass operator queue by @beingzy in #160
- feat: add kickass operator command by @beingzy in #163
- refactor: dedupe PR status annotation parser by @beingzy in #161
- feat: add scan command by @beingzy in #162
- docs: rewrite README with per-command sections + mark scan/kickass done in prd by @beingzy in #165
- Promote to stable release with cutting-edge features by @beingzy in #167
- feat: rename PR states + add --reviewer vendor aliases by @beingzy in #166
- feat: supercharge kickass — all actionable PRs, fix→recheck cycles, --crazy/--halfcrazy by @beingzy in #168
- feat: add --timeout flag; crazy/halfcrazy lift all timeout constraints by @beingzy in #169
- feat: --timeout flag, --crazy...
v0.20.0
0.20.0 (2026-06-26)
Features
What's Changed
- fix: remove --bare from issue command to restore OAuth support by @Trump-One in #91
- [crosscheck] fix: apply CR fixes from review of PR #89 — by Claude Code by @beingzy in #98
- fix: pipe prompt via stdin in claude reviewer by @Trump-One in #97
- fix: prefer ~/.crosscheck/config.yml over cwd in config discovery by @kay404 in #99
- feat: add clone_protocol config for ssh/https selection by @chababa9 in #100
- feat: smart-switch — subscription-limit fault tolerance for cross-vendor mode by @beingzy in #101
- fix: robust verdict parsing and persistent crosscheck SHA tracking by @beingzy in #103
- release: verdict parsing, persistent SHA cache, smart-switch, clone protocol by @beingzy in #104
- feat(picker): fixed-height viewport with / filter and PageUp/PageDown by @kay404 in #105
- fix(ci): don't push version-bump commit to protected main by @beingzy in #106
- fix(ci): don't push version-bump commit to protected main by @beingzy in #107
- feat: track and display token usage per workflow step by @beingzy in #108
- fix: infer VERDICT from Codex [P1]/[P2]/[P3] priority markers by @beingzy in #109
- fix(ci): use semver dry-run to compute next stable version for beta/alpha stamps by @beingzy in #110
- docs: reposition README around Auto Code Review Pipeline by @beingzy in #111
- chore: release staging → main by @beingzy in #112
- fix(ci): fall back to github.token when RELEASE_TOKEN secret is not set by @beingzy in #113
- fix(ci): open a sync PR when direct push to protected staging is rejected by @beingzy in #114
- fix(ci): long-term fix for staging sync — PR + auto-merge, never direct push by @beingzy in #115
- fix(ci): skip npm publish when version already exists on registry by @beingzy in #116
- fix: restore .codex/instructions after Codex review to prevent false recheck findings by @beingzy in #117
- fix: switch fix step to edit-block format, add size guard against truncation by @beingzy in #118
- fix: switch fix step to edit-block format with safety guards by @beingzy in #120
- feat: retry fix step on transient failure, notify PR author on final failure by @beingzy in #122
- fix(onboard): regenerate workflow.yml on preset downgrade by @chababa9 in #119
- release: v0.9.1 — fix step reliability and CI hardening by @beingzy in #123
- fix: ask which AI you primarily use during onboard; fix --reconfigure routing by @beingzy in #125
- feat: recheck round tracking + max_rounds onboard prompt by @beingzy in #126
- release: merge staging → main (0.11.0 → 0.12.0) by @beingzy in #127
- fix: use full detection chain in review command by @beingzy in #129
- fix: resolve merge conflict markers in board.ts by @beingzy in #130
- release: merge staging → main by @beingzy in #128
- feat: add in-flight lock to prevent duplicate reviews by @beingzy in #131
- fix: recheck comments link to original review and carry annotation tags by @beingzy in #132
- fix: annotation origin= always present; field order matches documented contract by @beingzy in #133
- fix: show CR as prior-round when displaying round 2+ PR stripe by @beingzy in #134
- feat: add conflict-resolve workflow step with onboard opt-in by @beingzy in #135
- feat: reorder watch board layout (config → stats → PR workspace) by @beingzy in #138
- fix: align cross-vendor routing with multi-agent usage by @beingzy in #137
- feat: add condition checks to conflict-resolve step by @beingzy in #136
- fix: harden conflict marker check against PR-controlled inputs by @beingzy in #139
- fix(ci): harden publish workflow (provenance, idempotency, node 22) by @beingzy in #140
- fix: scope [crosscheck] commit guard to commits ahead of base by @beingzy in #142
- fix: re-raise signals after PR-lock cleanup when sole listener by @beingzy in #143
- Promote staging to main by @beingzy in #141
- fix: release pushed-sha pending statuses from the run signal handler by @beingzy in #145
- fix: prefer PR side in conflict-resolve prompt; refresh remote lock to newSha by @beingzy in #144
- feat: human-readable duration in watch board by @Trump-One in #147
- fix: dedup webhook scopes and skip no-diff re-reviews by @beingzy in #148
- feat: post summary comment after silent-commit fix and conflict-resolve by @beingzy in #149
- feat(log): add step_type, step_name, vendor, duration_ms to completion events by @beingzy in #152
- feat(log): emit workflow_complete event in runWorkflow finally by @beingzy in #153
- docs: auto-fix gate redesign — outcome-based invariant, bounded loop, single gate by @beingzy in #151
- docs: redesign telemetry around versioned categories with idle upload by @beingzy in #150
- docs: add scan kickass PRD tickets by @beingzy in #157
- fix: harden crosscheck review deduping by @beingzy in #154
- feat: add model-aware review headers by @beingzy in #156
- feat: add annotation contract v2 by @beingzy in #155
- feat: add PR status scanner by @beingzy in #158
- feat: add scan command by @beingzy in #159
- feat: add scan and kickass operator queue by @beingzy in #160
- feat: add kickass operator command by @beingzy in #163
- refactor: dedupe PR status annotation parser by @beingzy in #161
- feat: add scan command by @beingzy in #162
- docs: rewrite README with per-command sections + mark scan/kickass done in prd by @beingzy in #165
- Promote to stable release with cutting-edge features by @beingzy in #167
- feat: rename PR states + add --reviewer vendor aliases by @beingzy in #166
- feat: supercharge kickass — all actionable PRs, fix→recheck cycles, --crazy/--halfcrazy by @beingzy in #168
- feat: add --timeout flag; crazy/halfcrazy lift all timeout constraints by @beingzy in #169
- feat: --timeout flag, --crazy/--half-crazy autonomous loop modes by @beingzy in #170
- feat: --concurrent flag for kickass — parallel PR execution by @beingzy in #172
- feat: remove crazy/half-crazy round ceiling — loop runs until stop condition by @beingzy in #171
- feat: configurable per-vendor review timeout (vendors.*.timeout_sec) by @kay404 in #173
- feat: data-driven logging — pr_complexity, token split, trigger source, retention 30d by @beingzy in #174
- fix:...