このページは CHANGELOG.md を リリース時に自動同期したものです(手動編集しない)。生成: scripts/sync-release-docs.sh
PlanGate の主要リリース履歴。
このファイルは各リリース時点の内容を記録するものであり、この pull request の差分一覧ではない。
fix: 承認境界のガードを「文字列で近似する」実装から「トークン列で判定する」実装へ作り直し、EH-3 の worktree 素通りと EH-12 の誤検知を実測で塞ぐ
v8.21.0 タグ以降に main へ蓄積した 102 コミット(実測: git rev-list --count v8.21.0..319d6121)を反映する。
主題は 承認境界ガードの判定精度。配布物(plugin/)の変更は 76 ファイル
(実測: git diff --name-only v8.21.0..319d6121 -- plugin/ | wc -l)。
bin/plangate は変更ゼロ、schemas/ は review-result.schema.json の説明文 1 行のみ
(実測: git diff --numstat v8.21.0..319d6121 -- bin/plangate schemas/)→ CLI / Schema の挙動は不変。
(数値はいずれも 基点 319d6121 時点の測定値であり、tag 時点の総数を約束する契約値ではない)
PlanGate 本番フロー WF-00〜07 は不変・NO MERGE BY AI/C-4・merge は Human-owned 固定。
対象: 本リポジトリを clone して
scripts/hooks//scripts/check-git-destructive.shを.claude/settings.jsonへ配線している利用者。 これらは plugin 配布物に含まれません。plangateプラグインを marketplace 経由で導入しているだけの場合、下記 1. と 2. は影響しません。
.claude/worktrees/<name>/ のような REPO_ROOT 配下の linked worktree、および REPO_ROOT 外の
worktree で、HO 12 カテゴリのファイルが block されず素通りしていました。本リポジトリでは
linked worktree が 60 本以上あり、エージェントが日常的にその中で作業するため、
承認境界が最も使われる経路で外れていたことになります。
worktree 内で .claude/rules/*.md 等を編集していた運用がある場合、その編集は block されます。
git push のトークン列に属さない --force / + を拾っていたため、次のような
破壊的でないコマンドが block されていました。
git push -q origin docs/x && git worktree remove --force /tmp/w
git push origin HEAD && echo a + b
echo "use git push --force only on branches" # 実行されない文字列
git commit -m "do not push --force to main" # コミットメッセージ
block 対象は一切緩めていません。 実 hook を PreToolUse payload で起動した 44 ケースの対照で、 本物の破壊的操作 32 件は是正前後とも 32/32 BLOCK、非破壊 12 件が 6 件の誤 block → 0 件。
_phys_key 経由で HO 12 カテゴリ判定へ載せた。
回帰網 ta-80 は 40 → 52 TC(TC-R05〜R08 が実 hookに対して assert)log_event の fail-open 化、
repo 外パスの OUTSIDE_REPO_SKIP、承認サーフェス台帳の新設bin/../bin/plangate のような別表記による迂回を塞いだ; && || | & と物理改行でセグメント分割し、先頭語が git そのもののときだけ
精密解析へ入る。それ以外は従来の部分文字列判定へ落とす fail-closed。
回帰網 ta-86 を 56 TC で新設check-settings-wiring.sh へ EH-13-EDIT / -WRITE を
TRACKED_FAIL として登録し、ta-83 で gate の liveness を固定CLAUDE.md の <law> 直後に 5 段の適用順を追加。
各層を弱めず順序だけを定める。HO → 不可逆・対外操作 → 自己設置 Gate → サブコマンド承認 → y/norchestrator-mode.md に適用条件を明記(親 PBI 分解時のみ読む / 機械強制は未実装)。
194 行が常時ロードされていた状態を解消working-context.md に 「PR 作成は完了ではない」 を追加plugin/ に差分があるのに version が
据え置きなら release-prep --check が NOT READY を返す。bump しないと /plugin update は
no-op で consumer に 1 件も届かないai-dev-plan / exec / verify /
brainstorm が各 2 ファイルだった状態を 14 / 6 / 7 / 5 へ.codex/skills の drift 検査を push レーンへ拡張(#1288 / PR #1322)。従来は
pull_request でしか走らず、main に drift が入っても main の CI は緑のままだった。
あわせて bot PR 向けに installer 非依存の byte 照合を追加bin/plangate の実行を前提にしていた箇所を是正(#1144 / #1245).pyc を
corpus へ取り込んで値が非決定になっていた問題も解消ta-86(EH-12 / 56 TC)・ta-85(末尾 && による rc 漏れ)・ta-84(corpus hash)・
ta-83(EH-13 gate liveness)・ta-81(version bump)を新設ta-70 の guard 判定を正典テンプレートとのバイト列一致へ作り直し(#1250 / #1178)ta-69 TC-C6 の fixture を是正し検出力を回復(#1180)ta-71 の被覆判定を GitHub Actions paths: 公式仕様の逐語へ外部化(#1249)register_cleanup」へ統一(#1209 / #1210 / #947)ho-apply-script を新設(#1316)。HO 対象パスへの patch を Human が安全に適用するための型。
実際に踏んだ落とし穴 11 件を収録(grep -F / 前提 assert の偽陽性 / $( ) はサブシェル /
適用スクリプトの連結実行 ほか)instruction-debt-audit を新設。指示系を変更せずに監査するtest-cases テンプレートに期待値の出所欄と Convention Evidence 節を追加(#934)fix: 参照解決順の「構造上空振りする段」を配布物から除去し、EH-3 / EH-13 のガード迂回を封鎖。さらに sh 誤起動から gh pr merge へ到達する経路(NO MERGE BY AI の迂回)を配布物ごと塞ぐ
v8.20.0 タグ以降に main へ蓄積した 62 コミット(実測: git rev-list --count v8.20.0..375c791)を反映する。
主題は 「参照はあるが解決されない」「ガードはあるが迂回できる」構造の実測是正。
配布物(plugin/)の変更は 79 ファイル(実測: git diff --name-only v8.20.0..375c791 -- plugin/ | wc -l)で、
内訳は skill の参照解決順・正本参照の是正と、ai-loop-cycle 同梱スクリプト 30 本への sh 誤起動ガードの同期。
schemas/*.json と bin/plangate は変更ゼロ
(実測: git diff --stat v8.20.0..375c791 -- schemas/ bin/ が空)→ Schema / CLI の挙動は不変。
(数値はいずれも 基点 375c791 時点の測定値であり、tag 時点の総数を約束する契約値ではない。基点の考え方は
docs/working/_merge/v8.21.0-release-runbook.md §0 を参照)
PlanGate 本番フロー WF-00〜07 は不変・NO MERGE BY AI/C-4・merge は Human-owned 固定。
1. と 2. の対象: 本リポジトリを clone して
scripts/hooks//scripts/check-approval-token-write.shを.claude/settings.jsonへ配線している利用者。 これらは plugin 配布物に含まれません。plangateプラグインをplugin marketplace経由で導入しているだけの場合、1. と 2. は影響しません。3. の対象はより広く、
plangateプラグイン経由の導入も含みます(ai-loop-cycleskill 同梱のscripts/*.pyが配布物に入るため)。NO MERGE BY AI(Iron Law)に直接関わる是正のため、 本リリースで最も重要な告知です。
PLANGATE_HOOK_TASK を設定していると HO 判定が
一度も評価されず、9 カテゴリすべてで rc=2 → rc=0 になる)が解消されています。
PLANGATE_HOOK_TASK を設定した状態で HO 対象パス(.claude/rules/*.md / .claude/settings*.json /
.claude/commands/*.md / .claude/agents/*.md / scripts/hooks/*.sh / bin/plangate /
schemas/*.schema.json / .github/workflows/*.yml|yaml / AGENTS.md / CLAUDE.md)を編集していた
フローは block されます(これが本来の期待挙動です)。適用済みのため、gap を受理していた
tests/fixtures/eh3-known-gap-1089.flag は削除されています(scripts/apply-eh3-ho-always.sh
は適用後も repo に残りますが、再実行は不要です)。EH-13: 承認トークン書き込みガードの迂回 2 クラスを封鎖しました(#1115 / PR #1148、#1110 / PR #1121)。
外側ゲートがコマンド文字列をリテラル照合していたため、保護対象のファイル名にワイルドカードを
混ぜると照合が外れ、実測で 21 コマンド(cp / mv / tee / sed -i / git restore /
python・node・ruby の書き込みを含む)が rc=0 で素通りしていました。照合方向を反転し、
(A) approvals 配下でファイル名が glob (B) basename が先頭 glob でなく保護 basename にパターン一致、
の 2 条件に絞って block します(無条件 block は日常の glob コマンドまで落とすため)。
この 2 条件で塞がるのは実測 21 件中 18 件で、node -e "…writeFileSync(…)" /
ruby -e "File.write(…)" / python3 -c "open(…,'w')" の 3 件は是正後も rc=0 のまま残存します
(実測: docs/working/TASK-1115/evidence/lane-scan.txt の v2 列)。残存クラスと follow-up 候補は
docs/working/TASK-1115/plan.md §残存クラス を参照してください。あわせてリダイレクト判定を「先と保護パスの相関」で行うようにし、
コミットメッセージにパス名を書きつつ無関係な出力を /tmp へ流すだけのコマンドが block される
誤検出(#1110)を解消しました。判定不能なケースは従来どおり block 側に倒します(fail-closed 不変)。
sh 誤起動で gh pr merge / gh pr review --approve が実際に走る経路を封鎖しました(#1169 / PR #1187)。
sh scripts/ai-loop/gh_exec.py のように python3 以外のシェルで .py を起動すると、sh が module
docstring 全体を二重引用符文字列として読むため docstring 内のバッククォートがコマンド置換として評価され、
中身のコマンドが実行されていました。scripts/ai-loop/ には gh / git を実行する唯一の境界(gh_exec.py)が
含まれるため、隔離した stub サンドボックス(PATH に記録用 stub のみ・空 cwd)で 30 本を sh 起動した実測で
gh 12 回 + git 3 回が発火し、その中に gh pr merge / gh pr review --approve / gh pr close が
含まれていました(gh_exec.py 単体で gh 6 回)。v8.20.0 以前の配布物にはこの経路が残っています。
是正後は同じ実測で発火 0 件。scripts/ai-loop/ 30 本と、その配布ミラー
plugin/plangate/skills/ai-loop-cycle/scripts/ 30 本に polyglot ガード(PG-SH-GUARD)を入れ、
sh / bash / zsh 起動時は何も評価する前に診断メッセージ + exit 2 で停止します。
python3 起動時の挙動は不変です(no-args / --help の rc と出力を全数比較して確認済み)。
更新後、これらの .py を sh(または bash / zsh)で起動していたスクリプト・手順は exit 2 で止まります。
python3 <path> へ書き換えてください(元から python3 起動なら影響ありません)。semver 裁定: 規約 docs/ai/versioning-stability-policy.md §2.2
「既定挙動の変更(SKIP → BLOCK)」は上記 2 件を major と示すが、本リリースは Human 裁定により minor。
影響が plugin 配布物に含まれない hook 配線利用者に限定されること、および v8.19.0(EH-13 の
exit 1 → exit 2 fail-closed 化)で同型を minor と裁定した前例に揃えた。判定者・判定日・残る不整合と
follow-up は docs/working/_merge/v8.21.0-release-runbook.md §1 に記録した。
diff-audit skill に検証観点を追加(#1152 / #1137)— シェルオプションの意味論・実行文脈・多配置先追従の 4 観点、およびテスト検証の検出力 3 観点と自己宣言制約の Rationalization。配布物に含まれるcheck-skill-name-collisions.py に「同一 root 内の重複」検出を追加(#1087 / PR #1149)— 従来は「2 定義以上」を見ておらず原理的に検出できなかったクラス。repo-local と plugin export のミラーは 4 条件の合接に限って除外し、握り潰さず INFO として印字するdocs/** は sync-plugin-plangate.sh の設計上 plugin の配布対象外のため、docs/** 専用の解決順に置かれた plugin root 段は常に解決されない手順だった。rules/*.md(クラス A)の解決順は plugin root 配下が実在するため不変intent-classifier / skill-policy-router の正本宣言を実態へ是正し 4 root を新版で統一(#1126)rules/*.md 参照)の解決梯子を 4 skill に追加(#1159 / PR #1164)— design-gate / intent-classifier / plan-review-gate / skill-policy-router で、plugin 経由の導入だと判定の正本(mode-classification.md 等)が引けない状態だった。配布物 4 ファイルを含むai-loop の run 指定に関する CLI 誤読を解消(#982 / PR #1160)— 入口は /ai-loop-workflow の引数仕様であることを ai-loop-cycle skill と runbook / loopspec で明示(配布物を含む 3 root = .agents / .claude / plugin/plangate と docs/workflows/ai-loop。.codex/skills/ai-loop-cycle/SKILL.md は未追従のまま)task_id 文脈に依存せず評価(#1089 / PR #1097)— HO 判定が task_id 未設定分岐の内側にあったため、PLANGATE_HOOK_TASK が設定されたセッションでは HO 9 カテゴリすべてが block されなかった(PLANGATE_HOOK_TASK は plan.md 編集の正規経路であり、PlanGate 作業中のセッションこそ HO 保護が外れる状態だった)。判定を task_id 分岐より前へ移動し、TASK 文脈の有無に依らず block する。回帰は tests/extras/ta-65-eh3-ho-task-context.sh。適用済みのため tests/fixtures/eh3-known-gap-1089.flag は削除されている(scripts/apply-eh3-ho-always.sh は repo に残るが再実行不要).codex/skills/ の 8 件の agents/openai.yaml を是正check-skill-name-collisions.py / check-stale-skill-refs.py は rc=1 のまま放置され CI にも未配線だった。全件を実測分類した結果 rc=1 の中身はいずれも検査側の誤りだったため rc=0 化した(CI 配線は patch 提示まで)ta-62 TC-D の timeout を誤診断せず切り分け(#1062 / PR #1142)— 実行回数 7 回の実測調査つきstartswith("plugin:") しか見ていなかったため、consumer の .claude/skills/<name> と第三者 plugin の plugin/<other>/skills/<name> という真の名前衝突を「正常なミラー」として rc=0 で通していた。除外条件に (3) 自リポジトリの export 先 plugin 名であること(既定 plangate。--mirror-plugin で置換指定。判定不能なら衝突=安全側)と (5) 内容同一性(description 一致、または drift が構造的に説明できる skill kind のみ許容し、agent / command の drift は衝突)を追加した。回帰は tests/extras/ta-69-distribution-checks.sh の TC-C10〜C14。scripts/check-skill-name-collisions.py は plugin 配布物には含まれないsh で .py を起動すると repo が書き換わる経路を封鎖(#1169 / PR #1175)— sh scripts/check-skill-frontmatter.py のように誤ったインタプリタで起動すると、sh が module docstring 全体を二重引用符文字列として読むため docstring 内のバッククォートがコマンド置換として評価され、scripts/install-plangate-skills-to-codex.sh が実際に起動して .codex/skills/** が書き換わっていた(本リリース準備のレビュー中に実害として発生。shebang と実行権限は既に付いており、それだけでは塞がらない)。scripts/ 直下の *.py 27 本すべての先頭に、python3 以外で起動された場合に何も評価する前に診断メッセージ + exit 2 で停止する polyglot ガード(PG-SH-GUARD)を追加した。__doc__ を argparse の description 等で消費するスクリプトのため、元の docstring は __doc__ = """...""" として保持している。回帰は tests/extras/ta-70-py-sh-misinvocation-guard.sh。PR #1175 の適用範囲は scripts/ 直下 27 本のみだったが、PR #1187 で scripts/ai-loop/ 30 本と配布ミラー plugin/plangate/skills/ai-loop-cycle/scripts/ 30 本へ拡張し、3 群すべてを適用済みにした(実測: git grep -l PG-SH-GUARD 375c791 -- 'scripts/*.py' = 57 = 直下 27 + ai-loop 30、同 -- 'plugin/plangate/skills/ai-loop-cycle/scripts/*.py' = 30。母数は git ls-tree で同数)。scripts/ai-loop/ を残したままにできなかった理由は「⚠️ 更新前に必ずお読みください」3. のとおり gh pr merge / gh pr review --approve へ実際に到達していたため。ta-70 も 3 群走査へ拡張し、glob が丸ごと空振りした状態で緑になる false green を GLOB-EMPTY 検出で機械検査するようにした(件数は契約値にしない)。follow-up issue #1177 / #1178 はタグ時点で OPEN のまま(実体は本リリースで解消済みだが、close 判断は未実施)scripts/ai-loop/ の実体と照合するようにし、配布漏れ 2 件を是正(#1173 / PR #1185)— ta-57 の TC-E8 は sync-plugin-plangate.sh の for 側 / case 側の相互一致しか見ていなかったため、両方に載っていないファイルは検査をすり抜け、plugin 導入先だけ壊れるのに CI は緑になっていた。TC-E9 を追加して allowlist を scripts/ai-loop/*.py の実体と突き合わせ、UNDECLARED / REASON_MISSING / STALE_IN_ALLOWLIST / STALE_MISSING を FAIL にする(総件数は契約にせず集合差分のみで判定 / #1162)。非配布は <basename> reason: <#NNNN を含む理由> の明示宣言でのみ許容し、CI 層では該当 issue が OPEN であることを要求する。実測された配布漏れ discovery.py / test_discovery.py を allowlist に追加した(同梱の test_check_exec_boundary.py が両ファイルを実読みするため、導入先で 2 件が FileNotFoundError になっていた)rules/*.md 参照)の解決梯子を ai-loop 正本 5 本と plugin 生成物へ追加(#954 / PR #1184)— PR #1164 が 4 skill に対して行った是正の取り残し分。docs/workflows/ai-loop/ + docs/ai/ai-loop/ の 5 本と、その sync 生成物である plugin/plangate/skills/ai-loop-cycle/references/ 5 本(scripts/_ai_loop_link_rewrite.py と同じ変換を適用し、sync 後も一致することを機械照合済み)plugin/plangate/README.md の CLI 依存節と Contents 節が、運用で増減するディレクトリの件数を固定値で書いていたため、無関係な PR で陳腐化していた。件数は契約値にせず、再現コマンドを正・件数は測定日つきスナップショットとして扱う形に変えたmode-classification.md の Hardening Override 参照を行番号アンカーから記号アンカーへ(#1089)— check-plan-hash.sh の _override=0 直後の case ブロックを指す形に変更。行番号アンカーは実装の移動で黙って別ブロックを指すためjq / sed)を導入導線へ明記(#1079 / PR #1099)Edit|Write matcher 限定である事実を明記(PR #1106)chore(deps): github-actions group 4 件の更新(PR #1113)sh scripts/apply-*.sh --apply 相当の Human オペレーション)。hook / 承認境界ガード本体への適用は EH-3(#1089)と EH-13(#1115 / #1110)の 2 件のみで、それ以外の実行系変更は検査スクリプト側(#1109 の check-codex-skill-spec.sh / #1087・#1153 の check-skill-name-collisions.py・check-stale-skill-refs.py)、sh 誤起動ガード(#1169 / PR #1175 = scripts/ 直下 27 本、PR #1187 = scripts/ai-loop/ 30 本 + 配布ミラー 30 本)、plugin 配布 allowlist の実体照合(#1173 / PR #1185)、および CI actions の bump(#1113).codex/skills と .agents/skills の二重 root 登録(#1086 / PR #1112)は調査と是正案の提示までで、実装は #956 の判断待ちdocs/working/_reports/1157-seeds-read-path-patch.md)。適用は含まないsh 誤起動問題(#1169)の patch 設計書(PR #1176 / docs/working/_reports/1169-sh-invocation-patch.md)も同梱している(設計書自体は scripts/**/*.py 全 59 件を実測して 45 件を影響ありと分類したもの)。実装は PR #1175(scripts/ 直下 27 本)と PR #1187(scripts/ai-loop/ 30 本 + 配布ミラー 30 本)の 2 段で本リリースに入っているdocs/working/_reports/bug-backlog-triage-2026-08-20.md)— origin/main 実体に対して全件を再実測した結果 RESOLVED は 0 件で、滞留の実体は「修正済みだが適用が Human-owned で待ちになっている」ものだった。調査記録のみで挙動変更は含まないAGENT_LEARNINGS.md に測定時の ref 明示(共有 checkout は stale になりうる)と extras 判定パターンのスイート別導出を追記(PR #1186).claude/ → plugin/plangate/ の自動同期。#1185 が追加した discovery.py / test_discovery.py へ #1187 のガードを反映)docs/working/_reports/1163-ref-resolution-ci-design.md)も 設計のみで、CI 配線は含まないfix: 配布経路(Codex plugin / skill frontmatter)の false green を実測で潰し、Codex CLI parity の誇大記述を「強制力 0/11」へ是正
v8.19.0 タグ以降 main に蓄積した 8 コミット(実測: git log --oneline v8.19.0..0559781 | wc -l。
squash merge 運用のため --merges は 0 件。うち 0e9ee8f は v8.19.0 のリリース後 changelog
同期であり、本リリースの実質的な変更は 7 件)を反映する小規模リリース。主題は
「緑を出していた検出器が、実際には別のものを測っていた」箇所を実測で潰すこと —
Codex plugin の registered: YES false green(cache ディレクトリの存在だけで緑)・
skill frontmatter 破損の 4 root 同時是正・Codex CLI parity 記述の再是正。
schemas/*.json / bin/plangate / scripts/hooks/*.sh / .github/workflows/* は本リリースで変更ゼロ
(実測: git diff v8.19.0..0559781 --stat -- schemas/ bin/ scripts/hooks/ .github/workflows/ が空)
→ Schema / CLI / Hook の挙動は不変。承認境界も不変(NO MERGE BY AI・C-4 / merge は Human-owned 固定)。
対象: 本リポジトリを clone して
scripts/hooks/を.claude/settings.jsonへ配線している利用者。scripts/hooks/check-plan-hash.sh(EH-3 本体)とscripts/apply-eh3-ho-always.sh/tests/fixtures/eh3-known-gap-1089.flagは plugin 配布物に含まれません。plangateプラグインをplugin marketplace経由で導入しているだけの場合、本節は影響しません。
PLANGATE_HOOK_TASK を設定した状態では、EH-3 の Hardening Override block が
9 カテゴリすべてで発火しません(実測 9/9 で rc=2 → rc=0)。HO 判定が
if [ -z "$task_id" ] 分岐の内側にあり、TASK 文脈では plan_hash 検証パスへ抜けて
一度も評価されないためです。check-forbidden-files.sh は HO パスを守らないため、
EH-3 が唯一の HO ガードです。
本リリースには patch と回帰テストのみが含まれ、hook 本体の修正は含まれません
(scripts/hooks/*.sh は HO パスのため適用は Human-owned)。解消するには:
sh scripts/apply-eh3-ho-always.sh --dry-run # 差分確認
sh scripts/apply-eh3-ho-always.sh --apply # 適用(Human-owned)
tests/fixtures/eh3-known-gap-1089.flag の削除は apply スクリプトが同時に行います
(手動作業は不要)。このフラグが存在する間だけ ta-65 が gap を受理し、削除後は
「TASK 文脈でも block」が既定の期待値になるため、元構造へ戻すと CI が RED になります。
plugin/plangate/.codex-plugin/plugin.json(#1085)— Claude 用 .claude-plugin/plugin.json との name / version / skills 一致を scripts/check-plugin-manifest-parity.sh で機械検出。sync-plugin-plangate.sh の同期と release-prep.sh --check の readiness 検査の双方へ配線した。従来は .claude-plugin 側しか見ておらず、Codex 用マニフェストだけ古い状態でも「plugin version 一致」で緑になっていたscripts/check-skill-frontmatter.py と tests/extras/ta-64-skill-frontmatter.sh(#1084)— SKILL.md の YAML frontmatter を実際にパースして検査する。破損しても誰も気づかない状態を CI 経路で塞いだscripts/apply-eh3-ho-always.sh(HO パス外)+ tests/extras/ta-65-eh3-ho-task-context.sh。期待値の既定は fixed(TASK 文脈でも block)で、gap の受理は tracked な明示 opt-in(tests/fixtures/eh3-known-gap-1089.flag)に限定した。HO カテゴリは hook の case 文と正本 mode-classification.md の双方から導出し、絶対件数は assert しないplangate-setup の SKILL.md frontmatter が .agents/ / .claude/ / .codex/ / plugin/plangate/ の 4 root で破損しており、導入先で skill が読み込まれない状態だった。配布物(plugin/plangate/skills/plangate-setup/SKILL.md)を含むため導入側に影響するscripts/check-codex-plugin-status.sh の registered: false green(#1085 / #1090)— 判定を「marketplace cache ディレクトリの存在」から「plugin が install されているか(config.toml の enabled 宣言 + plugins/cache 実体)」へ差し替えた。従来は codex plugin add 未実行の環境でも registered: YES を返していたdocs/ai/settings-wiring-contract.md §Codex CLI parity を実測へ再是正(#1078 / #1080 / #1083)— Codex CLI 側の hook 強制力は 0 / 11(parity なし)であることを実走スパイクで確認し、記述を 2 度にわたり実測へ寄せた。証跡は #1082(U-1/U-2/U-3 実走)と #1088(hook payload 形状の実測)docs/plangate-plugin-migration.md の Codex 導入導線を 2 段階に修正(#1085 / #1090)— codex plugin marketplace add → codex plugin add plangate@plangate。marketplace add だけで導入完了と読める記述が #1085 の誤起票の原因だったrelease-prep.sh --check の「適用待ち apply」判定は現状 fail-open。各 scripts/apply-*.sh の --dry-run 標準出力に [dry-run] が含まれるかだけで判定するため、(a) スクリプトが ERROR 終了すると「適用待ちなし」に落ちる(2>/dev/null || true で握り潰される)、(b) 無条件にヘッダで [dry-run] を印字するスクリプトは適用済みでも「適用待ち」に出る、(c) .claude/settings.json を読むスクリプトは worktree(settings 未配置)と通常 checkout で結果が変わる、(d) リテラル [dry-run] を印字しないスクリプト(apply-eh3-ho-always.sh)は本当に未適用でもリストに現れない。検出器側の是正は follow-up(分析は docs/working/_merge/v8.20.0-release-runbook.md §6)feat: 承認境界ガードの fail-closed 化(EH-13)+ protected branch 上の破壊的 git 操作ガード(EH-12)+ テスト「静かに通る失敗」の封鎖(#921 Slice 1)+ plugin skill の参照解決是正
v8.18.0 タグ以降 main に蓄積した 65 マージ(+65.5k 行。うち docs/working/ の PBI 作業成果物が +47.3k 行)を反映するリリース。主題は 「これまで黙って素通りしていた失敗を、止まる形に変える」 — 承認トークン直書きガード EH-13 の fail-closed 化 / テスト extras の共有 exit 契約 / protected branch 上の git reset --hard git push --force の block(EH-12)。承認境界は不変(NO MERGE BY AI・C-4 / merge は Human-owned 固定)。schemas/*.json と bin/plangate は本リリースで変更なし(Schema / CLI の互換性は不変)。
jq が実質的な必須依存になりました。 EH-13(scripts/check-approval-token-write.sh)は従来、判定できない入力を素通りさせていましたが、本リリースから fail-closed(block) に変わります。具体的には以下がすべて block(exit 2)になります:
jq が PATH に無いtool_name が Edit / Write / MultiEdit / Bash 以外EH-13 は .claude/settings.example.json の PreToolUse(層 A・常時発火) に配線済みです。したがって jq を導入していない環境でこの設定を取り込んでいると、Edit / Write / MultiEdit / Bash の呼び出しがすべて止まります。
対応(推奨順):
jq を導入する(推奨。例: brew install jq / apt-get install -y jq)。EH-13 が閉じている穴(承認トークンの AI 直書き)は残したまま、誤 block だけを解消できます。.claude/settings.json から外す。非推奨 — 承認境界の技術層ガードが無くなり、規範層(responsibility-classes.md)だけに戻ります。PLANGATE_SKIP_TOKEN_GUARD=1 で全スキップ。緊急・診断専用(Human-owned)。恒常運用に使わないでください。あわせて block の終了コードが exit 1 → exit 2 に変わりました(PreToolUse で block として扱われるのは 2。従来の 1 は非 block だったため、検出していたが止めていなかった)。書き込み意図の検出範囲も ed / ex / git checkout|restore|checkout-index|update-index / perl -i / patch / apply_patch / node / ruby へ拡大しています。
semver の注記:
versioning-stability-policy.md§2.2 は「EH-x の既定挙動の変更(SKIP → BLOCK 等)」を major と定めています。本リリースは Human 裁定により minor(8.19.0) としました。裁定の経緯と残る不整合はdocs/working/_merge/v8.19.0-release-runbook.md§semver 裁定の記録に記録しています。
main / master のときに限り git reset --hard / git push --force(-f / --force-with-lease / --force-if-includes / +<refspec>)を block。それ以外のブランチ・detached HEAD・非 git では常に allow(誤検出ゼロ優先)。PLANGATE_BYPASS_HOOK=1 で pass。pre-push hook(#360)が捕捉できないローカル完結の reset --hard の隙間を埋める(2026-08-02 に他セッションの未コミット変更が失われた実害が出自)
.claude/settings.example.json には同梱済みだが、実環境への適用は sh scripts/apply-eh-git-destructive-guard.sh --apply(Human-owned)の実行後に有効化されるrun_evidence.py / run_evidence_verify.py + fixture 10 件 + run-evidence.schema.json + 契約 doc。plugin bundle(skills/ai-loop-cycle/)にも同梱され、plugin 単体で契約検証できる_extra-contract.sh を新設し、層 A 12 本と || true 型 4 件(#1026 由来)が 失敗しても exit 0 で通っていた問題を封鎖。回帰テスト ta-61(契約自体の検証)/ ta-58(EH-12)/ ta-59(settings merge)/ ta-60(RunEvidence)/ ta-62(PG_T26_NO_RECURSE)を追加scripts/run-tests-safe.sh(#968)— tests/run-tests.sh の安全実行ラッパ[MIGRATION REQUIRED] EH-13 承認トークン書き込みガードの二重無効化を封鎖(#1023、#1042)— block を exit 1 → exit 2 / stdin を env target の有無に関係なく常時・独立に評価(env 供給時の stdin bypass を封鎖)/ jq 不在・malformed・空・TTY・read error を parse-unknown として fail-closed。採番を EH-13 に確定(旧記載の EH-10 は #760 / #762 と衝突していた)。導入側の対応は上記「⚠️ 更新前に必ずお読みください」を参照2>/dev/null / 2>&1 / >&2 / N>&- は fd 複製・クローズ・破棄であってファイルへの書き込みではないため、書き込み意図の判定から除外した。従来は > を 1 文字でも含めば書き込みと判定していたため、承認トークンのパス名を含む純粋な読み取りコマンドが block されていた(grep -c '<token path>' .gitignore 2>/dev/null / cat <token path> 2>/dev/null が exit 2)。実ファイルへのリダイレクト(> <token path> / >> <token path>)の block は維持。除外は列挙的な allowlist であり > 判定の一般的な緩和ではないため、&> / &>> を伴う読み取りと、文字列リテラル中に > を含むコマンド(例: python3 -c "print('a -> b')")は引き続き block される(完全なシェル構文解析は新たな bypass 面になるため採らない)。あわせて block メッセージに rule=<id>(例: rule=file-redirect)を付与し、どの判定で止まったかを追えるようにした#970 経路 1 guard の集計と削除の厳密一致(#1014)— 集計値と実削除対象がずれる余地を解消.claude/rules/*.md への相対リンクが「skills と rules が同一 root 直下」の配置でしか解決せず、Codex 経由導入(.codex/skills/)では常に解決不能だった。3 段フォールバック(導入先 rules → ${CLAUDE_PLUGIN_ROOT}/rules/(Bash で実展開)→ 参照不可を明示)を各 skill に明記し、正本を読めないときに推測で補うことを禁止したbin/plangate を要するのは 7 件ではなく 12 件(コマンド 1 + スキル 9 + エージェント 2)。カウント対象 / 対象外の定義と再現 grep コマンドを併記apply-claude-settings.sh を example hooks の冪等 merge へ拡張(#976)— doctor ブロッカーを解消(#928 AC-1 の前提)release-docs-sync は release published 起点で失敗しても通知されず、v8.17.0 / v8.17.1 / v8.18.0 の 3 連続失敗で docs/changelog.md が 2 世代欠落した。失敗時のリカバリ(push 済み同期ブランチからの手動 PR 作成)も runbook 化claude plugin update での追従を可能にする)feat: 実 PR 収束(MERGE_READY)の一気通貫 — delivery 判定エンジン + GitHub Collector / Action Executor / Reconciler + Plan-first C-3’ 束縛
v8.17.1 タグ以降 main に蓄積した 46 マージ(+49k 行)を反映するリリース。EPIC #870 の close blocker だった「PR 作成後の CI / review repair → MERGE_READY 実収束」が実 PR 実走証跡付きで完成し、ai-loop の Delivery 層が動く状態になった。承認境界は不変(NO MERGE BY AI・C-4 / merge は Human-owned 固定)。
delivery.py — 決定論判定エンジン(純判定器・外部作用ゼロをソース走査で固定・7 状態 + EXITS・PRIORITY_ORDER・intent / receipt 2 段・contract ブロックの byte 一致検証)(#873、#905)required_checks[] ⊇ 照合で部分登録 green を fail-closed 拒否 / raw check evidence の自己照合 / intent → 実行 → receipt → reconcile の冪等系 / 実 PR 1 周の実走証跡(probe PR #940・evidence/e2e/ に完全保存)gh pr merge / gh pr review --approve / close / force-push / branch 削除 / 非 GET api。実走 spawn ledger で違反 0 件を実証)(#917 AC-5、#941)ci_failure_taxonomy 供給主体 ci_taxonomy.py — manual entry 優先・code を機械が断定しない・未該当は既存 fail-closed に委ねる(#941)c3prime_verify.py(非 HO 受理器)+ HO patch 群の Human 適用(ai-loop run TASK-XXXX の Plan Package 束縛・schema 配置)(#872、#889、#895)c3_contract.py 共通契約層化 — canonical_hash 等の検証ロジックを arbiter / c3prime / delivery が共用(#896、#902)00_concept.md の正本昇格 + rollout-policy 分離(5 責務・terminal state・C-3’ 経路の単一正本化)(#871、#879〜#883)guard_fired → 終端 exit 3 + PLANGATE_ALLOW_MASS_DELETE=1 override + stale ベース判定で dry-run / 実行の判定一致(#877、#915)。残る 2 経路への適用は #914(plan C-3 待ち).agents/skills/ 正本へ移設し sync / drift check の担保下へ(plugin 配布正確性)(#862、#865)docs/schemas/(非 HO)で 4 PBI(#894/#874/#869/#908)同側に統一 → 本番接続の C-3 で schemas/ へ 1 回の HO patch 昇格(#930、#932)claude plugin update での追従を可能にする)fix: plugin bundle の同期漏れを追従(v8.17.0 tag に未収載だった .claude/ → plugin/plangate/ 差分の取り込み)
arbiter.py(+37行)/ decision-table.md(+20行)/ test_arbiter.py(+196行)/ test_metrics.py / rules 2 ファイル / README を .claude/ 正本と同期(plugin-sync 自動検出 run-29216958418 由来)feat: ai-loop Phase 1 移行(導入先実リポジトリ検証の正式化)+ 安全前提の機械層配線 + 計測基盤の実データ稼働 + HOTL 境界正本化
v8.16.0 タグ以降 main に蓄積した ai-loop / HOTL / スキル群の変更を plugin 配布に反映するリリース。plugin bundle(plugin/plangate/skills/ai-loop-cycle/)は references 全面更新 + metrics.py / test_metrics.py / agentic-six-stage-loop.md / stop-rollback.md を新規同梱する。
metrics.py(#780 Slice D 前半、#812)+ arbiter が record に run メタを刻印(Slice D 後半、#815)+ HOTL 健全性メトリクス(escalate / human_intervention / reversal rate、#822 項目3、#831)--emit-next-command(#826)/ A-1 HO 事前判定強化(HO-plugin 語彙追加、#841)breakdown-gate(#802)/ ref-integrity-scan(#801)/ self-review → diff-audit 改名 + Iron Law 8 / Phase 13 正本化(#796)/ setup-team → subagent-team-design 改名 + 命名ポリシー正本化(#806)test_metrics.py の bundle 追加(#821)claude plugin update での追従を可能にする)feat: ai-loop 初回実運用 Run-001〜021 の摩擦是正閉ループ + plangate プラグインへの ai-loop 同梱 + Hook Enforcement 物理配線 6/12 → 11/12 + サブエージェント委譲プロトコル正本
次世代ワークフロー「ai-loop」(旧 Arbiter)を Phase 0〜4 の仕様策定に続いて初めて実運用に投入し、Run-001〜021 で摩擦(friction)検出 → W チェック(3R 合議)→ loopspec.md / execution-runbook.md への正本化を反復するセルフチューニング閉ループ(F-1〜F-41)を確立した。ai-loop-cycle スキルは Agent Skills bundled resources 方式で plangate プラグインへ同梱し、他プロジェクトでの低リスク帯検証を可能にした(#771/#773)。Hook Enforcement は CLI 層 5 件(EH-4/5/EHS-1/2/3)の物理配線を追加して 6/12 → 11/12 に到達(TASK-0141/0143〜0147)。サブエージェント委譲プロトコル正本、doctor 3 チェック追加、review-gate skill 正本化、PostToolUse/Stop 軽量 hook(EH-10/EH-11 候補)、improvement-seeds hygiene 仕様、PreCompact memory guard、plangate-working-discipline skill(v1/v2)も追加。
bin/plangate / scripts/hooks/*.sh / schemas/*.schema.json への実適用が コミット済みで main に
反映済み(apply-script の --apply 実行結果を含む、仕様のみではない)。
bin/plangate doctor
可視化のみ・GitHub branch protection 依存で 未配線(#500 後続)。正本: docs/ai/hook-enforcement.md。bin/plangate verify / handoff --verify 実行時に発火。
完全手動・AI 任せ運用では休眠する(常時強制は層 A/B の EH-1/2/3/6/8/9)。apply-task-0144-c3-mode.sh --apply 結果、#632)scripts/ai-loop/arbiter.py + 59 テスト + runbook(#678)Plan Review Readiness Gate(#653 / #663)
— C-1 self-review 前に pass / needs_revision / blocked を判定する計画実行準備ゲートを
追加。WF-03 完了条件・plangate-insertion-map・plan.md テンプレートを更新(#653)。ドキュメント
仕様変更向けのレビュー観点を追加(#663)。
exploratory intent 追加(8 分類化)・hypothesis-logger スキル実装・WF-07 接続(#651)
— intent-classifier に exploratory を 8 番目の intent として追加。仮説採番・記録スキル
hypothesis-logger を新規実装。WF-00 に exploratory 判定時の WF-07 推奨 advisory を追加。
新規スキル: ai-loop-cycle / pr-watch(#694 / #695)
— ai-loop-cycle(ai-loop 1 サイクル実行手順 + Model A/B/C/D 委託プロンプト定型、#694)、
pr-watch(PR 監視・状態把握手順、#695)を新設。subagent-driven-development に worktree
委託の安全ルールを追加(#695)。
self-review スキル拡張(#666) — シェル/ドキュメント品質観点 + 文章品質チェックを追加。
repo-owned 整合性検出スクリプト 2 種(#700 / #703)
— stale パス参照検出 scripts/check-stale-skill-refs.py(#700)、plugin/repo-local スキル名
多重定義検出 scripts/check-skill-name-collisions.py + 優先順位ガイド(#703)。
gh account ドリフト検証の pre-push opt-in 拡張(#702) — 既存 #360 pre-push hook に gh アクティブアカウントのドリフト検証を opt-in 拡張。
段階的導入ドキュメント 3 種(#697〜#699) — plugin-only 環境の動作境界と CLI 非依存の最小導入パス(#699)、既存 plan→exec ワークフロー との共存・部分導入ガイド(#698)、改称移行(arbiter→ai-loop 等)の grep チェックリスト 正本(#697)。
HUMAN_ESCALATED → 人間判断 → AUTO_APPROVED のフル経路を完走(Run-001/002、
#738)した後、Run-003〜021 で摩擦(friction)検出 → W チェック(3R 合議)→
loopspec.md / execution-runbook.md への正本化、を反復するセルフチューニング
閉ループを確立した。
reject_category 追加(初のコード run、#740)deterministic 欄の構造化(cmd/expect_exit/note、#747)#746/#749/#751/#753 intake(loop 4 型の語彙吸収、
scope.allowed_paths 追加、Managed Agents trust boundary 語彙、memory
trust boundary 宣言機構、#748/#750/#752/#755).agents/skills へ正本化(#737、#758)ai-loop-workflow を plangate プラグインへ同梱(#771/#773)
— ai-loop-cycle スキルを Agent Skills bundled resources 方式(skill
ディレクトリ内に references/(正本 docs 17 本のミラー)+ scripts/
(arbiter.py 一式)を自己完結同梱)で再設計し、
plugin/plangate/skills/ai-loop-cycle/ として配布。
sync-plugin-plangate.sh を拡張し正本 → plugin の同期を冪等化。
plugin README に導入手順・適用境界(低リスク帯
限定・PlanGate 本番非適用)を明記。検証: plugin 配下 arbiter 63 テスト
自立 PASS、フルスイート 387 passed。他プロジェクトでの検証用途であり
PlanGate 本体の運用を置き換えるものではない。
サブエージェント委譲プロトコル正本を新設(#710/#711-716)(#723) — 複数エージェントへの作業委譲時の責務分界・引き継ぎ形式・検証手順を 正本化。
PreCompact memory guard(#742 / #744)
— /compact 実行前に作業コンテキストの鮮度を検査する仕様 + apply-script
(warn 既定)。
plangate-working-discipline skill(v1/v2)(#735 / #741) — Fable 5 の作業規律を PlanGate skill として明文化(8 ファイル)。v2 で ai-loop 実運用の学習(原則11/12・停止規律・追加指示の扱い)を還元。
secret 判定の policy-grounding ガード(#731 / #736)
— secret 判定ロジックに根拠となるポリシー参照を必須化し、#727 の
gap 分析をクローズ。
ai-loop 設計思想正本 design-philosophy.md(#732) — I-1〜I-9 の設計原則、成長メカニズム、文書地図を新設。
codeql.yml / schema-validate.yml)。以下は「仕様策定 + Human-owned 適用スクリプト(
--dry-run既定)の提供」までが完了した 項目。Hardening Override(HO)対象パス(.claude/rules/*.md等)への実適用(--apply)は Human-owned であり、本ドラフト時点では未実行。上記 Hook Enforcement 項目(実適用済み) とは異なり、enforcement は live ではない(working-context.md「settings タスクロック」と 同型のギャップ)。
docs/ai/quality-command-evidence.md + 適用スクリプト
scripts/apply-quality-command-gate.sh(dry-run 既定、--apply は Human-owned)。docs/ai/reviewer-silence-fallback.md + scripts/apply-reviewer-silence-gate.sh
(dry-run 既定)。scripts/apply-conductor-dynamic-phase.sh(dry-run 既定、HO 実適用は未実施)。docs/ai/w6-autonomous-approve-introduction.md(仕様のみ、導入自体は未実施)。docs/ai/review-feedback-c4-extension.md + scripts/apply-rnnn-c4-extension.sh
(dry-run 既定)。feat: Review Gate 機械化 + EH-3 doc-light + approve 強化 + CLI テスト完備 + OpenSSF Scorecard 対応 + Best Practices Passing 取得
外部レビュー結果(Decision / risk)を c3_status へ自動マッピングし承認境界を機械執行する Review Gate(TASK-0129)、EH-3 フックに非 HO .md ファイルを記録付きで自動 SKIP する doc-light 経路(TASK-0138)、approve サブコマンドのハードニング(TASK-0139)、CLI サブコマンドの統合テスト完備(TASK-0140)を追加。OpenSSF Scorecard 対応(Pinned-Dependencies / SLSA / Fuzzing / Branch-Protection / SAST / Token-Permissions / SecurityPolicy)と Best Practices Passing バッジ取得を含む。
Decision(go / revise_plan / human_approval_required / no_go)と review_risk(low / medium / high)を c3_status へ自動マッピングし、bin/plangate exec での機械執行を実現。apply-task-0129-schema.sh / apply-task-0129-wc.sh で c3-approval スキーマと working-context を更新。C-1 Loop check(計画ループ検出)を同梱。check-plan-hash.sh に非 HO .md ファイルを記録付き自動 SKIP する doc-light 経路を追加。maintenance ファイル存在時はトークンライフサイクルを優先し doc-light を発火させない。skip-decision-log.jsonl に EH-3_DOC_LIGHT_SKIP イベントを記録。ta-39 で 6 TC / 303 PASS。plangate approve ハードニング(TASK-0139 / #550) — approve サブコマンドに read -r による理由・条件・確認の対話入力、PLANGATE_TEST_MODE ガード、c3.json 上書きブロック(--force で上書き可)を追加。ADR docs/decisions/adr-001-approve-out-of-band.md を同梱。ta-41 で 302 PASS。ta-42 を新規追加し bin/plangate の全サブコマンド(plan / exec / review / approve / validate-schemas / metrics / doctor 等)を統合テストでカバー。302 PASS / 0 FAIL。security-extended 追加、SLSA provenance attestation(リリース時 build provenance 自動生成)、atheris Fuzzing(fuzz/fuzz_render_review.py)、Branch-Protection(1 reviewer 必須 + stale review dismiss)。scripts/add-auto-approve-workflow.sh。APPROVE_PAT(別アカウント PAT)設定後に --apply で auto-approve.yml を生成。docs/workflows/07_exploratory_debug.md の MD031/MD032/MD040 11 件 + execution-sequence.md の MD012 を解消。requirements/schema-validate.txt を追加し schema-validate.yml で --require-hashes を強制(OpenSSF Pinned-Dependencies 対応)。feat: C-3 レビュー HTML 出力(plangate render)+ 人間ワンアクション C-3 承認(plangate approve)
利用者の声「MD は確認しづらい / ファイルが多い / ブラウザで見たい」に応え、C-3 レビュー成果物をブラウザで横断把握できる HTML 出力を導入。あわせて「人間は承認の判断のみ、JSON/CLI 作業は負わない」という PlanGate コンセプトを実機化する承認 CLI を追加。
plangate render(C-3 レビュー HTML 出力 / TASK-0127・#546・#552) — C-3 対象 7 種 MD(pbi-input / plan / todo / test-cases / review-self / review-external / handoff)を 1 枚の自己完結 HTML に集約。目次アンカー / GFM 表 / チェックボックス / コードブロック / インラインをレンダリングし、HTML エスケープで XSS を防止。外部 CDN / script / 画像参照ゼロ(オフライン・ブラウザ直開き可)。実装 scripts/render_review.py は Python 標準ライブラリのみ(新規依存なし)。plangate approve(人間ワンアクション C-3 承認 / TASK-0128・#546) — 対話 TTY で承認意思を示すだけで、plan_hash 自動算出・approved_by を git config 解決・schemas/c3-approval.schema.json 準拠の c3.json を自動生成(JSON 手書き不要)。maintenance 由来の L1-L4 Human-presence 検証(best-effort)で非対話実行からの自己承認を抑止。check-approval-token-write.sh を Edit|Write + Bash matcher で配線し承認トークンへの直接書込を block。plangate approve の L1-L4 は best-effort 多層防御(疑似 TTY バイパスが理論上残る)。out-of-band 化(HMAC 署名 + OS keychain)による strict enforcement は #550 / #527 で継続。plangate render の SVG 図解(html-diagram)・構造化 html-plan ナビは #548 / #549 で継続。feat: 全体健全化リリース — 監査駆動の鮮度・整合・隔離改善 + エージェント model tier
リポジトリ全体監査(2 ラウンド + Shadow Spec 棚卸し)を起点に、ドキュメント鮮度の回復、テストの実 docs/working 汚染の根治、未使用エージェント/スキルのスリム化、エージェント model tier(Claude: sonnet/inherit、Codex: low/medium effort)の導入、Hook enforcement の実装/配線の実態整合、yaml schema 検証、CLI テストカバレッジ完了(290 PASS)までを収録。
エージェント model tier(#519)— エージェントを「定型・構造化 / 判断系」の 2 tier に分類し、Claude Code は frontmatter model:(sonnet / inherit)、Codex は model_reasoning_effort(low / medium、GPT-5.5 の high はトークン消費の運用判断で不採用)で表現。正本 docs/ai/model-profiles.md §11。plugin 配布版は sync-plugin-plangate.sh が model: inherit へ自動正規化し、利用者環境にモデル固定を持ち込まない。tier の崩れは tests/extras/ta-33 が CI で機械検査
scripts/apply-responsibility-classes-branch-base.sh(HO 適用は Human)feat: 並列レビューア実行 + Plugin sync 品質ガード + 導入促進・運用ガード整備
bin/plangate review の並列レビューア実行(TASK-0122)を追加。Plugin マニフェストの version 二重管理ガード・Codex Plugin 状態検査 helper・実 SSoT 汚染の CI 可視化など plugin sync 周辺の品質を強化。導入検討者向けランディング(Why PlanGate)と HO 待ち運用ガード(status 日時必須・外部レビュー実行不可記録・runtime conductor 運用・AGENTS.md 汚染除去)を整備。3 視点レビュー(セルフ + 別視点 + Gemini)で検出した多数の指摘を反映。
bin/plangate review に複数外部レビューアの並列実行を追加。spec ファイルのコマンドに shlex.quote を適用。docs/pages/explanation/product/why-plangate.md。3 つの価値・段階的導入・成功イメージ・CTA を整理。scripts/check-codex-plugin-status.sh。Codex Plugin の登録 / version / skill 数をネットワーク非依存でローカル検査。bin/plangate doctor に non-fatal セクションとして配線。scripts/apply-ho-followups.sh。HO パス変更を Human が冪等・--dry-run 付きで 1 コマンド適用。MISMATCH → ERROR)、リポジトリ slug 表記ゆれ統一、shallow clone での tag 空テスト追加。status.md フェーズ履歴の日時 YYYY-MM-DD HH:mm 必須、外部レビュー実行不可時の記録規約(§7-ter)、Codex runtime での conductor 相当運用を正本に反映。bin/plangate 前提と clone 必要性を plangate-setup.md / setup-coordinator.md に追記。plugin.json ↔ marketplace.json の version を sync で同期・check で検証。parse 失敗 / 未定義 / 空を ERROR 化。<claude-mem-context> 汚染ブロックを除去。実 SSoT 汚染を run-tests で可視化(warn-only / STRICT_AGENTS_CHECK 切替)。trap 親シェル汚染をサブシェル隔離で解消、semver 検証の grep -E 厳格化、mktemp リーク防止、--online カバレッジ補完。feat: Claude Code / Codex Plugin 正式配布対応 + retrospective scoring 配点変更
Plugin を Claude Code / Codex 双方で marketplace add / install.sh から導入できる正式配布状態に整備。Codex/Gemini レビューと ultracode 検証 Workflow(5観点並列)で発見した配布ブロッカー(実在しない codex plugin install の誤記、install.sh のパス注入・symlink・dry-run 副作用、openai.yaml 仕様非準拠など)を解消。
install.sh: ワンコマンドインストール(--claude / --codex / --force / --uninstall / --version / --dry-run).claude-plugin/marketplace.json: /plugin marketplace add s977043/PlanGate / codex plugin marketplace add s977043/PlanGate 対応scripts/check-codex-skill-spec.sh: openai.yaml 仕様チェック(short_description 25-64 文字・default_prompt $skill-name 形式・brand_color)scripts/install-plangate-skills-to-codex.sh: .agents/skills/ → .codex/skills/ 変換スクリプトplugin/plangate/scripts/install-plangate-skills.sh: Plugin 自己完結 Codex インストールスクリプト.codex/skills/: 28 スキルを openai.yaml 付きで展開(公式仕様準拠)plugin.json: skills / repository / license / keywords フィールド追加(公式ベストプラクティス)sync-plugin-plangate.yml に仕様チェックステップを追加docs/ai/reporting.md(§2-bis 新設) / docs/ai-driven-development.md を更新、scripts/check-retro-scoring-consistency.sh を新規追加。codex plugin install plangate を削除(codex plugin に install サブコマンドは無く配布の入口でエラー)→ marketplace add + install.sh --codex に修正sys.argv 渡しに変更(パス注入防止)、cp のシンボリックリンクスキップ、--dry-run の mkdir 副作用解消、uninstall の空ディレクトリ除去、python3 ガードdefault_prompt を $skill-name 形式に・brand_color 追加・short_description を 64 文字以内に UTF-8 安全切り詰めfeat: Codex CLI parity 完成 + Hook/Guard 拡充 + Skill 整備 + ドキュメント品質向上
v8.9.0(EPIC #193 完遂)以降に蓄積した TASK-0107〜0120 / Issue #353 の実装群。Codex CLI parity の完成、セキュリティ hardening(INC P-1/P-3 対応)、pre-commit/pre-push guard 拡充、skill 整備、C-3 Autonomous APPROVE ルール明文化を含む。
タグ対象 SHA: 1bde312(#415 main HEAD)
.codex/hooks.json + .codex/hooks/eh-bridge.sh: Codex CLI 用 PreToolUse hook bridge を新設 (#336 / #347)。EH-1/EH-2/EH-3/EH-6/EH-9 が Codex session 中にも物理発火する。scripts/codex-guarded.sh: Codex CLI 用 guarded entrypoint (#336 / #343)。session 前後で validate / doctor –check-settings / plan_hash drift 検知を実行。docs/rfc/provider-codex.md: Codex provider 完全対応ドキュメント (TASK-0109 / #315)。tests/extras/ta-14-codex-guarded.sh / ta-15-codex-hook-bridge.sh: 8 + 7 観点回帰テスト (#345 / #347)。docs/rfc/ai-self-set-gate-hook-enforcement.md: RFC EH-10 Draft (#339)。docs/ai/settings-wiring-contract.md: EH-1〜EH-9 強制マトリクス明文化 (#348)。.agents/skills/ai-dev-exec / ai-dev-verify / local-exec-handoff: Codex CLI / Claude Code 共用 skill 3 本を新設。.claude/commands/codex-mvp-split.md + skill: MVP 分割判断 command/skill 実装 (TASK-0118 / #352)。scripts/hooks/check-pre-push.sh: main 直接 push を技術層でブロック (TASK-0114 / #360 / INC P-1)。scripts/check-git-add-scope.sh: pre-commit で scope 外ファイル混入を機械検知 (TASK-0119)。scripts/hooks/check-ai-memory-pollution.sh: claude-mem 自動挿入を pre-commit で検知 (TASK-0113 / #355)。scripts/check-tag-main-parity.sh: NO RELEASE WITHOUT TAG-MAIN PARITY Iron Law (TASK-0116 / #354)。scripts/batch-acknowledge-skip-decisions.py: skip-decision-log.jsonl 一括追認 CLI (TASK-0110 / #301)。tests/extras/ta-16〜ta-23: 上記 guard/helper 群の回帰テスト追加。scripts/gh-s977043.sh: gh account pinning helper (TASK-0120)。/plangate-setup Command + setup-coordinator Agent + plangate-setup Skill (TASK-0107 / #312)。docs/pages/guides/getting-started.md: 新規ユーザー向け Quickstart を追加。docs/pages/explanation/product/plan-creation-process.md: 実行計画プロセス解説ガイド。docs/pages/ 全体の相互リンク・品質向上 (#414)。docs/working/incidents/2026-05-26-empty-commit-direct-push.md: INC-2026-05-26-001 インシデント記録。.claude/rules/mode-classification.md: 承認境界周辺 9 カテゴリを lite_eligible=false 強制 + Standard C-3 同期固定に拡張 (TASK-0112)。.claude/rules/responsibility-classes.md: Bash 連結コマンド error guard (INC P-3 / TASK-0115) + 自己設置 Gate 非緩和原則を明文化。docs/pages/ を pages/ から移設 (TASK-0111 / #295)。.mailmap: kominem-unilabo を s977043 へ非破壊再マッピング (#406 / #407)。AGENTS.md: .codex/agents/ からの bridge 方針を明記 (#341)。plan-review-gate skill に bin/plangate review 誤起動警告を追加 (#327)。feat: Reporting & Retrospective v1 + reporting 精度 follow-up — EPIC #193 完遂
EPIC #193 Harness Improvement Roadmap の v8.9.0 milestone(#200)を完走し、roadmap を完全完遂。Reporting & Retrospective v1(PBI-HI-006 / TASK-0098)で sprint retrospective 統合の基盤を実装し、その後 v1_first_pass / fix_loop の events 由来厳密化(TASK-0102)、test/dev フィルタ + run スコープ(#281 / TASK-0103)、roadmap 完了状態同期(TASK-0104)、EH-3 c3.json plan_hash 抽出の strict JSON 化(#282 / TASK-0105)まで follow-up を継続し、reporting の精度と決定論性を確定させた。
タグ対象 SHA: 345620c(#285 / TASK-0105、main HEAD)
_paths.py へ共有化(#277 / TASK-0101 / PR #278) — reuse M-2、scripts 横断のパス定数 DRY 化/simplify follow-up — #198 / #199 局所クリーンアップ(TASK-0099 / PR #275) — Keep Rate / Dynamic Context Engine の局所整理(挙動不変)docs/ai/harness-improvement-roadmap.md: 完了状態へ同期(TASK-0104 / PR #284) — EPIC #193 完遂を roadmap に反映345620cfeat: Keep Rate v1 / Dynamic Context Engine v1 / Model Profile v2 / Gate Event Normalization / Dogfooding Eval v1
EPIC #193 の v8.8.0 milestone(5 件: #197 #198 #199 #230 #231)を完走。Gate Event Normalization 正本(#230)と Dogfooding Eval v1(#231)で events / 評価基盤を整え、その上に Model Profile v2(#197)/ Keep Rate v1(#198)/ Dynamic Context Engine v1(#199)を実装。harness の自己評価・context 分離・モデル特性対応が揃った。
タグ対象 SHA: 7e3ea4e(#273 / TASK-0097 #199 Dynamic Context Engine v1、v8.8.0 milestone 最終マージ)
7e3ea4e(#199)に打つ。この SHA は #230 / #231 を含む全 v8.8.0 作業を内包する(v8.7.0 タグ d0bd6cc 配下に #230 / #231 が含まれる点は既知の近似として許容)7e3ea4e)feat: Harness Improvement Roadmap P1 + TASK-0071 Governance Hardening / Feedback F1〜F5 完遂
EPIC #193 の v8.7.0 milestone(9 件: #196 #203 #204 #213 #224 #225 #226 #228 #229)を完走。加えて同期間に milestone 外の TASK-0071 群(Feedback F1〜F5 / Governance Hardening / #227 river-reviewer 標準 IF 正本化 / TASK-0089)を完遂し、exec 委譲デッドロック恒久対処・委譲 commit 境界強制・Lite 分岐 + C-3 条件付き降格・責務 4 分類正本化・Shadow Config ロック + drift CI を導入。harness の強制力と運用堅牢性が大きく前進した。
タグ対象 SHA: d0bd6cc(#270 / TASK-0094 #204 PlanGateBench Fixture Suite、v8.7.0 milestone 最終マージ)
metrics --timeline(experimental / v8.7.0)docs/ai/external-reviewer-interface.md--fix(TASK-0069 / PR #240 ほか)bin/plangate doctor: hook-wiring check と決定論的 --fix を追加(TASK-0069).claude/rules/: 責務 4 分類正本(responsibility-classes.md)を追加し、hybrid-architecture / orchestrator-mode / working-context から参照SKIP_REASON 対応(TASK-0082)、file-path-sensitive SKIP(TASK-0070)"workspace-read" を "read-only" に修正(PR #242)docs/ai/harness-improvement-roadmap.md: v8.7.0 ロードマップを Option D に組み替え(PR #232)d0bd6cc(#204)に打つ。この SHA は全 v8.7.0 作業を内包するが、先にマージされた #230 / #231(v8.8.0)も含む。これは交錯マージ下での最善近似であり、v8.8.0 タグ 7e3ea4e が #230 / #231 を含む全 v8.8.0 作業を内包することで版の意味は保たれるd0bd6cc)feat: Harness Improvement Roadmap Phase 0/1 + Governance — v8.6.0 milestone 完走
EPIC #193 Harness Improvement Roadmap の v8.6.0 milestone P0 4 件すべて完走。改善前 baseline 固定(#194)と運用 governance(#201, #202)を先に置き、その上に Metrics v1(#195)を実装。これにより以後の harness 改善(#196 Eval expansion / #197 Model Profile v2 / #198 Keep Rate / #199 Dynamic Context)を 比較で判断 できる基盤が整った。
docs/ai/issue-governance.md(PBI-HI-007 / #201 / TASK-0059) — Issue 必須セクション / Label taxonomy(kind / area / priority / status の 4 軸)/ Milestone mapping policy(推測禁止条項)/ Roadmap PBI 作成 checklist(10 項目)/ Issue template policy / EPIC governance を正本化.github/ISSUE_TEMPLATE/plangate-roadmap-task.yml(#201) — Roadmap PBI 用 GitHub Issue Form。Why / What / AC / Non-goals / Labels / Milestone を必須入力として強制docs/ai/metrics-privacy.md(PBI-HI-008 / #202 / TASK-0060) — Metrics v1 実装前の privacy / public data policy。保存可能 12 カテゴリ / 禁止 9 カテゴリ / file path / stack trace / command output / provider metadata の扱い / redact / sanitize / 完全除外 / retention 90日 / public-private 別運用差分docs/ai/eval-baselines/2026-05-04-baseline.{md,json}(PBI-HI-000 / #194 / TASK-0061) — v8.5.0 直後の baseline。代表 5 TASK(TASK-0050/0054/0055/0056/0057)で 8 観点 eval、機械可読 JSON snapshot、後続改善との比較ポイントschemas/plangate-event.schema.json(PBI-HI-001 / #195 / TASK-0062) — 11 events(task_initialized / plan_generated / c3_decided / exec_started / hook_violation / v1_completed / fix_loop_incremented / external_review_completed / pr_created / c4_decided / handoff_completed)。conditional required(c3 / c4 / v1 / hook / fix_loop)。privacy §3 Allowed のみ(§4 Forbidden は schema 上に存在させない)scripts/metrics_collector.py(#195) — TASK ディレクトリから 6 events 自動導出 + NDJSON append。--dry-run / --events-log 対応。mode 自動検出、AC count を ✅PASS/❌FAIL/⚠️WARN マーカーから抽出scripts/metrics_reporter.py(#195) — events.ndjson から TASK / aggregate summary。--json 対応、hook violation / C-3 / V-1 / C-4 / fix_loop_max / mode を集計docs/ai/metrics.md(#195) — 9 章運用 guide(CLI 使用例 / privacy / schema 検証 / baseline 比較 / 後続改善との接続点)tests/extras/ta-09-metrics.sh(#195) — 8 test cases(schema validation / c3_decided 検出 / v1_completed 検出 / aggregate report / JSON output 含む)pages/(PR #205) — River-Reviewer 参考の公開ドキュメント構造(overview / pm-po-elevator-pitch / before-after / positioning / value-proposition-canvas / demo-script / FAQ / governance/documentation-management)+ sidebars.jsdocs/ai/harness-improvement-roadmap.md(PR #192) — EPIC #193 の正本ドキュメントbin/plangate: metrics サブコマンド追加(--collect / --report / --aggregate / --json / --events-log)。help text と dispatcher も更新.gitignore: docs/working/_metrics/events.ndjson を除外(metrics-privacy.md §8 準拠、public repo に commit させない)pages/guides/governance/documentation-management.md 冒頭に Related: docs/ai/issue-governance.md を追記(doc 配置側 / Issue 運用側の 2 ファイル体制を明示)v8.6.0 / v8.7.0 / v8.8.0 / v8.9.0 を新規作成。EPIC #193 配下の子 PBI 11 件 (#194〜#204) を EPIC の表通りに一括訂正(v7.x 誤紐付けからの復元)tests/run-tests.sh: 24 → 32 PASS(ta-09 で +8 件、既存 24 件は 0 件 regress)plangate-roadmap-task.yml テンプレートと issue-governance.md §4「推測禁止条項」で再発防止feat: Hook enforcement 完成 — 10/10 hooks 実装 (#169 EPIC 完走)
v8.4.0 で確立した 3 mode hook 設計(default warning / strict block / bypass escape)を全 spec に適用し、Issue #169 残 Hook EPIC を完走。docs/ai/hook-enforcement.md の Status は v3 → v5 (Implementation: 10/10 hooks Done) に到達、tests/hooks/run-tests.sh は 21 → 42 件 PASS に成長。同 release で v8.4 baseline 自動測定 + extras README 拡充も完了。
scripts/hooks/check-plan-exists.sh(EH-1、PreToolUse) — plan.md なし production code 編集 block(#183 / TASK-0056)scripts/hooks/check-plan-hash.sh(EH-3、PreToolUse + CLI) — c3.json plan_hash と現 plan.md sha256 突合(#183 / TASK-0056)scripts/hooks/check-test-cases.sh(EH-4、CLI) — V-1 前に test-cases.md 不在を warn / block(#184 / TASK-0057)scripts/hooks/check-verification-evidence.sh(EH-5、CLI) — PR 作成前に evidence/ verification 系不在を warn / block(#184 / TASK-0057)scripts/hooks/check-forbidden-files.sh(EH-6、PreToolUse + CLI) — 子 PBI YAML の forbidden_files glob と編集対象 path を fnmatch で突合(#184 / TASK-0057)scripts/hooks/check-merge-approvals.sh(EH-7、CLI) — マージ前に c3.json + c4-approval.json の両 APPROVED を確認(#185 / TASK-0058)scripts/hooks/check-v3-review.sh(EHS-1、CLI、mode 連携) — standard / high-risk / critical で V-3 review 必須化、light / ultra-light は SKIP(#185 / TASK-0058)tests/extras/README.md に「set -e 互換書法」セクション — command substitution の exit code 捕捉パターン(#182)docs/ai/eval-comparison-template.md に v8.4 baseline 行 + v8.3→v8.4 比較テーブル(#181 / TASK-0055)docs/ai/eval-baseline-procedure.md を v2 化(自動手順を主、v8.3 手動を後方互換)docs/ai/hook-enforcement.md Status v3 → v5(10/10 hooks Done、§ 4 表に全 hook 完備、§ 4.5「全 10 hook 完了 (#169 完走)」).claude/settings.example.json: PreToolUse に EH-1 / EH-3 / EH-6 を追加(EH-1 + EH-2 + EH-3 + EH-6 の 4 hook 構成)tests/hooks/run-tests.sh: 12 → 42 件 PASS(fixture 8 種追加)tests/run-tests.sh: 24 件 PASS 維持(変動なし、loader 経由)tests/extras/ 構造(#170)でマージ衝突源を根絶した状態を維持bin/plangate hook <name> への CLI 統合scripts/hooks/_lib.sh で emit_judgment / log_event を集約、現状は 10 ファイル × 各 50〜100 行で許容範囲)feat: 自動化基盤の節目 — eval runner / schema validate CI / hook enforcement / 環境改善
v8.3.0(最新実行モデル対応 + eval framework 仕様)で整備した基盤を、実 CI / 実 CLI / 実 hook に落とし込んだリリース。retrospective Try T-1〜T-6 のうち 6 件 + 派生 V2 候補 5 件を消化、合計 11 PBI(TASK-0045〜0054)を完走。マージ済 18 PR(#161〜#178)。
scripts/check-pr-issue-link.sh + .github/workflows/check-pr-issue-link.yml — 子 PBI auto-close 漏れ防止 CI(PBI #170 / Issue #159 → TASK-0045)docs/ai/eval-comparison-template.md の v8.3 baseline 行 + docs/ai/eval-baseline-procedure.md — 8 観点 baseline + 集計手順(PBI #155 → TASK-0046)scripts/validate-schemas.py + bin/plangate validate-schemas + .github/workflows/schema-validate.yml — JSON artifact の schema 機械検証(PBI #158 → TASK-0047)docs/ai/contracts/{plan,review,verify,handoff,classify}.md に schema reference を追加(PBI #158)scripts/hooks/check-c3-approval.sh / check-handoff-elements.sh / check-fix-loop.sh — EH-2 / EHS-2 / EHS-3 の 3 mode 設計 hook(default warning / PLANGATE_HOOK_STRICT=1 で block / PLANGATE_BYPASS_HOOK=1 で escape)(PBI #157 → TASK-0048).claude/settings.example.json — opt-in な PreToolUse / SessionStart hook 登録例tests/hooks/run-tests.sh + 各 fixture — hook 単体テスト 12 ケースbin/plangate eval + scripts/eval-runner.py + schemas/eval-result.schema.json — 8 観点機械評価 CLI、baseline 比較、release blocker 違反検知(PBI #156 → TASK-0049)docs/ai/eval-runner.md — eval CLI の正本仕様tests/extras/ ディレクトリ + tests/extras/README.md — 拡張テストブロック分離による衝突源根絶(PBI #170 → TASK-0050)scripts/schema_mapping.py — FILENAME_TO_SCHEMA を 1 箇所集約(DRY、PBI #172 → TASK-0051)scripts/gh-pin-account.sh + SessionStart hook — gh CLI active account 自動固定 shim(PBI #171 → TASK-0052)scripts/parsers/codex_log_parser.py + --session-log option — Codex JSONL から latency / tokens を実測値化(PBI #168 → TASK-0054)tests/fixtures/codex-log/sample.jsonl — 実 codex rollout の最小 fixturedocs/working/retrospective-2026-05-01.md + retrospective-2026-05-01-s2.md — 2 セッションの振り返りbin/plangate v0.1.0 → v0.2.0 — validate-schemas / eval サブコマンド追加、help 拡充scripts/eval-runner.py v1.0.0 → v1.2.0 — schema_mapping 共通化(v1.1)+ codex session log parser 統合(v1.2)schemas/c3-approval.schema.json / schemas/c4-approval.schema.json — patternProperties: { "^_": {} } を追加し human-readable annotation を許容(PBI #167 → TASK-0053)docs/ai/hook-enforcement.md — Status v1(Spec only)→ v2 (Implementation: Done)、§ 4 全面書換docs/ai/eval-plan.md 引き継ぎ先を eval-runner / structured-outputs CI に明記docs/ai/structured-outputs.md — § 8 マイグレーションガイド追記docs/ai/eval-cases/format-adherence.md — Detection 手順を新 CI に整合docs/schemas/child-pbi.yaml — optional related_issue: <int> フィールドを追記tests/run-tests.sh — base test + extras loader 構造に再設計、合計 21 → 24 件 PASSrelease_blocker_violations 配列に違反を記録、stderr WARNING + exit 1 で CI 統合可能tests/run-tests.sh 末尾領域に衝突発生 → PBI #170 で tests/extras/ 分離に再設計し根絶feat: 最新実行モデル対応 — Outcome-first / Model Profile / Prompt Assembly / Eval 基盤 (EPIC #116)
PlanGate v8.2 milestone 中核 EPIC として、GPT-5.5 以降の outcome-first モデルに対応する基盤を整備。 Orchestrator Mode 実運用ケース第一号として親 PBI(PBI-116)を 6 子 PBI に分解、4 phase で実行。 17 PR(#126〜#151)をマージ、parent-AC × 8 全 PASS / Open Gap 0 / Release blocker 0 で完了。
docs/ai/core-contract.md — Iron Law 7 項目を outcome-first 形式で正本化(PBI-116-01)docs/ai/model-profiles.yaml — 実行モデル別 4 profile(gpt-5_5 / gpt-5_5_pro / gpt-5_mini / legacy_or_unknown)(PBI-116-02)schemas/model-profile.schema.json — Model Profile JSON Schema(PBI-116-02)docs/ai/prompt-assembly.md — 4 層 Prompt Assembly(base_contract / phase_contract / risk_mode_contract / model_adapter)(PBI-116-03)docs/ai/contracts/ × 7(各 phase 別 contract 定義)+ docs/ai/adapters/ × 4(profile 別 adapter)(PBI-116-03)docs/ai/structured-outputs.md + 4 schema(review-result / acceptance-result / mode-classification / handoff-summary)(PBI-116-04)docs/ai/responsibility-boundary.md / docs/ai/tool-policy.md / docs/ai/hook-enforcement.md(PBI-116-04, 06)docs/ai/eval-plan.md — model migration eval framework 8 観点 / 4 観点を release blocker(PBI-116-05)docs/ai/eval-cases/ × 8 — scope-discipline / approval-gate / verification-honesty / format-adherence(release blocker)+ ac-coverage / stop-behavior / tool-overuse / latency-cost(WARN)(PBI-116-05)docs/ai/eval-comparison-template.md — prompt × model profile × reasoning effort 比較表(PBI-116-05)docs/working/PBI-116/ 親 PBI artifact 一式(parent-plan / dependency-graph / parallelization-plan / integration-plan / risk-report / handoff / approvals)CLAUDE.md — 43 行 → 21 行に薄型化、Iron Law を core-contract.md に分離参照(PBI-116-01)AGENTS.md — 61 行 → 29 行に薄型化、Codex 共有プロンプトを Core Contract 経由に統合(PBI-116-01)handoff.md 必須 6 要素出力(Rule 5 遵守)docs/working/PBI-116/approvals/parent-integration.jsondocs/working/retrospective-2026-04-30.md § PBI-116 EPIC 完了feat: Parent-Child PBI Orchestrator Mode 仕様策定 + ドキュメント同期 (#111 #112 #113 #114)
docs/orchestrator-mode.md — Parent-Child PBI Orchestrator Mode のアーキテクチャ正本(Issue #109、Spec only / 実装は別 PBI)docs/schemas/child-pbi.yaml — 子 PBI YAML スキーマ + バリデーション規則docs/workflows/orchestrator-decomposition.md — 親 PBI → 子 PBI 分解 Workflow(D-1〜D-7)docs/workflows/orchestrator-integration.md — 子 PBI 統合 → 親 PBI 完了判定 Workflow(I-1〜I-4 + Gap 分岐)docs/working/templates/parent-plan.md / dependency-graph.md / parallelization-plan.md / integration-plan.md — 親 PBI 用 4 種テンプレート.claude/rules/orchestrator-mode.md — Gate 不変条件(ChildExecAllowed / ParentDone / NewChildPBIAllowed)の正本docs/rfc/plangate-decompose.md — plangate decompose CLI RFC(Status: Draft)scripts/check-orchestrator-docs.sh — Orchestrator Mode ドキュメント整合性検証スクリプト(TC-01〜TC-20)bin/plangate init/status/validate/review/exec の使用例)docs/plangate-v7-hybrid.md — Mode×Gate×Skill 表を skill-policy-router 正本に同期、critical の rollback / security review / staged deploy を補足docs/plangate-plugin-migration.md — Rules (8) → (9) 修正、Provider RFC と Workflow DSL 接続を「完了済み」に移動、14 skills 呼び出し例追加docs/plangate.md — 「ライト / フル」2 分類 → 5 モード表へ置換docs/ai-driven-development.md — フルのみ → high-risk / critical のみ に置換、5 モード表へ更新README.md / README_en.md — install warning を NOTE に緩和(dual-mode 可・plangate: prefix 注記)、Repository Layout に /bin /workflows /tests を追加、Testing を v8.1.0 の 10 件テストに更新docs/index.md — Orchestrator Mode 仕様へのリンク追加feat: Provider CLI 対応 — validate –mode、review(Gemini CLI)、exec(OpenCode)コマンド追加 (#107)
bin/plangate validate --mode <mode> — workflows/<mode>.yaml を読み込み、gate_enforcement.c3.required_artifacts から artifact リストを動的決定bin/plangate review <TASK-XXXX> — 外部 AI レビューコマンド。PLANGATE_EXTERNAL_REVIEWER=gemini で Gemini CLI を呼び出し、結果を review-external.md に書き出すbin/plangate exec <TASK-XXXX> — 実装エージェント dispatch。C-3 gate をクリアしないとブロック。PLANGATE_IMPL_AGENT=opencode で OpenCode を起動bin/plangate doctor — gemini / opencode CLI の存在を INFO として表示(次セクション参照)tests/run-tests.sh — validate –mode、review、exec の新規テスト 6 件追加(合計 10 件)docs: README 日本語メイン化・plugin migration guide 0.5.0 対応 (#100 #101 #102 #103)
README.md — 日本語版に差し替え(English README は README_en.md へ移動)README_en.md — 新規作成(English primary README、旧 README.md の内容)docs/plangate-plugin-migration.md — plugin 0.5.0 対応・手順を最新化docs/working/README.md — full → high-risk 表記を修正docs: examples/minimal-node/ 追加 — Node.js 最小構成サンプル (#93)
examples/minimal-node/README.md — Node.js/Express プロジェクトへの PlanGate 導入手順サンプルexamples/minimal-node/CLAUDE.md — プロジェクト向け最小 CLAUDE.md テンプレートfeat: v8.0 — Workflow DSL・Provider RFC・CLI テストスイート (#81 #82 #83) (#98)
workflows/ — Workflow DSL (YAML) 5種(ultra-light / light / standard / high-risk / critical)
docs/rfc/provider-gemini-cli.md — Gemini CLI Provider RFC(外部レビュー役割)docs/rfc/provider-opencode.md — OpenCode Provider RFC(実装エージェント役割)tests/run-tests.sh — plangate CLI テストスイート(シェルスクリプト)tests/fixtures/ — テスト用フィクスチャ 4種(complete-task / missing-approval / stale-plan-hash / broken-pbi).github/workflows/test.yml — plangate CLI テスト CI workflowCONTRIBUTING.md — 新規 Provider 追加手順(#adding-a-new-provider)を追加README.md — Testing セクション・Provider Support セクションを追加fix: python3 で JSON パースするよう timeline コマンドを修正 (#96)
bin/plangate — python → python3 に変更(macOS デフォルト環境対応)feat: bin/plangate CLI v0.1.0 追加 (#95)
bin/plangate — plangate CLI シェルスクリプト
init TASK-XXXX — タスクフォルダとテンプレートファイルを生成doctor — 環境セットアップをチェック(Claude Code plugin / Codex CLI / 必須コマンド等)status TASK-XXXX — 現在フェーズと次アクションを表示validate TASK-XXXX — 成果物・承認状態・plan_hash 整合性を検証abort TASK-XXXX — abort イベントを run.ndjson に記録timeline TASK-XXXX — run.ndjson イベントログをタイムライン表示resume TASK-XXXX — current-state.md を表示してセッション再開docs: v7.5 — Deferred Decisions 判断記録・Discussions 設定確認・導線追加 (#88 #89) (#94)
docs/pages/guides/governance/oss-governance.md — Deferred Decisions 判断結果を記録(Required approvals / Scorecard required check / GitHub Actions allowlist)docs/pages/guides/governance/oss-governance.md — GitHub Discussions 設定確認セクション追加(6カテゴリ・利用方針).github/ISSUE_TEMPLATE/config.yml — Q&A / Ideas カテゴリへの Discussions リンクを追加docs: v7.4 — CONTRIBUTING.ja・TROUBLESHOOTING・JSON schemas・gate enforcement spec (#92)
CONTRIBUTING.md — 日本語貢献フロー・セットアップ手順・コミットメッセージ規約を追記TROUBLESHOOTING.md — 導入・設定・ワークフロー・CI トラブル対応ガイドを新規追加schemas/ — Artifact JSON Schema 7種(pbi-input / plan / todo / test-cases / review-self / review-external / handoff)docs/working/templates/ — 全テンプレートに frontmatter 追加(task_id / artifact_type / schema_version / status)docs/working/TASK-XXXX/approvals/c3.json — gate enforcement 仕様を新規定義docs: v7.3 governance — CI/Scorecard badges + docs/working/ public policy (#84 #87) (#91)
README.md — CI / OpenSSF Scorecard バッジを追加docs/pages/guides/governance/oss-governance.md — docs/working/ 公開方針・AGENT_LEARNINGS.md 位置づけを明示docs: v7.3 onboarding — English README, examples/, plugin install guide (#73 #74 #75 #76)
README.md — English primary README: 30s/2min/10min structure, plugin install at top, dedup warningREADME.ja.md — Japanese version (restructured from previous README.md)examples/ — Worked example of PlanGate artifacts (Node.js user registration scenario)plugin v0.5.0: setup-team を skill 一覧に追加、broken reference 制約の削除、README バージョン更新。
plugin/plangate/README.md — skill 数 11 → 14、setup-team 追加、既知制約から解消済み broken reference を削除plugin/plangate/.claude-plugin/plugin.json — v0.4.0 → v0.5.0、description に Setup Team を追記docs/working/TASK-0037/handoff.md — Rule 5 完了資産を発行モード命名の完全統一、setup-team スキル追加、pg-check × skill-policy-router 連携明示を行ったリリース。
plugin/plangate/skills/setup-team/ — タスク規模・モードに応じたマルチエージェントチーム設計スキルを追加.claude/skills/setup-team/ / .agents/skills/setup-team/ にも同一ファイルを配置skills/codex-multi-agent/SKILL.md の broken reference(../setup-team/SKILL.md)を解消plugin/plangate/agents/workflow-conductor.md — 5 箇所置換(フェーズ表、判定ロジック、status.md テンプレート、V-2 記述)plugin/plangate/agents/code-optimizer.md — frontmatter description + When You Should Be Usedplugin/plangate/rules/working-context.md — V-2 記述・plan.md テンプレート・status.md テンプレートplugin/plangate/commands/ai-dev-workflow.md — Mode判定テンプレート.claude/ 側の対応ファイル(agents/workflow-conductor.md, agents/code-optimizer.md, agents/README.md, rules/mode-classification.md, rules/working-context.md, commands/ai-dev-workflow.md)も同様に更新plugin/plangate/commands/pg-check.md — GatePolicy との連携セクションを追加skill-policy-router が check を requiredSkills に含む場合に /pg-check が自動要求される旨を明記Epic #53「PlanGate を AI コーディングの開発統制 OS へ拡張する」の Phase 1〜3 を完了したリリース。
skills/intent-classifier/ — User Request を 7 分類(feature / bug / refactor / research / review / docs / ops)skills/skill-policy-router/ — Intent + Mode → GatePolicy(requiredSkills / requiresEvidence / requiresFailingTestFirst / requiresWorktree)skills/evidence-ledger/ — EvidenceLedger スキーマ・証拠記録・Completion Gate 連携rules/evidence-ledger.md — Completion Gate ブロック条件正本rules/mode-classification.md — full → high-risk リネーム + GatePolicy 定義追加/pg-think / /pg-hunt / /pg-check / /pg-verify コマンド追加rules/design-gate.md + skills/design-gate/ — high-risk 以上で Design Artifact 8 項目必須commands/pg-tdd.md — Red→Green→Refactor TDD cycle + Evidence Ledger 連携rules/review-gate.md + skills/review-gate/ — 6 観点レビュー、critical finding → Completion Gate ブロックrules/completion-gate.md — 全 Gate 通過を一元管理する 5 条件チェックポイントrules/mode-classification.md — Gate 適用マトリクス追加skills/context-packager/ — Allowed Context 6 要素を構造化して出力rules/subagent-roles.md — 6 ロール定義(planner / implementer / reviewer / security-reviewer / test-reviewer / documentation-reviewer)skills/subagent-dispatch/ — 依存関係グラフ生成・並列実行可能タスク特定・dispatchrules/worktree-policy.md — high-risk: 必須(推奨), critical: 必須(強制)。requiresWorktree フラグ接続skills/pr-decision/ — Evidence Ledger + Review Gate + GateStatus から APPROVE / BLOCK / CONDITIONAL 判定docs/plangate-v7-hybrid.md — PlanGate Control OS 理想ワークフロー節を追加plugin.json — v0.3.0 → v0.4.0README 刷新、GitHub Pages 公開、Claude Code / Codex CLI 共用スキルの整備を行ったリリース。
docs/pages/explanation/product/philosophy.md を追加し、思想・問題設定・PlanGate の設計解釈を分離docs/index.md と docs/_config.yml を整備LICENSE を追加.agents/skills/ に Codex CLI / Claude Code 共用スキルを追加main / docs で公開Workflow / Skill / Agent の 3 層で実行層を再構築したハイブリッドアーキテクチャのリリース。
docs/plangate-v7-hybrid.md を追加design.md と handoff.md を成果物として強化Context Engineering、18 エージェント体制、5 段階モード分類を含むロードマップリリース。
docs/plangate-v6-roadmap.md を追加L-0 リンター自動修正とハーネスエンジニアリング知見を統合したリリース。
takt 知見を統合し、実装後検証と C-3 三値ゲートを強化したリリース。
AI 駆動開発ワークフローの基盤リリース。