-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathTaskfile.yaml
More file actions
129 lines (115 loc) · 5.19 KB
/
Copy pathTaskfile.yaml
File metadata and controls
129 lines (115 loc) · 5.19 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
version: '3'
dotenv: ['.env']
tasks:
build:
desc: Build package
cmds:
- rm -rf dist/
- uv build
# THERE IS NO `task publish`, deliberately (pgw#1140, 2026-08-12). PyPI
# publication is the TAG PUSH: `.github/workflows/publish.yaml` refuses to ship
# a tree no CI run has proven, and a local `uv publish` walks around that gate.
# One procedure, and it lives in docs/releasing.md. Do not re-add this task.
#
# The task deleted here also carried pgw#978's "run `task rig:mint` first",
# which Paul's 2026-08-10 hard cut (all mints on remote machines only)
# superseded — a release instruction that told the next cutter to break a
# standing rule on the shared box.
probe:sync:
desc: |
pgw#980 — rsync src/gen_worker onto a held probe pod and respawn its
compute child. Code only; weights stay pod-side.
Usage: task probe-sync -- <ssh-target>
See docs/probe-worker.md — buy ONE pod, hold it, iterate, terminate.
cmds:
- scripts/probe_sync.sh {{.CLI_ARGS}}
lock-check:
desc: |
pgw#1477 — pyproject.toml's git pins, uv.lock and _vendor/VENDORED.toml
name the same revs. $0, no venv, no network, ~30ms. Run it before pushing:
a stale lock breaks `uv sync --locked`, the FIRST step of EVERY CI job,
so it costs three red checks that name neither file.
pgw#1657 rides along: .python-version must pin an interpreter uv.lock
records a hash for, or `uv sync --locked` dies on `Hash mismatch`.
cmds:
- python3 scripts/lint_lock_pin_agreement.py
- python3 scripts/lint_locked_interpreter.py
vendor:
desc: |
pgw#1477 — re-vendor an upstream snapshot as ONE act: extract at the rev,
re-apply the declared mechanical rewrites, regenerate the sha256 table,
move the pin in BOTH pyproject.toml and uv.lock, and stage it all.
Usage: task vendor -- torchcg <rev>
Hand-editing the pin instead is what broke master twice on 2026-08-19.
cmds:
- python3 scripts/vendor_snapshot.py {{.CLI_ARGS}}
proto-vendor:
desc: |
pgw#944 — resync proto/worker_scheduler.proto from tensorhub (which owns
the canonical copy) and regenerate src/gen_worker/pb/.
Usage: task proto-vendor -- ~/cozy/tensorhub
cmds:
- scripts/vendor-proto.sh {{.CLI_ARGS}}
worker-value-contract-check:
desc: |
pgw#1237 — pin the public worker-value carrier locally. Tensorhub vendors
the corpus and runs the meaningful Hub -> public-PGW byte comparison, so
the coupled-cut direction is PGW LANDS FIRST.
cmds:
- uv run python scripts/check_worker_value_contracts_digest.py
hub-worker-boundary-check:
desc: |
pgw#1239 / th#1914 — pin the public Hub-to-worker launch ABI carrier.
Tensorhub performs the meaningful private-Hub -> public-PGW comparison,
so the coupled-cut direction is PGW LANDS FIRST.
cmds:
- uv run python scripts/check_hub_worker_boundary_contracts_digest.py
cozy-runtime-env-check:
desc: |
pgw#1237 / cl#56 — pin the public Cozy runtime-env carrier locally.
cozy-local runs the meaningful private-consumer -> public-PGW byte
comparison, so the coupled-cut direction is PGW LANDS FIRST.
cmds:
- uv run python scripts/check_cozy_runtime_env_digest.py
formula-vector-check:
desc: |
pgw#1236 / th#1914 — pin this repo's shared formula corpus offline.
Tensorhub performs the peer comparison; PGW lands first.
cmds:
- uv run python scripts/check_formula_corpus_digest.py
proto:
desc: Regenerate src/gen_worker/pb/ from proto/ (grpcio-tools codegen)
cmds:
- >-
uv run --extra dev python -m grpc_tools.protoc
-Iproto
--python_out=src/gen_worker/pb
--grpc_python_out=src/gen_worker/pb
--pyi_out=src/gen_worker/pb
proto/worker_scheduler.proto
lint:
desc: The `fast gates` job, locally — same commands, same hardness
cmds:
# pgw#1477 FIRST, and with bare python3 — every line below it is a
# `uv run`, which silently RE-RESOLVES a stale lock instead of refusing it.
- cmd: python3 scripts/lint_lock_pin_agreement.py
- cmd: python3 scripts/lint_locked_interpreter.py
- cmd: uv run --extra dev mypy src/gen_worker tests
- cmd: uv run --extra dev ruff check src/gen_worker
# Advisory, matched by continue-on-error in CI.
ignore_error: true
- cmd: uv run python scripts/lint_pickle_readers.py
- cmd: uv run python scripts/lint_unbounded_reads.py
- cmd: uv run python scripts/check_cozy_runtime_env_digest.py
- cmd: uv run python scripts/check_worker_value_contracts_digest.py
- cmd: uv run python scripts/check_hub_worker_boundary_contracts_digest.py
- cmd: uv run python scripts/check_grammar_corpus_digest.py
- cmd: uv run python scripts/check_formula_corpus_digest.py
- cmd: uv run python scripts/check_demand_corpus_digest.py
- cmd: uv run python scripts/assemble_changelog.py --check
test:
desc: Run the test suite (max 2 workers on the shared box)
vars:
WORKERS: '{{.WORKERS | default "2"}}'
cmds:
- nice -n 19 uv run --extra dev pytest tests/ -n {{.WORKERS}} --dist loadfile