Files
openclaw-control-plane/handoff/CORRECTION.md
2026-05-15 12:13:18 +08:00

56 lines
3.8 KiB
Markdown

# 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.