docs: add 10th review feedback (O-1, O-2) — push() naming error and reTaskLine inline omissions
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
1d11874c54
commit
ee0167e043
1 changed files with 48 additions and 0 deletions
48
CLAUDE.md
48
CLAUDE.md
|
|
@ -682,4 +682,52 @@ Phase 0 ──→ Phase 1 ──→ Phase 2 ──→ Phase 3 ──→ Phase 4
|
|||
|
||||
---
|
||||
|
||||
## FEEDBACK — 第10回レビュー (ラウンド O)
|
||||
|
||||
### O-1: Phase 1 注記の関数名誤り — `add()` → `push()`
|
||||
|
||||
**場所**: Phase 1 最初の表の「注意」列
|
||||
> `add()` 毎に1ヒープアロケーション増だがログI/Oパスなので許容
|
||||
|
||||
`pkg/logger/logger.go` で ring buffer に書き込む関数の実際の名前は **`push()`** (L69)。`add()` という関数は存在しない。
|
||||
|
||||
```go
|
||||
// logger.go L69
|
||||
func (rb *logRingBuffer) push(entry LogEntry) {
|
||||
```
|
||||
|
||||
注記を `push()` に修正すること。
|
||||
|
||||
---
|
||||
|
||||
### O-2: `regexp.MustCompile` インライン 2 箇所が H テーブルにも Phase 3-1 スニペットにも未記載
|
||||
|
||||
**場所**:
|
||||
- `pkg/agent/memory.go` L567 (`GetPlanContext()` 内)
|
||||
- `pkg/agent/memory.go` L663 (`FormatPlanDisplay()` 内)
|
||||
|
||||
両箇所とも `regexp.MustCompile(`(?m)^> Task:\s*(.+)`)` を関数呼び出し毎にインラインでコンパイルしている。
|
||||
これは `reTaskLine` (L469) と**完全同一パターン**。
|
||||
|
||||
```go
|
||||
// L469 — パッケージレベル変数 (正しい)
|
||||
var reTaskLine = regexp.MustCompile(`(?m)^> Task:\s*(.+)`)
|
||||
|
||||
// L567 GetPlanContext() — 毎呼び出しコンパイル (問題)
|
||||
if m := regexp.MustCompile(`(?m)^> Task:\s*(.+)`).FindStringSubmatch(content); ...
|
||||
|
||||
// L663 FormatPlanDisplay() — 毎呼び出しコンパイル (問題)
|
||||
if m := regexp.MustCompile(`(?m)^> Task:\s*(.+)`).FindStringSubmatch(content); ...
|
||||
```
|
||||
|
||||
現状の計画における扱い:
|
||||
- H カテゴリ候補テーブルは `utils/media.go`・`clawhub_registry.go` のみで `memory.go` のインライン `MustCompile` は未記載
|
||||
- Phase 0-4 の実装テーブルにも未記載
|
||||
- Phase 3-1 スニペットは `GetPlanContext()` / `FormatPlanDisplay()` を対象にしているが、task line 部分のスニペットを示していないため、`reTaskLine` への置き換えが見落とされるリスクがある
|
||||
|
||||
Phase 3-1 では両関数を触るため、実装時に自然に気づく可能性はあるが、**計画に明示されていないため抜け漏れリスクが残る**。
|
||||
以下のどちらかで対処すること:
|
||||
- Phase 0-4 の H テーブルに追加: `pkg/agent/memory.go` L567, L663 — `regexp.MustCompile(...)` → `reTaskLine`
|
||||
- または Phase 3-1 スニペットに task line インライン化を明示: `if m := reTaskLine.FindStringSubmatch(content); len(m) >= 2 { taskLine = strings.TrimSpace(m[1]) }`
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue