The download queue (/adminApi/async/task/model-download-task) is readable by ANY
account, including low-privilege xc-Token ones, so our WAITING model ids leak.
Competitors submit those via mechanism B (which needs no download), their task
waits for the file, and once our zhoushasha download lands it runs and wins the
slot - leaving us with 60028 on our own download.
New flow:
phase 1 (reserve, instant): bi150 via zero-credit accounts that have no bi150
task yet, hygon via zhoukaile - both mechanism B, no download required
phase 2 (download): zhoushasha downloads only the models we reserved
Startup now filters out accounts that already hold a bi150 task, which also makes
the rotation cursor idempotent across redeploys.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Port logic from continuous_pipeline_download_gguf_zhoushasha_and_submit.py
into the strategy-deployable framework (health/status HTTP server,
STRATEGY_ID env, SIGTERM handling).
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>