diff --git a/handoff/CORRECTION.md b/handoff/CORRECTION.md index 63cafab..38ddb57 100644 --- a/handoff/CORRECTION.md +++ b/handoff/CORRECTION.md @@ -27,6 +27,10 @@ Detect drift, unsafe assumptions, missing evidence, sync-health failures, confli ## Current State +- 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: @@ -46,14 +50,17 @@ Detect drift, unsafe assumptions, missing evidence, sync-health failures, confli ## Next Actions -1. ORCHESTRATOR must review and either adopt or correct the VPS-origin changes to `AGENT_BOARD.md`, `USER_STATUS.md`, `handoff/ORCHESTRATOR.md`, T9/T10/T13, executor handoffs, and T7. -2. Keep T9/T10 and any mutation-stage action paused until ORCHESTRATOR restates the current gate/task state after the role-misdirection audit. -3. VPS_VERIFIER should remain limited to VPS verification evidence and `handoff/VPS_VERIFIER.md` unless explicitly reassigned. -4. Continue forbidding service persistence, `openclaw node install/start`, Nginx/Docker/website changes, firewall/network changes, public port exposure, and any token/secret recording. -5. If new `sync-state/error-*.md` files appear or heartbeat freshness exceeds policy thresholds, record a separate sync-health blocker. +1. Monitor T13 for sync-health, secret, role/workspace, pairing-identity, and freeze-policy stop conditions. +2. Allow T9 only under `docs/G2_RUNBOOK.md` and only while no invalidation condition is present. +3. Keep T10 blocked until T9 evidence includes one matching non-secret pairing request ID or pending node ID. +4. VPS_VERIFIER should remain limited to VPS verification evidence and `handoff/VPS_VERIFIER.md` unless explicitly reassigned. +5. 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. +6. 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 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. diff --git a/handoff/ORCHESTRATOR.md b/handoff/ORCHESTRATOR.md index 043ebe6..42af319 100644 --- a/handoff/ORCHESTRATOR.md +++ b/handoff/ORCHESTRATOR.md @@ -6,7 +6,7 @@ Own requirements alignment, task decomposition, dependency tracking, and final a ## Current Objective -Correct the control plane after a role-misdirection incident, keep G2 paused, and ensure no executor starts token injection, foreground node run, or VPS pairing approval without fresh explicit user authorization. +Coordinate freshly authorized G2 execution strictly under `docs/G2_RUNBOOK.md`: T13 guard and T9 foreground PC node run may proceed; T10 remains blocked until T9 evidence provides one matching non-secret request/node ID. ## Must Read @@ -27,25 +27,25 @@ Correct the control plane after a role-misdirection incident, keep G2 paused, an - Strict `smartmotor.cloud` website freeze is a hard requirement during filing review. - Communication MVP uses polling Git sync scripts in `sync/` and task files in `tasks/`. - `USER_STATUS.md` is the user-facing status entry; internal agent ledgers should not be required reading for the user. -- G2 execution is paused after the role-misdirection audit. Any earlier G2 authorization must be treated as not active until the user gives fresh explicit authorization after ORCHESTRATOR correction. +- Fresh second G2 authorization was received for ORCHESTRATOR in `D:\openclaw-control-plane` on 2026-05-19. - `docs/G2_RUNBOOK.md` has been prepared as the G2 execution-before-action runbook. It does not authorize execution by itself. - Sync-health is currently healthy: tracked PC and VPS heartbeats are present and clean, and no `sync-state/error-*.md` files are observed in the latest control-plane snapshot. -- T2.1 and T8 are now treated as complete control-plane setup work; G2 remains Pending. +- T2.1 and T8 are now treated as complete control-plane setup work; G2 is In Progress under the limited runbook scope. - The polling sync is intentionally temporary; design an async notification/coordinator layer when PC/VPS baseline work is stable. - Filing-review freeze path wording has been corrected from the obsolete single `docker-composite.yml` reference to `/opt/services/docker-compose.openclaw.yml` plus any equivalent compose/service entries that could affect public website output. ## Next Actions -1. Keep T9/T10/T13 blocked and do not allow token injection, foreground node run, or VPS pairing approval. -2. Ask the user to review `docs/G2_AUTHORIZATION_CARD.md` if they want to start G2. -3. Keep `USER_STATUS.md` current when gate, blocker, heartbeat, or required user decision changes. -4. Keep T7/CORRECTION monitoring active for sync-health, drift, missing evidence, and freeze-policy risk. -5. If the user sends the exact second authorization statement from `docs/G2_AUTHORIZATION_CARD.md`, confirm role/workspace again, then move T13 and T9 in dependency order; keep T10 blocked until T9 evidence includes a matching non-secret pairing request ID or pending node ID. -6. Continue forbidding service persistence, `openclaw node install/start`, Nginx/Docker/website changes, firewall/network changes, and recording any token or secret. +1. Keep `USER_STATUS.md` current when gate, blocker, heartbeat, or required user decision changes. +2. Keep T7/CORRECTION monitoring active for sync-health, drift, missing evidence, and freeze-policy risk. +3. Let CORRECTION claim T13 and verify sync/secret/freeze guardrails before or alongside T9. +4. Let PC_EXECUTOR claim T9, write `rollback/pc-g2-node-run-YYYYMMDD.md`, set token only in the local shell/session without recording it, and run only the foreground node command in `docs/G2_RUNBOOK.md`. +5. Keep T10 blocked until T9 evidence includes a matching non-secret pairing request ID or pending node ID. +6. Continue forbidding service persistence, `openclaw node install/start`, Nginx/Docker/website changes, firewall/network changes, G3 smoke test, G4 setup, and recording any token or secret. ## Open Questions -- When should the user give fresh explicit authorization for G2 Gateway/node pairing after this correction? +- When will T9 produce a matching non-secret pairing request ID or pending node ID for possible T10 approval? - When should the Git polling MVP be upgraded to webhook, Issues, OpenClaw events, or Cursor SDK based coordination? ## Last Update @@ -64,6 +64,14 @@ Correct the control plane after a role-misdirection incident, keep G2 paused, an - Confirmed tracked sync-health is healthy: PC and VPS heartbeats are clean and no `sync-state/error-*.md` files were observed. - No PC/VPS command was executed, no token was handled, no node was started, and no VPS approval was performed. +2026-05-19 12:37 UTC+8: Fresh second G2 authorization received in the correct target window/workspace. + +- Target role/workspace confirmed: ORCHESTRATOR in `D:\openclaw-control-plane`. +- Sync-health confirmed healthy by tracked files: PC and VPS heartbeats are clean, and no `sync-state/error-*.md` files were observed. +- G2 moved to In Progress under the limited runbook scope. +- T13 and T9 are ready; T10 remains blocked until T9 evidence provides a matching non-secret request/node ID. +- ORCHESTRATOR did not execute PC/VPS commands, did not handle a token, did not start a node, and did not approve pairing. + 2026-05-19 12:16 UTC+8: Prior G2 authorization record is superseded by the 12:27 role-misdirection correction. - Previously recorded allowed scope: foreground PC node run and corresponding VPS pairing approval under `docs/G2_RUNBOOK.md`. @@ -94,9 +102,9 @@ Correct the control plane after a role-misdirection incident, keep G2 paused, an ## G2 Planning State -- T9: PC foreground node run, blocked. -- T10: VPS pairing approval, blocked. +- T9: PC foreground node run, ready. +- T10: VPS pairing approval, blocked until T9 evidence. - T11: PC G2 verification, draft. - T12: VPS G2 verification and freeze compliance, draft. -- T13: G2 correction guard, blocked. -- Authorization judgment: `docs/G2_RUNBOOK.md` remains valid planning material, but execution must not begin until the user gives fresh explicit authorization after the role-misdirection correction. +- T13: G2 correction guard, ready. +- Authorization judgment: fresh second authorization is valid only for the G2 runbook scope and expires if sync blocks, role/workspace mismatches, secrets appear, pairing identity is ambiguous, steps drift from the runbook, or freeze risk appears. diff --git a/handoff/PC_EXECUTOR.md b/handoff/PC_EXECUTOR.md index 464161b..0f6fffd 100644 --- a/handoff/PC_EXECUTOR.md +++ b/handoff/PC_EXECUTOR.md @@ -38,10 +38,12 @@ After the Gitea control plane is synchronized, collect current PC baseline evide ## Last Update -2026-05-19 G2 execution paused after role-misdirection correction. +2026-05-19 fresh second G2 authorization recorded for T9. -- T9 is blocked and must not be claimed or executed. -- Do not set or inject `OPENCLAW_GATEWAY_TOKEN`. -- Do not run `openclaw node run`. +- T9 is ready for PC_EXECUTOR under `docs/G2_RUNBOOK.md`. +- Before token or node-run action, write `rollback/pc-g2-node-run-YYYYMMDD.md`. +- Set `OPENCLAW_GATEWAY_TOKEN` only in the local shell/session and never record, print, commit, or paste the token value. +- Run only the foreground node flow from the runbook. - Do not run `openclaw node install`, `openclaw node start`, service persistence, scheduled task, firewall, network, or public-port exposure changes. -- Wait for ORCHESTRATOR to record fresh explicit user authorization after the role-misdirection correction before any G2 action. +- Evidence should go to `evidence/pc-g2-node-run-YYYYMMDD.md` and must include no secrets. +- Stop immediately if a command prints or asks to store a secret, asks for persistence, changes firewall/network state, produces multiple/ambiguous pairing requests, or drifts from `docs/G2_RUNBOOK.md`. diff --git a/handoff/VPS_EXECUTOR.md b/handoff/VPS_EXECUTOR.md index 7f4e54e..816be46 100644 --- a/handoff/VPS_EXECUTOR.md +++ b/handoff/VPS_EXECUTOR.md @@ -38,11 +38,11 @@ After the Gitea control plane is synchronized, collect current VPS baseline evid ## Last Update -2026-05-19 G2 execution paused after role-misdirection correction. +2026-05-19 fresh second G2 authorization recorded, but T10 remains blocked until T9 evidence exists. - T10 is blocked and must not be claimed or executed. -- Do not run `openclaw devices approve`, `openclaw nodes pending`, or `openclaw nodes approve` for G2. -- Do not approve any pairing request. +- Do not run `openclaw devices approve`, `openclaw nodes pending`, or `openclaw nodes approve` for G2 until T9 provides a matching non-secret pairing request ID or pending node ID and ORCHESTRATOR opens T10. +- Do not approve any pairing request before T10 is opened. - Do not request, print, record, rotate, or store any token/password/secret. - Do not restart/reload services, change Gateway config, edit Nginx, edit Docker/compose/bind mounts/images, change service state, or alter frozen `smartmotor.cloud` website output. -- Wait for ORCHESTRATOR to record fresh explicit user authorization after the role-misdirection correction and for T9 to produce matching non-secret evidence before any VPS-side G2 action. +- After T10 is opened later, approve only the intended PC request/node that matches T9 evidence and display name, with rollback note first. diff --git a/sync-state/heartbeat-pc.json b/sync-state/heartbeat-pc.json index af91583..6bba381 100644 --- a/sync-state/heartbeat-pc.json +++ b/sync-state/heartbeat-pc.json @@ -1,8 +1,8 @@ { "host": "pc", - "time": "2026-05-19T12:38:14+08:00", + "time": "2026-05-19T12:39:17+08:00", "branch": "main", - "head": "bc39219", + "head": "a077ce2", "status": "dirty", "intervalSeconds": 30, "heartbeatEverySeconds": 60