generated from mathias/template-go-web
internal/eval: three pure-Go diagnostics on frozen embeddings: LinearProbe(emb, y, λ) → val_vol_r2 (OOS R², closed-form ridge, Cholesky) Silhouette(emb, labels) → mean silhouette (Euclidean, multi-label, errors on <2 classes) EffectiveRank(emb) → Roy effective rank (Jacobi eigenvalues → entropy → exp(H)) cmd/eval/main.go: CLI driver reading embeddings.json (exported by train.py with EXPORT_EMBEDDINGS=1), standardises per-dim, dispatches to -metric flag. task eval:probe / eval:silhouette / eval:collapse wired in Taskfile. 8/8 tests pass (red-green: perfect clusters, rank-1, full-rank, noise, constant target, single-label error). Pure stdlib, no external deps. Closes #4. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
50 lines
1.3 KiB
YAML
50 lines
1.3 KiB
YAML
version: '3'
|
|
|
|
tasks:
|
|
generate:
|
|
desc: Run templ generate
|
|
cmds: [templ generate]
|
|
build:
|
|
desc: Build all binaries
|
|
deps: [generate]
|
|
cmds:
|
|
- go build -o bin/jepa-fx-risk ./cmd/jepa-fx-risk
|
|
- go build -o bin/eval ./cmd/eval
|
|
run:
|
|
deps: [build]
|
|
cmds: [./bin/jepa-fx-risk]
|
|
test:
|
|
desc: Run all tests
|
|
deps: [generate]
|
|
cmds: [go test ./... -race]
|
|
|
|
eval:probe:
|
|
desc: "Run linear-probe (val_vol_r2) on embeddings from metrics.json"
|
|
cmds: [./bin/eval -metric probe]
|
|
eval:silhouette:
|
|
desc: "Run silhouette on embeddings vs binary HV labels"
|
|
cmds: [./bin/eval -metric silhouette]
|
|
eval:collapse:
|
|
desc: "Run effective-rank collapse diagnostic"
|
|
cmds: [./bin/eval -metric erank]
|
|
lint:
|
|
cmds: [golangci-lint run ./...]
|
|
check:
|
|
desc: Lint, vet, and test (used by CI)
|
|
deps: [generate]
|
|
cmds:
|
|
- golangci-lint run ./...
|
|
- go vet ./...
|
|
- go test ./... -race -count=1
|
|
|
|
context:sync:
|
|
desc: Regenerate all harness-specific context files
|
|
cmds:
|
|
- bash scripts/context-sync.sh
|
|
context:sync:claude:
|
|
cmds: [bash scripts/context-sync.sh claude]
|
|
context:sync:agents:
|
|
cmds: [bash scripts/context-sync.sh agents]
|
|
context:sync:cursor:
|
|
cmds: [bash scripts/context-sync.sh cursor]
|