Show turn-level controls (pie, fork, rating) on every turn-closing block (APP-5720) - #16021
Draft
Xavientois wants to merge 1 commit into
Draft
Xavientois wants to merge 1 commit into
Xavientois wants to merge 1 commit into
Conversation
Xavientois
force-pushed
the
joshua/app-5720-turn-panel-history
branch
from
September 15, 2026 14:40
68d0ccd to
63c7d6e
Compare
Xavientois
added this pull request to stack #15940
September 15, 2026 15:55
Keep usage panels scoped to complete delivered records on earlier turns, retain local fork and rating controls, and preserve unaffected historical panels during later exchanges. Co-Authored-By: Warp <agent@warp.dev>
Xavientois
force-pushed
the
joshua/app-5720-turn-panel-history
branch
from
September 16, 2026 13:21
63c7d6e to
7334e94
Compare
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.
Description
Show fork and response-rating controls on every visible turn-closing block, so earlier responses remain actionable. Earlier turns show the pie and Turn panel only when every request in that turn has delivered its
RequestMetadatarecord. Missing or partial historical records produce no pie, panel, or fallback usage pill.The latest turn retains its existing records/legacy behavior.
PricingTransparencystill gates every pie and panel; flag-off earlier turns retain fork and rating only. Tool round trips share one turn, and hidden trailing exchanges hand controls to the previous visible block without excluding their records.Earlier-turn forks use the local exchange-truncating path and retain history through that turn. Latest-turn forks keep their existing behavior. Continue, review-changes, and the legacy usage pill stay latest-only. Hiding a later turn does not promote older usage snapshots, and unrelated appended exchanges no longer dismiss an open historical panel.
This targets
master; the parent Turn-panel PR #15931 is merged.Open issues before approval
Linked Issue
APP-5720
ready-to-specorready-to-implement.Testing
Completed in repository validation order:
cargo nextest run -p warp --no-fail-fast -E 'test(ai::agent::request_metadata::tests::) | test(ai::blocklist::usage::request_metadata_turn_view::tests::) | test(ai::blocklist::block::view_impl::output::tests::) | test(ai::agent::conversation::tests::) | test(ai::blocklist::history_model::tests::) | test(turn_panel_survives_unrelated_conversation)'— 170 passed, 6,513 skipped. Covers missing/partial historical records, hidden-turn eligibility, visible closers, local fork truncation, and panel lifecycle.cargo clippy -p warp --all-targets --tests -- -D warnings— passed../script/format— passed last.Untracked local assets:
seed_turn_panel_history_cases.pyandTURN_PANEL_HISTORY_TEST_PLAN.md. The seeder's--validateand--dumpmodes passed for 8 cases / 19 turns: complete multi-turn usage, absent and partial earlier records, tool round trips, earlier fork/rating, flag-off records, and latest legacy fallback.--dump-storedwas checked read-only; fixtures are not yet inserted. Database writes were skipped because a WarpLocal development app was running; the process guard refused writes as intended. After quitting development clients, runpython3 seed_turn_panel_history_cases.py --seedto back up and seed../script/run— pending; this remains a draft.Screenshots / Videos
No new GUI capture in this revision; manual interaction checks remain pending.
Agent Mode
Agent conversation
CHANGELOG-IMPROVEMENT: Fork and response-rating controls are available on earlier agent turns. Earlier turns also show the per-turn usage panel when complete request metadata is available.
Co-Authored-By: Warp agent@warp.dev