Output: t-SNE / UMAP 2D projection as CSV (plotted externally or in notebook)
Acceptance criteria
All three evaluators implemented as Go packages in src/eval/
All unit tests pass (task test)
task eval:silhouette, task eval:probe, task eval:collapse all work end-to-end on synthetic data
Evaluation outputs written to experiments/RUNID/metrics.json in standard schema
Notes
Silhouette computation requires pairwise distances — use an efficient Go implementation; do not shell out to Python for this.
## What
Implement the Go evaluation harness: the set of metrics and diagnostics used to assess embedding quality after any training run.
## Components
### Silhouette scorer
- Input: embedding matrix (N × D), regime labels (binary/4-class HV)
- Output: silhouette score per k ∈ {3, 4, 5}; best k selected by score
- Test: synthetic embeddings with known cluster structure → score > 0.6
### Linear probe
- Input: frozen embedding matrix, realised-vol decile labels
- Output: R² of linear regression on held-out fold
- Test: embeddings generated from known linear function of vol → R² > 0.95
### Collapse diagnostic
- Input: embedding matrix
- Output: PC1 correlation with rolling 30-day HV; fraction of variance in PC1
- Test: embeddings = HV + noise(0.1) → correlation > 0.95 detected correctly
### Visualisation export
- Input: embedding matrix, regime labels
- Output: t-SNE / UMAP 2D projection as CSV (plotted externally or in notebook)
## Acceptance criteria
- [ ] All three evaluators implemented as Go packages in `src/eval/`
- [ ] All unit tests pass (`task test`)
- [ ] `task eval:silhouette`, `task eval:probe`, `task eval:collapse` all work end-to-end on synthetic data
- [ ] Evaluation outputs written to `experiments/RUNID/metrics.json` in standard schema
## Notes
Silhouette computation requires pairwise distances — use an efficient Go implementation; do not shell out to Python for this.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
What
Implement the Go evaluation harness: the set of metrics and diagnostics used to assess embedding quality after any training run.
Components
Silhouette scorer
Linear probe
Collapse diagnostic
Visualisation export
Acceptance criteria
src/eval/task test)task eval:silhouette,task eval:probe,task eval:collapseall work end-to-end on synthetic dataexperiments/RUNID/metrics.jsonin standard schemaNotes
Silhouette computation requires pairwise distances — use an efficient Go implementation; do not shell out to Python for this.