Skip to content

Add sampled session feedback survey - #215

Open
comp615 wants to merge 6 commits into
ccroom/response-feedback-uifrom
ccroom/session-feedback-survey
Open

Add sampled session feedback survey#215
comp615 wants to merge 6 commits into
ccroom/response-feedback-uifrom
ccroom/session-feedback-survey

Conversation

@comp615

@comp615 comp615 commented Aug 25, 2026

Copy link
Copy Markdown

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.

Session feedback survey

Related issue

N/A — no duplicate issue or PR found. Depends on response-feedback PR #214.

Testing

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
AI tool validation prompt

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.

@comp615
comp615 marked this pull request as ready for review August 26, 2026 00:41
…ck-survey

* ccroom/response-feedback-ui:
  Remove response feedback appearance events

Amp-Thread-ID: https://ampcode.com/threads/T-019fbabe-6c0e-70ab-8559-31ba601d4897
Co-authored-by: Amp <amp@ampcode.com>

# Conflicts:
#	src/features/chat/response-feedback/feedbackSurveySink.ts
#	src/features/chat/ui/MessageBubble.tsx
@comp615
comp615 requested a review from a team August 26, 2026 14:27
…ck-survey

* ccroom/response-feedback-ui:
  Synchronize response feedback across renderers

@kalvinnchau kalvinnchau left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🤖 Product-semantics question for the stack: the basis-point rate is currently applied to every eligible completion until one is selected, not once per session. At 2.5%, 20 eligible opportunities produce about a 40% chance of a prompt and 100 produce about 92%, weighting the sample toward long, active sessions. If this is intentionally an opportunity hazard rate, the PR should name it that way; if it is meant to be a 2.5% session rollout, sample once and persist the sampled-out result.

Comment thread src/features/chat/response-feedback/sessionFeedbackSurveyState.ts
Comment thread src/features/chat/response-feedback/sessionFeedbackSurveyState.ts
Comment thread src-tauri/src/commands/feedback_survey.rs
Comment thread src/features/chat/ui/VirtualMessageTimeline.tsx
Comment thread src/features/chat/response-feedback/SessionFeedbackSurvey.tsx
comp615 and others added 2 commits August 26, 2026 22:55
…o ccroom/session-feedback-survey

* origin/ccroom/response-feedback-ui:
  Separate human feedback capability

Amp-Thread-ID: https://ampcode.com/threads/T-019fbabe-6c0e-70ab-8559-31ba601d4897
Co-authored-by: Amp <amp@ampcode.com>

# Conflicts:
#	src/features/chat/response-feedback/feedbackSurveyEvents.ts
#	src/features/chat/response-feedback/feedbackSurveySink.ts
@comp615

comp615 commented Aug 27, 2026

Copy link
Copy Markdown
Author

Charlie confirmed the 250-bp sampling behavior is intentionally a per-eligible-completion opportunity hazard because it matches Claude and Amp. PR text, code comments, and tests now name that behavior rather than implying a 2.5% allocation of sessions. — Amp 🤖

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants