Skip to content

Releases: compforge/case-code-review

v1.13.56

Choose a tag to compare

@qiankunli qiankunli released this 06 Sep 07:12
4ef9871

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; use ccr_trajectory_report.py --no-history when 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.

Full changelog

v1.13.46

Choose a tag to compare

@qiankunli qiankunli released this 03 Aug 13:28
a527e27

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

Choose a tag to compare

@qiankunli qiankunli released this 30 Jul 13:27
634fba8

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

Choose a tag to compare

@qiankunli qiankunli released this 13 Jul 09:46

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

Choose a tag to compare

@qiankunli qiankunli released this 09 Jul 08:03

Changes since v1.7.2

Features

  • Review Team v0 — 共享案情板(Board):多 reviewer 间共享案情上下文,feature gate review_team 默认关闭 (#104)

Fixes

  • file_read rename awareness + fatal-run JSON contract — file_read 对 rename 文件的感知修复;fatal 运行时 stdout 仍保证输出且仅输出一个 JSON 对象(status: failed),下游解析器不再误报自身 parse 错误 (#105)

Docs

  • reviewer 信任边界:只读不变量约定 + Review Team 输入隔离背书 (#103)
  • cross-unit 定稿为 Review Team 设计(Board/Bulletin/cross_check)(#91)

v1.7.2

Choose a tag to compare

@qiankunli qiankunli released this 05 Jul 12:18

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 修复)

其它

  • pkg/stdx 孵化毕业为 go-stdx 独立仓,ccr 切外部依赖(#97 #98)
  • Review Team 设计定稿(Board/Bulletin/动态 cross_check,v0 待实现):docs/cross-unit.md(#91)
  • eval/README 新增 §7-§9:trajectory 统计驱动、采集面、翻转许可证方法论

v1.7.1

Choose a tag to compare

@github-actions github-actions released this 03 Jul 11:28
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

Choose a tag to compare

@github-actions github-actions released this 03 Jul 03:26
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).