mcp/EXCEPTIONS.md
Snider 5d749af517 fix(mcp): resolve codex review findings — spelling, imports, tests, assertions
- 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>
2026-03-22 02:14:33 +00:00

971 B

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.