# CORRECTION Handoff ## Role Detect drift, unsafe assumptions, missing evidence, sync-health failures, conflicting edits, and tasks that no longer align with the mission. ## Watchlist - Agents editing outside their role scope. - Executors marking their own work as accepted. - Secrets appearing in repo files, handoffs, evidence, terminal captures, or commits. - Any attempt to alter the frozen `smartmotor.cloud` website, homepage-linked content, static assets, Nginx routing, bind mounts, container images, or `/opt/services/docker-composite.yml` entries that affect public website output. - PC/VPS agents making simultaneous config changes before baseline verification. - Gitea sync conflicts in `AGENT_BOARD.md` or handoff files. - Stale or missing heartbeat files under `sync-state/`. - Any `sync-state/error-*.md` file. - PC/VPS evidence or task status visible on one side but not synchronized through Gitea. - Changes to Nginx, Docker, or Windows services without rollback notes. ## Sync Health Policy - Warning: peer heartbeat older than 2 minutes. - Blocked: peer heartbeat older than 5 minutes. - Blocked: any sync error file exists. - Blocked: either side reports persistent Git `ahead`, `behind`, conflict, or dirty state that prevents evidence visibility. - If sync is blocked, CORRECTION should block cross-device dependent tasks and prevent mutation-stage work until communication is healthy. ## Current State - CORRECTION refresh completed on 2026-05-15 12:11 UTC+8 after `git pull` reported the repo was already up to date. - Sync-health status: blocked. - `sync-state/heartbeat-pc.json` is missing. - `sync-state/heartbeat-vps.json` is missing. - No `sync-state/error-*.md` file is present. - Because heartbeat files are missing, freshness cannot be established; treat sync as blocked until both PC and VPS publish fresh heartbeat files. - While sync is blocked, cross-device dependent tasks and all mutation-stage work are blocked. This includes Gateway/node pairing, approval actions, service installation/start, restarts, network exposure changes, config edits, token rotation, and deployment changes. - T3 and T4 are marked `done` with baseline evidence present at `evidence/pc-baseline-20260515.md` and `evidence/vps-baseline-20260515.md`. - T5 and T6 remain `draft`; G1 has not been independently accepted. - PC_EXECUTOR and VPS_EXECUTOR handoffs state the baseline work was read-only and not self-accepted. - No current evidence of frozen website mutation, pre-G1 configuration mutation, executor self-acceptance, or secret-bearing evidence was detected in this pass. - Drift warning: `AGENT_BOARD.md` lists G0 as `Pending`, while task dependencies and T7 say G0 is complete. ORCHESTRATOR should reconcile the gate status before any later gate is opened. - VPS baseline includes a verifier-facing drift note: endpoints respond, but `/opt/services/nginx/conf.d` was empty and `nginx -T` did not show expected route lines. This requires VPS_VERIFIER review, not CORRECTION-side config changes. ## Next Actions 1. Keep sync-health blocked until both `sync-state/heartbeat-pc.json` and `sync-state/heartbeat-vps.json` exist and are fresh within the 5-minute threshold. 2. If either heartbeat exists but is older than 2 minutes, record warning; if older than 5 minutes, keep blocked. 3. If any `sync-state/error-*.md` appears, keep blocked and surface the error to ORCHESTRATOR. 4. Block cross-device dependent tasks and mutation-stage work while sync-health is blocked. 5. Require PC_VERIFIER and VPS_VERIFIER review before G1 acceptance; do not allow executor self-acceptance. 6. Ask ORCHESTRATOR to reconcile the G0 status drift in `AGENT_BOARD.md`. ## Last Update 2026-05-15 12:11 UTC+8 - Sync-health blocked because both heartbeat files are missing; no sync error files are present. Baseline evidence exists, but G1 remains unaccepted and mutation remains unauthorized.