Files
windmill/HARNESS.md

71 lines
3.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# HARNESS.md
## 目的
- このリポジトリWindmill運用で、Codex / Claude Code / ローカルLLMの協調作業を安全かつ再現可能にする。
- 大きい指示文より、コンテキスト設計・制約・検証・記録を優先する。
## 役割分担
- Codex: 要件分解、変更方針、レビュー観点、ドキュメント整備。
- Claude Code: 実装、コマンド実行、検証、差分反映。
- ローカルLLM: 下書き生成、軽量リファクタ提案、代替案提示。
## 依頼フォーマット必須3行
1. Purpose: 何を達成するか
2. Target: どのファイル/機能/環境か
3. Done: 何を確認できたら完了か
## 作業スコープ
- 主対象: `workflows/`, `mcp/`, `docker-compose-dev.yml`, `docker-compose.yml`, `sync_to_git.sh`, `HANDOFF.md`, `SERVER_SETUP.md`
- 原則: 1タスク1責務。仕様変更と大規模改修を同時に進めない。
- 仕様/挙動変更時は、同タスクでドキュメント更新まで行う。
## コンテキスト方針
- 長い会話ログは渡さない。
- 毎回渡す情報は最小化する:
- 依頼3行Purpose/Target/Done
- 関連ファイルのパス
- 失敗コマンド + ログ先頭5行 + 末尾5行
- 現在の前提・制約
- トークン圧迫時は要約スナップショットへ圧縮する。
## 安全レール
- 破壊的操作(削除、履歴改変、本番反映)は事前承認必須。
- シークレットをプロンプト/ログ/コミットに含めない。
- タスクに無関係なパスは編集しない。
- 想定外の差分を検知したら作業停止して確認する。
## 検証ポリシーWindmill向け固定
- L1 構成検証:
- `docker compose -f docker-compose-dev.yml config`
- L2 サービス検証(必要時):
- `docker compose -f docker-compose-dev.yml up -d db windmill_server`
- `docker compose -f docker-compose-dev.yml ps`
- `docker compose -f docker-compose-dev.yml exec -T windmill_server curl -fsS http://localhost:8000/api/version`
- L3 変更対象別検証:
- `mcp/` 変更時: `docker compose build windmill_mcp``docker compose up -d windmill_mcp`
- `workflows/` 変更時: `wmill sync` 関連手順を `SERVER_SETUP.md` / `HANDOFF.md` に沿って確認
- 失敗時は必ずログを残す:
- `docker compose -f docker-compose-dev.yml logs --tail=200 windmill_server`
## 品質ゲート
- 変更内容に対応するL1/L2/L3結果を記録して完了とする。
- サイレントな挙動変更は禁止(テスト/手順書更新を伴うこと)。
- 運用手順に影響する変更は `HANDOFF.md` または `SERVER_SETUP.md` を同時更新する。
## 記録ルール
- タスクごとに `state/tasks/<task_id>.md` を作成。
- 最低記録項目:
- task_id
- 依頼3行
- 変更ファイル
- 実行コマンドと結果
- 未解決リスク/次アクション
## ゴールデンデータセット
- 再発した不具合は `tests/golden/` に再現手順/入出力を追加する。
- 修正時は可能な限り先に再現ケースを追加してから直す。
## 復旧方針
- 作業前にバックアップブランチを作る。
- 緊急時はバックアップブランチに即時復帰できる状態を維持する。