v1.9 Decisions
Record decisions with short rationale. Update as choices are locked.
1. First analysis without sign-up
| Option | Description |
|---|---|
| A | Yes — allow one analysis without account (anonymous/guest + 1-run cap), then prompt sign-up after first report. |
| B | No — sign-in required; update all copy to match ("Sign in to run your first analysis — 5 free per month"). |
Decision: A implemented — One analysis without account (guest); cap by cookie pmf_guest_ran; after first report, CTA "Save your reports and get 5 free per month — sign up." See product-roadmap.md.
Rationale: Maximize top-of-funnel; guest gets one run then 402 until sign-in. Copy and behavior aligned.
2. Free tier limit
- Source of truth:
lib/billing/plan.ts(currently 5 analyses/month). - Options: 5 or 10 analyses per month for free tier.
Decision: 5 analyses per month (match lib/billing/plan.ts).
Rationale: Single source of truth; no code change.
3. Default report for MVP
| Option | Description |
|---|---|
| 1 | Default tab = CMO First Report only; Report 2/3 hidden or behind "Get deeper insights" (paid or later). |
| 2 | Single view: only show CmoFirstReportView for unauthenticated or free users. |
Decision: Option 1 — Default tab = CMO First Report experience; Report 2/3 grouped under "Deeper insights" in nav and content.
Rationale: One clear report first; power users can expand to benchmarks and plan.
4. Enrichment default in production
- Config:
ENABLE_EXTERNAL_ENRICHMENTinlib/enrichment/data-enricher.ts(default true today). - Options: Default true (current) or false for v1.9 MVP to reduce dependency on Brave/Serper.
Decision: Document only for v1.9 — set ENABLE_EXTERNAL_ENRICHMENT=false in production env for MVP if desired; code default unchanged.
Rationale: Avoid breaking existing deployments; ops can disable enrichment via env.
5. Discovery page cap
- Current:
lib/discovery.tscaps at 3–8 pages. - Options: Add env
MAX_PAGES=5or change max to 5 in code for MVP.
Decision: Optional — add MAX_PAGES env (e.g. 5) in discovery; use when set.
Rationale: MVP can cap at 5 pages without changing default behavior.
6. App version for v1.9
- Options: Bump
package.jsonto 1.9.0 at start of v1.9, or at first v1.9 release.
Decision: Bump to 1.9.0 at first v1.9 release (not at plan start).
Rationale: Keeps current version until we ship v1.9 changes.