When a free-will block discovers its assigned task is already done, pivot to autonomous high-value discovery instead of re-running tests and exiting.
When a free-will or exploration block discovers its intended work is already done, the agent must not waste the block by re-running tests and exiting. Instead, it pivots to the highest-value autonomous work available.
Before pivoting, verify the prior work is genuinely complete:
OUTPUT/ file for the same shift block stem.confidence: medium or higher.Do NOT run the entire test suite as a confirmation step — that wastes the block.
Execute this priority-ordered cascade. Stop at the first category that yields actionable work:
ls TASKS/*.md # pending tasks (not .done, .failed, .inprogress)
If any pending tasks exist, execute the highest-priority one using the task-execution skill.
cat HEARTBEAT.md # check for any non-healthy items
cat STATE/progress_history.json | tail -5 # recent scores and trends
Look for:
degrading or below 70Scan for systemic hygiene issues:
scripts/log_retention.py if logs are large.inprogress files, orphaned configsruff or linting on recently changed filesIf the system is healthy and no maintenance is needed, invest in NovaTrade:
If everything above is clean:
Once a target is identified:
OUTPUT/<original_stem>__<timestamp>.md preserving the shift block lineage.Every pivot execution must end with:
## CONTRACT
pivot_reason: <why this work was chosen over alternatives>
discovery_source: <which cascade priority yielded the work — tasks/health/maintenance/quality/novatrade/infra>
work_performed: <one-line description>