# 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, `/opt/services/docker-compose.openclaw.yml`, or any equivalent compose/service 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 - 2026-05-19 16:29 UTC+8: Fresh T13 G2 correction guard check completed in CORRECTION role from `D:\openclaw-control-plane` after `git pull` reported already up to date. - G2 remains user-authorized and `AGENT_BOARD.md` shows G2 `In Progress`. - T13 remains `ready` and owned by CORRECTION. - T9 is `blocked`; it must remain blocked until ORCHESTRATOR reviews this fresh PASS and explicitly releases T9. - T10 is `blocked`; it must remain blocked until T9 produces one matching non-secret pairing request ID or pending node ID. - PC heartbeat is present, fresh, and `clean`: `2026-05-19T16:28:36+08:00`. - VPS heartbeat is present, fresh, and `clean`: `2026-05-19T16:29:05+0800`. - No `sync-state/error-*.md` files are present. - Current evidence directory contains only baseline and baseline-verifier evidence. The earlier `evidence/pc-g2-node-run-20260519.md` was deleted by a later PC sync commit, so no current G2 node-run evidence exists. - Rollback note `rollback/pc-g2-node-run-20260519.md` exists, but T9 states `openclaw node run` was not executed because the token was not available in the same non-persistent local shell session. - Secret scan found only documented placeholders and policy references, not exposed secret values. - No current role-misdirection, frozen website risk, service persistence, `openclaw node install/start`, Nginx/Docker/website change, firewall/network change, VPS approval, node start, or configuration mutation risk was found in tracked control-plane state. - Fresh guard decision: PASS for sync/secret/role/freeze/config checks. This PASS does not unblock T9 by itself; ORCHESTRATOR must explicitly release T9 based on the PASS. - 2026-05-19 14:50 UTC+8: G2 pre-flight guard check completed in CORRECTION role from `D:\openclaw-control-plane` after `git pull` fast-forwarded only `sync-state/heartbeat-vps.json`. - Requested `tasks/T13-G2-preflight-guard.md` does not exist; actual T13 guard file is `tasks/T13-G2-correction-guard.md`. - G2 is authorized and `AGENT_BOARD.md` shows G2 `In Progress`. - T13 is `ready` and owned by CORRECTION. - T9 is `ready`; T10 remains `blocked` until T9 produces one matching non-secret pairing request ID or pending node ID. - PC heartbeat is present, fresh, and `clean`: `2026-05-19T14:51:14+08:00`. - VPS heartbeat is present, fresh, and `clean`: `2026-05-19T14:51:04+0800`. - No `sync-state/error-*.md` files are present. - Secret scan found only documented placeholders and policy references, not exposed secret values. - Role-misdirection risk is currently cleared by ORCHESTRATOR's recovery and fresh second authorization; keep monitoring for new role/workspace mismatch. - No current evidence of frozen website risk, service persistence, `openclaw node install/start`, Nginx/Docker/website change, firewall/network change, VPS approval, node start, or other configuration mutation. - Pre-flight decision: pass. CORRECTION does not execute PC/VPS commands; T13 guard may continue and T9 may proceed only under `docs/G2_RUNBOOK.md`. - 2026-05-19 12:37 UTC+8: Fresh second G2 authorization was received by ORCHESTRATOR in the correct target window/workspace. - Sync-health was healthy by tracked files at authorization time: PC and VPS heartbeats were `clean`, and no `sync-state/error-*.md` files were observed. - Corrected G2 state after second authorization: T13 and T9 are ready; T10 remains blocked until T9 produces a matching non-secret pairing request ID or pending node ID. - Continue blocking service persistence, `openclaw node install/start`, Nginx/Docker/website changes, firewall/network changes, public port exposure, G3/G4 actions, and any token/secret recording. - 2026-05-19 12:22 UTC+8: Audited role-misdirection event after `git pull` reported the repo was already up to date. - Background under review: prompts intended for ORCHESTRATOR were mistakenly sent to VPS_VERIFIER during the recent hour. - Recent git history shows VPS-origin commits modified files outside VPS_VERIFIER's allowed write scope: - `1400aea` modified `AGENT_BOARD.md` and `USER_STATUS.md`. - `588db23` modified `handoff/ORCHESTRATOR.md`, `tasks/T9-G2-PC-node-run.md`, `tasks/T10-G2-VPS-pairing-approve.md`, and `tasks/T13-G2-correction-guard.md`. - `5134f68` modified `handoff/CORRECTION.md`, `handoff/PC_EXECUTOR.md`, `handoff/VPS_EXECUTOR.md`, and `tasks/T7-correction-monitor.md`. - These file changes align with ORCHESTRATOR/COACH/CORRECTION/executor handoff responsibilities, not VPS_VERIFIER responsibilities. Treat this as a role-scope incident requiring ORCHESTRATOR review and adoption or correction. - `handoff/VPS_VERIFIER.md` now self-reports that VPS_VERIFIER modified only `evidence/verify-vps-baseline-20260515.md` and `handoff/VPS_VERIFIER.md`; that self-report is inconsistent with the VPS-origin commits above if those commits were produced by the misdirected VPS_VERIFIER session. - No rollback was performed. - No evidence was found that VPS_VERIFIER executed live G2 approval, `nodes pending`, `devices approve`, `nodes approve`, service restart/reload, token rotation, Gateway config mutation, Nginx/Docker/compose/bind-mount/image change, or frozen website content/routing changes during the misdirection window. - Read-only VPS baseline verification evidence remains consistent with T6 scope: Docker/Gateway/Nginx/HTTPS/CLI `--help` checks only; no approval except `--help` checks. - Evidence directory currently contains only baseline and baseline-verifier evidence; no `pc-g2-*`, `vps-g2-*`, or G2 approval evidence exists. - `rollback/` contains no G2 rollback notes, so no G2 token/run/approval action should be treated as having begun. - Secret scan of evidence found no likely secret values; current tracked text contains policy, negative, and placeholder references only. - Sync-health is currently healthy by tracked files: both heartbeat files exist, are fresh for this audit window, and no `sync-state/error-*.md` files are present. - Correction decision: block G2 progression until ORCHESTRATOR explicitly reviews the role-scope incident, reclaims ownership of ORCHESTRATOR-owned files and status changes, and restates the authorized next step. ## Next Actions 1. Ask ORCHESTRATOR to review this fresh PASS and decide whether to release T9 from `blocked`. 2. Monitor T13 for sync-health, secret, role/workspace, pairing-identity, and freeze-policy stop conditions. 3. Keep T9 blocked until ORCHESTRATOR explicitly releases it based on this fresh PASS. 4. Keep T10 blocked until T9 evidence includes one matching non-secret pairing request ID or pending node ID. 5. VPS_VERIFIER should remain limited to VPS verification evidence and `handoff/VPS_VERIFIER.md` unless explicitly reassigned. 6. Continue forbidding service persistence, `openclaw node install/start`, Nginx/Docker/website changes, firewall/network changes, public port exposure, G3/G4 actions, and any token/secret recording. 7. If new `sync-state/error-*.md` files appear or heartbeat freshness exceeds policy thresholds, record a separate sync-health blocker. ## Last Update 2026-05-19 16:29 UTC+8 - Fresh T13 guard check passed for sync/secret/role/freeze/config risks. T9 remains blocked pending ORCHESTRATOR release based on this PASS; T10 remains blocked pending one matching non-secret pairing request/node ID from T9. 2026-05-19 14:50 UTC+8 - G2 pre-flight guard check passed for CORRECTION/T13. Sync-health is fresh and clean, no sync error files or secret leak were found, T9 remains ready, and T10 remains blocked pending one matching non-secret pairing request/node ID from T9. 2026-05-19 12:37 UTC+8 - Fresh second G2 authorization received in correct ORCHESTRATOR workspace. T13/T9 may proceed under runbook; T10 remains blocked pending T9 evidence. No PC/VPS command was executed by ORCHESTRATOR. 2026-05-19 12:22 UTC+8 - Role-misdirection audit found cross-role file modifications from VPS-origin commits and requires ORCHESTRATOR takeover before G2 proceeds. No secret leak or VPS service/Nginx/Docker/website mutation was detected. 2026-05-19 12:16 UTC+8: G2 authorization guard update. - User authorized G2 only for foreground PC node run and corresponding VPS pairing approval under `docs/G2_RUNBOOK.md`. - T9 and T13 are ready; T10 remains draft until T9 produces a matching non-secret pairing request ID or pending node ID. - Continue blocking service persistence, `openclaw node install/start`, Nginx/Docker/website changes, firewall/network changes, public port exposure, and any token/secret recording. - Stop G2 if heartbeat becomes stale, any `sync-state/error-*.md` appears, evidence is not visible on both sides, request identity is ambiguous, or freeze compliance becomes uncertain.