Skip to content

test(drill): 入口协议 e2e 演习——陌生 agent 全路径(W1-C3 #206,ADR-0055) - #212

Closed
randypanding wants to merge 1 commit into
mainfrom
drill/e2e-entry-protocol-206
Closed

test(drill): 入口协议 e2e 演习——陌生 agent 全路径(W1-C3 #206,ADR-0055)#212
randypanding wants to merge 1 commit into
mainfrom
drill/e2e-entry-protocol-206

Conversation

@randypanding

@randypanding randypanding commented Aug 21, 2026

Copy link
Copy Markdown
Contributor

改了什么

为什么

W1-C3 AC-1 e2e 演习(#206):陌生 agent 仅读 AGENTS.md 入口协议块,应能走完 找活→认领→开工→PR 全路径。本 PR 即该演习的交付物。

演习结果(AC 核对)

  • AC-3「PR body 含 Card: 元数据行」:满足(见文末,ghcb card-meta 206 生成)
  • AC-1「认领后 state:in-progress + assignee」/ AC-2「arbiter 租约 ref 存在」:被基础设施确定性故障挡下,未达成
    • 现象:两次 /claim(14:43:28Z / 14:45:22Z,conductor run 32493680834 / 32493855833)均 verdict=infra ABORT,原因 createTree HTTP 422: Invalid tree info
    • 根因(已定位,未擅自修复):arbiter 仓 arbiter/backend.py GitHubRefBackend.create_commitPOST /repos/{repo}/git/trees 发空 body {}。实测该端点对 {}{"tree":[]}{"base_tree":"4b825dc…"} 一律 422 Invalid tree info(GitHub 不接受空树创建)。租约建链第一步必挂——arbiter 仓 refs/leases/* 目前为 0,从未有过成功租约。
    • 可行修法(另开卡处理):create_commit 跳过 createTree,直接以经典空树 SHA 4b825dc642cb6eb9a060e54bf8d69288fbee4904treePOST /git/commits(已在沙箱仓实测可行)
    • 遵守 fail-closed(conductor 明示「不许绕过仲裁」):未手工加 state:in-progress 标签 / assignee 伪造 AC-1

怎么验证

  • gates-pr 本地等价通过:bash -n 治理脚本 OK / yaml 解析(governance+standards+workflows)OK(注:本机无 make,已按 Makefile 两 target 的原命令逐条执行)
  • 手动验证主路径:ghcb next(唯一 ready 卡=TEST-CARD e2e: 入口协议演习卡(自动关闭) #206)→ ghcb claim ×2(infra ABORT,见上)→ card-test 读 AC → gates-pr → card-meta → 本 PR

风险 / 回滚

  • +1 行纯文本、非 C1 路径,无逻辑面;删分支即回滚。AC-1/AC-2 未达成,请 owner 决断是否随 arbiter 修复后重演(勿直接合并关闭本卡)。

Card: #206

Summary by CodeRabbit

  • 文档
    • 新增关于第 206 次端到端演习及陌生代理入口协议验证的说明。

Copilot AI lite review requested due to automatic review settings August 21, 2026 15:30
@coderabbitai

coderabbitai Bot commented Aug 21, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: c74aa543-c919-4fbe-b26e-950adeacb837

📥 Commits

Reviewing files that changed from the base of the PR and between eb6e709 and e29352f.

📒 Files selected for processing (1)
  • docs/drill-entry-protocol-206.txt

Included review availability: Your plan provides up to 10 included reviews per hour; 6 remain after this review.


📝 Walkthrough

Walkthrough

新增一份一次性说明文件,用于标识 #206 e2e 演习的陌生 agent 入口协议验证用途,并注明验证后随分支删除。

Changes

入口协议演习

Layer / File(s) Summary
演习说明
docs/drill-entry-protocol-206.txt
新增 #206 e2e 演习说明。文件标识陌生 agent 入口协议验证用途,并注明验证后随分支删除。

Merge Risk: 🟡 Moderate · up to e2935

The PR adds only a one-line drill artifact and does not change production behavior, but the documented exercise did not satisfy AC-1/AC-2 because both claim attempts aborted; merge should wait for a successful rerun after the arbiter fix or explicit owner acceptance.

🚥 Pre-merge checks | ✅ 1 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Title check ⚠️ Warning 标题使用了允许的 test 前缀,并准确描述了演习内容,但长度为 59 个字符,超过 50 个字符限制。 将标题缩短至 50 个字符以内,同时保留 test 前缀和主要变更信息。
✅ Passed checks (1 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch drill/e2e-entry-protocol-206

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

@qodo-code-review

Copy link
Copy Markdown

PR Summary by Qodo

Add one-off entry-protocol e2e drill artifact for card #206

🧪 Tests 🕐 Less than 5 minutes

Grey Divider

AI Description

• Add a one-off e2e drill marker file for W1-C3 card #206.
• Intended only for validation; delete with the branch after drill completion.
High-Level Assessment

The PR’s approach (a minimal, one-off artifact under docs/) is appropriate for an e2e drill deliverable and keeps risk near-zero. Alternatives (e.g., adding workflow/test harness changes) would be heavier and unnecessary for a disposable drill marker.

Files changed (1) +1 / -0

Tests (1) +1 / -0
drill-entry-protocol-206.txtAdd disposable W1-C3 #206 e2e drill artifact +1/-0

Add disposable W1-C3 #206 e2e drill artifact

• Introduces a one-line, disposable text artifact used as evidence/output for the entry-protocol e2e drill tied to card #206. No production logic is modified.

docs/drill-entry-protocol-206.txt

@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 tweak Display preferences with a live preview to see your comment before it ships

More tips ↗ | Customize Qodo ↗ | Qodo docs ↗

Grey Divider

Qodo Logo

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a one-line, disposable documentation artifact to serve as the deliverable for the W1-C3 #206 “entry protocol” end-to-end drill, capturing that the exercise file should be removed after validation.

Changes:

  • Add docs/drill-entry-protocol-206.txt as a single-line drill artifact documenting the W1-C3 #206 e2e exercise deliverable.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@randypanding

Copy link
Copy Markdown
Contributor Author

【e2e 演习留痕】W1-C3 AC-1 验收 PR(陌生 agent 仅读 AGENTS.md 产出)。AC-③ Card: 元数据 ✓(本 PR body)。AC-①② 在 arbiter 两处生产 bug 修复(arbiter#2 空树创建 422、arbiter#3 ref 路径前缀)+ conductor 角色解析修复(#213)后已闭环:claim → 租约 refs/leases/…__206 实存 + state:in-progress + assignee(run 32501928373 系);release → 租约删除实证(matching-refs=0)。演习完毕关闭。

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants