status-reality-check
目的
STATUS.md を「計画」ではなく「検証済みの最新スナップショット」にする。 これにより、実装済み機能を未実装と誤認して Permit を切る事故を防ぐ。
いつ使うか(必須)
- •次の最小 Permit を決める前
- •triad-task-intake を書く前(または直後に)
- •「STATUSと実装がズレてるかも」と感じたとき
実行手順(ターミナル)
0) リポジトリへ移動
bash
cd /Users/sososha/Documents/039_ag
1) 検証対象コミットを取得
bash
git rev-parse --short HEAD
→ これを STATUS.md の Verified against commit: に書く
2) 主要機能の実在チェック(rg)
ここは「実装済み/未実装」を確定するための最低限セット。 必要に応じてプロジェクト固有のキーワードを追加する。
bash
# 例: Space/Room 入力系 rg -n "SpaceRectCommand|SpacePolyCommand|Msg::AddSpace" src || true # 例: UI(Palette) rg -n "FloorplanPalette|floorplan_palette" src || true # 例: Undo/Redo rg -n "Undo|Redo|History|FloorplanHistory" src || true # 例: Projection/Resolver rg -n "IntersectionResolver|OpeningProjector|WallProjector" src || true # 未実装を確定したい項目(0件なら❌未実装を確定できる) rg -n "RemoveSpace|DeleteSpace|Msg::RemoveSpace" src || true rg -n "MoveSpace|Msg::MoveSpace" src || true
3) 存在感の確認(wc -l)
bash
wc -l src/fsm/space_rect.rs 2>/dev/null || true wc -l src/ui/floorplan_palette.rs 2>/dev/null || true
4) cargo test(こまめに)
bash
cargo test
判定ルール(重要)
- •rg がヒットした → 実装済み(✅)
- •rg が 0 件 → 未実装(❌)を確定できる
- •STATUS.md の記載が上と違う → 乖離 → STOP して STATUS.md を「Verified Reality」だけ更新してから、次 Permit を再決定する
STATUS.md に反映する形式(テンプレ)
STATUS.md は「最新スナップショット」専用。履歴は DONELOG.md に残す。
- •
Verified against commit: <git-sha> - •
Verification: docs/design/STATUS_VERIFY.md
「実装済み/未実装」欄は以下の形式で更新:
- •Space/Room input: ✅(根拠: src/... + rgヒット)
- •FloorplanPalette: ✅(根拠: src/... + 行数)
- •Undo/Redo: ✅(根拠: src/... + rgヒット)
- •RemoveSpace: ❌(根拠: rg 0件)
- •MoveSpace: ❌(根拠: rg 0件)
STOP 条件
- •STATUS.md と実装の乖離が見つかった
- •「実装済み/未実装」を確定できない(キーワード不明など)
- •追加の設計判断が必要(例:正本の変更、責務移動)
出力(最低限)
- •STATUS.md の Verified Reality を更新
- •必要なら DONELOG.md に「事実更新」も追記(破壊的編集を避ける)