docs: document feedback collection — cadence, data, opt-out (#1111)

* docs: document feedback collection — cadence, data, opt-out

Adds guides/feedback.mdx covering: when CLI and Studio prompts
appear (render cadence, session cadence), what data is collected
(PostHog survey fields, doctor_summary shape), what is not
collected, the hyperframes feedback command for manual/agent
submission, agent runtime detection and structured hint,
config file fields, and all opt-out paths (HYPERFRAMES_NO_TELEMETRY,
DO_NOT_TRACK, CI guard, --quiet).

Also adds hyperframes feedback command entry to packages/cli.mdx
(Utilities tab, alongside telemetry) and registers guides/feedback
in the docs.json nav.

— Magi

* docs(feedback): fix cadence, agent env vars, docker gate, telemetry scope, why-we-ask

- Cadence: 1st/16th/31st (not 15th/30th/45th) per actual code
- Agent vars: CLAUDECODE/CLAUDE_CODE_ENTRYPOINT, CODEX_THREAD_ID/CODEX_CI,
  TERM_PROGRAM=cursor, Copilot value checks; add Hermes/openclaw/Pi
- Remove docker gate claim (non-TTY only, not docker-specific)
- Telemetry disable only suppresses CLI prompt, not Studio bar
- Add why-we-ask opening section
- Remove Studio 'skip' action (CLI-only); fix 'counter resets' phrasing
- Fix 'values never read' — Cursor and Copilot do value comparisons

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* docs(feedback): remove invented Studio opt-out flags; document localStorage workaround

VITE_HYPERFRAMES_FEEDBACK_INTERVAL=0 falls through to default (n > 0 guard).
VITE_HYPERFRAMES_FEEDBACK feature flag doesn't exist. Bar is mounted
unconditionally. Document the localStorage key workaround instead and
note that a proper flag is a follow-up to hf#1101.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* docs(feedback): fix localStorage workaround — only lastPromptedAt needs to be large

Setting both keys to the same value just delays 10 sessions before the bar
reappears. Setting only lastPromptedAt to 9999999 keeps count - lastAt
negative indefinitely.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* feat(studio): add VITE_HYPERFRAMES_NO_FEEDBACK build-time disable flag

Sets isFeedbackDisabled() guard in shouldShowFeedback() — when
VITE_HYPERFRAMES_NO_FEEDBACK=1, bar never shows regardless of session count.
Updates docs to document the flag and remove the localStorage workaround.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Miguel Ángel
2026-05-28 15:53:18 -04:00
committed by GitHub
co-authored by Claude Sonnet 4.6
parent 8cd74c1e8c
commit 55c4a11884
4 changed files with 253 additions and 1 deletions
@@ -4,6 +4,14 @@ import { trackStudioFeedback } from "../telemetry/events";
const DEFAULT_FEEDBACK_INTERVAL = 10;
const AUTO_DISMISS_MS = 20_000;
function isFeedbackDisabled(): boolean {
try {
return import.meta.env.VITE_HYPERFRAMES_NO_FEEDBACK === "1";
} catch {
return false;
}
}
// fallow-ignore-next-line complexity
function getFeedbackInterval(): number {
try {
@@ -25,6 +33,7 @@ const STORAGE_KEYS = {
// fallow-ignore-next-line complexity
function shouldShowFeedback(): boolean {
if (isFeedbackDisabled()) return false;
try {
const count = parseInt(localStorage.getItem(STORAGE_KEYS.sessionCount) || "0", 10) || 0;
const lastAt = parseInt(localStorage.getItem(STORAGE_KEYS.lastPromptedAt) || "0", 10) || 0;