Files
waggle-os/docs/briefs/e2e-persona-tests/2026-04-25-e2e-persona-test-matrix.md
Oleg Maslov 0c3e2ead3b
Some checks failed
Installer Smoke / installer-smoke (push) Has been cancelled
moving
2026-09-02 10:10:29 +02:00

505 lines
26 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# E2E Persona Test Matrix — 3 Tier × 3 Proficiency × Persona Mapping
**Date**: 2026-04-25 (autored 2026-04-24 late evening)
**Status**: Test scripts ready, čekaju executable app + test accounts
**Authored by**: claude-opus-4-7 (PM Cowork)
**Execution method**: PM (claude-opus-4-7) sa Claude in Chrome computer use, observational testing kao stvarni user; friction log generates JSON per scenario; Marko reviewa rezultate
**Scope per Marko brief 2026-04-24**: "ne samo naplatne tiere nego i tri nivoa usera - starter, pro, professional - power user"
## §0 Architecture
### 3 monetization tiers (LOCKED per `project_locked_decisions`)
- **FREE** ($0/forever) — 5 workspaces, 22 personas, 60+ tools, persistent .mind, harvest, encrypted vault, wiki compiler, self-evolution
- **PRO** ($19/mo) — Free + unlimited workspaces, all embedding providers, skills marketplace, custom skills, compliance audit reports, priority support
- **TEAMS** ($49/seat/mo) — Pro + shared team memory, WaggleDance coordination, team skill library, admin governance, S3 team storage, audit trail compliance
### 3 user proficiency levels (per Marko brief)
- **STARTER** — first-time user, never used AI agent platform, expects guided experience, limited technical context, learns by doing
- **PRO** — regular user, knows AI agent basics (used Claude Code / Cursor / GPT API), comfortable with concepts but new to Waggle paradigm
- **PROFESSIONAL** (power user) — advanced workflows, multiple agents simultaneously, custom skills, MCP server integration, governance + audit needs
### 3 × 3 = 9 archetype matrix
| | STARTER | PRO | PROFESSIONAL |
|---|---|---|---|
| **FREE** | A1: Curious newbie | A2: Existing AI user testing alternatives | A3: Power user evaluating before buying |
| **PRO** | A4: Onboarded paying user (first month) | A5: Settled paying user (3+ months) | A6: Solo professional sa heavy workflows |
| **TEAMS** | A7: New team member onboarded by admin | A8: Active team contributor | A9: Team admin sa governance ownership |
### Persona overlay (13 bee personas iz DS spec)
Per archetype mapping, izaberem 1-2 reprezentativne persona za testing realism:
- A1 (Free Starter): **bee-confused** (overwhelmed first-timer)
- A2 (Free Pro): **bee-researcher** (academic on free tier)
- A3 (Free Professional): **bee-architect** (systems thinker, evaluating)
- A4 (Pro Starter): **bee-builder** (developer building first project)
- A5 (Pro Pro): **bee-writer** (content creator, regular use)
- A6 (Pro Professional): **bee-orchestrator** (multi-agent coordinator)
- A7 (Teams Starter): **bee-marketer** (joined team, learning)
- A8 (Teams Pro): **bee-analyst** (active team contributor)
- A9 (Teams Professional): **bee-team** (team admin/lead)
Plus dva edge case persone:
- **bee-hunter** (sales/BD, used cross-archetype za commercial scenarios)
- **bee-celebrating** (success state — does notification flow work?)
- **bee-sleeping** (idle state — what happens when user disengages?)
---
## §1 Pre-test setup checklist
Pre svakog scenario-a:
1. **Browser**: incognito Chromium (no cached state, no localStorage pollution)
2. **Device emulation**: standard desktop 1440×900, ne mobile (Tauri app je desktop-first)
3. **Network throttling**: none initially, simulate Fast 3G u stress scenarijima
4. **Test account credentials** (Marko provides): per-tier test accounts seeded sa appropriate persona profile
5. **Seed data**:
- FREE accounts: empty workspace
- PRO accounts: 3-5 sample memories, 2 agents idle
- TEAMS accounts: shared workspace sa 5 members, 10 sample memories, audit log entries
6. **Time-of-day**: skip A/B variants for now, all tests at same time-of-day to remove temporal variance
7. **Snapshots**: pre-test screenshot, post-test screenshot, friction-event screenshots (captured by computer-use mid-flow)
8. **Friction log**: open `friction-log-{archetype}-{persona}.json` template at start, populate during
### Friction log JSON schema
```json
{
"archetype": "A4-Pro-Starter",
"persona": "bee-builder",
"session_id": "uuid",
"started_at": "2026-04-25T10:00:00Z",
"ended_at": "2026-04-25T10:32:00Z",
"duration_seconds": 1920,
"scenario_completed": true,
"events": [
{
"step": 1,
"action": "click signup button",
"expected": "redirect to signup form",
"observed": "redirect to signup form",
"friction_score": 0,
"friction_note": null,
"screenshot": "01-signup-clicked.png",
"timestamp_seconds": 5
},
{
"step": 2,
"action": "complete email + password",
"expected": "submit, redirect to onboarding wizard",
"observed": "submit, but error 'password too weak' surprised user",
"friction_score": 2,
"friction_note": "User attempted 8-char password. App requires 12+ but error message didn't say that until after submit. Pre-validate during typing.",
"screenshot": "02-password-error.png",
"timestamp_seconds": 65
}
],
"summary": {
"completion_rate": "5/6 sub-tasks completed",
"avg_friction": 1.4,
"highest_friction_step": 2,
"deal_breakers": [],
"delight_moments": [
"Onboarding step 3 (persona selection) — smooth, well-designed grid"
],
"improvement_suggestions": [
"Pre-validate password during typing",
"Add 'show password' toggle (currently hidden)"
]
}
}
```
friction_score scale: 0 (smooth) / 1 (slight pause, no impact) / 2 (noticeable hesitation) / 3 (re-try required) / 4 (user almost abandoned) / 5 (complete blocker, scenario fail)
---
## §2 Coverage area inventory
Per scenario, svi profili pokrivaju subset:
| Coverage area | Description |
|---|---|
| **CA-1**: Signup + onboarding (8-step) | Welcome → WhyWaggle → Persona → ApiKey → Template → ModelTier → Import → Tier → Ready |
| **CA-2**: First memory creation | Manual entry sa scope + tag + content; verify save + appears u Memory app |
| **CA-3**: Harvest from chat | Connect provider, harvest existing chat session into memory |
| **CA-4**: Memory search | Search by name + filter by scope/tag + date range |
| **CA-5**: Graph viewport | Open Graph app, navigate force-directed canvas, click node, see drawer |
| **CA-6**: Agent spawn | Spawn agent via dock → app → "+ New Agent" or ⌘K, assign task, monitor status |
| **CA-7**: Multi-window | Open Memory + Graph + Cockpit simultaneously, drag/resize, z-order interactions |
| **CA-8**: ⌘K palette | Trigger palette in different contexts (desktop, Memory, Graph, Agents), execute commands |
| **CA-9**: Provenance audit | Open Provenance app, filter by event type, replay event state, export CSV |
| **CA-10**: Light/dark toggle | Settings → Appearance → toggle Auto/Light/Dark, verify smooth transition + token swap |
| **CA-11**: Tier upgrade flow | Click upgrade CTA, complete Stripe checkout (test card), verify tier change + new features unlocked |
| **CA-12**: Tier downgrade flow | Cancel subscription, verify graceful degradation (data preserved, features locked) |
| **CA-13**: Settings configuration | Preferences, keyboard shortcuts, providers, policy |
| **CA-14**: Notifications | Trigger toast (success + error + policy), open NotificationInbox, mark read, filter |
| **CA-15**: ⌘? shortcuts modal | Open keyboard shortcuts registry, search filter, navigate, learn |
| **CA-16**: Error handling | Network drop, invalid API key, parse error mid-flow — graceful recovery |
| **CA-17**: Workspace management | Create new workspace, switch workspaces, archive |
| **CA-18**: Skills marketplace (Pro+) | Browse marketplace, install skill, configure |
| **CA-19**: Team coordination (Teams) | Invite member, share workspace, audit member actions |
| **CA-20**: Custom skill creation (Pro+) | Build custom skill, test, publish to team library |
---
## §3 Per-archetype test scripts
### A1 — FREE Starter (bee-confused)
**Profile**: First-time AI agent platform user. Has heard about Waggle from a friend. Privacy-conscious. Tech savvy enough to install desktop apps but new to AI agent paradigms. Goal: try it free, see if it makes sense.
**Pre-test state**: Fresh download, no account, no .mind files.
**Scenario duration target**: 30-45 min
**Coverage**: CA-1, CA-2, CA-7, CA-8, CA-15, CA-16
**Step-by-step script**:
1. **Land on waggle-os.ai** — observable: hero banner, "Free for individuals" subtext, Download CTAs visible
- Friction probe: does CTA copy resonate? Is "no credit card" trust signal clear?
2. **Click "Download for Windows"** — observable: redirect to GitHub releases latest
- Friction probe: does GitHub UI feel scary to non-developer? Does .exe vs .msi vs portable confuse?
3. **Install + launch** — observable: BootScreen, OnboardingWizard appears
4. **Onboarding step 1 (Welcome)** — read welcome copy, click "Begin →"
- Friction probe: does "AI agents that remember" make sense without technical context?
5. **Step 2 (WhyWaggle)** — read why-now narrative
- Friction probe: too long? boring? appropriate depth?
6. **Step 3 (Persona)** — select "bee-confused" persona ("New to AI? Start here.")
- Friction probe: does 13-grid overwhelm? Are persona descriptions clear?
7. **Step 4 (ApiKey)** — IMPORTANT — STARTER may not have any API key
- Friction probe: does "Skip — use local Ollama" option exist? If not, ABANDON RISK
- Expected: graceful path for users without API keys (local model fallback)
8. **Step 5 (Template)** — select "personal notes" template
9. **Step 6 (ModelTier)** — select default (local Ollama / Llama 3 if no API key)
10. **Step 7 (Import)** — skip (no existing data)
11. **Step 8 (Tier)** — select Free tier
12. **Step 9 (Ready)** — click "Start using Waggle"
13. **Land on desktop** — observable: BootScreen complete, desktop with dock visible, Cockpit auto-opened
- Friction probe: does empty desktop feel inviting or intimidating?
14. **First memory creation (CA-2)** — open Memory app from dock, click "+ New memory"
- Type: name = "My first thought", scope = "personal", content = "Testing Waggle to see how this works."
- Save, verify appears u list
15. **Multi-window test (CA-7)** — open Graph app, observe empty graph (no nodes yet)
- Friction probe: does empty state explain "Add memories to populate graph"?
16. **⌘K palette (CA-8)** — press Cmd-K (or Ctrl-K on Win), see palette
- Try "search memories" → find created memory
- Friction probe: does ⌘K feel discoverable? Hint visible somewhere u UI?
17. **⌘? shortcuts (CA-15)** — press Cmd-? to see shortcuts registry
- Friction probe: does power-user feature gate intimidate Starter?
18. **Error simulation (CA-16)** — disconnect network, try search
- Expected: graceful "you're offline, search using local cache" message
19. **End test** — close all windows, observe state preservation
**Success criteria**:
- Onboarding completed without abandoning (8/8 steps)
- First memory created and searchable
- User did not require external help (no Discord/email)
- Net friction score average ≤ 2.0
- 0 deal-breakers (friction_score ≥ 5)
---
### A2 — FREE Pro (bee-researcher)
**Profile**: PhD candidate, uses Claude/GPT daily, knows about RAG, vector DBs. Has API keys for multiple providers. Wants to evaluate Waggle as alternative to NotebookLM / Mem0. Will switch if it's better.
**Coverage**: CA-1 (faster), CA-3, CA-4, CA-5, CA-9, CA-13
**Step-by-step script**:
1. Skip — same Hero + download as A1, but completes onboarding ~10x faster
2. **Onboarding (CA-1, abbreviated)** — provides Anthropic + OpenAI + Together API keys, selects "researcher" persona, "academic-research" template
3. **Harvest existing chat (CA-3)** — connect Anthropic API key, harvest last 50 conversations
- Friction probe: does harvest UI explain what gets imported? Privacy implication clear?
4. **Memory search (CA-4)** — after harvest, search "elasticity" or domain-specific term
- Friction probe: does search return semantic matches or only keyword? Is ranking sensible?
5. **Graph viewport (CA-5)** — open Graph app, see imported memories as nodes
- Click a node, see drawer sa Properties / Neighbors / Bitemporal
- Friction probe: bitemporal interface — does Researcher persona understand "VALID vs RECORDED"? Tooltip / explainer needed?
6. **Provenance audit (CA-9)** — open Provenance app, see harvest events
- Filter by source = "anthropic", inspect single event
- Friction probe: does provenance UI feel valuable to academic (citation use case) or overkill?
7. **Settings (CA-13)** — Preferences, configure default model = Claude Sonnet 4
- Friction probe: does provider routing UI confuse? Is "cost meter" visible?
**Success criteria**:
- Harvest succeeds (50/50 chats imported, memories created)
- Search returns relevant results (not just keyword match)
- Graph visualization meaningful (clusters, edges represent something)
- User remains on Free tier after test (no upsell pressure resented)
- User comments "I'd recommend this to colleagues" (qualitative)
---
### A3 — FREE Professional / Power User (bee-architect)
**Profile**: Senior systems architect, runs local LLMs, builds MCP servers, evaluates tooling for adoption. Goal: stress-test Waggle's architecture, see if it's production-grade.
**Coverage**: CA-1 (skipped — direct config), CA-3, CA-5, CA-7, CA-9, CA-13, CA-14
**Step-by-step script**:
1. Skip onboarding via "advanced setup" path (if exists)
2. **MCP server inspection** — verify Waggle's MCP server endpoint exposed locally (default port?), test from Claude Code
- Friction probe: is MCP endpoint discoverable without docs?
3. **Custom provider** — add custom OpenAI-compatible endpoint (e.g., local vLLM)
- Friction probe: provider configuration sufficiently flexible?
4. **Heavy harvest** — import 5,000+ memory items via batch script (.mind file format)
- Friction probe: large import progress indicator, error recovery?
5. **Graph stress** — open Graph app sa 5,000 nodes, pan/zoom performance
- Friction probe: rendering FPS, search latency u large graph?
6. **Multi-window stress (CA-7)** — open all 23 apps simultaneously
- Friction probe: does compositor handle? Memory leak?
7. **Audit provenance (CA-9)** — query 100k events, export CSV
- Friction probe: query latency, CSV size limit, EU AI Act audit triggers visible?
8. **Notification flood (CA-14)** — trigger 50 simultaneous notifications
- Friction probe: NotificationInbox aggregation? Toast queue management?
9. **Resource monitoring** — check Cockpit u stress conditions: memory usage, CPU, network
- Friction probe: visible OOM risk warnings? Cost meter accurate?
**Success criteria**:
- MCP server discovery + connection working
- 5,000-node graph remains usable (≥30 FPS pan)
- Notification system doesn't break under flood
- No data loss on stress operations
- Cockpit metrics accurate
- User adoption decision: "I'll try this in my team" (qualitative)
---
### A4 — PRO Starter (bee-builder)
**Profile**: Junior developer, hired into team using Waggle, paid Pro tier issued. First week, learning the tool. Goal: become productive without feeling overwhelmed.
**Coverage**: CA-1 (with API keys provided by team), CA-2, CA-4, CA-6, CA-8, CA-11
**Step-by-step script**:
1. **Login sa pre-existing Pro account** — observable: tier badge "PRO" visible u Settings or Cockpit
2. **Quick onboarding (CA-1)** — accept defaults set by admin (template, model tier)
3. **First memory (CA-2)** — same as A1 but slightly more complex (project context)
4. **Memory search (CA-4)** — search project terms
5. **Spawn agent (CA-6)** — open Agents app, click "+ Spawn agent" → "Researcher" template
- Assign task: "Read README and summarize project structure"
- Monitor status: idle → running → done
- Friction probe: spawn UX — does Starter understand parameter knobs?
6. **⌘K palette context (CA-8)** — try ⌘K when Memory focused vs Agents focused
- Friction probe: does context-switching feel natural?
7. **Tier upgrade hint** — observe upsell hints (skills marketplace teaser, custom skill creation gate)
- Friction probe: are upsell prompts honest or pushy?
**Success criteria**:
- First agent task completes successfully
- Pro features (skills marketplace) discoverable but not pushy
- User self-rates productivity gain "above average" or higher
---
### A5 — PRO Pro (bee-writer)
**Profile**: Content creator, 3+ months on Pro tier, daily user. Has personal workflows established. Goal: efficient task execution, minor optimization.
**Coverage**: CA-2, CA-4, CA-6, CA-7, CA-9, CA-18 (skills marketplace), CA-13
**Step-by-step script**:
1. **Existing workspace** — open with established memories, agents
2. **Daily workflow** — search existing memory, edit, save
3. **Spawn agent for routine task** — "Draft tomorrow's newsletter from this week's notes"
4. **Multi-window** — Memory + Chat + Agents simultaneously
5. **Skills marketplace (CA-18)** — browse, install "newsletter-formatter" skill
- Friction probe: install UX, configuration prompts, immediate availability?
6. **Provenance check (CA-9)** — verify last week's auto-generated newsletter has proper citations
7. **Settings tweaks (CA-13)** — change keyboard shortcut for "spawn newsletter agent"
**Success criteria**:
- All routine tasks complete < 50% time vs without Waggle (subjective comparison)
- Skill install + first use < 2 min
- Custom shortcut configuration works first try
---
### A6 — PRO Professional / Power User (bee-orchestrator)
**Profile**: Solo professional sa heavy parallel workflows. Runs 5+ agents simultaneously. Custom skills built. Goal: scale operations without context switching cost.
**Coverage**: CA-6 (parallel), CA-7 (heavy multi-window), CA-19 N/A solo, CA-20 (custom skills), CA-13
**Step-by-step script**:
1. **Parallel agent orchestration (CA-6)** — spawn 5 agents simultaneously, different tasks
- Friction probe: dock indicator clarity, status overlap, message routing?
2. **Custom skill creation (CA-20)** — build "competitor-tracker" skill (scrape + summarize + memory store)
- Friction probe: skill DSL learning curve? Test environment? Publish workflow?
3. **Multi-window heavy (CA-7)** — Cockpit + Memory + Graph + Agents + Chat + Provenance + Files all open
- Friction probe: window management cognitive load? Snap-zone effectiveness?
4. **Workspace switching (CA-17)** — 5 workspaces, switch quickly
5. **Audit (CA-9)** — review week's agent activity, identify cost optimization
**Success criteria**:
- 5 parallel agents complete tasks without collision
- Custom skill published + works
- Multi-window paradigm scales (no FPS drop, no z-order confusion)
- Cost meter informs efficient model routing decisions
---
### A7 — TEAMS Starter (bee-marketer)
**Profile**: New team member added by admin, first day. Doesn't know Waggle. Has shared workspace access via team license.
**Coverage**: CA-1 (team-onboarded), CA-2, CA-4, CA-19 (member side)
**Step-by-step script**:
1. **Email invite link** — click, land on team workspace
2. **Auto-onboarding (CA-1, team variant)** — provider keys inherited from team, persona selection only
3. **Shared workspace tour (CA-19 member side)** — see existing team memories, agents (read-only initially)
4. **Add first memory (CA-2)** — contribute personal note to shared scope
- Friction probe: does sharing model (private vs team) feel clear?
5. **Search team memory (CA-4)** — find colleague's memory, see attribution
**Success criteria**:
- Team workspace access immediate (no admin waiting)
- Shared vs private boundary clear
- New member feels productive within first hour
---
### A8 — TEAMS Pro (bee-analyst)
**Profile**: Active team contributor, daily Waggle user, 6+ months. Has personal scope + contributes to team scope.
**Coverage**: CA-4 (cross-scope), CA-6, CA-9 (team audit), CA-19, CA-14
**Step-by-step script**:
1. **Cross-scope search (CA-4)** — search across personal + team scopes simultaneously
2. **Spawn agent on team data (CA-6)** — agent reads team memory, produces analysis
3. **Team audit (CA-9 + CA-19)** — see all team agent runs this week, costs, impact
4. **Notifications (CA-14)** — receive notification when colleague's agent enriches shared memory
**Success criteria**:
- Cross-scope queries fast + intuitive
- Team audit visibility appropriate (not invasive but transparent)
- Notification routing makes sense
---
### A9 — TEAMS Professional / Admin (bee-team)
**Profile**: Team admin, owns governance + billing. Manages 10-50 seats. Compliance-conscious (GDPR, EU AI Act).
**Coverage**: CA-9 (full audit), CA-12 (downgrade scenario), CA-13 (admin governance), CA-19 (admin side), CA-11 (seat add/remove)
**Step-by-step script**:
1. **Admin governance panel (CA-13)** — open Policy app, define team policies
- "All agents must use models with EU data residency"
- "Audit triggers fire on every external memory share"
- Friction probe: policy DSL learning curve? Built-in templates?
2. **Add/remove seats (CA-11)** — invite 3 new members, then remove 1 (graceful downgrade CA-12)
3. **Audit trail review (CA-9)** — last 30 days, all team activity, export for compliance officer
- Friction probe: GDPR data subject access request workflow?
4. **Billing review** — see usage breakdown per member, per project, per provider
5. **Compliance trigger drill** — simulate EU AI Act Article 13 audit request, verify reproducibility
**Success criteria**:
- Policy enforcement working (test by attempting violation)
- Audit trail meets compliance officer review (subjective)
- Billing breakdown accurate vs Stripe receipts
- Seat management smooth
---
## §4 Cross-cutting test scenarios
Beyond per-archetype, run these cross-cutting flows once:
### CC-1 — Full upgrade journey (Free → Pro → Teams)
Single user account. Start Free, hit Pro feature gate, upgrade. Use Pro for a week. Hit Teams feature gate (collaboration), upgrade. Verify data persistence + feature unlock at each step.
### CC-2 — Light/dark mode toggle (CA-10) across all apps
Fresh user, default Auto mode, toggle Dark, toggle Light, observe transition. Open every app sa toggle in different states. Verify no theming regression.
### CC-3 — Network resilience (CA-16)
Mid-session, simulate: brief offline (5s), prolonged offline (5min), provider API down (Anthropic 503), invalid API key. Verify graceful UI states + automatic recovery.
### CC-4 — Multi-window paradigm stress (CA-7)
Open all 23 apps, drag/resize/snap, observe focus state, z-order, animation FPS. Ensure no compositor stutter.
### CC-5 — Onboarding abandonment recovery
Start onboarding, exit at step 3. Re-launch app. Verify resume from step 3, not restart.
### CC-6 — Tier downgrade graceful (CA-12)
Pro → Free downgrade. Verify: Pro features locked, Free features remain, data preserved, no surprise data loss.
### CC-7 — Keyboard shortcut discoverability (CA-15)
First-time user attempts to find keyboard shortcuts. ⌘? must be discoverable somehow (menubar Help item, footer hint, etc.).
### CC-8 — Provenance replay (CA-9)
Trigger an event (memory edit), wait 1 hour, replay event state. Verify exact reproduction.
### CC-9 — Cost meter accuracy
Run a complex multi-agent task, compare Cockpit cost reading to Stripe billing event. Should match.
### CC-10 — Persona switch mid-flow
Switch persona from "Researcher" to "Engineer" via Settings. Verify dock layout, default agents, preferences update appropriately.
---
## §5 Execution sequencing
**Day 1** (post-build): A1, A4, A7 — Starter tier across 3 monetization
**Day 2**: A2, A5, A8 — Pro proficiency across 3 monetization
**Day 3**: A3, A6, A9 — Professional / Power user across 3 monetization
**Day 4**: CC-1 through CC-5 — first 5 cross-cutting
**Day 5**: CC-6 through CC-10 — second 5 cross-cutting + remediation pass
Total: ~25 scenarios × 30-60 min average = ~15-25h E2E testing wall-clock + report generation.
PM (claude-opus-4-7) executes via Claude in Chrome computer-use, generates friction-log JSON per scenario, aggregates into single test report sa:
- Per-archetype completion rates
- Average friction score
- Top 10 deal-breakers (P0)
- Top 20 high-friction items (P1)
- Top 30 medium-friction items (P2)
- Delight moments (positive feedback for marketing)
- Improvement recommendations sorted by RICE score (Reach × Impact × Confidence / Effort)
---
## §6 Pre-execution prerequisites — Marko side
Before PM can start:
1. **App accessible**: dev server running locally OR staging deployed URL OR Tauri build distributed
- Decide deployment target — recommend staging URL on Vercel preview deploy for ease of access
2. **Test accounts**: 9 accounts seeded sa appropriate persona + tier + data
- Account creation script u repo? Seed data scripts?
3. **Test card credentials**: Stripe test card 4242 4242 4242 4242 (or environment-specific)
4. **Webhook stubs**: Provenance audit replay needs working backend; ensure replay endpoint live
5. **Reset-between-tests procedure**: how to clean state between archetypes (separate accounts? wipe localStorage? incognito each session?)
If any of these aren't ready, PM will identify u test results and flag back.
---
## §7 Output deliverables (post-execution)
PM produces:
- `briefs/e2e-persona-tests/results/2026-04-XX-friction-log-A1-confused.json` (per scenario)
- `briefs/e2e-persona-tests/results/2026-04-XX-friction-log-aggregate.md` — synthesis
- `briefs/e2e-persona-tests/results/2026-04-XX-improvement-roadmap.md` — RICE-prioritized fixes for CC-1 implementation sprint
---
## §8 Authorized by
PM Marko Marković, 2026-04-24 evening, scope expansion ratified ("ne samo naplatne tiere nego i tri nivoa usera - starter, pro, professional - power user, sve treba da spremiš i smisliš na osnovu repoa").
PM (claude-opus-4-7) authored matrix overnight 2026-04-24/25, čeka Marka ujutru za review of prerequisite checklist (§6) and prerequisites readiness ratification before E2E execution begins.