For engineers and contributors. User-facing documentation lives at /docs.

v1.9 Decisions

Record decisions with short rationale. Update as choices are locked.


1. First analysis without sign-up

OptionDescription
AYes — allow one analysis without account (anonymous/guest + 1-run cap), then prompt sign-up after first report.
BNo — 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

OptionDescription
1Default tab = CMO First Report only; Report 2/3 hidden or behind "Get deeper insights" (paid or later).
2Single 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_ENRICHMENT in lib/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.ts caps at 3–8 pages.
  • Options: Add env MAX_PAGES=5 or 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.json to 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.