Skip to content
This repository was archived by the owner on Aug 24, 2026. It is now read-only.

ADR-0033: drift-check 活体验证与 PR liveness 侦测(P1-4,.github#85) - #51

Closed
randypanding wants to merge 1 commit into
mainfrom
adr-0033-liveness
Closed

ADR-0033: drift-check 活体验证与 PR liveness 侦测(P1-4,.github#85)#51
randypanding wants to merge 1 commit into
mainfrom
adr-0033-liveness

Conversation

@randypanding

@randypanding randypanding commented Aug 20, 2026

Copy link
Copy Markdown
Contributor

自动合并计划 P1-4 的决策记录:drift-check 新增 §12 required check 活体验证(文本对账≠生效验证)与 §13 PR 卡死侦测(auto-merge 悬置/check pending 超时/check 缺失三类),阈值入 expected-state.json liveness 段,报告通道区分标题+指纹归一化。配套实现:.github PR(随后)。

Summary by CodeRabbit

  • 新增功能

    • 新增 gate 必需检查的活性验证,确认近期拉取请求或默认分支存在已完成的检查结果。
    • 自动检测自动合并超时、必需检查长时间未完成及缺少检查结果等卡滞情况。
    • 通过现有漂移问题渠道报告活性异常,并区分活性问题与配置漂移报告。
  • 文档

    • 新增 ADR-0033,记录检查活性验证与拉取请求活性监测方案。

@coderabbitai

coderabbitai Bot commented Aug 20, 2026

Copy link
Copy Markdown

Review Change Stack

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: f0bb9e69-3093-41db-a0eb-a5cd8d617094

📥 Commits

Reviewing files that changed from the base of the PR and between 68bd17f and 4c4f9fe.

📒 Files selected for processing (1)
  • decisions/ADR-0033-drift-check-liveness.md

📝 Walkthrough

Walkthrough

新增 ADR-0033。文档定义 gate required check 的活性验证、开放 PR liveness 检测、阈值配置、drift 报告分类和指纹规范。

Changes

Gate 检查活性与 PR liveness

Layer / File(s) Summary
Liveness 策略与报告规则
decisions/ADR-0033-drift-check-liveness.md
定义通过近期 PR 或默认分支 HEAD 验证已完成的 gate check run。定义 auto-merge 超时、required check 超时和缺少 check run 三类 drift 条件。定义 liveness 阈值、API 失败时的 fail-closed 行为、报告标题分类和 PR 年龄指纹归一化规则。

Possibly related issues

Possibly related PRs

  • Cloudbird-Software/agent-registry#47:两者都定义 gate check 和 auto-merge 可靠性相关 ADR,但该 PR 关注严格结果聚合,本 PR 关注 liveness 和卡死检测。
✨ Finishing Touches 💡 1
🛠️ Fix failing CI checks 💡
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch adr-0033-liveness

Comment @coderabbitai help to get the list of available commands.

@qodo-code-review

Copy link
Copy Markdown

Code Review by Qodo

🐞 Bugs (0) 📘 Rule violations (0) 📎 Requirement gaps (0)

Grey Divider

Great, no issues found!

Qodo reviewed your code and found no material issues that require review

Grey Divider

Tip of the day
💡 Did you know, you can copy the agent prompt from any finding and feed it to your IDE agent

More tips ↗ | Customize Qodo ↗ | Qodo docs ↗

Grey Divider

Qodo Logo

@randypanding

Copy link
Copy Markdown
Contributor Author

关闭:与本 PR 同范围的 ADR-0034(PR #50)已先合并——编号冲突且内容重复。P1-4 实现将直接引用 ADR-0034(另含 ADR-0033 pipefail 修复)。

@randypanding
randypanding deleted the adr-0033-liveness branch August 20, 2026 05:22
@qodo-code-review

Copy link
Copy Markdown

PR Summary by Qodo

记录 drift-check 活体验证与 PR 卡死侦测决策

📝 Documentation 🕐 10-20 Minutes

Grey Divider

AI Description

• 记录 required check 从文本对账升级为近期运行活体验证。
• 定义 auto-merge 悬置、check 超时与 check 缺失三类卡死告警。
• 统一阈值配置、报告分流、指纹归一化与凭据边界。
Diagram

graph TD
  STATE["Expected state"] -->|"Thresholds"| CHECK["Hourly drift-check"] -->|"Recent runs"| GATE{"Gate active?"} -->|"No"| REPORT["Drift report"] -->|"Classify"| KIND{"Liveness only?"} -->|"Yes"| LIVE["Liveness issue"]
  CHECK -->|"Open PRs"| PR{"PR healthy?"} -->|"No"| REPORT
  KIND -->|"No"| CONFIG["Governance issue"]
Loading
High-Level Assessment

将活性验证并入现有定时 drift-check 是当前最合适的方案:它复用跨仓凭据、期望状态和 issue 自动关闭机制,同时保持 fail-closed。事件驱动 GitHub App 会引入额外有状态服务,逐仓工作流则会复制治理逻辑,因此均不如集中式检测适合当前规模。

Files changed (1) +46 / -0

Documentation (1) +46 / -0
ADR-0033-drift-check-liveness.md记录 required check 活体验证与 PR liveness 决策 +46/-0

记录 required check 活体验证与 PR liveness 决策

• 新增已接受的架构决策,定义近期 check runs 与默认分支 HEAD 的 required check 活体验证策略。文档同时规定三类 PR 卡死条件、可配置阈值、报告标题分流、年龄指纹归一化、API 失败策略及凭据边界。

decisions/ADR-0033-drift-check-liveness.md

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant