← All Reports

Report #9

Project: Lenci V0.2.0 R1

2026-02-26 21:01:20

#9 2026-02-26 21:01:20

Description

Issue description (better) The onboarding trial logic grants only 10 credits when the user starts a paid-plan trial, while the free plan grants 100 credits. This makes the “upgrade/trial” path feel objectively worse than staying on the free plan, which is counterintuitive and undermines conversion: users perceive the paid plan as offering less value during evaluation. In the screenshot, the “Free Trial Started!” step explicitly states 10 free credits (sidebar also shows 10), reinforcing that the trial experience is more limited than the free tier. Expected behavior A paid-plan trial should provide equal or higher evaluation value than the free plan (credits and/or capabilities). Credit grants should align with the product’s value ladder: Free plan = baseline credits. Paid trial = at least baseline credits (or fewer credits only if compensated by clearly superior capabilities/limits). The UI copy should reflect a coherent pricing narrative (trial ≠ downgrade). Acceptance criteria AC1 — Value ladder sanity: Paid-plan trial credits are ≥ free plan credits, or if credits are lower, the product clearly communicates compensating benefits (e.g., higher quality models, faster queue, advanced features) in the same onboarding step. AC2 — Plan-consistent messaging: The trial screen accurately shows: the plan being trialed, credits granted for that plan, and why that amount makes sense relative to free. AC3 — No “trial downgrade” outcome: A user comparing free vs paid trial cannot conclude “paid trial gives less value” based on credits/limits displayed in onboarding and sidebar. AC4 — Configurable & deterministic: Trial credit amounts are driven by plan configuration (not hardcoded), and switching trial plan types reliably changes the granted credit amount accordingly. AC5 — Regression check: New accounts starting: Free plan → receive the configured free credits. Paid-plan trial → receive the configured trial credits (meeting AC1), and sidebar matches onboarding.

Console Output

api-DwqDtze-.js:1 [PerformanceService] Initialized
api-DwqDtze-.js:1 [PerformanceService] Auto-initialized, session: session_1772139012519_szs9pkshq
creditHistoryService-DnIqKhcN.js:1 🚀 [AuthContext] Initializing authentication...
creditHistoryService-DnIqKhcN.js:1 ✅ [AuthContext] Session found for user: ash5-test-lenci@25hraf.com
creditHistoryService-DnIqKhcN.js:1 🔍 [AuthContext] Fetching profile for user: ash5-test-lenci@25hraf.com 6075f653-6566-4796-8486-f46b7cc4123a
creditHistoryService-DnIqKhcN.js:1 ✅ [AuthContext] User profile loaded from API: {id: '6075f653-6566-4796-8486-f46b7cc4123a', email: 'ash5-test-lenci@25hraf.com', email_verified: true, display_name: 'ash f', avatar_url: null, …}
creditHistoryService-DnIqKhcN.js:1 📊 [AuthContext] Final user profile: {id: '6075f653-6566-4796-8486-f46b7cc4123a', email: 'ash5-test-lenci@25hraf.com', plan: 'starter', generationsUsed: 0, creditsBalance: 10}
creditHistoryService-DnIqKhcN.js:1 ✅ [AuthContext] User profile set in state
creditHistoryService-DnIqKhcN.js:1 WebSocket connection to 'wss://test-lenci.siyadatech.studio/api/ws?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3NzIxNDI1MDgsImlhdCI6MTc3MjEzODkwOCwic3ViIjoiNjA3NWY2NTMtNjU2Ni00Nzk2LTg0ODYtZjQ2YjdjYzQxMjNhIiwiZW1haWwiOiJhc2g1LXRlc3QtbGVuY2lAMjVocmFmLmNvbSIsInBob25lIjoiIiwiYXBwX21ldGFkYXRhIjp7InByb3ZpZGVyIjoiZW1haWwiLCJwcm92aWRlcnMiOlsiZW1haWwiXX0sInVzZXJfbWV0YWRhdGEiOnsiZGlzcGxheV9uYW1lIjoiYXNoIGYifSwicm9sZSI6IiIsImFhbCI6ImFhbDEiLCJhbXIiOlt7Im1ldGhvZCI6InBhc3N3b3JkIiwidGltZXN0YW1wIjoxNzcyMTM4OTA4fV0sInNlc3Npb25faWQiOiI5ZTQ0ZjZlNS02MWJkLTQ5ZTQtYjc2Ny02NjYwNzYwNjQ0M2UifQ.rlhvansA3V8OYZ4Fxfqi8d1Gpb5yTtyCbj_50hxdetY' failed: 
connect @ creditHistoryService-DnIqKhcN.js:1
creditHistoryService-DnIqKhcN.js:1 [WS] Connected
api-DwqDtze-.js:1 [PerformanceService] Skipping sync of 9 metrics (Supabase migration - not persisted)
main-w6z9O1el.js:9877 [AutoSave] Draft restored for apparel
api-DwqDtze-.js:1 [PerformanceService] Skipping sync of 3 metrics (Supabase migration - not persisted)

Screenshots & Video