Add a two-stage assessment and review process for community PRs
还没有人认领这个 Issue。
评估
调研方向
首先阅读现有的 bug extension 和 feature-assess workflow,以了解 staged artifacts 和运行时扩展安装。然后跟踪提议的 community-pr-review workflow 如何使用 label gate、read-only context、SHA checks 和 constrained outputs。对于 assessment、conditional review、stale revisions、permissions 和 comment limits,接受标准均得到满足即表示完成。
由索引模型根据 Issue 内容生成。
描述
Summary
Add a reusable Spec Kit extension and label-triggered agentic workflow for assessing pull requests submitted by community contributors.
The proposed process has two stages:
assessment → project fit?
├─ no or unclear → stop
└─ yes → review
This follows the staged artifact model used by the bug extension and the runtime extension installation used by the feature-assess workflow, while keeping maintainers responsible for acceptance.
Proposed extension
Add a contribution extension with two commands:
speckit.contribution.assesswrites.specify/contributions/pr-<number>-<short-head-sha>/assessment.md. It captures PR intent, linked issue or specification, scope, contribution-policy compliance, AI disclosure, architectural fit, risks, and required checks.speckit.contribution.reviewconsumes the assessment and existing CI evidence, then writesreview.mdwith prioritized findings, contributor actions, and a recommendation for maintainers.
Both commands are read-only with respect to repository source. Every artifact records the PR base and head SHAs and refuses to consume stale artifacts after the contributor pushes another revision.
Proposed agentic workflow
Add a community-pr-review workflow triggered when a maintainer applies a community-review label to an open PR.
The workflow posts at most two top-level comments:
- Community contribution assessment — Stage 1/2: summarizes fit, scope, policy compliance, risks, and the assessed head SHA.
- Community contribution review — Stage 2/2: summarizes findings, CI evidence, contributor actions, and the maintainer recommendation.
If assessment returns out-of-scope, invalid, or needs-clarification, the workflow posts only the assessment comment, applies the corresponding outcome label, and stops. Review runs only when assessment determines that the contribution fits the project and has enough information to evaluate.
Each comment should identify its stage and PR head SHA. Configure safe outputs with add-comment: max: 2 and constrained outcome labels.
Guardrails
- Use a human-applied label as the execution gate.
- Never modify or push to the contributor's branch.
- Never formally approve, request changes, merge, or resolve review threads.
- Use the
pull_requestsecurity context, notpull_request_target. - Keep repository and pull-request permissions read-only and expose no secrets.
- Treat PR descriptions, comments, diffs, and changed files as untrusted data rather than instructions.
- Consume existing CI results instead of executing contributor-controlled commands in the agentic workflow.
- Record the head SHA and stop when assessment or CI evidence is stale.
Suggested outcomes
Assessment can conclude:
fits-project— continue to review.needs-clarification— request information and stop.out-of-scope— explain why and stop.invalid— explain why and stop.
Review can conclude:
ready-for-maintainer-review.needs-contributor-action.blocked.
These are recommendations only; a maintainer remains the final decision-maker.
Acceptance criteria
- A maintainer can trigger the process against a community PR by applying one label.
- Assessment always posts first and clearly identifies itself as Stage 1/2.
- Review runs and posts Stage 2/2 only when assessment returns
fits-project. - At most two comments are created per run.
- Both outputs identify the exact PR head SHA they evaluated.
- Source files and the contributor's branch are never modified.
- Re-running after a new push cannot reuse stale assessment artifacts.
AI disclosure
This issue was drafted and filed on behalf of @mnriem by GitHub Copilot (model: GPT-5.6 Sol).
- 主要语言
- Python
- 星标
- 138k
- 派生
- 12.4k
- 平均合并
- 3 天 4 小时
- 30 天内合并 PR
- 154
贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
github/spec-kit 的其他 Issue
-
enhancement needs-triage
难度 2/5 1-3 小时 新手友好度 68/100
-
enhancement needs-triage
难度 2/5 1-3 小时 新手友好度 74/100
-
enhancement needs-triage
难度 2/5 1-3 小时 新手友好度 68/100
-
难度 2/5 1-3 小时 新手友好度 84/100
-
enhancement needs-triage triage-can-wait
难度 2/5 1-3 小时 新手友好度 76/100
相似的 Issue
-
难度 2/5 1-3 小时 新手友好度 75/100
anthropics/skills#1811 · 1 条评论 ·
-
难度 2/5 1-3 小时 新手友好度 75/100
speaches-ai/speaches#678 ·
-
bug
难度 2/5 1-3 小时 新手友好度 75/100
datalayer/mcp-compose#42 ·
-
难度 2/5 1-3 小时 新手友好度 75/100
conda-forge/spacy-feedstock#177 ·
-
难度 2/5 1-3 小时 新手友好度 70/100
UKGovernmentBEIS/inspect_evals#2523 ·