Hacktoberfest 2026:维护者为十月标记出来的 issue,仍然开放、适合新手。 浏览 Hacktoberfest issue

feat(source-control): enforce the four operator values the promotion-evidence helper takes on trust

已关闭
#7,008 3 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

维护者通常 1 天内回复

还没有人认领这个 Issue。

评估

难度
4/5
预计耗时
3-5 天
新手友好度
22/100
Issue 类型
功能
描述清晰度
基本清楚
活跃度
活跃
技术栈
javascript
领域
security

调研方向

Start with the helper at plugins/source-control/skills/babysit-loop/scripts/resolve-promotion-evidence.mjs, which currently takes the four values as arguments, and with the channel F rules in docs/conventions/hook-config-delivery. The helper should read the operator's own settings itself and ignore the CLAUDE_PLUGIN_OPTION_* mirror and .claude/source-control.md for these values. Done means a test where a stub checker or forged binding in a scratch directory no longer yields promoted, and the bootstrap contract's Out of scope entry is removed.

由索引模型根据 Issue 内容生成。

描述

area: security needs-triage priority: medium

Why

#5677 made the babysit-loop cycle resolve promotion evidence through four bootstrap options: promotion_evidence_checker plus the binding, probe evidence root and evidence options. Its security review lists one gap as "Instructed, not enforced": the four values must come from the operator's substituted user options in the SKILL.md block, never the CLAUDE_PLUGIN_OPTION_* mirror or .claude/source-control.md. The helper receives them as arguments and cannot tell an operator's value from a path the lane chose, so a stub checker or forged binding kept in a scratch directory outside the checkout and worktrees would pass it. Until this is enforced, operators keep --merge human-only.

The 2,000-PRs talk Brief (Q9) asked for this gap to be filed. Two Brief decisions depend on it: Q99 (C2 self-merge stays off) and Q128 (merge authority for autonomous lanes, deferred to #6202).

What

Enforce the four values in code: the helper (plugins/source-control/skills/babysit-loop/scripts/resolve-promotion-evidence.mjs) reads the operator's own settings itself, through channel F of docs/conventions/hook-config-delivery, instead of trusting values passed as arguments. Cover all four surfaces, not only the checker.

Deferred plan text

From the integration branch's local plan (WS-P.md Phase 9), which is not in the repository:

gh issue create --type Task with the scope: enforce the four values #5677 lists as "Instructed, not enforced" (the helper reads the operator's own settings, channel F of docs/conventions/hook-config-delivery); Q99 and Q128 depend on it.

Acceptance

  • The helper resolves all four values (checker, binding, probe evidence root, evidence) from the operator's own settings through channel F, and ignores the CLAUDE_PLUGIN_OPTION_* mirror and .claude/source-control.md for them.
  • A test shows a lane-chosen path outside the checkout (stub checker or forged binding) no longer yields promoted.
  • The bootstrap contract's Out of scope entry for this gap is removed, and the "Instructed, not enforced" item no longer applies.
  • Q99 and Q128 owners (#6202) are told the gap is closed.

Refs: #6085
Refs: #5677
Refs: #4588

主要语言
Shell
星标
22
派生
2
平均合并
8 小时 24 分钟
30 天内合并 PR
947

环境准备

  • 没有 Dockerfile 或 Docker Compose 文件
  • 没有 Pull Request 模板
  • 阅读贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

melodic-software/claude-code-plugins 的其他 Issue

查看 melodic-software/claude-code-plugins 的全部 Issue

相似的 Issue

更多 Shell/Bash Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。