pr-pipeline: ticket-to-merge lane decisions (pr-unblock, assess-risk) and SDLC gaps
维护者通常 1 天内回复
还没有人认领这个 Issue。
评估
调研方向
This is a planning issue, not a code change: the decisions and gaps are listed for a later /planning:design pass. Start by reading the pr-pipeline README and its Concurrency table, pr-pipeline.yaml, and ADR 0051, which the issue amends. Done means a design for the pr-unblock lane that the owner approves, not a patch.
由索引模型根据 Issue 内容生成。
描述
Refs: #6202
Summary
The owner interview after the first live lane (#6704, pilot #6731) settled the PR-side build order and lane shape. This issue holds those decisions and the gaps an SDLC mapping pass found, so they outlive the local planning notes. Related: #6140 (autonomy alignment), #6720 (kill-switch precedence), #6085 (pstack lanes).
Decisions
- One
pr-unblocklane in stageunblock(replacespr-update,pr-fix-ci,pr-address-feedbackand stagerespond). Activities per round, in order:update-branch,fix-ci,address-feedback; a scripted PR-state check picks which apply; one push per round.pr-mergestays separate. "Babysit" is the prose nickname. update-branchacts only on a conflict. A PR that is only behind main is left to the merge queue (main:strict_required_status_checks_policy: false, merge queueALLGREEN).- Regrouping is config. A lane is a thin caller workflow; never-rules move from lanes to activities; splitting an activity out needs only a caller file and a lane-rules row.
- Concurrency. pr-unblock's run group lets a newer trigger replace a waiting run; pushes go through the shared per-PR write queue that never cancels. The pr-pipeline README gains a Concurrency table, and every new block declares its row.
- ADR 0051 amendment:
workflow_runstarts pr-unblock with onlyfix-ciapplying (human merge). - Kill switch (#6720): org-only
CLAUDE_LANES_DISABLEDplus per-repoCLAUDE_LANES_REPO_DISABLED; every lane and the broker stop if either is true. A short design checks GitHub variable precedence and visibility first. assess-riskactivity in verify at ready: read-only, outputs a work class and a risk check thatpr-mergereads; the stricter of the issue's work-class label and the assessment wins.- No cross-PR model-run cap yet; add one only on usage telemetry.
- Testing before merge: lane-power PRs run a sandbox case first; skill-text changes rely on evals plus one pilot run.
- Naming: every stage, lane, activity and group name is checked for meaning, size and grouping before it is built.
Build order
- Map every lane setting and its home; move what can move into
pr-pipeline.yaml - Naming review of the stage, lane and activity names
-
pr-unblockwithupdate-branchonly (own/planning:design, approved plan) - Phase 3 findings store, Phase 4 verify lanes (incl.
assess-risk), Phase 5 label protocol -
fix-ciandaddress-feedbackslots; thenpr-merge - In parallel: #6720 design and fix; review-lane allowlist for the lanes App bot; triage fixes (ci-workflows#662, a reason in the escalation note, no thanks line on owner issues); then backlog re-triage in batches of 25 and an attend-queue pass
Gaps found
Ticket-to-merge path today (repo map):
- Nothing unattended flips a draft to ready
- The unattended path skips define, design, plan and local review (
workopens the PR withcreate --pushed); the attended path runs review and verify three times - No owner for post-merge bookkeeping (
track done, container close-out) - Triage runs in two places (CI intake lane and local
/work-items:triage) with no rule for which decides - Merge authority moves from the local babysit loop to
pr-mergein one switch - Adding a lane touches a workflow file, a lane-rules row, test fixtures and the standards vocabulary, all human-merged
Stages and gates outside sources include that the plan lacks (research with sources, verified 2026-10-11):
- Build/package; monitor after deploy with rollback; incident response; postmortem; migrations before and after deploy
- "Release" means either a version cut or exposing deployed code; define it (version cut) and add
rolloutif feature flags come into scope - Gates: plan approval before work, CI-run approval on agent PRs, PR publish as an explicit step, agent approval separate from review
Prior art already tracked elsewhere that the plan should absorb or decline (pstack, Pocock, 2,000-PRs effort):
- Swarm verifiers: one owner agent per PR, several independent verifiers give one verdict on the exact SHA with live proof (#6085)
- Per-app verification skill generated and kept current (
verify-<app>), beyondtesting:run-e2e(#6085) - Learn stage mines session corrections into skills or lint rules (#6085)
- Post-merge smoke check against the deployed environment and a silent-revert canary (#6202)
- A single
merge.authorityfield and rung lowering after a bad merge (#6202) - Whether a CI lane may fix review threads, which
address-feedbackdepends on (#6810) - Route new work by size and fog, and slice it into agent-ready versus human-in-the-loop (#6729, #6917)
Open, deferred to the pr-unblock design
Activity choice from PR state; how fix-ci runs head code and pushes (owner's call); stage-level effect limits (owner's call); interim attempt cap; merge-queue dequeue and UNKNOWN mergeability; push batching; write-queue scope; ship prerequisites. Post-merge failure response (revert or fix forward) stays open from an earlier round.
🤖 Generated with Claude Code
- 主要语言
- Shell
- 星标
- 22
- 派生
- 2
- 平均合并
- 6 小时 10 分钟
- 30 天内合并 PR
- 937
环境准备
- 没有 Dockerfile 或 Docker Compose 文件
- 没有 Pull Request 模板
- 阅读贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
melodic-software/claude-code-plugins 的其他 Issue
-
docs(evals): note CLAUDE_CODE_PRINT_BG_WAIT_CEILING_MS for headless eval runs that use workflows未关闭good first issue needs-triage priority: low
难度 2/5 1-3 小时 新手友好度 75/100
melodic-software/claude-code-plugins#7022 · 1 条评论 ·
维护者通常 1 天内回复
-
good first issue needs-triage priority: low
难度 1/5 1 小时以内 新手友好度 88/100
melodic-software/claude-code-plugins#7019 · 1 条评论 ·
维护者通常 1 天内回复
-
fix(ci): check-changed-skills.sh fails a stale branch on skills only main changed可能已有人在做 关联的 PR 仍在进行中或已合并。 未关闭good first issue needs-triage priority: medium
难度 2/5 1-3 小时 新手友好度 72/100
melodic-software/claude-code-plugins#7014 · 1 条评论 ·
维护者通常 1 天内回复
-
good first issue needs-triage priority: low
难度 2/5 1-3 小时 新手友好度 82/100
melodic-software/claude-code-plugins#6982 · 1 条评论 ·
维护者通常 1 天内回复
-
fix(knowledge): frame the video title and URL in the video-digest resume prompt as untrusted data可能已有人在做 关联的 PR 仍在进行中或已合并。 未关闭needs-human needs-triage
难度 2/5 1-3 小时 新手友好度 62/100
melodic-software/claude-code-plugins#6980 · 1 条评论 ·
维护者通常 1 天内回复
查看 melodic-software/claude-code-plugins 的全部 Issue
相似的 Issue
-
type: bug
难度 2/5 1-3 小时 新手友好度 76/100
blamechris/chroxy#8579 ·
维护者通常 1 天内回复
-
bug raised-by:reviewer
难度 2/5 1-3 小时 新手友好度 76/100
medici-finance/assay#2677 ·
维护者通常 1 天内回复
-
enhancement
难度 2/5 1-3 小时 新手友好度 72/100
alunduil/alunduil-chezmoi#895 ·
维护者通常 1 天内回复
-
Sub-second duration displays incorrectly for commands taking < 100ms (e.g. 50ms renders as 0.50s)未关闭
难度 1/5 1 小时以内 新手友好度 91/100
-
难度 2/5 1-3 小时 新手友好度 62/100
维护者通常 1 天内回复