generated from mathias/template-go-web
Taskfile.yml line 46 had an unquoted Go-template `{{.VAR}}` inside a YAML
flow sequence (`cmds: [...]`) -- the literal braces broke YAML parsing
outright ("did not find expected ',' or ']'"), so `task check` (and thus
CI's push-triggered check job) failed before running a single command.
A manual `workflow_dispatch` re-run passed because the autoresearch
workflow never calls `task check` at all -- unrelated path, not an
env/secret difference as first suspected. Quoted the string.
Also fixed a staticcheck QF1002 in internal/eval/var.go: a boolean
switch comparing the same variable (n1) in every case is a tagged
switch in disguise -- converted to `switch n1 { case 0: ... case n: ...
}`.
85 lines
2.9 KiB
YAML
85 lines
2.9 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]
|
|
|
|
data:fetch:
|
|
desc: "Download EUR/USD M1 from histdata (set YEARS env var)"
|
|
cmds: [.venv/bin/python scripts/fetch_data.py]
|
|
data:fetch:historical:
|
|
desc: "Download EUR/USD M1 2008-2018 from histdata"
|
|
cmds:
|
|
- YEARS=2008,2009,2010,2011,2012,2013,2014,2015,2016,2017,2018 .venv/bin/python scripts/fetch_data.py
|
|
data:prepare:daily:
|
|
desc: "Rebuild eurusd_daily.parquet from all M1 zips"
|
|
cmds: [.venv/bin/python scripts/prepare_data.py]
|
|
data:prepare:hourly:
|
|
desc: "Build eurusd_hourly.parquet from all M1 zips"
|
|
cmds: [.venv/bin/python scripts/prepare_hourly.py]
|
|
data:prepare:all:
|
|
desc: "Build both daily and hourly parquets"
|
|
deps: [data:prepare:daily, data:prepare:hourly]
|
|
train:multipair:
|
|
desc: "Train 5-pair G10 HEPA (D=256, best config, phase1_r2≈0.44)"
|
|
cmds: [JEPA_USE_MULTIPAIR=1 JEPA_D_MODEL=256 .venv/bin/python train.py]
|
|
|
|
data:fetch:multipair:
|
|
desc: "Download G10 M1 data (GBPUSD/USDJPY/USDCHF/AUDUSD) 2008-2023 from histdata"
|
|
cmds: [.venv/bin/python scripts/fetch_multipair.py]
|
|
data:prepare:pair:
|
|
desc: "Build {PAIR}_hourly.parquet from data/raw/{PAIR}/ (e.g. PAIR=gbpusd)"
|
|
cmds: ["PAIR={{.PAIR}} .venv/bin/python scripts/prepare_hourly.py {{.EXTRA_ARGS}}"]
|
|
vars:
|
|
PAIR: '{{default "eurusd" .PAIR}}'
|
|
data:prepare:multipair:
|
|
desc: "Merge 5-pair hourly parquets into eurusd_multipair.parquet"
|
|
cmds: [.venv/bin/python scripts/prepare_multipair.py]
|
|
data:test:
|
|
desc: "Run Python data pipeline tests"
|
|
cmds: [.venv/bin/python -m pytest tests/test_prepare_hourly.py tests/test_hepa.py tests/test_multipair.py -v]
|
|
|
|
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]
|