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

26 KiB
Raw Permalink Blame History

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

{
  "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?
  1. 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
  2. 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"?
  3. ⌘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?
  4. ⌘? shortcuts (CA-15) — press Cmd-? to see shortcuts registry
    • Friction probe: does power-user feature gate intimidate Starter?
  5. Error simulation (CA-16) — disconnect network, try search
    • Expected: graceful "you're offline, search using local cache" message
  6. 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.