dr(w3d): full sandbox DR drill — operator-gated #433
Labels
No labels
W6d-automerge-calibration
agent/claude-code
agent/codex
agent/hermes
agent/iskra
agent/ollama
agent/patchwarden
automerge-candidate
class/security-sensitive
cutover-gate
dependency/blocked
dependency/blocks-others
dependency/cross-repo
dependency/needs-confirmation
domain:agents
domain:ci
domain:docs
domain:forgejo
domain:infra
domain:memory
domain:runtime
domain:signal
domain:ux
flow/architecture
flow/blocked
flow/deployed
flow/done
flow/implementation
flow/intake
flow/maintained
flow/observed
flow/ready
flow/refining
flow/retired
flow/review
iterating
judge/codex-candidate
judge/hermes-candidate
judge/low-confidence
judge/needs-refinement
judge/operator-needed
judge/p0
judge/p1
judge/p2
judge/p3
judge/park
judge/patchwarden-candidate
judge/stale-priority
kind/adr
kind/bug
kind/chore
kind/feature
kind/infra
kind/ops
kind/refactor
kind/research
large-impact
merge/auto
merge/manual
merge/manual-dependency-conflict
merge/manual-failing-tests
merge/manual-merge-conflict
merge/manual-missing-review
merge/manual-operator-preference
merge/manual-red-zone
merge/manual-security-sensitive
merge/manual-unclear-scope
merge/manual-unknown
meta
mode:operator-only
mode:patchwarden-iskra-approved
mode:safe-auto
needs-operator-decision
needs-triage
not-ready
observed/erroring
observed/needs-followup
observed/pending
observed/retire-candidate
observed/unused
observed/used
operator-emotional
owner-attention
phase/02
phase/03
priority:p0
priority:p1
priority:p2
priority:p3
proposed
ready-for-agent
ready-for-operator
recovery
review:claude-reviewed
review:codex-reviewed
review:dziadek-reviewed
review:needs-human
risk/exposure
risk/process
risk/product
risk/runtime
safety:external-write
safety:no-prod-mutation
safety:prod-impact
safety:secret-touch
size/large
size/medium
size/small
size/tiny
size/unknown
source/adr
source/agent-generated
source/manual
source/operator-chat
source/voice-note
status:blocked
status:codex-ready
status:merged:pending-evidence
status:needs-evidence
status:operator-needed
status:parked
tier/full
tier/lite
tier/stacked
tier:0-platform-substrate
tier:1-iskra-value-layer
tier:2-tools-products-modules
type:bug
type:chore
type:docs
type:feat
type:policy
type:research
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
pdurlej/platform#433
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Context
W3a/b/c are accepted as the immediate restore-confidence gate for the next non-destructive Milestone 01 work, per Pan Herbatka verdict on PR #432 comment #9292.
This issue tracks the deeper W3d drill that remains required before irreversible cleanup or broad module upgrade work. W3d is deliberately not a blanket blocker for non-destructive M01 planning or migration PRs.
Purpose
Prove a full sandbox restore choreography before either of these downstream actions:
/opt/vps-home-platform-infrafor Class A/B/D cleanup instate/cutover/rs2000-post-soak-legacy-cleanup.md;Acceptance criteria
Decision points
Gates
w3d-target-approvedbefore provisioning or using the disposable target.w3d-full-sandbox-approvedbefore running the full sandbox drill.m01-destructive-cleanup-approvedremains a later operator-only gate before Class A/B/D irreversible cleanup.module-upgrade-dr-confirmedremains required before broad W8 upgrade waves.References
state/reports/w3-dr-restore-preflight-2026-05-24.mdstate/reports/w3-restore-smoke-2026-05-24.mdstate/reports/w3-honcho-partial-restore-2026-05-24.mdstate/cycle/W3-dr-restore-confidence-output.mdstate/cutover/rs2000-post-soak-legacy-cleanup.mddecisions/0020-post-soak-legacy-cleanup-and-platform-modularization.mdW3d read-only preflight refreshed (2026-05-27)
Role: executor / codex
I refreshed the W3d starting point with read-only RS2000 evidence. No restore, restart, apply, release-root promotion, or production runtime mutation was performed.
Evidence recorded in
state/reports/w3d-full-sandbox-preflight-2026-05-27.md:/opt/vps-home-platform-infra/backups/20260527-060017-critical;hp-backup-critical.timer,hp-backup-noncritical.timer,hp-restore-smoke.timer;Result=success,ExecMainStatus=0;0;restore-test.shis still Forgejo-only, so this does not satisfy W3d.Recommended first W3d target:
local-vm/ isolated disposable Linux host. Usedisposable-vpsonly if realistic remote-host/RTO friction is needed in the first pass.Next gate before execution:
Until then, #433 remains open and blocks irreversible Class A/B/D cleanup and broad/stateful/Forgejo upgrade waves.
Role: executor
Intent: lane-outcome
Needs owner: no
W3d local Docker-host pass is green and recorded in PR #520: #520
Metadata-only summary:
/opt/vps-home-platform-infra/backups/20260527-060017-critical200, Forgejo/api/healthzvia fake ingress200, Honcho/openapi.jsonvia fake ingress200101seconds210secondsKnown residual: this local pass does not prove remote fresh-machine bootstrap friction. If the operator wants that depth before destructive cleanup, the next step is the same drill on a disposable VPS.
Next: merge #520 if the local W3d pass is accepted as evidence, then decide whether #433 needs a disposable VPS pass or can be narrowed to destructive-cleanup gate acceptance.
Role: executor
Intent: lane-outcome
Needs owner: yes
PR #521 is open and mergeable as pass-2 readiness: #521
It does not run the VPS drill yet. It adds the remote wrapper that can run the already-green W3d restore harness on a clean SSH target without giving that target direct RS2000 access. It also refuses live hosts (
rs2000,vps1000, and their current direct IPs).After #521 merges, the pass-2 command shape is:
The one missing input is the disposable target itself. I found SSH aliases for
rs2000,vps1000, andmbp-ubuntu-companion; none is a clean disposable VPS. I will not run this onvps1000, because it is the live OpenClaw/Iskra runtime.Next: merge #521, then provide/provision one clean disposable SSH target alias if you want pass 2 executed.
Role: executor
Intent: lane-outcome
Needs owner: no
W3d pass 2 completed on
vps1000as an isolated Docker sandbox. This usedvps1000as a remote test host, not as a production restore target.Metadata-only summary:
/opt/vps-home-platform-infra/backups/20260527-120006-critical200, Forgejo/api/healthzvia fake ingress200, Honcho/openapi.jsonvia fake ingress200vps1000to routed smoke:97seconds130secondsw3d*containers, volumes, or staging dirs left onvps1000Policy correction recorded in the PR: no third standing VPS is expected for this platform. Use
rs2000,vps1000, local Mac/Docker, or temporary/serverless per-minute compute only if a future task genuinely needs it.Next: PR will record the report and status updates. After merge, W3d restore mechanics are green; remaining possible follow-up is a separate W3e persona-side OpenClaw/Iskra continuity drill if the operator wants it.
Post-M01 W3d refresh evidence is now available.
Infrastructure-level W3d result: PASS on
vps1000disposable sandbox, using canonical post-M01 backup root/opt/pdurlej-platform/runtime/host-ops/backups/20260529-060017-critical.What passed:
200, Forgejo200, Honcho200.86s.0leftover W3d containers,0leftover W3d volumes, stage removed.Boundary:
Open operator decision:
Operator decision recorded: semantic Iskra/OpenClaw continuity is split out of #433 into #602 (W3e).
#433 is now closed as the infrastructure full-sandbox DR gate:
vps1000disposable W3d sandbox passed;Remaining persona-continuity concern is intentionally not hidden under infra DR. Track it in #602.