Compare commits
4 Commits
main
...
chore/harn
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
acf0fd34d8 | ||
|
|
c00ce0a622 | ||
|
|
64f817e8f6 | ||
|
|
c50082771d |
31
AGENTS.md
Normal file
31
AGENTS.md
Normal file
@@ -0,0 +1,31 @@
|
||||
# Project AGENTS (windmill)
|
||||
|
||||
## Startup
|
||||
- Load shared global rules from:
|
||||
- `C:/Users/akira/.codex/shared/GLOBAL_RULES.md`
|
||||
- Apply project-local rules in this file after shared rules.
|
||||
|
||||
## Required Read Order
|
||||
1. `HARNESS.md`
|
||||
2. `INDEX.md`
|
||||
3. `HANDOFF.md`
|
||||
4. `SERVER_SETUP.md`
|
||||
|
||||
## Working Mode (mandatory)
|
||||
- This repository uses harness workflow.
|
||||
- Every request must be framed in 3 lines:
|
||||
- Purpose
|
||||
- Target
|
||||
- Done
|
||||
- Follow `INDEX.md` work sequence and `HARNESS.md` validation policy.
|
||||
|
||||
## Safety Rules (mandatory)
|
||||
- Work locally first.
|
||||
- Before edits, ensure backup branch exists: `backup/2026-03-05-before-harness`.
|
||||
- Implement on working branch (current default: `chore/harness-introduce`).
|
||||
- If unexpected unrelated changes are detected, stop and ask.
|
||||
|
||||
## Recording Rules
|
||||
- Record each task in `state/tasks/<task_id>.md`.
|
||||
- Accumulate regression cases in `tests/golden/`.
|
||||
|
||||
70
HARNESS.md
Normal file
70
HARNESS.md
Normal file
@@ -0,0 +1,70 @@
|
||||
# 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/` に再現手順/入出力を追加する。
|
||||
- 修正時は可能な限り先に再現ケースを追加してから直す。
|
||||
|
||||
## 復旧方針
|
||||
- 作業前にバックアップブランチを作る。
|
||||
- 緊急時はバックアップブランチに即時復帰できる状態を維持する。
|
||||
60
INDEX.md
Normal file
60
INDEX.md
Normal file
@@ -0,0 +1,60 @@
|
||||
# INDEX.md
|
||||
|
||||
## Start Here
|
||||
1. `AGENTS.md`(存在する場合)
|
||||
2. `HARNESS.md`
|
||||
3. `HANDOFF.md`
|
||||
4. `SERVER_SETUP.md`
|
||||
5. 今回タスクの3行(Purpose/Target/Done)
|
||||
|
||||
## このリポジトリで優先的に見る場所
|
||||
- 運用メモ:
|
||||
- `HANDOFF.md`
|
||||
- `SERVER_SETUP.md`
|
||||
- 実装・設定:
|
||||
- `workflows/`
|
||||
- `mcp/`
|
||||
- `docker-compose-dev.yml`
|
||||
- `docker-compose.yml`
|
||||
- `sync_to_git.sh`
|
||||
- 実行時状態:
|
||||
- `.env`(読み取りのみ・値の露出禁止)
|
||||
- `.mcp.json`(読み取りのみ・値の露出禁止)
|
||||
- 記録:
|
||||
- `state/tasks/`
|
||||
- `tests/golden/`
|
||||
|
||||
## 作業手順(固定)
|
||||
1. 依頼3行を確定する。
|
||||
2. 変更対象を最小ファイルに絞る。
|
||||
3. 小さい差分で実装する。
|
||||
4. 検証を実行する(HARNESSのL1/L2/L3)。
|
||||
5. `state/tasks/<task_id>.md` に記録する。
|
||||
6. 必要なら `HANDOFF.md` / `SERVER_SETUP.md` を更新する。
|
||||
|
||||
## Agent入力テンプレート
|
||||
- Purpose: ...
|
||||
- Target: ...
|
||||
- Done: ...
|
||||
- Constraints: ...
|
||||
- Relevant files:
|
||||
- path1
|
||||
- path2
|
||||
- Verification commands:
|
||||
- cmd1
|
||||
- cmd2
|
||||
|
||||
## 検証コマンド(このrepo既定)
|
||||
```powershell
|
||||
docker compose -f docker-compose-dev.yml config
|
||||
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
|
||||
docker compose -f docker-compose-dev.yml logs --tail=200 windmill_server
|
||||
```
|
||||
|
||||
## 完了条件(DoD)
|
||||
- 要求された挙動を満たす。
|
||||
- 検証結果が記録されている。
|
||||
- 運用手順影響がある場合、関連ドキュメントが更新されている。
|
||||
- 未解決リスクと次アクションが明示されている。
|
||||
0
state/tasks/.gitkeep
Normal file
0
state/tasks/.gitkeep
Normal file
25
state/tasks/TEMPLATE.md
Normal file
25
state/tasks/TEMPLATE.md
Normal file
@@ -0,0 +1,25 @@
|
||||
# Task Record Template
|
||||
|
||||
- task_id: TASK-YYYYMMDD-001
|
||||
- date: YYYY-MM-DD
|
||||
|
||||
## Request (3 lines)
|
||||
- Purpose:
|
||||
- Target:
|
||||
- Done:
|
||||
|
||||
## Changed Files
|
||||
- path/to/file
|
||||
|
||||
## Commands
|
||||
- cmd:
|
||||
- result: success/fail
|
||||
- notes:
|
||||
|
||||
## Verification
|
||||
- L1:
|
||||
- L2:
|
||||
- L3:
|
||||
|
||||
## Risks / Next Actions
|
||||
-
|
||||
0
tests/golden/.gitkeep
Normal file
0
tests/golden/.gitkeep
Normal file
Reference in New Issue
Block a user