grill-me で設計を詰める

実装前に設計を1問ずつ詰め切る進め方(ambient-minesweeper の DESIGN.md はこれで生まれた)。 正典が無い vault-native ノート=ここが本体。

やり方

  • 1問ずつ問い、各問に推奨解を添える(相手はYes/Noや微修正で素早く進める)。
  • 依存ツリーを枝ごとに解消する。根の決定(例:学習するか)から、依存する枝へ順に降りる。
  • 決定どうしが矛盾しかける箇所は管轄分離で解く(「この条件はこの部屋だけに効く」と線を引く)。

残し方(後で効く資産)

  • 「なぜ」の連鎖を残す … 決定そのものより、「なぜ他を退けたか」「どの発火条件に繋がるか」の 関係が価値。半年後の自分や実装者が、理由を忘れて良かれと思い設計を壊す坂の滑り止めになる。
  • 接ぎ口は構造だけ予約 … 将来やることは「中身は急がず、繋ぎ口の構造と発火条件だけ」記す。
  • 実装憲法は理由とセットで … 破ってはならない不変条項を、なぜそうかと共に書く。

補足:minesweeper設計の要点 が「なぜを載せない」のと矛盾しない。連鎖の保管先は正典 (DESIGN.md)であり、地図ノートはそこを指すだけ。連鎖を残す場所と、薄く指す場所を分ける。

with-docs モード(設計中に用語集と ADR を育てる)

上流 Pocock の grill-with-docs は、尋問中に用語集と ADR を「その場で」書くのが本体。 尋問エンジン(grilling)はここの「やり方」と同等なので、本環境で足りないのは 書記の規律だけ。ただし上流は書き込み先を repo ルート(CONTEXT.md / docs/adr/)に inline で固定していて、それが canon=vault・複製禁止 と CurePit の serve まで漏らさない 境界と衝突する(対照 CurePit/reports/grillme-vs-grill-with-docs.md 行10)。

→ 機構は模写せず、規律だけを本環境の置き場所に向け直す:

  • 用語集 … CurePit/reports/<stub>.CONTEXT.md(canon:false / status:draft)に as-we-go で捕獲する。曖昧語が出たら canonical term を1つ提案して固定し、既存語と 矛盾したらその場で指摘する(用語を鋭らせるのが目的。表を厚くするのが目的ではない)。
  • ADR … 同じ reports draft スコープに、hard-to-reverse × surprising × 実トレードオフ の3条件を満たすものだけ sparingly に。閾値未満の決定は「なぜ」連鎖として下記へ。
  • 書き込み先は artifact-existence routing で決める … 理由を成果物に同居させるか draft に 留めるかを、成果物が既に存在するかで振り分ける。既に在る(docs/adr/ や CONSTITUTION.md がある)なら理由はその成果物側へ inline。まだ無いなら CurePit/reports/<stub>.CONTEXT.md (draft)に留める。判定軸は不可逆性ではない——不可逆でも成果物前なら draft が正しい。
  • serve は照合パス(coherence gate) … draft→canon の昇格ではない。inline で書いた理由を 突き合わせて整える一回で、as-we-go の堆積を掃除する関門。reports の draft はそのまま監査ログ として残す。実装は /pit-plate の照合ゲート G1〜G7。

2026-07-25 の再裁定: 当初ここには「正典化は serve で一度だけ(grill 中はぜんぶ draft、 serve の瞬間に vault 正典へ畳む)」と書いていたが、全面規則としては撤回した。canon を 設計canon(「なぜ」連鎖・用語集・ADR=尋問の産物)と成果物canon(PLAN 本体・スキーマ・ 出荷物)に分節し、vault の不変条件が縛るのは前者だけ、と切り直したため。 正典は CurePit/DESIGN.md §2-6、経緯は CurePit/reports/grillwithdocs.CONTEXT.md(質問3〜7)。 この追記自体が、照合ゲート G4(撤回した判断が成果物側に残っていないか)の初回検出で 見つかった堆積の掃除である(2026-07-29)。

なぜこの置き場所か:CurePit/reports/ は既に canon:false の承認済みステージング (棚卸し・対照表がここに居る)。ここへ書くのは canon ではないので複製禁止にも serve 境界にも 触れず、新しい repo-local canon スコープを作らずに with-docs の利得(生きた用語集・ADR規律) だけを得る。上流を npx skills で入れると衝突する inline 挙動ごと取り込むので、**fork(模写)**が正。

使うとき:CurePit stub を grill にしたら CurePit/reports/<stub>.CONTEXT.md を1枚開き、 尋問しながらそこへ用語と ADR を落とす。serve で正典へ畳む。install も外部依存も要らない。