Problem
internal/status/status.go implements contains() and searchString() functions that manually iterate over runes to check substring containment. This is a reimplementation of strings.Contains() from the standard library — unnecessary code that adds maintenance surface.
Acceptance Criteria
Hints
- File:
internal/status/status.go
- Lines 137-154:
containsChitin(), contains(), searchString()
containsChitin is called by checkClaudeHooks() and checkCopilotHooks()
- This is a safe 1:1 replacement —
strings.Contains has identical semantics
Generated by /forge fill
Problem
internal/status/status.goimplementscontains()andsearchString()functions that manually iterate over runes to check substring containment. This is a reimplementation ofstrings.Contains()from the standard library — unnecessary code that adds maintenance surface.Acceptance Criteria
contains(s, substr)calls withstrings.Contains(s, substr)containsChitin(data)to usestrings.Contains(string(data), "chitin")contains()andsearchString()functionsstringsis already imported (it is not — add the import)go vet ./internal/status/...passesHints
internal/status/status.gocontainsChitin(),contains(),searchString()containsChitinis called bycheckClaudeHooks()andcheckCopilotHooks()strings.Containshas identical semanticsGenerated by /forge fill