用途:主动养护本 Paperclip 实例打开、且被近期活动窗口内 Paperclip 议题引用的拉取请求(PR)。候选发现与就绪检查由脚本完成,不使用 LLM 分析;GitHub 访问全程只读。
主要能力:
- 阶段 A 用 find-candidates.mjs 发现候选,规范化 PR URL、去重、记录提及议题、剔除已合并/关闭 PR,并按作者白名单过滤,社区贡献与 dependabot PR 归入 droppedCommunityPullRequests。
- 阶段 B 用 check-readiness.mjs 重新拉取当前 head SHA,检查草稿/可合并性/冲突、状态检查清单、Greptile 检查、reviewDecision 与落后基线分支的提交数,给出 ready、needs_gardening 或 report_only 判定。
- 阶段 C 对 needs_gardening 的 PR,按冷却时间与最多轮次限制,去重后派发 /prepare-paperclip-pr 子任务或在本地工作树直接运行,并在原始议题留标记评论。
- 阶段 D 仅在显式传入 --archive-inbox 时,于 GitHub 确认同一 head 已合并后归档原始议题。
- 阶段 E 监控到终止;阶段 F 用 render-report.mjs 生成报告,按高/中/低置信度分桶。
用法:通过命令行参数控制,包括 --days(默认 14)、--authors、--include-community、--repo、--dry-run、--archive-inbox、--cooldown-hours(默认 48)、--max-rounds(默认 3)。生成文件应放入运行专属目录如 $PAPERCLIP_RUN_SCRATCH_DIR/pr-gardening。
硬性限制:绝不合并、批准或关闭 PR,也不指使他人或智能体这样做;不对社区 PR 养护或评论;不使用会变更状态的 gh 命令或 GitHub API 请求,仅用只读 GET;草稿 PR 仅报告不评论;只在既存原始议题评论,不每个 PR 新建养护议题;--dry-run 抑制所有 Paperclip 变更。