Skip to content

Releases: bssm-oss/CodeAgora

v2.3.3

16 Apr 14:28

Choose a tag to compare

v2.3.3 — Web UX 개선

Pipeline Page

  • WS 연결 없이도 ReviewTrigger 폼 표시 (이전: Disconnected면 빈 화면)
  • idle 메시지 간결화: 3줄 → 1줄

ReviewTrigger

  • 제출 후 폼 자동 리셋 (textarea, PR URL, provider, model 초기화)
  • 성공 메시지 "Review started! Check Pipeline or Sessions page for results." 5초 표시

Empty States

  • Models: "No models reviewed yet. Run a code review to see model performance."
  • Costs: "No cost data yet. Costs are tracked after reviews with paid models."

Toast

  • auto-dismiss 3초 → 5초 (Config 저장 등 피드백 놓침 방지)

Full Changelog: v2.3.2...v2.3.3

v2.3.2

16 Apr 13:46

Choose a tag to compare

v2.3.2 — Fallback/Retry 강화

Highlights

  • 리뷰어 응답률 2/5 → 5/5 (무료 모델 기준)
  • 리뷰 속도 196초 → 83초 (57% 단축)
  • 이슈 발견 2개 → 9개 (retry 성공으로 더 많은 리뷰어 참여)

New: Error Classifier

에러를 4가지로 분류하여 최적 retry 전략 적용:

  • rate-limited (429): retry-after 헤더 파싱, 해당 시간만큼 대기 후 재시도
  • auth (401/403): 즉시 forfeit, 재시도 없음
  • transient (5xx/timeout): exponential backoff 재시도
  • permanent (기타 4xx): 즉시 skip, 시간 낭비 방지

Changes

  • AI SDK maxRetries: 0 — 이중 재시도 제거 (SDK 2회 + 앱 2회 = 최대 9회 맹목 시도 → 앱만 2회)
  • 429는 circuit breaker에 기록 안 함 — rate limit은 모델 고장이 아님, circuit이 조기 열리는 문제 해결
  • Fallback chain에서 health monitor 체크 — 죽은 모델/예산 초과 모델 자동 skip
  • L2 supporter 1회 재시도 — transient/rate-limited 에러 시 한 번 더 시도
  • L3 head verdict 1회 재시도 — LLM 실패 시 한 번 더 시도 후 rule-based fallback

CI

  • review.yml: OpenRouter 지원 + CI config 자동 생성

Tests

  • Error classifier 27개 테스트 추가
  • 총 3,163 tests, 0 failures

Full Changelog: v2.3.1...v2.3.2

v2.3.1

16 Apr 10:48

Choose a tag to compare

v2.3.1

Bug Fixes

  • SARIF 출력 포맷 지원 추가 (--output sarif)
  • 빈 stdin 입력 시 exit 1 반환 (기존 exit 0)
  • agreement 커맨드 result.json 없을 때 reviews/ 폴더 fallback
  • CI typecheck 에러 수정 (DiscussionVerdict import, MockInstance 타입, Dirent 타입)
  • Node 20 AbortSignal 호환성 수정

Refactoring

  • cli/index.ts 1,302줄 → 292줄 (8개 커맨드 모듈 추출)
  • core/orchestrator.ts 1,092줄 → 550줄 (cache-manager, session-recovery, stage-executors, pipeline-helpers 분리)
  • core/moderator.ts 888줄 → 774줄 (supporter-selector 분리)
  • github/mapper.ts 597줄 → 186줄 (formatter.ts 분리)
  • notifications 중복 코드 제거 (truncate, colors, retry 공통화)
  • mcp 미사용 export 제거 (runQuickReview/runFullReview)
  • pr-size.yml 62줄 → 36줄 간소화
  • CI 워크플로우 안정성 개선 (release publish 에러 핸들링, review 타임아웃, build 검증)

Tests

  • TUI: 0 → 37개 테스트 (5 파일)
  • CLI review 커맨드: 64개 테스트
  • Web API 통합: 46개 테스트
  • TUI E2E flow: 4개 테스트
  • 총 4,786 tests, 0 failures

Other

  • TUI (experimental) 태그 제거
  • MCP/Web 서버 버전 동기화

Full Changelog: v2.3.0...v2.3.1

v2.2.2

09 Apr 12:22

Choose a tag to compare

Full Changelog: v2.2.1...v2.2.2

Full Changelog: v2.2.1...v2.2.2

v2.2.1

02 Apr 08:19

Choose a tag to compare

What's Changed

Full Changelog: v2.2.0...v2.2.1

What's Changed

Full Changelog: v2.2.0...v2.2.1

What's Changed

Full Changelog: v2.2.0...v2.2.1

v2.2.0 — Hallucination Filter & Review Quality

01 Apr 09:39

Choose a tag to compare

v2.2.0 — Hallucination Filter & Review Quality

4-Layer Hallucination Filter

Free-tier model false positive rate dropped from 100% to <25%. CRITICAL false positives: 9 → 0.

  • Layer 1: Pre-debate check — removes findings referencing non-existent files/lines
  • Layer 2: Corroboration scoring — single-reviewer findings penalized, triple+ boosted
  • Layer 3a: HC debate required — no more unchallenged auto-escalation
  • Layer 3b: Adversarial prompt — supporters must disprove claims, not just agree
  • Layer 3c: Static analysis evidence in debate — tsc, file tags, impact data
  • Self-contradiction filter — findings admitting "already handled" get penalized
  • Evidence-level dedup — merges duplicate findings before debate

Pre-Analysis Layer

5 analyzers run before reviewers: semantic diff classification, TypeScript diagnostics, change impact analysis, external AI rule files, path-based rules.

Specialist Reviewer Personas

4 built-in: builtin:security, builtin:logic, builtin:api-contract, builtin:general. Auto reviewers cycle through for diverse perspectives.

Suggestion Verification

CRITICAL+ code suggestions verified via TypeScript transpiler. Failed = confidence penalty + warning badge.

Triage Digest

📋 Triage: N must-fix · N verify · N ignore at top of every review.

Stats

Full changelog: https://github.com/bssm-oss/CodeAgora/blob/main/CHANGELOG.md

What's Changed

Full Changelog: v2.1.1...v2.2.0

v2.2.0-rc.1

01 Apr 06:51
2746170

Choose a tag to compare

v2.2.0-rc.1 Pre-release
Pre-release

v2.2.0-rc.1 — Review Performance Improvements

New Features

  • Pre-Analysis Layer — 5 analyzers run before reviewers: semantic diff classification, tsc diagnostics, change impact analysis, external AI rule files, path-based rules (#411, #414, #415, #407, #408)
  • Specialist Personas — 4 built-in personas: builtin:security, builtin:logic, builtin:api-contract, builtin:general (#412)
  • Suggestion Verification — CRITICAL+ code suggestions verified via TypeScript transpiler, failed suggestions get ❌ badge + 50% confidence penalty (#413)
  • Triage Digest📋 Triage: N must-fix · N verify · N ignore at top of review summary (#410)

Bug Fixes

  • grep --fixed-strings + --exclude-dir in impact analyzer
  • Removed unnecessary type casts in suggestion verifier

Known Issues

  • Model quality with free-tier models (llama, qwen, gemma) produces high false positive rate
  • Planned for stable 2.2.0: grounded review prompts + post-L1 hallucination filter

Full changelog: https://github.com/bssm-oss/CodeAgora/blob/main/CHANGELOG.md

What's Changed

Full Changelog: v2.1.1...v2.2.0-rc.1

v2.1.1

01 Apr 05:14
0851907

Choose a tag to compare

v2.1.1 — Bug Fixes

Quick Fixes

  • SUGGESTION threshold no longer requires explicit null in config (#287)
  • Session ID fallback uses crypto random instead of Date.now() % 99 (#290)
  • MCP temp file uses crypto random bytes to prevent race conditions (#282)
  • Webhook JSON.stringify wrapped in try/catch for circular payloads (#285)
  • BanditStore default path computed at construction, not module load (#278)

Pipeline Fixes

  • Cache key includes full config, not just reviewers (#276)
  • Dead executeReviewer export removed — consolidated into executeReviewers (#279)
  • PipelineTelemetry wired with L1/L2/L3 stage timing (#274)
  • Objection prompt includes supporter reasoning, not just stance keyword (#311)
  • Custom review rules support optional suggestion field (#301)
  • initL0 mutex prevents concurrent initialization race condition (#395)
  • Custom prompt templates support {{CONTEXT}} and {{PROJECT_CONTEXT}} placeholders (#312)

Test Infrastructure

  • e2e mock tests updated for PipelineTelemetry wiring
  • vitest pool changed to forks for process.chdir() support

Full changelog: https://github.com/bssm-oss/CodeAgora/blob/main/CHANGELOG.md

What's Changed

Full Changelog: v2.1.0...v2.1.1

v2.1.0

01 Apr 03:17
b145097

Choose a tag to compare

v2.1.0

Security (7 fixes)

  • CRITICAL — Rate limiter memory leak (#388), X-Forwarded-For spoofing (#389), path traversal (#392)
  • HIGH — WebSocket token exposure (#390), stdout token leak (#391), fail-open permissions (#393), world-readable credentials (#394)

Pipeline (10 fixes)

  • Parser severity escalation removed (#248)
  • Mixed-severity group SUGGESTION downgrade fixed (#249)
  • Build artifacts excluded by default (#228)
  • L1 evidence content injected into moderator prompt (#246)
  • Confidence-based verdict triage (#229, #236)
  • Project context auto-detection (#237, #405)
  • Suggestion quality requirements (#233)
  • Thompson Sampling bias fix (#232)
  • Finding dedup proximity increased (#234)

Build

  • Core build script: echo skiptsup (#226)
  • Action build resolver + auth-app bundle (#387, #404)
  • CLI failOnReject type fix (#386)

Other

  • TUI marked as (experimental) — CLI + GitHub Action recommended
  • reviewContext config: deployment type, notes, bundled outputs
  • Tests: 174 files, 2749 passing

Contributors

Full changelog: https://github.com/bssm-oss/CodeAgora/blob/main/CHANGELOG.md

What's Changed

New Contributors

Full Changelog: v2...v2.1.0

v2.0.0

24 Mar 14:41
ac72233

Choose a tag to compare

What's Changed

Full Changelog: v1.1.0...v2.0.0

What's Changed

Read more