Background
Split out from #396 to keep that issue focused on `-race`.
`taskfile.yml` defines an `INDICATOR_MCP` env var pointing at `./mcp/...` but never references it in any task. `mcp/` — despite having its own test file (`mcp_server_test.go`) — is silently outside `lint`, `test`, and `fmt`. It's also its own Go module pinned to a tagged release of `github.com/cinar/indicator/v2` via the module proxy instead of a `replace` directive to the local tree, so changes to the root module aren't exercised by `mcp/`'s tests until a release is cut and the dependency bumped.
Plan
- Wire `INDICATOR_MCP` into `lint`, `test`, and `fmt` (it's its own Go module, so these need their own invocations rooted in `mcp/`, using `./...` relative to that directory rather than reusing the repo-root-relative `$INDICATOR_MCP` pattern after `cd mcp`).
- Add a `replace github.com/cinar/indicator/v2 => ../` directive to `mcp/go.mod`.
- Run the newly-wired `mcp/` lint/test and file follow-up issues for anything it turns up (e.g. the known `runBacktest` OHLCV-slice-length crash).
Note
Depends on / should land after #398 (pre-existing revive lint failures on master), since both land in the same `lint` task step and would otherwise be tangled together in review.
Background
Split out from #396 to keep that issue focused on `-race`.
`taskfile.yml` defines an `INDICATOR_MCP` env var pointing at `./mcp/...` but never references it in any task. `mcp/` — despite having its own test file (`mcp_server_test.go`) — is silently outside `lint`, `test`, and `fmt`. It's also its own Go module pinned to a tagged release of `github.com/cinar/indicator/v2` via the module proxy instead of a `replace` directive to the local tree, so changes to the root module aren't exercised by `mcp/`'s tests until a release is cut and the dependency bumped.
Plan
Note
Depends on / should land after #398 (pre-existing revive lint failures on master), since both land in the same `lint` task step and would otherwise be tangled together in review.