Align codebase with the V1 production brief
Reconciles the implementation against the final MVP brief:
- Data model: rename users.provider to auth_provider and
users.subscription_status to subscription, matching the brief's schema
exactly (id, email, auth_provider, subscription, created_at). External
API field names are unchanged.
- Suggestions: replace the starter list with the brief's eight examples.
- Instructions: personality updated to calm, warm, intelligent, curious,
respectful, pedagogical — never judging, manipulative, dramatic,
overly positive, overconfident or preaching. Added per-reply goals:
feel personal, be calm, instill safety, give hope without promising
results, deepen thinking, and always contain at least one genuinely
new thought or question. Added the conversation outcome goal (greater
clarity, greater calm, a new perspective, increased trust in one's own
ability) and 'not a chatbot for general questions' to positioning.
- Paywall transition example updated to the brief's wording ('I'm
starting to see some recurring patterns… Unlock Premium to continue.').
- Knowledge base completed per the brief: communication models
(perceptual positions, observation vs interpretation, chunking,
backtracking, boundaries), reflection exercises (meaning audit,
meta-question, five frames, observer replay, well-formed outcome,
evening question) and a question library organized by purpose.
Appreciation in the Lift step must be anchored in what the user
actually expressed; the Challenge step never preaches.
- README: product principle (one user, one conversation, one analysis,
one recommendation), the removal rule, design words per the brief,
Definition of Done (7 steps), V2 not-now list (journal, saved
insights, community, coaches, courses, voice), and a closed-beta plan
for 20-50 testers with what the minimal data model can already
measure.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0118DaxZR36RpnY524vRqx3z
This commit is contained in:
@@ -2,10 +2,10 @@
|
||||
-- no conversations, no profiling data.
|
||||
|
||||
create table if not exists users (
|
||||
id text primary key, -- Cognito sub
|
||||
id text primary key, -- Cognito sub, or guest:<device-id>
|
||||
email text not null,
|
||||
provider text not null, -- 'apple' | 'google' | 'email'
|
||||
subscription_status text not null default 'free', -- 'free' | 'active'
|
||||
auth_provider text not null, -- 'apple' | 'google' | 'email' | 'guest'
|
||||
subscription text not null default 'free', -- 'free' | 'active'
|
||||
created_at timestamptz not null default now()
|
||||
);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user