Skip to content

docs(fork): the snapshot reset runbook for a snapshot-layout change - #264

Merged
teemow merged 1 commit into
giantswarmfrom
fork/snapshot-reset-runbook
Oct 10, 2026
Merged

teemow merged 1 commit into
giantswarmfrom
fork/snapshot-reset-runbook

Conversation

@teemow

@teemow teemow commented Oct 10, 2026

Copy link
Copy Markdown
Member

Problem

The 1.8.0 line carries upstream's PATH_MAX-safe snapshot tars (agent-substrate#2110 and agent-substrate#2111): a snapshot written before them does not resume after them, nor the reverse, and upstream ships no migration (pre-1.0, a security fix). Nothing re-takes a golden on a Substrate roll by itself — kagent keys an ActorTemplate by the Agent's revision, never by the Substrate release — so the roll of such a release leaves every Agent with a golden the new Substrate restores as an empty /data, and every session likewise. Upstream's rolling upgrade runbook keeps actor state across a roll and does not apply. There was no procedure.

Proposed solution

docs/snapshot-reset.md: what breaks and how it shows in both directions, the reset (hold the Agents' Flux re-creation, delete every Agent, let kagent's session sweep and runtime-revision GC delete sessions, actors, templates and goldens, verify Substrate and the store empty, resume), rollback as the same procedure, and what does not work instead. The ledger row of the snapshot tars points to it.

Rehearsed in agentlab between 1.7.0 and 1.8.0-rc.6 on the Go ADK and the claude Harness: forward, a 1.7.0 golden on rc.6 restores an empty /data with no restore error (the Go ADK: no such table: app_states; claude: Harness runtime execution failed); backward, an rc.6 snapshot on 1.7.0 crashes the actor (restore-state/durable-dir.tar: no such file or directory). After the reset, both Harnesses' Agents are Ready on fresh goldens within 16 s and a session suspends and restores; a 323-level, 5141-character workspace tree commits, suspends and restores on rc.6.

Acceptance criteria

  • The runbook names the failure modes, the steps with their commands and waits, the verification and the rollback.
  • FORK.md's snapshot-tar row points to it.

Opened by an agent on behalf of Timo Derstappen.

… snapshot layout

A release that changes what a snapshot holds or how it is laid out, such
as the PATH_MAX-safe snapshot tars, makes every snapshot written before
it useless to it and the reverse, and nothing re-takes a golden on a
Substrate roll by itself. The runbook resets every golden and session
snapshot kagent holds on an installation after such a roll, in either
direction, with what the failure looks like, the steps and what does not
work instead; the ledger row of the snapshot tars points to it.

Signed-off-by: Timo Derstappen <teemow@gmail.com>
@teemow
teemow requested a review from a team as a code owner October 10, 2026 12:12
@teemow
teemow merged commit 994173a into giantswarm Oct 10, 2026
17 checks passed
@teemow
teemow deleted the fork/snapshot-reset-runbook branch October 10, 2026 12:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant