Skip to content

cruise: 周の途中で見つかった課題を台帳に足して、同じ cruise の中で直す線(#464) - #469

Merged
hdknr merged 9 commits into
mainfrom
issue/464-cruise-found-lines
Oct 27, 2026
Merged

hdknr merged 9 commits into
mainfrom
issue/464-cruise-found-lines

Conversation

@hdknr

@hdknr hdknr commented Oct 27, 2026

Copy link
Copy Markdown
Owner

cruise に新しい線 周の途中の課題(値: 外に出す(既定)/台帳に足して直す)を足し、周の途中で見つかった課題を cruise の台帳に足して同じ cruise の中で直せるようにする。

  • 原本: plugins/dev-loop/skills/dev-loop/references/found-lines.md(振り分け: 直す/利用者の判断/外に出す。直すのは起票の (a)(b) を満たす行だけ。狭いパスの指摘は直すに振らない)
  • ledger.py: LINES に線・行の origin(出所)の鍵・add --origin・show の出所の列と「周の途中で足した行のうち済んでいないもの」。空の出所・出所のある行の空の依存を拒む
  • cruise SKILL.md: §2 で 1 度だけ訊く・§4 の周の合間に利用者の判断の行をまとめて訊く・§6 で出所を持つ行の残りを渡す
  • dev-loop SKILL.md 手順 6・8 から found-lines.md を指す。absent-lines.md に線を足した
  • parent-issue.py show の「書いていない」の説明を 周の途中の課題 で既定に合わせた
  • 版 1.59.0(3 箇所)

線が無ければ振る舞いは今と同じ(外に出す)。.claude/dev-loop.md の行は効かない。

関門・採否・未証明・満たしていない受入基準・残課題は PR コメントに書きます。

Fixes #464

🤖 Generated with Claude Code

hdknr and others added 8 commits October 27, 2026 14:02
- 新しい線 `周の途中の課題`(外に出す(既定)/台帳に足して直す)。cruise の台帳にだけ置き、起動時に 1 度だけ確かめる
- references/found-lines.md: 各周がマージの前に、残課題・狭いパスの指摘・仕様の穴・範囲の外の機能・利用者の判断の行を
  直す/利用者の判断/外に出すに振り分け、直す行(実物で失敗を示せる・受入基準の外)を起票して台帳に足す
- ledger.py: 鍵 origin(出所)・add --origin・show の列と「周の途中で足した行のうち済んでいないもの」
- cruise SKILL.md: §2 で 1 度だけ訊く・§4 の周の合間で利用者の判断をまとめて訊く・§6 で足した行を渡す
- 元の周の規範(狭いパスの指摘は人間が決める・2 パス・受入基準の固定)は変えない

Refs #464

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Refs #464

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- 手順 8 と found-lines.md の読む条件を、線の有無から値(台帳に足して直す)に変える
- 利用者の判断の行にも (a)・(b) を掛け、狭いパスの指摘は利用者の判断に振る
- 直さないと答えた行は起票した Issue を閉じる
- cruise §2 で 周の途中の課題 を 直す線 に依らず訊き、parent-issue.py show の説明を既定と揃える
- ledger.py は空の origin を拒み、docstring の突き合わせの記述を実際に合わせる

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@hdknr

hdknr commented Oct 27, 2026

Copy link
Copy Markdown
Owner Author

レビュー結果(dev-loop 手順 5・6)

受入基準(I1〜I10)は docs/plans/issue-464.md の「verify の受入基準」。base bd8fa53。

関門 結果
1 パス目 Verifier(dev-loop:dev-loop-verifier・sonnet) 反証 0 件(弱い点 3 件)
1 パス目 /code-review high 指摘 10 件 → 直す 7 件(CR1・2・3・4・6・7・9・10 のうち CR3 は CR9 に従属)・残課題 3 件
2 パス目 Verifier(sonnet) 反証 0 件(軽微 1 件 = R3)
2 パス目 /code-review high 指摘 9 件 → 直す 2 件(R2・R5。6f08b9c)・残課題 7 件
狭いパス(R2・R5 の差分だけ。起点 2263be5・sonnet・変異は Verifier が設計) 反証 2 件・軽微 1 件(下。直していない)

check-all.py 51/51 緑(6f08b9c の時点)。生成物(設計 §8.2 の生成ブロック)は skill-metrics.py で書き直し、--check 緑。実験なし。

狭いパスを通した行

  • R2(出所を持つ行は依存を空にできない——add --origin に --deps が無い/出所のある行の set deps=): 狭い Verifier を通した。著者の変異 2 件は赤。Verifier の変異 1 件が素通り(F2)
  • R5(absent-lines.md の必須 2 文を表の線に限り、周の途中の課題 を名指しで外す): 狭い Verifier を通した。反証なし(軽微 F3)

満たしていない受入基準(採否の判断をお願いします)

  • F1(I4): 依存の空の行に set origin=<非空> で出所を後付けでき、元の周のマージより先に next に出る。R2 が塞いだ add --origin・set deps= に対する第 3 の入口。test-ledger.py の「origin の set」がこの状態 (1, "手", []) を期待値にしている。再現: 一時リポジトリで add t 2 → set t 2 origin=x が rc=0、next に 2。

狭いパスのその他の指摘(採否の判断をお願いします)

  • F2(I4 の検証不足): 変異「set の依存の検査が同じ呼び出しの origin= を見ない」が素通りする。陽性対照: set t 5 deps= origin=w が原本 rc=3・変異 rc=0。試料が出所を既に持つ行にしか set deps= を当てていない。
  • F3(I1・弱い): 「宣言が無ければどの線も止まる」の形が docs/plugins/dev-loop-cruise.md:66・SKILL.md:1773 に残る(前後の文脈は不在の線に限る)。

未証明(コードレビューでの確認をお願いします)

  • 実際の cruise の中で、モデルが振り分けの規定に従うか——claude を起こして別リポジトリで cruise を回す必要があり、この環境では回せない。確かめたのは規定の文面と ledger.py の振る舞いまで。

BLOCKED: なし。

残課題(直していない。実物で失敗を示せないか、受入基準の外)

  • CR5: 足した行の周がまた足す——深さ・件数の上限が無い
  • CR8: まとめて訊く行を note の接頭辞で選ぶので、後の set note= で落ちる
  • V3: 元の周が dropped になると、依存に元の周を持つ足した行が着手できない(§6 で出所ごとに渡される)
  • CR6 の残り: --origin を渡し忘れた add は親 Issue から作る行と区別できない
  • R1: 利用者の判断の行は add→set state=blocked の 2 手で、間で途切れると todo のまま next に出る
  • R3: parent-issue.py show の 直す線 の「書いていない(台帳に残さない…)」が cruise §2(起動時に訊いて台帳に残す)と食い違う(cruise: 周ごとに訊く判断(直す線・仕様の穴の扱い)を、台帳を作るときに 1 回だけ訊いて各周へ渡す #458 からの文面)
  • R4: 再開時の show が台帳を読まず、台帳に値があっても「書いていない(起動時に訊く)」と出す
  • R6: test-ledger.py の検査名「親 Issue から作った行は空」が set origin=手 の後を見ている
  • R7: 親のチェックリストの行に set origin= を書けて、§6 で周の途中の行に数えられる(F1 と同じ入口)
  • R8: parent-issue.py の docstring が線の意味を absent-lines.md だけに指す
  • R9: <!-- cruise-found: #<親> --> の印を読むものが無い

採否の 1 件ずつの表は docs/plans/issue-464.md の「既知の限界・決着済みの論点」。

@hdknr

hdknr commented Oct 27, 2026

Copy link
Copy Markdown
Owner Author

狭いパスの指摘への対応(利用者の判断: F1・F2 はこの PR で直す/F3 は残課題/起票しない)

set の後の行が「出所あり・依存なし」になる書き換えを、deps= と origin= のどちらでも拒むようにした(同じ呼び出しで両方渡したら、渡した後の値で見る)。

  • 試料: 依存の無い 概要ページ #1 への set origin= は 3(R6 の検査名と中身の食い違いも消えた)・依存を持つ MacBookでの作業にスクリーンショット・操作ガイドを追加 #6 への set deps= origin=w は 3
  • 著者の変異 2 件を .git の無い複製で当てた——F1 形(origin= を見ない)・F2 形(渡す前の origin で見る)とも、振る舞いの検査で赤
  • check-all.py 51/51 緑
  • この修正は関門(Verifier・/code-review)を当て直していない——狭いパスの指摘は人間が決める規定なので、直すと決めた分も人間レビューに渡します。差分は最新のコミット 1 つです。

満たしていない受入基準(F1・I4)は、この修正で塞いだつもりです——上記のとおり関門は通していないので、確認をお願いします。

@hdknr
hdknr merged commit e7c36c6 into main Oct 27, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

cruise: 周の途中で見つかった課題を台帳に足して、同じ cruise の中で直す

1 participant