docs: add Discord server and CodeX review documentation
Add documentation for: - Bot ID analysis and Discord server structure - Development server channel organization - Server optimization plan - CodeX review summary for config reload fix Security: Bot token redacted from bot-id-analysis.md Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
parent
7a39a76663
commit
ed225fd9cf
131
docs/bot-id-analysis.md
Normal file
131
docs/bot-id-analysis.md
Normal file
@ -0,0 +1,131 @@
|
|||||||
|
# Clawdbot Bot ID 分析レポート
|
||||||
|
|
||||||
|
## 現状分析
|
||||||
|
|
||||||
|
### 現在のBot設定
|
||||||
|
- **Bot名**: PPAL Bot
|
||||||
|
- **Client ID**: 1459727543400665275
|
||||||
|
- **Token**: [REDACTED] - セキュリティのため削除
|
||||||
|
|
||||||
|
### 参加サーバー
|
||||||
|
1. **シュンスケ式Workflow** (1260121338811514880) - 開発用
|
||||||
|
2. **PPAL ~Pro Prompt Agent Lab~** (1459626872660033607) - 本番用
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 問題点
|
||||||
|
|
||||||
|
### 1. エージェント定義の競合
|
||||||
|
```
|
||||||
|
同一のBot設定で、異なるエージェントセットを使用しようとしている:
|
||||||
|
|
||||||
|
PPALサーバー用: まなぶん、つくるん、ひろめるん、ささえるん、かぞえるん
|
||||||
|
開発サーバー用: カエデ、サクラ、ツバキ、ボタン、ながれるん
|
||||||
|
```
|
||||||
|
|
||||||
|
### 2. 設定の共有
|
||||||
|
- 同じ `~/.clawdbot/clawdbot.json` を使用
|
||||||
|
- agents.list にPPALエージェントのみ定義済み
|
||||||
|
- Miyabi Coreエージェントが未定義
|
||||||
|
|
||||||
|
### 3. Bot Tokenの状態
|
||||||
|
- APIリクエストがエラー → Tokenが無効の可能性
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 推奨: 新しいBot IDを作成
|
||||||
|
|
||||||
|
### ✅ メリット
|
||||||
|
|
||||||
|
| 項目 | 説明 |
|
||||||
|
|------|------|
|
||||||
|
| **完全分離** | PPAL用と開発用で設定ファイルを分離可能 |
|
||||||
|
| **エージェント競合解消** | それぞれのサーバー専用エージェント定義 |
|
||||||
|
| **安全性向上** | 開発用の実験が本番環境に影響しない |
|
||||||
|
| **管理容易** | 問題発生時に影響範囲が限定される |
|
||||||
|
|
||||||
|
### 📋 設定構成
|
||||||
|
|
||||||
|
#### PPAL Bot (本番用)
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"name": "PPAL Bot",
|
||||||
|
"config": "~/.clawdbot/clawdbot.json",
|
||||||
|
"agents": ["shikirun", "manabun", "tsukurun", "hiromerun", "sasaerun", "kazoerun"],
|
||||||
|
"servers": ["PPAL ~Pro Prompt Agent Lab~"]
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Miyabi Dev Bot (開発用)
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"name": "Miyabi Dev Bot",
|
||||||
|
"config": "~/.clawdbot-dev/clawdbot.json",
|
||||||
|
"agents": ["main", "kaede", "sakura", "tsubaki", "botan", "nagarerun"],
|
||||||
|
"servers": ["シュンスケ式Workflow"]
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 新規Bot作成手順
|
||||||
|
|
||||||
|
### Step 1: Discord Developer Portal
|
||||||
|
1. https://discord.com/developers/applications にアクセス
|
||||||
|
2. "New Application" → "Miyabi Dev Bot" を作成
|
||||||
|
3. Client ID をメモ
|
||||||
|
|
||||||
|
### Step 2: Bot作成
|
||||||
|
1. "Bot" タブ → "Add Bot"
|
||||||
|
2. Bot Token をコピーして安全に保存
|
||||||
|
|
||||||
|
### Step 3: 権限設定
|
||||||
|
必要な権限:
|
||||||
|
- Manage Channels (チャンネル管理)
|
||||||
|
- Manage Webhooks (Webhook管理)
|
||||||
|
- Send Messages (メッセージ送信)
|
||||||
|
- Manage Messages (メッセージ管理)
|
||||||
|
- Read Message History (メッセージ履歴)
|
||||||
|
|
||||||
|
招待URL生成:
|
||||||
|
```
|
||||||
|
https://discord.com/oauth2/authorize?client_id={NEW_CLIENT_ID}&permissions=268445712&scope=bot%20applications.commands
|
||||||
|
```
|
||||||
|
|
||||||
|
### Step 4: 開発用設定ファイル作成
|
||||||
|
```bash
|
||||||
|
# 新しい設定ディレクトリ
|
||||||
|
mkdir -p ~/.clawdbot-dev
|
||||||
|
|
||||||
|
# 設定ファイル作成(Miyabi Coreエージェント定義済み)
|
||||||
|
```
|
||||||
|
|
||||||
|
### Step 5: Clawdbot起動
|
||||||
|
```bash
|
||||||
|
# PPAL Bot (既存)
|
||||||
|
CLAWDBOT_CONFIG=~/.clawdbot/clawdbot.json pnpm clawdbot start
|
||||||
|
|
||||||
|
# Miyabi Dev Bot (新規)
|
||||||
|
CLAWDBOT_CONFIG=~/.clawdbot-dev/clawdbot.json pnpm clawdbot start
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 結論
|
||||||
|
|
||||||
|
**新しいBot IDを作成することを強く推奨します。**
|
||||||
|
|
||||||
|
理由:
|
||||||
|
1. 現在のTokenが無効の可能性
|
||||||
|
2. エージェント定義の競合問題を解消
|
||||||
|
3. 本番環境と開発環境の完全分離
|
||||||
|
4. 将来の拡張性(複数の開発環境)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 次のアクション
|
||||||
|
|
||||||
|
新しいBot IDを作成しますか?
|
||||||
|
|
||||||
|
1. ✅ **はい** - 新しいBot作成をサポートします
|
||||||
|
2. ❌ **いいえ** - 既存Botで設定修正を試みます
|
||||||
126
docs/dev-server-structure.md
Normal file
126
docs/dev-server-structure.md
Normal file
@ -0,0 +1,126 @@
|
|||||||
|
# ClawdBot 開発用サーバー構造
|
||||||
|
|
||||||
|
## サーバー情報
|
||||||
|
- **用途**: Shunsuke 開発作業専用
|
||||||
|
- **Guild ID**: 1260121338035568711
|
||||||
|
- **Bot**: PPAL Bot (開発モード)
|
||||||
|
|
||||||
|
## Miyabi Agent Society エージェント
|
||||||
|
|
||||||
|
### コアエージェント(開発担当)
|
||||||
|
| Agent | 役割 | Emoji |
|
||||||
|
|-------|------|-------|
|
||||||
|
| **しきるん** | Conductor / Orchestrator | 🎭 |
|
||||||
|
| **カエデ** | CodeGen / Developer | 🍁 |
|
||||||
|
| **サクラ** | Review / QA | 🌸 |
|
||||||
|
| **ツバキ** | PR / Integration | 🌺 |
|
||||||
|
| **ボタン** | Deploy / Release | 🌼 |
|
||||||
|
| **ながれるん** | n8n Workflow | 🌊 |
|
||||||
|
|
||||||
|
## 推奨カテゴリ・チャンネル構造
|
||||||
|
|
||||||
|
### 🏠 Headquarters
|
||||||
|
- `#general` - 全体調整
|
||||||
|
- `#announcements` - お知らせ
|
||||||
|
- `#status` - システム状態
|
||||||
|
|
||||||
|
### 🎭 Conductor(しきるん)- タスク管理
|
||||||
|
- `#task-queue` - タスクキュー
|
||||||
|
- `#task-assignment` - タスク割り当て
|
||||||
|
- `#coordination` - エージェント連携
|
||||||
|
- `#escalation` - エスカレーション
|
||||||
|
|
||||||
|
### 🍁 Development(カエデ)- 開発
|
||||||
|
- `#coding` - コーディング作業
|
||||||
|
- `#implementation` - 実装進捗
|
||||||
|
- `#code-review-request` - レビュー依頼
|
||||||
|
- `#bug-fixes` - バグ修正
|
||||||
|
- `#refactoring` - リファクタリング
|
||||||
|
|
||||||
|
### 🌸 Review(サクラ)- レビュー
|
||||||
|
- `#code-review` - コードレビュー
|
||||||
|
- `#quality-check` - 品質チェック
|
||||||
|
- `#security-audit` - セキュリティ監査
|
||||||
|
- `#feedback` - フィードバック
|
||||||
|
|
||||||
|
### 🌺 Integration(ツバキ)- 統合
|
||||||
|
- `#pull-requests` - PR管理
|
||||||
|
- `#merge-requests` - マージ依頼
|
||||||
|
- `#conflict-resolution` - コンフリクト解決
|
||||||
|
- `#changelog` - 変更履歴
|
||||||
|
|
||||||
|
### 🌼 Deployment(ボタン)- デプロイ
|
||||||
|
- `#deployment` - デプロイ作業
|
||||||
|
- `#release-notes` - リリースノート
|
||||||
|
- `#versioning` - バージョン管理
|
||||||
|
- `#rollback` - ロールバック
|
||||||
|
|
||||||
|
### 🌊 Automation(ながれるん)- 自動化
|
||||||
|
- `#workflows` - ワークフロー
|
||||||
|
- `#n8n-integration` - n8n連携
|
||||||
|
- `#automated-tasks` - 自動タスク
|
||||||
|
- `#monitoring` - 監視
|
||||||
|
|
||||||
|
### 🛠️ Operations
|
||||||
|
- `#github` - GitHub操作
|
||||||
|
- `#git-operations` - Git操作
|
||||||
|
- `#ci-cd` - CI/CD
|
||||||
|
- `#infrastructure` - インフラ
|
||||||
|
|
||||||
|
### 📊 Analytics
|
||||||
|
- `#metrics` - メトリクス
|
||||||
|
- `#reports` - レポート
|
||||||
|
- `#performance` - パフォーマンス
|
||||||
|
- `#logs` - ログ
|
||||||
|
|
||||||
|
## Discordコマンド
|
||||||
|
|
||||||
|
### 基本コマンド
|
||||||
|
```
|
||||||
|
/status - システム状態確認
|
||||||
|
/agent {agent_name} - エージェント切り替え
|
||||||
|
/task {agent} {description} - タスク割り当て
|
||||||
|
```
|
||||||
|
|
||||||
|
### GitHub連携
|
||||||
|
```
|
||||||
|
/gh issue {action} - Issue操作
|
||||||
|
/gh pr {action} - PR操作
|
||||||
|
/gh repo {action} - リポジトリ操作
|
||||||
|
```
|
||||||
|
|
||||||
|
### 開発操作
|
||||||
|
```
|
||||||
|
/dev {project} - 開発サーバー起動
|
||||||
|
/build {project} - ビルド実行
|
||||||
|
/test {project} - テスト実行
|
||||||
|
/clean {project} - クリーンアップ
|
||||||
|
```
|
||||||
|
|
||||||
|
## セットアップ手順
|
||||||
|
|
||||||
|
1. Discordでカテゴリ・チャンネルを作成
|
||||||
|
2. チャンネルIDを取得(開発者モード)
|
||||||
|
3. ClawdBot設定にバインディング追加
|
||||||
|
4. Botを再起動
|
||||||
|
|
||||||
|
## バインディング例
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"agentId": "kaede",
|
||||||
|
"match": {
|
||||||
|
"channel": "discord",
|
||||||
|
"accountId": "ppal",
|
||||||
|
"peer": { "kind": "channel", "id": "CHANNEL_ID" }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
## 優先順位
|
||||||
|
|
||||||
|
1. ✅ 基本チャンネル(#general, #status)
|
||||||
|
2. 🔥 高頻度エージェント(しきるん、カエデ)
|
||||||
|
3. 📋 レビューフロー(サクラ、ツバキ)
|
||||||
|
4. 🚀 デプロイ(ボタン)
|
||||||
|
5. 🌊 自動化(ながれるん)
|
||||||
98
docs/development-server-optimization.md
Normal file
98
docs/development-server-optimization.md
Normal file
@ -0,0 +1,98 @@
|
|||||||
|
# ClawdBot開発用サーバー最適化計画
|
||||||
|
|
||||||
|
## サーバー情報
|
||||||
|
- **Guild ID**: 1459626872660033607
|
||||||
|
- **Bot Account**: PPAL Bot
|
||||||
|
- **設定ステータス**: 有効
|
||||||
|
|
||||||
|
## 現在のエージェント配分
|
||||||
|
|
||||||
|
| Agent | チャンネル数 | 担当 |
|
||||||
|
|-------|------------|------|
|
||||||
|
| main | 1 | デフォルト |
|
||||||
|
| しきるん | 22 | コーディネーター |
|
||||||
|
| まなぶん | 6 | カリキュラム |
|
||||||
|
| ささえるん | 15 | サポート |
|
||||||
|
| ひろめるん | 3 | マーケティング |
|
||||||
|
| つくるん | 0 | コンテンツ生成 |
|
||||||
|
| かぞえるん | 0 | 分析・レポート |
|
||||||
|
|
||||||
|
## 推奨カテゴリ構造
|
||||||
|
|
||||||
|
### 🎯 Conductor Category (しきるん)
|
||||||
|
- `#general` - 全体調整
|
||||||
|
- `#announcements` - お知らせ
|
||||||
|
- `#task-assignments` - タスク割り当て
|
||||||
|
- `#coordination` - 連携調整
|
||||||
|
|
||||||
|
### 📚 Curriculum Category (まなぶん)
|
||||||
|
- `#curriculum-planning` - カリキュラム設計
|
||||||
|
- `#lesson-review` - レッスンレビュー
|
||||||
|
- `#learning-materials` - 学習教材
|
||||||
|
- `#student-feedback` - 受講生フィードバック
|
||||||
|
- `#course-updates` - コース更新
|
||||||
|
- `#qa-curriculum` - カリキュラムQ&A
|
||||||
|
|
||||||
|
### 🛠️ Content Creation Category (つくるん) - **新規追加**
|
||||||
|
- `#content-generation` - コンテンツ生成
|
||||||
|
- `#slide-creation` - スライド作成
|
||||||
|
- `#script-writing` - スクリプト作成
|
||||||
|
- `#media-production` - メディア制作
|
||||||
|
- `#content-review` - コンテンツレビュー
|
||||||
|
- `#template-library` - テンプレートライブラリ
|
||||||
|
|
||||||
|
### 📢 Marketing Category (ひろめるん)
|
||||||
|
- `#promotion-strategy` - プロモーション戦略
|
||||||
|
- `#social-media` - ソーシャルメディア
|
||||||
|
- `#content-distribution` - コンテンツ配信
|
||||||
|
- `#campaign-tracking` - キャンペーン追跡
|
||||||
|
|
||||||
|
### 🛡️ Support Category (ささえるん)
|
||||||
|
- `#student-support` - 受講生サポート
|
||||||
|
- `#technical-help` - テクニカルヘルプ
|
||||||
|
- `#faq-management` - FAQ管理
|
||||||
|
- `#issue-tracking` - 課題追跡
|
||||||
|
- `#troubleshooting` - トラブルシューティング
|
||||||
|
- `#support-analytics` - サポート分析
|
||||||
|
- `#knowledge-base` - ナレッジベース
|
||||||
|
- `#training-resources` - トレーニングリソース
|
||||||
|
|
||||||
|
### 📊 Analytics Category (かぞえるん) - **新規追加**
|
||||||
|
- `#performance-metrics` - パフォーマンス指標
|
||||||
|
- `#engagement-data` - エンゲージメントデータ
|
||||||
|
- `#sales-reports` - 売上レポート
|
||||||
|
- `#kpi-dashboard` - KPIダッシュボード
|
||||||
|
- `#trend-analysis` - トレンド分析
|
||||||
|
- `#report-automation` - レポート自動化
|
||||||
|
|
||||||
|
## 新規チャンネル作成手順
|
||||||
|
|
||||||
|
1. Discordでカテゴリ・チャンネルを作成
|
||||||
|
2. チャンネルIDを取得(開発者モード有効化)
|
||||||
|
3. `~/.clawdbot/clawdbot.json` にバインディング追加
|
||||||
|
4. ClawdBotを再起動
|
||||||
|
|
||||||
|
## バインディング追加例
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"agentId": "tsukurun",
|
||||||
|
"match": {
|
||||||
|
"channel": "discord",
|
||||||
|
"accountId": "ppal",
|
||||||
|
"peer": { "kind": "channel", "id": "NEW_CHANNEL_ID" }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
## 次のステップ
|
||||||
|
|
||||||
|
1. ✅ Phase 1: Discordサーバー構築(完了)
|
||||||
|
2. ✅ Phase 2: ClawdBotインストール(完了)
|
||||||
|
3. 🔄 Phase 3: チャンネル最適化(進行中)
|
||||||
|
- [ ] つくるん用チャンネル追加
|
||||||
|
- [ ] かぞえるん用チャンネル追加
|
||||||
|
- [ ] バインディング設定更新
|
||||||
|
- [ ] 動作テスト
|
||||||
|
4. ⏳ Phase 4: 権限設定
|
||||||
|
5. ⏳ Phase 5: テスト・検証
|
||||||
135
docs/fixes/2026-01-25-codex-review-summary.md
Normal file
135
docs/fixes/2026-01-25-codex-review-summary.md
Normal file
@ -0,0 +1,135 @@
|
|||||||
|
# CodeXレビュー依頼: Clawdbot Config Reload Loop Fix
|
||||||
|
|
||||||
|
## 📋 レビュー依頼内容
|
||||||
|
|
||||||
|
**概要**: Clawdbotの並列実行時におけるサービス再起動ループの修正
|
||||||
|
|
||||||
|
**関連Issue**: #93 (Fix実装), #92 (調査レポート)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🔧 変更サマリー
|
||||||
|
|
||||||
|
### ファイル: `src/gateway/config-reload.ts`
|
||||||
|
|
||||||
|
#### 変更1: metaフィールド無視ルール追加 (line 67)
|
||||||
|
|
||||||
|
```diff
|
||||||
|
const BASE_RELOAD_RULES_TAIL: ReloadRule[] = [
|
||||||
|
{ prefix: "identity", kind: "none" },
|
||||||
|
{ prefix: "wizard", kind: "none" },
|
||||||
|
{ prefix: "logging", kind: "none" },
|
||||||
|
+ { prefix: "meta", kind: "none" }, // FIX: meta.*フィールドの変更を無視
|
||||||
|
{ prefix: "models", kind: "none" },
|
||||||
|
```
|
||||||
|
|
||||||
|
**目的**: `meta.lastTouchedAt`, `meta.lastTouchedVersion` の変更による再起動ループを防止
|
||||||
|
|
||||||
|
#### 変更2: デバウンス時間延長 (line 43)
|
||||||
|
|
||||||
|
```diff
|
||||||
|
const DEFAULT_RELOAD_SETTINGS: GatewayReloadSettings = {
|
||||||
|
mode: "hybrid",
|
||||||
|
- debounceMs: 300,
|
||||||
|
+ debounceMs: 5000, // FIX: 300ms → 5000ms
|
||||||
|
};
|
||||||
|
```
|
||||||
|
|
||||||
|
**目的**: 並列実行時の複数Config更新を集約
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🎯 レビュー観点
|
||||||
|
|
||||||
|
### 1. 正確性 (Accuracy)
|
||||||
|
|
||||||
|
**質問**: metaフィールドの変更が正しく無視されるか?
|
||||||
|
|
||||||
|
**確認事項**:
|
||||||
|
- [ ] `meta.*` パスが `kind: "none"` でマッチされる
|
||||||
|
- [ ] `diffConfigPaths()` でmetaフィールドが検出されても無視される
|
||||||
|
- [ ] `buildGatewayReloadPlan()` でmetaが `noopPaths` に追加される
|
||||||
|
|
||||||
|
### 2. 完全性 (Completeness)
|
||||||
|
|
||||||
|
**質問**: 他のフィールドへの副作用はないか?
|
||||||
|
|
||||||
|
**確認事項**:
|
||||||
|
- [ ] 既存のhot reloadアクションは正しく動作
|
||||||
|
- [ ] その他の `"none"` ルールに影響なし
|
||||||
|
- [ ] `"restart"` ルールの評価順序に問題なし
|
||||||
|
|
||||||
|
### 3. 安全性 (Safety)
|
||||||
|
|
||||||
|
**質問**: デバウンス延長による問題はないか?
|
||||||
|
|
||||||
|
**確認事項**:
|
||||||
|
- [ ] 5000msの遅延がクリティカルな操作に影響しない
|
||||||
|
- [ ] ユーザー設定 (`gateway.reload.debounceMs`) で上書き可能
|
||||||
|
- [ ] 長時間のデバウンスでConfig変更が失われない
|
||||||
|
|
||||||
|
### 4. パフォーマンス (Performance)
|
||||||
|
|
||||||
|
**質問**: 5000msの遅延がUXに影響しないか?
|
||||||
|
|
||||||
|
**確認事項**:
|
||||||
|
- [ ] 通常のConfig更新は5秒以内に反映される
|
||||||
|
- [ ] 並列実行時の複数更新が正しく集約される
|
||||||
|
- [ ] 再起動回数が大幅に削減される (30回 → <5回/時間)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🧪 テストケース
|
||||||
|
|
||||||
|
### 追加テスト推奨
|
||||||
|
|
||||||
|
```typescript
|
||||||
|
describe("Config Reload - meta field ignore", () => {
|
||||||
|
it("should ignore meta.lastTouchedAt changes", () => {
|
||||||
|
const prev = { meta: { lastTouchedAt: "2026-01-25T10:00:00Z" } };
|
||||||
|
const next = { meta: { lastTouchedAt: "2026-01-25T10:05:00Z" } };
|
||||||
|
const plan = buildGatewayReloadPlan(diffConfigPaths(prev, next));
|
||||||
|
expect(plan.restartGateway).toBe(false);
|
||||||
|
expect(plan.noopPaths).toContain("meta.lastTouchedAt");
|
||||||
|
});
|
||||||
|
|
||||||
|
it("should ignore meta.lastTouchedVersion changes", () => {
|
||||||
|
const prev = { meta: { lastTouchedVersion: "2026.1.23-1" } };
|
||||||
|
const next = { meta: { lastTouchedVersion: "2026.1.24-0" } };
|
||||||
|
const plan = buildGatewayReloadPlan(diffConfigPaths(prev, next));
|
||||||
|
expect(plan.restartGateway).toBe(false);
|
||||||
|
expect(plan.noopPaths).toContain("meta.lastTouchedVersion");
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
describe("Config Reload - 5000ms debounce", () => {
|
||||||
|
it("should debounce multiple changes within 5000ms", async () => {
|
||||||
|
// テスト実装が必要
|
||||||
|
});
|
||||||
|
});
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📊 エッジケース
|
||||||
|
|
||||||
|
| ケース | 期待動作 | 確認方法 |
|
||||||
|
|--------|----------|----------|
|
||||||
|
| meta以外のフィールド変更 | 正常に再起動 | Unit Test |
|
||||||
|
| 5秒以上の間隔で更新 | デバウンス効かず | Unit Test |
|
||||||
|
| hot reloadアクション | 既存機能正しく動作 | Integration Test |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🔄 レビューフロー
|
||||||
|
|
||||||
|
1. **コードレビュー**: 本内容を確認
|
||||||
|
2. **フィードバック**: 問題があれば修正
|
||||||
|
3. **承認**: 問題なければ承認
|
||||||
|
4. **次フェーズ**: Unit Tests実行
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
**作成者**: しきるん (Claude Code)
|
||||||
|
**作成日**: 2026-01-25
|
||||||
|
**ステータス**: 🟡 レビュー待ち
|
||||||
Loading…
Reference in New Issue
Block a user