feat: add distribution-owned response feedback UI - #214
Merged
Conversation
This was referenced Aug 25, 2026
comp615
marked this pull request as ready for review
August 26, 2026 00:41
kalvinnchau
reviewed
Aug 26, 2026
Co-authored-by: Amp <amp@ampcode.com> Amp-Thread-ID: https://ampcode.com/threads/T-019fbabe-6c0e-70ab-8559-31ba601d4897
Amp-Thread-ID: https://ampcode.com/threads/T-019fbabe-6c0e-70ab-8559-31ba601d4897 Co-authored-by: Amp <amp@ampcode.com>
Amp-Thread-ID: https://ampcode.com/threads/T-019fbabe-6c0e-70ab-8559-31ba601d4897 Co-authored-by: Amp <amp@ampcode.com>
Amp-Thread-ID: https://ampcode.com/threads/T-019fbabe-6c0e-70ab-8559-31ba601d4897 Co-authored-by: Amp <amp@ampcode.com>
comp615
force-pushed
the
ccroom/response-feedback-ui
branch
from
August 27, 2026 16:58
bfe7788 to
ccf75fd
Compare
kalvinnchau
approved these changes
Aug 27, 2026
comp615
added a commit
that referenced
this pull request
Aug 28, 2026
_This PR description was generated by AMP._ ## Summary This builds the generic sampled session survey on top of the response-feedback seam. It is stacked on the response-feedback PR and should merge after it. After five visible user turns and ten minutes, each eligible completed response gets a distribution-owned basis-point sampling opportunity, matching Claude and Amp. A selected prompt starts a persisted 27–29 hour cooldown, with arbitration serialized within the app process; this best-effort feedback path intentionally does not coordinate independent app processes. Dismiss is the default focus, Escape dismisses only while the visible survey owns focus, and focus returns to its prior target. Stock Berd still sends nothing; distributions own transport and rollout values. Virtualized transcripts include the survey in offscreen height measurements without letting the hidden measurement copy focus or emit feedback.  ### Related issue N/A — no duplicate issue or PR found. Depends on [response-feedback PR #214](#214). ### Testing ```bash bin/just check bin/pnpm vitest run src/features/chat/response-feedback src/shared/runtime-config/schema.test.ts bin/just _tauri-cargo-unix test --lib feedback_survey bin/just tauri-check ``` <details> <summary>AI tool validation prompt</summary> Copy and paste into your AI tool: ``` Review block/berd branch ccroom/session-feedback-survey and verify: 1. Run the focused survey, runtime-config, and native cooldown tests. 2. Confirm sessions shorter than five visible user turns or ten minutes never claim a survey. 3. Confirm a visible prompt defaults focus to Dismiss, Escape dismisses only while it owns focus, and a session is never prompted again after an appearance. 4. Confirm cooldown state persists across restart, claims are serialized within one app process, and the delay is randomized from 27 through 29 hours. ``` </details> --------- Co-authored-by: Amp <amp@ampcode.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.
This PR description was generated by AMP.
Summary
Berd distributions need a generic way to collect turn-level response ratings without putting a company-specific telemetry endpoint or schema in the public app.
This adds opt-in thumbs-up/down controls tied to the canonical assistant response, session ID, and message ID. Stock Berd uses a typed no-op transport and ordering seam; distributions can supply their own sink and enable the UI through the transport-neutral
feedbackSurveysbuild capability plus runtime config. Mounting, hovering, focusing, or revealing controls emits nothing; only explicit good, bad, and cleared transitions reach the sink.Related issue
N/A — no duplicate issue or PR found.
Testing
AI tool validation prompt
Copy and paste into your AI tool: