Skip to content

gate: get_change_risk 接入每张 PR 的 check + 写时 advisory 触发面 #95

Description

@2233admin

背景

get_change_risk 已能对 commit / range 出 directive(will_break / missing_cochanges / missing_tests / tests_to_run),但没接到 PR 时刻——而本仓配着 green 即 auto-merge,机器门禁缺位等于裸奔。#14 管出厂(release),本条管日常(每张 PR)。

第一性原理:门禁的价值恰在不依赖模型质量——守卫不能是被守卫者。agent 越自主,模型外的确定性 rail 越重要。PR 是唯一所有变更必过的 chokepoint,卡住它就是"无论模型怎么进化工具必须在位"的结构保证。

要做

  1. CI job:PR 上跑 get_change_risk base..head,directive 写成 PR 评论 + status check;risk_percentile 超阈值转 required-review,阻断 auto-merge。
  2. tests_to_run 非空时,check 校验这些测试在本次 CI 里真的跑过。
  3. 写时触发面(Refs [write-path] agents never use the pipeline while writing code — add write triggers, advisory change-impact, serve write-assist tools #58):worktree 内 staged 变更即可调 advisory change-impact,把"写代码时发现问题"提前到 PR 之前。
  4. 顺手(可拆独立小 issue):installer 无法更新 Claude skill(.skillz junction 路径),至少把 junction 检测 + 明确提示做进 doctor。

验收

  • 每张 PR 自动出现 directive 评论 + check;高危 PR 无人审不能 merge。
  • 至少一次真实拦截案例(高危 PR 被 check 挡下)记录进 docs。

Refs #58 #14 #55

Metadata

Metadata

Assignees

No one assigned

    Labels

    backlogFrozen: not in the v1 convergence scopeenhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions