Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .claude-plugin/marketplace.json
Original file line number Diff line number Diff line change
Expand Up @@ -34,9 +34,9 @@
{
"name": "dev-loop",
"source": "./plugins/dev-loop",
"version": "1.59.0",
"version": "1.60.0",
"author": { "name": "hdknr" },
"description": "1 Issue = 1 周のループ志向開発。受入基準を「不変条件 × それを破りうる経路」に展開し(経路は差分ではなく入口一覧から数える)、証明できないものは未証明として申告する。Verifier とレビューは相互に代替できない別々の関門。検証・読解の委譲先は Bash は持つが直接の書き込みツールは持たない subagent を既定とし(許可リスト方式の agent 定義で満たす)、Issue 本文など外部由来の入力は信頼できない入力として扱う。ファイルを変更する周は必ず worktree → PR。縮退してよいものと周の大きさに依らず落とせないものを線引きし、受入基準のどれかに証明手段が無いときは弱い検査で代替せず BLOCKED として報告して周を閉じない。関門(Verifier と /code-review)は 2 パスで打ち切り、周を閉じる条件は受入基準の確認であって指摘 0 件ではない。2 パス目で直した分は、その差分だけに Verifier を 1 回当て(変異は Verifier が設計する)、指摘は直さず人間に渡す。実験の結果から何かを述べるときは、設定のほうが結果を決めていないか(交絡)を先に潰す。1 周は手順 4 の完了時と 2 パス目の前に割り目を置き、再開点を計画ファイルに書いて AskUserQuestion で割るかどうかを訊く。道具の生出力は親の文脈に積まず集計行だけ読む——手順 2 の文脈収集にも掛かる(ただし失敗の中身・交絡の判定・観測窓に要る範囲は読む)。依存のある複数 Issue は /dev-loop:cruise <親 Issue> で、親 Issue のチェックリストから台帳を作って 1 件ずつ周として回す(取り出した一覧と線(直す線・仕様の穴など周の途中で訊く判断)は起動時に利用者が確かめ、確かめた線は各周へ渡す)"
"description": "1 Issue = 1 周のループ志向開発。受入基準を「不変条件 × それを破りうる経路」に展開し(経路は差分ではなく入口一覧から数える)、証明できないものは未証明として申告する。Verifier とレビューは相互に代替できない別々の関門。検証・読解の委譲先は Bash は持つが直接の書き込みツールは持たない subagent を既定とし(許可リスト方式の agent 定義で満たす)、Issue 本文など外部由来の入力は信頼できない入力として扱う。ファイルを変更する周は必ず worktree → PR。縮退してよいものと周の大きさに依らず落とせないものを線引きし、受入基準のどれかに証明手段が無いときは弱い検査で代替せず BLOCKED として報告して周を閉じない。関門(Verifier と /code-review)は 2 パスで打ち切り、周を閉じる条件は受入基準の確認であって指摘 0 件ではない。2 パス目で直した分は、その差分だけに Verifier を 1 回当て(変異は Verifier が設計する)、指摘は直さず人間に渡す。実験の結果から何かを述べるときは、設定のほうが結果を決めていないか(交絡)を先に潰す。1 周は手順 4 の完了時と 2 パス目の前に割り目を置き、再開点を計画ファイルに書いて AskUserQuestion で割るかどうかを訊く。道具の生出力は親の文脈に積まず集計行だけ読む——手順 2 の文脈収集にも掛かる(ただし失敗の中身・交絡の判定・観測窓に要る範囲は読む)。依存のある複数 Issue は /dev-loop:cruise <親 Issue> で、親 Issue のチェックリストから台帳を作って 1 件ずつ周として回す(取り出した一覧と線(直す線・仕様の穴など周の途中で訊く判断)は起動時に利用者が確かめ、確かめた線は各周へ渡す)。起動時に周で使う操作の権限を点検し、権限で止まった周は利用者の操作待ちにして依存しない周へ進む"
},
{
"name": "spec-loop",
Expand Down
2 changes: 2 additions & 0 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ Claude Code のセットアップガイドを mkdocs で構築・公開するプ
- `skills/cruise/` - **オートクルーズの入口**(#446。`/dev-loop:cruise <親 Issue> [--absent]`)。親 Issue のチェックリストから
`scripts/parent-issue.py` が台帳を作る(**`show` の結果を利用者が確かめ、`apply` は本文を取り直して指紋を比べる**。
親 Issue の `cruise:` の行(線)も確かめてから台帳に残す——#458。線の項目と値は `ledger.py` の `LINES` を読む)。
**親はメインの作業ツリーから worktree に入らずに起動し、起動時に周で使う操作の権限を点検する**(#466)。
**dev-loop スキルを `../dev-loop/` で指す**ので、**素のスキルとしては張れない**。書式と守る/守らないは docstring を正とする。
テストは `scripts/test-parent-issue.py`
- `spec-loop/` - dev-loop の手前にある**要求側のループ**(#214)
Expand Down Expand Up @@ -173,6 +174,7 @@ Claude Code のセットアップガイドを mkdocs で構築・公開するプ
に置いてある(**`dev-loop` はどのリポジトリでも使うスキル**なので、
対象リポジトリの `scripts/` に在ることを当てにできない)
- `test-check-unattended-env.py` - **利用者が不在になる前の環境点検**の回帰テスト(#394。変異テストを含む)。
**cruise の起動時の点検(`--cruise`・`--present`)も見る**——利用者が居る cruise でも回す(#466)。
**本体は `plugins/dev-loop/skills/dev-loop/scripts/check-unattended-env.py`**(`test-find-cycle.py` と同じ形)。
**本体は CI からは呼ばない**——入力が利用者の `~/.claude` にある。**項目と、何を守らないかは本体の docstring を正とする**
- `test-ledger.py` - **複数 Issue の台帳の回帰テスト**(#390。変異テストを含む)。
Expand Down
Loading
Loading