macOS parity maintenance loop
Scoped autonomous worker for closing native acceptance gaps and ingesting web
product changes after the frozen baseline. This loop is separate from
AGENT_LOOP; never enable both for the same work package.
Kill switch
| Variable | Meaning |
|---|---|
MACOS_PARITY_LOOP_ENABLED | Repo variable. String "true" enables the workflow. Default off. |
Operator commands
Pause (stop launching workers):
gh variable set MACOS_PARITY_LOOP_ENABLED --body false
Resume:
gh variable set MACOS_PARITY_LOOP_ENABLED --body true
Dispatch one task immediately:
gh workflow run macos-parity-loop.yml -f stable_key=native-go-to-date-announcements
Let the hourly watchdog pick the next queued task:
gh workflow run macos-parity-loop.yml
Hard stop while a worker is mid-flight:
- Set
MACOS_PARITY_LOOP_ENABLED=false. - Remove label
macos-parity-loop-runningfrom issue #4783 if it is stale. - Cancel the Cursor cloud agent from the dashboard if needed.
Secrets and one-time setup
CURSOR_API_KEYsecret (same Cloud Agents API key as agent-loop).- Labels:
macos-parity-loop-running,macos-parity-loop-waiting-for-credits,macos-parity-loop-needs-human. - Parent tracking issue #4783.
Do not flip MACOS_PARITY_LOOP_ENABLED from this document alone; confirm Tyler
wants the scoped worker active.
Sources of truth
| Concern | Location |
|---|---|
| Frozen baseline behaviors | docs/acceptance/macos-parity/inventory.json |
| Incremental merge stream | docs/acceptance/macos-parity/incremental-stream.json |
| Durable task queue | docs/acceptance/macos-parity/maintenance-queue.json |
| Queue logic and tests | docs/acceptance/macos-parity/parity_loop.py |
| Pick / launch / ingest | .github/scripts/macos-parity-loop-*.sh |
| Workflow | .github/workflows/macos-parity-loop.yml |
| Agent instructions | .github/prompts/macos-parity-loop.md |
Leases and quota retry timestamps live on issue #4783 labels and HTML comment markers, not in checkpoint-only commits on product branches.
Recovery
- Stale lease: the watchdog clears
macos-parity-loop-runningwhen issue #4783 has not updated in three hours. - HTTP 429: launch adds
macos-parity-loop-waiting-for-creditsand amacos-parity-quota-retry-at=marker; the next eligible hourly run retries. - Changed head: tasks with recorded
evidenceHeadrevert topendingwhen the head moves (seeparity_loop.pytests).
Verify locally
python3 -B docs/acceptance/macos-parity/parity_loop.py validate
python3 -B -m unittest discover -s docs/acceptance/macos-parity -p '*_test.py'