spec-builder
何も作らない
青 = 人間
紫 = モデル
緑 = 決定的・無料
赤 = フラグ
AI
何を作るべきか推測する
→
幻覚で作られた要件
もっともらしく見える
マージされる
見積もられる
作られる
UATで発覚する
生の入力
アイデア
議事録
書き起こし
既存のPRD
旧ドキュメント
コードベース
→
spec-builder
ヒアリング: 構造は推論し、意思決定だけを尋ねる
AskUserQuestion - 最大4件ずつ
優先順位
権限スコープ
NFR目標値
想定件数
セキュリティ方針
出力言語
→
未回答
AS-nn 前提
OI-nn 未解決の課題
まずFR一覧を確認する
FR-01 申請を提出するMust
FR-02 申請を承認するMust
FR-03 レポートを出力するShould
FR-04 一括インポートCould
ロール一覧
現時点の未解決の課題
人間が確認し、訂正する
spec-builder
→
scripts/scaffold.py
まず --dry-run
docs/specs/ - 最大15ファイル
■ 常に
□ 選択時のみ
README
01 概要
02 ステークホルダー
03 用語集
04 業務フロー
05 機能要件
06 アクセス制御
07 非機能要件
08 データモデル
09 連携
10 UI / UX
11 前提条件
12 フィージビリティ
13 改訂履歴
14 デザインシステム
追加
維持
競合
順番に埋める - 各セクションは前のセクションに依存する
README
01 概要
02 ステークホルダー
03 用語集
04 業務フロー
05 機能要件
06 アクセス制御
07 非機能要件
08 データモデル
09 連携
10 UI / UX
11 前提条件
12 フィージビリティ
13 改訂履歴
14 デザインシステム
05観測可能なFR、アンカー付き、
BR-nn + 否定ケース1つ
07セキュリティNFR、「TBD」は禁止 -
未決定の値はOIになる
12全FRにYes / Partial / Noを付与 -
PartialとNoにこそ価値がある
トレーサビリティチェック - 機械的判定、主観ではない
05の全FRが12に現れる - 両方の件数を数える
10の全画面がFRを明記する
06の全ロールが03に存在する
06の全エンティティが08に存在する
空欄なし、全リンクが解決する
何も作らない
全てのOI
全てのAS
全てのPartial / No
提案されただけのNFR目標値
spec-builder
→
docs/specs/
契約書が存在する
→
harness-bootstrap