modelbeast/.gitignore
MODELBEAST b8c333a93e Unified worker pool: gpu lane dispatches across M3 + M1 nodes (HANDOFF2 phase B)
The gpu lane is now a NODE POOL (this Mac + remote workers from nodes.json) instead
of a single-Metal semaphore. A gpu job runs on whichever node is free:
- server/remote.py: ssh+rsync dispatch — mkdir remote dirs, rsync inputs out, run
  the operator's run.py over ssh with repo-relative paths (HF_TOKEN sourced from the
  node's .env.remote, off the process table), rsync outputs back, clean up. Cached
  health checks; per-node operator allowlist.
- runner: _acquire_gpu_node picks the first free node that supports the op (local
  runs anything; a remote must list it + be reachable → auto-fallback to local).
  _run_job branches local/remote; the M1 never touches the M3's DB.
- sysinfo/Dashboard: gpu lane limit = pool size; per-node status cards.
- nodes.json (gitignored, primary-only): M1 worker, allowlist excludes trellis_mac
  (bf16 unverified on M1) + brush_train (not installed there).

Verified: two FLUX jobs from one queue split M3(local, 10.3s) + M1(remote via ssh,
21.2s), both images rsync'd back and registered on the M3.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-14 18:18:09 +10:00

43 lines
632 B
Plaintext

# Runtime data (assets, jobs, db) — never commit
data/
# Python
.venv/
venvs/
__pycache__/
*.pyc
.python-version
# Node / frontend build
web/node_modules/
web/dist/
# Secrets & local config
*.env
.env
server/.env
# Large model weights / caches
models/
*.safetensors
*.ckpt
*.pt
# Compiled native helpers (source is committed, binary is not)
bin/objcap
bin/*.o
# OS
.DS_Store
vendor/
# Brush runtime autotune cache
target/
# Brush prebuilt binary (reinstall via scripts/install_brush.sh)
bin/brush
bin/brush-app-aarch64-apple-darwin/
# GPU worker-pool config — primary only (a leaf worker must NOT have this)
nodes.json