Files
workinf_Blender_Wasm/my-tools/BLENDER_UNATTENDED_SCHEDULER_REFERENCE.md
2026-09-02 18:35:58 +08:00

2.0 KiB

Blender Web Unattended Scheduler

This reference describes the process contract for this repository. It is a thin launcher around the production WBV2 scheduler; it is not a second task ledger.

Authority

  • Queue pointer: docs/EXECUTION_QUEUE.md
  • Task cards: docs/tasks/WBV2-*.md
  • Parent/child evidence: tests/golden/<task>/manifest.json
  • Dynamic source inventory: tests/golden/WBV2/dynamic-inventory.json
  • Scheduler checkpoints: tests/golden/WBV2/continuous-*.json
  • Live state: node tools/web/print-wbv2-live-status.mjs --json

The Node scheduler validates the parent manifest, checks the explicit source mapping, delegates one atomic iteration to guardian/supervisor, verifies the handoff and (when enabled) commits and confirms origin/main. A missing task, hash drift, failed command, unknown process state or blocked checkpoint stops the loop with evidence intact.

Start and Stop

my-tools/start_unattended.sh
python3 my-tools/show_blender_web_scheduler.py

For a foreground run:

python3 my-tools/run_blender_web_scheduler.py --max-iterations 0 --commit --push

The launcher starts one scheduler and one watchdog. Lock files under tests/golden/WBV2 prevent duplicate instances. Send SIGINT or SIGTERM to the wrapper PID to stop; the watchdog will not restart a deliberately stopped or blocked run.

Safe Recovery

The watchdog may restart a scheduler only when it is absent and the queue is not terminal or blocked. It never retries a running, started or unknown checkpoint because the child may have performed an unknown write. Re-running the launcher after inspecting the checkpoint is the supported recovery path.

Use these read-only checks before a new run:

python3 my-tools/check_continuation_state.py
python3 my-tools/validate_web_context.py
node tools/web/check-execution-control-plane.mjs

No script in my-tools synthesizes Blender results. All behavior and evidence must come from the compiled Blender WebEngine/WASM production path and the Chromium gates declared by the active task card.