Skip to content

docs: proposal for a reflection / support surface#87

Open
johannesjo wants to merge 3 commits into
mainfrom
claude/reflection-support-surface-djzshl
Open

docs: proposal for a reflection / support surface#87
johannesjo wants to merge 3 commits into
mainfrom
claude/reflection-support-surface-djzshl

Conversation

@johannesjo

Copy link
Copy Markdown
Owner

Translate the external (Super Productivity-flavored) brainstorming handover
onto minded's actual surfaces and pick a direction.

Key conclusions:

  • minded is a doomscroll interrupter, not a task manager, so handover
    directions B (brain-dump inbox), C (park projects until a date) and most of
    D (planning/summary tone) are weak fits or category errors here.
  • Direction A ("broaden what's in the way") is the only strong fit and is
    already 90% supported by the existing question system (chips, isDontSaveAnswer,
    the letGo standalone-question pattern, the grounding off-ramp).
  • Spec a minimal, reversible first slice: soften the UnderstandingProcrastination
    framing, add an ephemeral present-moment "what's in the way right now?" question
    with depleted-state chips, and route the depleted answer toward a supportive
    off-ramp instead of push-through.
  • Resolves the handover's open questions (no i18n layer exists; questions already
    are the editable config) and passes minded's documented 90% bar.

Awaiting maintainer sign-off on copy before any build.

Co-Authored-By: Claude Opus 4.8 noreply@anthropic.com
Claude-Session: https://claude.ai/code/session_017hbr17HwUxeZzYA3c2icis

Translate the external (Super Productivity-flavored) brainstorming handover
onto minded's actual surfaces and pick a direction.

Key conclusions:
- minded is a doomscroll interrupter, not a task manager, so handover
  directions B (brain-dump inbox), C (park projects until a date) and most of
  D (planning/summary tone) are weak fits or category errors here.
- Direction A ("broaden what's in the way") is the only strong fit and is
  already 90% supported by the existing question system (chips, isDontSaveAnswer,
  the letGo standalone-question pattern, the grounding off-ramp).
- Spec a minimal, reversible first slice: soften the UnderstandingProcrastination
  framing, add an ephemeral present-moment "what's in the way right now?" question
  with depleted-state chips, and route the depleted answer toward a supportive
  off-ramp instead of push-through.
- Resolves the handover's open questions (no i18n layer exists; questions already
  are the editable config) and passes minded's documented 90% bar.

Awaiting maintainer sign-off on copy before any build.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017hbr17HwUxeZzYA3c2icis
@github-actions

github-actions Bot commented Jun 25, 2026

Copy link
Copy Markdown

🌅 minded preview

This PR is deployed and ready to explore:

🎨 Styleguide — components & interactions https://johannesjo.github.io/minded/pr-preview/pr-87/
🌥️ Dashboard simulation — the full app shell https://johannesjo.github.io/minded/pr-preview/pr-87/dashboard.html

Updated for c0f26d9. Auto-removed when the PR closes.

claude added 2 commits June 25, 2026 13:28
Slice 1 (content-only) of the reflection / support surface proposal.

- Soften the UnderstandingProcrastination framing away from the accusatory
  register: category heading -> "What's in the Way"; reword UP1 and UP2 to
  present-moment, non-judgmental phrasing.
- Add UP8: a present-moment, intervention-only, ephemeral question
  "What's in the way right now" with depleted-state chips
  (tired / overwhelmed / can't focus / just a hard day). Marked
  isDontSaveAnswer + isSkipOnDashboard, so naming the state is the whole value
  and nothing is persisted as a metric.

The chips are an intentional, inline-documented exception to the general
"no chips on emotionally-loaded prompts" guidance: nothing is stored, so there
is no self-report record to skew, and the goal is to legitimize naming the
state, not to measure it. Clears the app's documented ~90% bar (self-reported,
present-moment, no anxiety/scarcity/guilt, dismissible).

The supportive off-ramp that routes a depleted answer away from push-through
(slice 2) is held for maintainer sign-off.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017hbr17HwUxeZzYA3c2icis
When a depleted-state chip is tapped on UP8 ("What's in the way right now"),
acknowledge it with one supportive line and ease out to the resting companion
sun, instead of proceeding into the sun-instructions -> choose-a-browse-session
flow. This resolves the "name-and-abandon" dissonance the review flagged:
naming "I'm tired" now leads toward setting things down, not pushing through.

- Add a content-driven `supportiveResponse` field on `Question`. When set, a
  tapped chip routes to the off-ramp via the existing onSkip -> handleSkip fade
  (the established resting-sun exit) rather than onSuccess. Never force-closes
  the tab, never grants a timed session.
- Scope is narrow on purpose: only chips take the exit. A typed "Something
  else..." answer is genuinely something else and follows the normal flow
  (this also sidesteps handleSkip's active-editing guard).
- Transitions stay soft: question/chips fade out, then the line fades in
  (reusing slideUpFadeIn); the resting-sun hand-off keeps its existing fade.
- Lock the data contract with supportiveResponse.test.ts (pairs with chips +
  isDontSaveAnswer; UP8 carries the full present-moment contract).

Also folds in review fixes from slice 1: UP8 moved to the end of the category
(ascending-id order), comment condensed, and UP1 reworded to "What tends to
hold you back" to remove the UP1/UP8 overlap.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017hbr17HwUxeZzYA3c2icis
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