diff --git a/CLAUDE.md b/CLAUDE.md index e8905d07e..fb8979187 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -55,14 +55,14 @@ Lint: `golangci-lint run` | 重要度 | ファイル | 行 | 内容 | |--------|----------|----|------| -| 🟡 | `pkg/tools/toolloop.go` | 87-96 | `RunToolLoop()` — normalizedToolCalls / toolNames を make([]T, 0, 推定値) に | +| 🟡 | `pkg/tools/toolloop.go` | 87-96 | `RunToolLoop()` — normalizedToolCalls / toolNames を make([]T, 0, 推定値) に — **実装済み** (既にコード上で容量ヒント付き) | | 🟡 | `pkg/config/config.go` | 628 | `findMatches()` — `var matches []ModelConfig` → 容量ヒントを付与 | | 🟡 | `pkg/config/migration.go` | 48 | `ConvertProvidersToModelList()` — result に make([]ModelConfig, 0, 20) | | 🟡 | `pkg/skills/registry.go` | 183 | `SearchAll()` — merged に make([]SearchResult, 0, len(regs)*limit) | | 🟡 | `pkg/skills/loader.go` | 73 | `ListSkills()` — skills に make([]SkillInfo, 0, 20) 程度 | | 🟡 | `pkg/channels/telegram.go` | 832-861 | `extractMarkdownTables()` — out / tables スライスに容量ヒント | | 🟢 | `pkg/skills/search_cache.go` | 42-43 | `NewSearchCache()` — entries map / order slice に maxEntries をヒント | -| 🟢 | `pkg/agent/session_tracker.go` | 121 | `ListActive()` — result スライスに容量ヒント | +| 🟢 | `pkg/agent/session_tracker.go` | 121 | `ListActive()` — result スライスに容量ヒント — **除外**: アクティブセッション数が事前不明で静的見積もり不可 | ### C. 不要な []byte ↔ string 変換 / 重複変換 @@ -492,6 +492,7 @@ RAM 制約がない前提での推奨順: | `pkg/config/migration.go:48` | `var result` → `make([]ModelConfig, 0, 20)` | | `pkg/skills/registry.go:183` | `var merged` → `make([]SearchResult, 0, len(regs)*limit)` | | `pkg/skills/search_cache.go:42-43` | map/slice に `maxEntries` ヒント | +| `pkg/channels/telegram.go:832-861` | `extractMarkdownTables()` — `tables` スライスに容量ヒント | #### 0-3. byte/string 変換の削減 (カテゴリ C) @@ -683,21 +684,3 @@ Phase 0 ──→ Phase 1 ──→ Phase 2 ──→ Phase 3 ──→ Phase 4 --- -## FEEDBACK — 第11回レビュー (ラウンド P) - -### P-1: Phase 0-2「カテゴリ B 残り」に 🟡 項目が 2 件漏れている - -B カテゴリ候補テーブルに 🟡 が 6 件あるが、Phase 0-2 には 4 件しか入っていない。 -未収録の 2 件: - -| ファイル | 行 | 内容 | -|----------|----|------| -| `pkg/tools/toolloop.go` | 87-96 | `RunToolLoop()` — `normalizedToolCalls` / `toolNames` を `make([]T, 0, 推定値)` に | -| `pkg/channels/telegram.go` | 832-861 | `extractMarkdownTables()` — `out` / `tables` スライスに容量ヒント | - -加えて 🟢 の `pkg/agent/session_tracker.go:121`(`ListActive()` result スライス)も Phase 0-2 に未収録。 -こちらはアクティブセッション数が事前不明なため静的見積もりになる点で意図的除外の可能性があるが、 -理由が計画に明示されていない。 - -対応: Phase 0-2 テーブルに上記 2 件 (🟡) を追加。`session_tracker.go:121` は除外するなら B テーブルの行に注記を付けるか削除すること。 -