Background
From a code review of the library, `taskfile.yml`'s `test` task runs `go test -cover` with no `-race`. The library has a worker-pool backtester (`backtest`, `asset/sync`) making concurrency claims that are never actually validated in CI. A real data race (`DataReport` unsynchronized map writes) went undetected because of this.
Plan
- Add `-race` to the `test` task in `taskfile.yml`.
- Run the full test suite with `-race` and file follow-up issues for anything it turns up.
Scope note
Originally this issue also covered wiring the dead `INDICATOR_MCP` taskfile variable into `lint`/`test`/`fmt` and adding a `replace` directive to `mcp/go.mod`. That's been split out to keep this one focused — will file separately.
Background
From a code review of the library, `taskfile.yml`'s `test` task runs `go test -cover` with no `-race`. The library has a worker-pool backtester (`backtest`, `asset/sync`) making concurrency claims that are never actually validated in CI. A real data race (`DataReport` unsynchronized map writes) went undetected because of this.
Plan
Scope note
Originally this issue also covered wiring the dead `INDICATOR_MCP` taskfile variable into `lint`/`test`/`fmt` and adding a `replace` directive to `mcp/go.mod`. That's been split out to keep this one focused — will file separately.