You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Split from #1622 per its acceptance criteria: the packages/core/src/workspace.ts TODO promised both the boot janitor and a ~23h safety snapshot rotation in a later PR. The boot janitor is landing with #1622's fix (task 9526); the snapshot rotation remains unimplemented — grep -rn "snapshot" packages/core/src/workspace/ packages/core/src/environment/ returns nothing, and no driver capability for snapshotting exists yet.
Work
Add a snapshot capability to the Workspace driver interface (or document why a driver cannot support it, per provider).
Rotate safety snapshots for persisted bound workspaces on a ~23h cadence, with a defined retention policy.
Tests in packages/core/test/workspace.test.ts style (fake driver, seeded persisted rows): stale snapshot rotated, fresh snapshot left alone, retention enforced.
Acceptance criteria
Persisted bound workspaces get a safety snapshot at least every ~23h while bound, without requiring a connect.
Retention policy is defined in code/docs and old snapshots beyond it are removed.
Drivers that cannot snapshot are handled explicitly (logged/skipped), not silently.
Verdict: CONFIRMED on current main63c50eec0d27139b6ebdc57ed85d4d3ace35b5b3 (verified twice with fresh gh api reads this run).
What I checked (reads only):
packages/core/src/workspace.ts:358 — the TODO is still on main verbatim: // TODO(workspace-plan): add the boot janitor and ~23h safety snapshot rotation in a later PR. It is the only "snapshot" mention in the file.
packages/core/src/workspace/driver.ts — WorkspaceDriver.Interface exposes exactly create / connect / suspendForIdle / destroy. There is no snapshot capability for the rotation to call.
packages/core/src/environment/driver.ts — no snapshot surface there either.
Activity
developing-today commentedon Nov 4, 2026
OPENCODE-255
dezren39 commentedon Nov 4, 2026
Triage evidence — issue-sweep-rotating feeder, 2026-11-04
Verdict: CONFIRMED on current main
63c50eec0d27139b6ebdc57ed85d4d3ace35b5b3(verified twice with freshgh apireads this run).What I checked (reads only):
packages/core/src/workspace.ts:358— the TODO is still on main verbatim:// TODO(workspace-plan): add the boot janitor and ~23h safety snapshot rotation in a later PR.It is the only "snapshot" mention in the file.packages/core/src/workspace/driver.ts—WorkspaceDriver.Interfaceexposes exactlycreate/connect/suspendForIdle/destroy. There is no snapshot capability for the rotation to call.packages/core/src/environment/driver.ts— no snapshot surface there either.queue/*/work/*labels, and no live queue task for feat(core): Workspace ~23h safety snapshot rotation for persisted bound workspaces #1624 inrepo-health-opencode-pilot.Done looks like (the issue's acceptance criteria):
dezren39 commentedon Nov 4, 2026
agent-note:v1
state: queued
Agent: issue-sweep-rotating (triage feeder)
Session/ID: issue-sweep-rotating run 2026-11-04 09:24 CST
Found via: rotating feeder pick (developing-today/opencode this run)
Task: enqueued triage packet as queue task 9665 in repo-health-opencode-pilot (dedupe repo-health:v1:triage:developing-today/opencode:issue:1624)
Evidence: feeder triage CONFIRMED on main 63c50ee — workspace.ts:358 TODO still present; WorkspaceDriver.Interface has no snapshot capability; see evidence comment #1624 (comment)
Expectation: triage designs the driver snapshot capability + ~23h rotation + retention and routes implementation, noting coordination with PR #1631 (#1622 boot janitor) landing.