Repository navigation
checkpoints updates - #2798
Closed
Charlesthebird wants to merge 2 commits into
Closed
checkpoints updates#2798Charlesthebird wants to merge 2 commits into
Charlesthebird wants to merge 2 commits into
Conversation
… and sorts Closes #2783. A checkpoint pins a copy of the conversation's runtime in the substrate. They were reachable only from inside the conversation they belong to and could not be removed at all, while duplicating a chat takes one every time — so a cluster accumulated snapshots nobody had asked for and nobody could find. The page lists them, searches them, and deletes them singly or in a batch. A batch is one request each, sequential, under one `toast.promise`; a failure does not stop the run, each is logged, and the toast says how it went. `ListCheckpoints` does the narrowing: it takes a filter, a sort column and an offset, answers with the count the filter matched, and `agent_instance_id` became optional so one request spans a caller's conversations. Reading everything into the browser and filtering there reports "no matches" about rows it never fetched. Rows are named, searched and sorted by the conversation's name as recorded when the snapshot was taken — the only name a query can reach, since the current one lives inside an encoded payload. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Signed-off-by: Nicholas Bucher <behappy54321@gmail.com>
…lper The three `check()` calls on that table are the pattern that failed the merge queue: antd's control ticks on a later commit than the click, and `check()` re-reads too early, clicks again, and toggles it back off. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Signed-off-by: Nicholas Bucher <behappy54321@gmail.com>
Charlesthebird
force-pushed
the
charlesthebird/snapshotsPage
branch
from
September 11, 2026 13:42
dba9d71 to
3c9fbf7
Compare
ricardomiguel-os
pushed a commit
to ricardomiguel-os/kagent
that referenced
this pull request
Sep 11, 2026
…te a chat (kagent-dev#2775) --- *🤖 written by Claude (start)* Checkpoint a turn in a chat, fork from a checkpoint, duplicate a chat, and the agent rail work that came out of using it. The Snapshots page and the `ListCheckpoints` change it needs are stacked on top, in kagent-dev#2798. ## Checkpoints and forks - The Checkpoint button beside Send saves the conversation's current turn boundary. It belongs on the composer rather than a message because `CreateCheckpoint` takes no cutoff — what it saves is always "as it stands now" — and it is disabled during a turn and once the latest boundary is saved. - A saved boundary is a line under the turn it was taken at, with `Fork` on it. The line is the promise: everything above it travels into a fork and nothing below it does. Matched by `headTaskId` against the turn each message carries, so the lines survive a reload. - `Duplicate chat` in each rail row's menu is a checkpoint of the conversation plus a fork of it, and the copy opens. - A fork refetches its own transcript rather than inheriting the page's, so it never shows its source's boundaries as its own. ## The agent rail Rows gained the room and the states they were missing: a menu on every row carrying Chat details and Share chat as well as rename, duplicate and delete; checkbox hover and press states; controls that line up whether or not the list scrolls. The three columns fold as the window narrows — the agent panel at 1440, the application sidebar at antd's `xl`, the rail at 1040 — and unfold again. The agent panel's drag handle is gone with `ResizableAside`: its wrapper clipped to a fixed width, so dragging widened an aside inside a box that never grew. The create buttons on the list pages are title-cased, which is unrelated to the rest and was asked for separately. ## Testing 1. `ENABLE_MOCK_UI=true yarn dev`, open a conversation, and press Checkpoint beside Send. A line appears under the last turn and is still there after a reload. 2. Press `Fork` on an early line. The fork opens holding what was above it and nothing below. 3. Open a rail row's menu and choose `Duplicate chat`. The copy opens with the whole transcript. 4. Narrow the window from wide: the agent panel folds, then the sidebar, then the rail. The reel in the comments shows this against a real cluster: two checkpoints three turns apart, a fork from each, and the earlier fork knowing only what was above its line. Reels about the Snapshots page moved with it to kagent-dev#2798 and are marked outdated here. --- *🤖 written by Claude (end)* --------- Signed-off-by: Nicholas Bucher <behappy54321@gmail.com> Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Removing this in favor of the inline checkpoint deletion