Repository navigation
[EPIC-D][LOU-D45.2] Agent Forge History tab: step list, edit-and-replay, side-by-side trajectories - #113
Merged
Conversation
…pare routes (LOU-D45.1)
- FileCheckpointStore keeps the bounded per-session history() ring with
the same semantics as LocalStorageCheckpointStore (historyLimit,
delete({ keepHistory })); the SDK's history contract suite moves to a
shared fixture and runs against it too.
- RunManager.history/fork/compare and the routes GET /runs/:id/history,
POST /runs/:id/fork (validated { fromStep, patch? }, started through the
registry's run lifecycle and WS stream) and GET /runs/compare?a=&b=.
- Fix: chatReconcile compiles against multimodal Message.content (LOU-V11)
by flattening it with textOf(); server tsconfig adds the DOM lib like the
SDK's own, since server tests now type-check SDK sources.
- docs/agent-forge.md "Time travel", CHANGELOG, llms files.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016bY29ibQgv3MDdjAbUT4YR
…ws CheckpointStore.history (LOU-D45.1) parseForkRequest() checks each patch field from a Map of validators, which keeps it under fallow's complexity threshold, and CheckpointStore.history joins save/load/delete as an interface member fallow treats as used (FileCheckpointStore.history is only called through the interface). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016bY29ibQgv3MDdjAbUT4YR
…side trajectories (LOU-D45.2) - New drawer tab "History" (src/components/debug/HistoryPanel.tsx): the loaded agent's run steps (step, status, finish reason, tool calls, tokens, cost) from GET /runs/:id/history, each with "Edit and replay from here" (append a user message or edit a tool result), which forks through POST /runs/:id/fork and shows the fork next to the original via GET /runs/compare, highlighting divergedAt and the drift entries and refreshing when the fork's status stream settles. - runtimeClient.runHistory/forkRun/compareRuns; Vite dev proxy for /runs. - Client test renders the list and the comparison from fixtures. - docs/agent-forge.md "The History tab", CHANGELOG, llms files. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016bY29ibQgv3MDdjAbUT4YR
…ry-panel # Conflicts: # CHANGELOG.md # docs/agent-forge.md # llms-full.txt
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016bY29ibQcv3MDdjAbUT4YR
…ry-panel # Conflicts: # CHANGELOG.md
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.
What
The client half of LOU-D45 (Agent Forge time-travel), stacked on #112 (server API):
POST /runs/:id/fork;divergedAtand lists the drift entries, refreshed when the fork finishes;/runs, a client test from fixtures, docs/agent-forge.md, CHANGELOG and regenerated llms files.Why
Completes differentiator 3 of the audit: neither eve nor open-harness has a visual debugger with fork-from-step replay.
Acceptance criteria
GET /runs/:id/historyGET /runs/compareand highlights divergencebuild:studiopassesHow verified
Forge client and server typecheck: pass. Forge client tests: 112 passed. Forge server tests: 121 passed.
build:studio, Forge lint (0 errors),docs:llms:checkandfallow: pass.🤖 Generated with Claude Code
https://claude.ai/code/session_016bY29ibQgv3MDdjAbUT4YR
Generated by Claude Code