Repository navigation
feat(config): autoReview 默认关——启动不自动派发 codex review - #60
Conversation
项目启动时 scheduler 一旦发现 dispatchable PR 即自动派发 review、懒启动 codex app-server,测试/开发时与其他 review 进程冲突。把 AppConfig::default() 的 auto_review 翻为 false,使全新/重置配置默认仅手动触发(start_review / start_codex 手动入口不受影响;scheduler 仍轮询并 emit PR 列表)。前端 draft 占位同步镜像后端,避免加载前的勾选闪烁。新增 default_auto_review_is_off 测试 锁住该默认,防静默翻回 true。 已存配置(已持久化 autoReview:true)保留原值,不做强制迁移;需在设置里手动关。 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
内置 review 的 P3 small findings:wire-shape golden fixture 与两处前端 测试 fixture 的 autoReview/auto_review 硬编码仍为 true,与新默认方向相反, 构成阅读歧义(不影响测试正确性——这些断言不关心该字段的值)。统一对齐为 false 消除认知噪音。 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
🛠 ship review + fixreviewer 1 · Findings 2(已修 small 2 · 遗留 large 0 · OUT_OF_SCOPE 0)· 结论 LGTM
完整详表(根因 + 证据 + 建议 + 处置)F1 [P3·small·DX/测试]
F2 [P3·small·DX/测试]
闭环核查(reviewer 六问确认,无 finding)
门禁:cargo test 180 passed · fmt clean · clippy 0 warn · vue-tsc + vite build OK · vitest 97 passed。 下一步:切 🤖 PR #60 · Generated with Claude Code · branch Feature/codex-default-manual-review · worktree worktrees/Feature/codex-default-manual-review · session — |
CI 检查结果状态:通过(已通过 2 / 共 2 个检查)
run: https://github.com/ghbvf/prmonitor/actions/runs/27699364949 🤖 PR #60 · Generated with Claude Code · branch Feature/codex-default-manual-review · worktree worktrees/Feature/codex-default-manual-review · session — |
🔍 pr-review(六维度分级审查)根因簇 0 · Findings 0(P0 0·P1 0·P2 0·P3 0 | small 0·large 0)· 结论 通过 根因簇
Findings(每条带 file:line,/fix 无损提取)
完整详表(证据 + 建议 + 根因 + 方案种子,/fix 读此)无 finding。 验证:
复杂度汇总:按根因簇 small: 0 / large: 0;按 Finding small: 0 / large: 0 🤖 PR #60 · Generated with Claude Code · branch Feature/codex-default-manual-review · worktree /Users/shengming/Documents/code/prmonitor/worktrees/Feature/codex-default-manual-review · session — |
Summary
把
AppConfig::default()的auto_review默认值翻为false——全新/重置配置启动时不再自动派发 codex review,改为仅手动触发。Why / 背景
项目启动时 scheduler 一旦发现 dispatchable PR 就自动派发 review → 懒启动 codex app-server。开发/测试时这会与「其他正在 review 的进程」冲突(另一终端跑 codex、或另一实例)。
auto_review是控制该链路的现成门控(pr/scheduler.rs::auto_review_enabled,scheduler 轮询 + webhook 两路每轮重读),把默认翻关即可让启动默认只轮询/emit PR、不拉起 codex;手动入口start_review/start_codex不受影响,PR 监控功能不变。Refs
无关联 issue(ship --L2 直接实施)。
ref:
src-tauri/src/config/model.rs(默认真值源)、src-tauri/src/pr/scheduler.rs(auto_review_enabled门控)、src/config/fields.ts(autoReview 开关定义)。Risk / 兼容性
#[serde(default)]语义下,已 onboarding 保存的config.json(已含autoReview:true)保留原值、加载后仍自动 review——需在「设置 → 轮询 → 自动 review」手动关,或删config.json重置。AppConfigwire 形状不变(只改值不改字段/键名);serde golden / forward-compat 测试两侧均用AppConfig::default()符号引用,随默认值一起移动、保持绿。前端src/config/types.ts字段无变化。default_auto_review_is_off测试锁住新默认,静默翻回true会 CI 失败。Test plan
pnpm build本地通过(vue-tsc 类型检查 + vite build)cargo build --manifest-path src-tauri/Cargo.toml --locked本地通过cargo clippy --manifest-path src-tauri/Cargo.toml --all-targets --locked -- -D warnings0 告警cargo fmt --manifest-path src-tauri/Cargo.toml --all -- --check干净cargo test --manifest-path src-tauri/Cargo.toml --locked通过(180 passed;含新增default_auto_review_is_off与 golden/forward-compat)pnpm test(vitest)97 passed🤖 Generated with Claude Code