Skip to content

Show turn-level controls (pie, fork, rating) on every turn-closing block (APP-5720) - #16021

Draft
Xavientois wants to merge 1 commit into
masterfrom
joshua/app-5720-turn-panel-history
Draft

Xavientois wants to merge 1 commit into
masterfrom
joshua/app-5720-turn-panel-history

Conversation

@Xavientois

@Xavientois Xavientois commented Sep 15, 2026

Copy link
Copy Markdown
Contributor

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 RequestMetadata record. Missing or partial historical records produce no pie, panel, or fallback usage pill.

The latest turn retains its existing records/legacy behavior. PricingTransparency still 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

  • Summarized-history forks: after live summarization moves a prefix into a subtask, the existing exchange-truncating fork can omit that prefix or fail. This revision does not repair task topology or hide affected fork buttons. The passing fork test covers an unsummarized tool-round-trip turn.
  • Cloud-source product question: desktop cloud-agent panes can offer an earlier-turn fork whose destination is local, bypassing the normal “Continue locally” flow. Should those buttons be offered for cloud sources?
  • Feedback: client rating actions address the selected exchange. Server-side refund behavior for earlier responses has not been verified.

Linked Issue

APP-5720

  • The linked issue is labeled ready-to-spec or ready-to-implement.
  • Where appropriate, screenshots or a short video of the implementation are included below (especially for user-visible or UI changes).

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.py and TURN_PANEL_HISTORY_TEST_PLAN.md. The seeder's --validate and --dump modes 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-stored was 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, run python3 seed_turn_panel_history_cases.py --seed to back up and seed.

  • I have manually tested my changes locally with ./script/run — pending; this remains a draft.

Screenshots / Videos

No new GUI capture in this revision; manual interaction checks remain pending.

Agent Mode

  • Warp Agent Mode - This PR was created via Warp's AI 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

@cla-bot cla-bot Bot added the cla-signed label Sep 15, 2026
@Xavientois
Xavientois force-pushed the joshua/app-5720-turn-panel-history branch from 68d0ccd to 63c7d6e Compare September 15, 2026 14:40
@Xavientois
Xavientois added this pull request to stack #15940 September 15, 2026 15:55
Base automatically changed from joshua/app-5720-turn-panel to master September 15, 2026 23:32
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
Xavientois force-pushed the joshua/app-5720-turn-panel-history branch from 63c7d6e to 7334e94 Compare September 16, 2026 13:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant