docs: propose first-party happiness, confusion and bug-report insight #246

Merged
ryangr0 merged 2 commits from ryangr0/docs/product-insight-tooling into development 2026-10-05 11:47:46 +00:00 AGit
Owner

What

A proposal for measuring happiness and confusion in Unfold, and for reporting bugs from inside it. Documentation only; nothing is implemented.

  • Research record docs/research/2026-10-05-product-insight-tooling.md, with five raw agent reports under evidence/2026-10-05-product-insight/. It compares about forty self-hosted and EU tools for analytics, session replay, micro-surveys and bug reporting, and summarises Dutch and EU law.
  • ADR-0023 (proposed): product events and confusion signals are first-party and tenant-scoped. Grafana Faro is an optional sink on the server. Replay and per-person views are off by default.
  • ADR-0024 (proposed): "Report a problem" takes a DOM screenshot with code and diffs blurred, and Unfold's server files it into the tenant's own tracker. Forgejo and Vikunja come first.
  • ADR-0025 (proposed): one ease question (SEQ, 7 points) on anomalies plus a random 2 % baseline, capped on the server.
  • RFC-0001..0003 under docs/design/, with five mockups: the report dialog, the filed issue, the survey prompt, the Grafana tables and the tenant settings.

Why not a tool

  • Unfold's CSP is 'self', and its VS Code webviews have connect-src 'none'.
  • No bug-report product files into Forgejo or Vikunja.
  • Screens show client code.
  • In an agency, per-person telemetry needs works council consent and a DPIA.

Marker.io, Formbricks, OpenReplay and PostHog each fail at least one of these. The record lists the triggers that would reopen each choice.

Check

mise run docs-check passes.

🤖 Generated with Claude Code

## What A proposal for measuring happiness and confusion in Unfold, and for reporting bugs from inside it. Documentation only; nothing is implemented. - **Research record** `docs/research/2026-10-05-product-insight-tooling.md`, with five raw agent reports under `evidence/2026-10-05-product-insight/`. It compares about forty self-hosted and EU tools for analytics, session replay, micro-surveys and bug reporting, and summarises Dutch and EU law. - **ADR-0023** (proposed): product events and confusion signals are first-party and tenant-scoped. Grafana Faro is an optional sink on the server. Replay and per-person views are off by default. - **ADR-0024** (proposed): "Report a problem" takes a DOM screenshot with code and diffs blurred, and Unfold's server files it into the tenant's own tracker. Forgejo and Vikunja come first. - **ADR-0025** (proposed): one ease question (SEQ, 7 points) on anomalies plus a random 2 % baseline, capped on the server. - **RFC-0001..0003** under `docs/design/`, with five mockups: the report dialog, the filed issue, the survey prompt, the Grafana tables and the tenant settings. ## Why not a tool - Unfold's CSP is `'self'`, and its VS Code webviews have `connect-src 'none'`. - No bug-report product files into Forgejo or Vikunja. - Screens show client code. - In an agency, per-person telemetry needs works council consent and a DPIA. Marker.io, Formbricks, OpenReplay and PostHog each fail at least one of these. The record lists the triggers that would reopen each choice. ## Check `mise run docs-check` passes. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
docs: propose first-party happiness, confusion and bug-report insight
All checks were successful
[Workflow] On Pull Request / ploeg-pin (pull_request) Successful in 31s
[Workflow] On Pull Request / release-policy (pull_request) Successful in 27s
[Workflow] On Pull Request / checks (pull_request) Successful in 8m38s
[Workflow] On Pull Request / warnings (pull_request) Successful in 0s
bb85881b72
Five-agent survey of self-hosted and EU analytics, session replay,
micro-survey and bug-reporting tools against Unfold's CSP, VS Code
webviews, tenancy and Dutch/EU law. Verdict: Unfold builds its own
product events, confusion signals, one-question surveys and "Report a
problem", with Grafana Faro only as an optional server-side sink.

- research record and raw evidence for 2026-10-05
- ADR-0023 (events, confusion signals, tenant defaults), ADR-0024 (bug
  reports filed into the tenant's tracker), ADR-0025 (one ease question
  on anomalies and a random baseline), all proposed
- RFC-0001..0003 under docs/design with five UI mockups
- KPI data ticket D2 points at ADR-0023; decision register regenerated

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
docs: accept ADR-0023, ADR-0024 and ADR-0025
All checks were successful
[Workflow] On Pull Request / ploeg-pin (pull_request) Successful in 34s
[Workflow] On Pull Request / release-policy (pull_request) Successful in 27s
[Workflow] On Pull Request / checks (pull_request) Successful in 6m27s
[Workflow] On Pull Request / warnings (pull_request) Successful in 0s
ebbb5e5e28
The owner accepted all three on 2026-10-05 as proposed, and the RFCs'
open questions as proposed. Statuses, the ADR index, the decision
register, the RFC headers and the research record are updated.

VIK-1894

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
ryangr0 merged commit 2a2c12918e into development 2026-10-05 11:47:46 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
webgrip/unfold!246
No description provided.