Preserve user query attribution across native agent flows - #15947
Draft
Legoben wants to merge 1 commit into
Draft
Conversation
Retain query origin, author, and provider context through shared-session delivery, conversion, persistence, and restoration. Pin the matching schema and protocol revisions. Co-Authored-By: Warp Agent <agent@warp.dev>
This was referenced Sep 11, 2026
Draft
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
Preserve each query's origin, author, and source context through native input conversion, conversation storage/restoration, and shared-session delivery. Fresh local input carries an explicit marker for the server to resolve against the authenticated submitter. Forwarded and historical metadata retain their original authors; missing metadata is not attributed to the desktop host.
Review the
UserQueryAttributionwrapper first, then API conversion and shared-session handling. Ordinary input, canned-response input, CLI queries, and skill invocation retain the envelope. Malformed shared envelopes have an explicit unavailable origin, and debug output does not expose identities or provider content. Shared attachments also survive the new-conversation branch.Pins the schema from warpdotdev/warp-proto-apis#381 and transport protocol from warpdotdev/session-sharing-protocol#86. The proto bump also moves charge types to their new namespace and widens wire token counts; conversion preserves existing persisted counter widths with saturation. Request-metadata records remain bookkeeping: they do not create transcript items, searchable conversation text, or first-token timestamps.
Companion server and relay changes: https://github.com/warpdotdev/warp-server/pull/17271 and https://github.com/warpdotdev/session-sharing-server/pull/525. Merge the schema and protocol foundations before this consumer; refresh dependency pins if their merged commit IDs change.
Linked Issue
Schema context: warpdotdev/warp-proto-apis#372.
ready-to-specorready-to-implement— no separate issue was supplied.Testing
./script/format --checkand./script/check_no_inline_test_modulespassed.warp_completer, GUI packagewarp, andwarp_completer, each including all targets/tests with warnings denied.New app conversion/restoration/timing tests were typechecked by Clippy but were not executed through the desktop harness. Local validation used an unchanged writable workflows dependency copy, task-local Yarn, and cached unchanged Metal artifacts; shader compilation was not tested. No temporary dependency overrides or tooling changes are committed.
The repository intentionally skips full CI for draft PRs and fails the aggregate
Check CI resultsuntil review is requested. The required local checks above passed; full remote CI still needs to run when this PR leaves draft../script/run— full GUI execution was not performed; the local Metal compiler is unavailable.Agent Mode
CHANGELOG-NONE