Repository navigation
Releases: compforge/case-code-review
Releases · compforge/case-code-review
Release list
v1.13.56
Upgrade Notes
- Trajectory evaluation now requires Python 3.11+ and uses ATIF v1.7 models with Detector/Verifier APIs. Consumers of the former Evaluator API must migrate to Verifier and TrajectoryAnalysisRun.
- Rebuild existing trajectory Dataset/Run artifacts from the original sessions and labels. Run
weekly_report.py --week <YYYY-Www>to rebuild the selected week and its predecessor; useccr_trajectory_report.py --no-historywhen rebuilding a single week. Diagnostic caches use a new schema. - Routed model calls now share a bounded fallback budget, configured through
routing.call_timeout_sec(default: 180 seconds).
New Features
- Build labeled trajectory datasets from local review sessions and GitHub/GitLab annotations, with weekly HTML/Markdown reports for review completion, finding quality, cost, and behavior patterns.
- Diagnose selected trajectories incrementally with resumable caches, explicit call budgets, bounded evidence context, and token-usage reporting. Trace known missing findings to the review stage where delivery stopped.
- Enrich code-search results with bounded symbol context and expose additional import and supertype facts to support evidence gathering.
Bug Fixes
- Constrain investigation tools during wrap-up and preserve explicit incomplete outcomes when an execution cannot finish. Routed fallback no longer stacks hidden SDK retry budgets.
- Keep language-analysis caches separate by backend and reuse parsed facts across queries.
- Correct weekly-report denominators and label-availability handling, surface dataset build failures, and reuse canonical analysis results for reports and diagnostics.
- Preserve label links and resolvable step evidence when adapting CCR exports to ATIF; derive measurements before detection and verification.
v1.13.46
Changes
- PR #194 feat: track malformed tool arguments
- PR #193 fix: normalize recoverable tool argument drift
- PR #192 docs: define which findings deserve attention
- PR #191 feat: stream findings as JSONL
- PR #190 fix: align code-search scope and regexp execution
- PR #189 fix: distinguish empty code-search scopes
- PR #188 feat: gate review on external evidence
- PR #187 fix: make review submissions incremental
- PR #186 fix: verify Review 2 premises before consequences
- PR #185 fix: harden review loop completion
- PR #184 feat: expose review session identity
- PR #183 feat: trace review pipeline timing in sessions
- PR #182 feat: make review context trajectory-aware
- PR #181 feat: stream review findings through the pipeline
- PR #180 feat: expose context compaction in sessions
- PR #179 perf: bound ignored review wrap-up turns
- PR #178 docs: describe code graph evolution
- PR #177 docs: define project knowledge and Review 3
- PR #176 perf: bound review unit formation cost
- PR #175 feat: add language-aware file outlines
- PR #174 refactor: make Unit the review aggregate
- PR #173 feat: converge unit review investigation
- PR #172 fix: preserve function ownership across diff hunks
- PR #171 feat: score trajectory health bottlenecks
- PR #170 feat: batch code searches by default
- PR #169 feat: make viewer execution lifecycle explicit
- PR #168 feat: batch file reads by default
- PR #167 feat: diagnose CCR trajectory inefficiency
- PR #166 feat: split trajectory evaluation by review stage
- PR #165 feat: evaluate CCR trajectories with trajectory harness
v1.9.1
Changes
- PR #128 feat(eval): add private review data collection workflow
- PR #127 chore: set ccr version to v1.9.1
- PR #126 fix(language): harden gotreesitter integration
- PR #125 feat(language): add in-process gotreesitter backend
- PR #124 refactor(language): centralize source analysis
- PR #123 feat(unit): add TypeScript function-level review
- PR #122 chore(labels): 收 compforge/devloop#81 的 ccr 标注
- PR #121 eval: label doctor MR 72 findings
v1.9.0
Changes
- PR #119 fix(file_read): return recoverable error on reversed line range
- PR #118 eval: harvest ccr:label replies from GitLab MR discussions
- PR #117 feat(review): findings 结构化 category/severity 字段
- PR #116 fix(tool): code_search 拒绝含 .. 的 file_patterns(仓外逃逸)
- PR #115 docs(eval): §11 review_team 三臂首轮记录(hostel 38 PR,reviewbench 首次全量)
- PR #114 chore(eval): #113 post-review finding 入册(debatable #stale)
- PR #113 docs(eval): labels.py 输出示例补 tags 字段 + 该 finding 入册(minor)
- PR #112 feat(eval): 打标词表补齐——病因 #tag + 漏报 ccr:missed + judge 逐条留痕
- PR #111 fix(reviewbench): PR #110 review 反馈——修 6 项,驳 2 项误报
- PR #110 feat(eval): reviewbench——corpus × arms 的 worksheet 评测编排
- PR #109 feat(eval): finding 人工标注统一约定——ccr:fp footer + ccr:label 回复 + 回收器
- PR #108 feat(board): post_bulletin 怀疑通道——Review Team v0.5(gate 默认关)
- PR #107 fix(board): flag facts 从未上板——按各 tool 的实际参数名解析路径
- PR #106 fix: 运行期诊断统一走 stdout.Err(),防止污染 --format json 输出
v1.8.0
v1.7.2
Briefing / Debrief(unit 的交底与复盘)
- Briefing(#86):briefer 协议按 scope 定预载材料——own source、changed symbols 的 usage-sites 预 grep、大文件 ranged 降级、callchain 邻居函数体;token guard 分级降级
- Debrief(#87 #90 #100):每 unit 一条终局记录(outcome/formed/降级/成本聚合)+ run manifest(gates/版本/预算/CCR_EVAL_TAG);unit 生命周期显式化——scope Close 自产 debrief,异步计数归零自动 finalize,panic 可统计
- Finding 锚点(#88):指纹(path+content,刻意不含行号)+ symbol_id + git_head——后验扫描的钥匙
Message model(review 领域消息,参考 pi)
- 会话货币 []msg.Msg,wire 只在 lowering 边界(#92);File 消息带 path+range 身份(#93 #99:身份=内容+配对,形态归 Lower())
- file_dedup(#93):后读覆盖先读原地 stub;file_evict(#94):token 压力下先驱逐可再生的文件内容再 LLM 压缩
- typed_briefing(#95,#102 转默认开):预载 File 化,回归集 A/B 实测 timeout 9→3、成本持平
Eval 基建
- posterior.py(#89):finding 后验扫描(line_touched 实锤候选),自验精确指回修复 commit
- replay.py + ccr-self corpus(#96):固定回归集重放,corpus×arms 矩阵——首次全量应用即发放 typed_briefing 翻转许可证,并让 ccr 自审抓到一条真实快照竞态(#101 修复)
其它
v1.7.1
v1.7.1 — empty-search treatment, typed call graph, truncation wrap-up Eval-driven review-quality release: - code_search suggests real identifiers on zero hits (#73) - ranked repo symbol map injected per run, Go+Python backends (#74-#76, #80) - budget wrap-up turn + unit_incomplete marking (#77) - code_comment keeps scope-member paths (#79) - typed Go call graph for caller/callee clues and chain merge (#81, #82) - eval/ methodology + codegraph design docs (#72, #83) Measured: empty searches 60%→0 on worst-baseline PRs; caller neighborhoods exact vs 5/8-wrong under grep.
v1.7.0
v1.7.0 — upstream sync baseline Engine aligned with upstream open-code-review v1.7.0-era fixes: panic isolation in fan-out goroutines (#69, upstream #182), rule.json file references with symlink-safe loading (#70 + #71, upstream #226).