Deep-reads a codebase area, dataset, or pipeline to find bugs, silent data loss, dead code, or spec violations. Use proactively when the main task requires understanding many files whose contents don't need to stay in the main context. Read-only.
Implements server-side logic: endpoints, business rules, persistence, and auth. Writes ONLY the paths assigned at dispatch. Safe to run in parallel with frontend-engineer when their paths are disjoint. Invoke with: the owned paths and the API contract it must publish.
Reviews a diff or changed files after implementation for security, correctness, performance, and plan compliance. Use proactively after any significant code change, before declaring the task done. Read-only. Invoke with an explicit scope: the exact commits, files, or diff range that constitutes THIS session's change.
Builds and fixes data loading, cleaning, splitting, and feature code for ML and pipeline work. Writes ONLY the paths assigned at dispatch. Invoke with: the owned paths, the input schema, and the contract the output must satisfy (columns, dtypes, row-count expectation).
Implements UI: components, pages, styling, and client-side state. Writes ONLY the paths assigned at dispatch. Safe to run in parallel with backend-engineer when their paths are disjoint. Invoke with: the owned paths, the API contract it consumes, and the states each view must handle.
Implements model training, fine-tuning, and inference code. Writes ONLY the paths assigned at dispatch. Invoke with: the owned paths, the data contract produced upstream, the baseline to beat, and the compute budget.
Builds and fixes ETL/batch orchestration: stage wiring, scheduling, retries, idempotency, and failure recovery. Writes ONLY the paths assigned at dispatch. Invoke with: the owned paths, the stage contract (input → output per stage), and the rerun semantics required.
Surveys prior art, existing implementations, and available data before an ML or algorithmic build starts. Returns options with tradeoffs and one recommendation. Read-only. Invoke with: the problem statement and the constraints (data available, compute budget, latency target).
Writes tests for a specified module against a specified spec. Safe to run in parallel with other test-writer instances as long as each is assigned a disjoint set of test files. Invoke with: the module path, the behavior spec, and the exact test file path it owns.
Independently validates a trained model: metric correctness, holdout integrity, leakage, and whether the reported result survives scrutiny. Read-only on model and data code. Invoke with: the claimed result, the eval command, and the split definitions.