Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

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

クローズ
#7,008 コメント 3 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

まだ誰も着手していません。

評価

難易度
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時間 25分
マージ済み PR(30日)
944

環境構築

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

melodic-software/claude-code-plugins のほかの issue

melodic-software/claude-code-plugins の issue をすべて見る

似ている issue

Shell/Bash の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。