56 lines
3.8 KiB
Markdown
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.
|