- UK English in transport_e2e_test.go comments and error strings - Replace fmt.Printf with coreerr.Error/Warn in brain-seed for errors/skips - Alias stdlib io as goio in transport_tcp, brain/direct, agentic/prep, bridge, brain-seed - Add var _ Notifier = (*Service)(nil) compile-time assertion - Add TestRegisterProcessTools_Bad_NilService for nil-service error path - Add webview handler tests beyond nil-guard (disconnect success, validation paths) - Guard tools_process_ci_test.go with //go:build ci (pre-existing build failure) - Document circular-import exception in EXCEPTIONS.md Co-Authored-By: Virgil <virgil@lethean.io>
17 lines
971 B
Markdown
17 lines
971 B
Markdown
# Exceptions
|
|
|
|
Items from the Codex review that cannot be fixed, with reasons.
|
|
|
|
## 6. Compile-time interface assertions in subsystem packages
|
|
|
|
**Files:** `brain/brain.go`, `brain/direct.go`, `agentic/prep.go`, `ide/ide.go`
|
|
|
|
**Finding:** Add `var _ Subsystem = (*T)(nil)` compile-time assertions.
|
|
|
|
**Reason:** The `Subsystem` interface is defined in the parent `mcp` package. Subsystem packages (`brain`, `agentic`, `ide`) cannot import `mcp` because `mcp` already imports them via `Options.Subsystems` — this would create a circular import. The interface conformance is enforced at runtime when `RegisterTools` is called during `mcp.New()`.
|
|
|
|
## 7. Compile-time Notifier assertion on Service
|
|
|
|
**Finding:** Add `var _ Notifier = (*Service)(nil)`.
|
|
|
|
**Resolution:** Fixed — assertion added to `pkg/mcp/subsystem.go` (where the `Notifier` interface is defined). The TODO originally claimed this was already done in commit `907d62a`, but it was not present in the codebase.
|