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
{{ message }}
Repository navigation
Tracking B3a: per-step change cards and per-file/per-step rollback #1401
Tracking issue for the B3a PR (branch feat/change-cards-rollback-b3a; PR to be opened after review).
Part of the file-write safety series — plan: easonLiangWorldedtech/Zoo-Code#33, epic: #1375. Item: B3a — Per-step change cards + per-file/per-step rollback (extension host). Stacks on the B1 per-write checkpoint PR (#1397) and the B2 change journal PR (#1398); the webview UI for the cards ships separately as B3b.
Scope
Change card payload per assistant step (the currentStreamingDidCheckpoint span): summary (filesChanged/added/removed) + per-file entries; the unified diff per file is included only when the new changeCardDetail setting is "full" (default "summary"). The card rides the existing checkpoint_saved say as an additive optional field — no new say/webview types.
Per-file rollback: content-only restore of one file from a checkpoint via the shadow git blobs (git show <hash>:<path> + S3 safeWriteText); created-after → delete; never truncates the checkpoint list, never rewinds messages, never cancels the task.
Per-step rollback: uses the B2 journal as the step index to restore every file the step touched, one by one.
Two new additive webview message cases (checkpointRestoreFile / checkpointRestoreStep) with zod payloads and the existing error-surface pattern; i18n error keys in every locale.
Activity