Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
49 changes: 49 additions & 0 deletions docs/marketing/data/seo-geo-audit-workbook.csv

Large diffs are not rendered by default.

91 changes: 91 additions & 0 deletions docs/marketing/research/2026-06-03-seo-geo-evidence-workbook.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,91 @@
# 2026-06-03 SEO/GEO Evidence Workbook Research Note

## Summary

The SEO/GEO evidence workbook turns QuickFork's registered Search/AI baseline prompts into a concrete audit queue. Each baseline row expands into one Google Search Console task and five AI-answer audit tasks across ChatGPT Search, Perplexity, Google AI Overview, Gemini, and Claude.

This is a measurement slice, not SEO/GEO validation.

## Why This Slice Matters

- QuickFork now has multiple published product, use-case, resource, tool, and example routes, but the active experiments still have `pending_evidence`.
- Search Console exports and AI-answer audits are manual enough that evidence can drift unless the exact route, query, surface, required fields, and forbidden claims are fixed.
- A supervisor-grade workbook lets growth reviewers audit the same experiment contract across GA4, Search Console, and answer-engine surfaces before choosing the next landing page or product slice.
- This supports the current P0 priority: collect evidence before scaling more pages.

## Target User

- SEO/GEO supervisor reviewing whether QuickFork is indexable, extractable, and accurately summarized.
- Growth operator collecting route-level Search Console and AI-answer evidence.
- Product marketer deciding whether a page promise deserves more content, product, or paid-package investment.

## Lifecycle Position

- Discovery: query clusters and AI prompts are fixed by the Search/AI baseline contract.
- Validation: workbook rows specify the evidence needed before route comparisons can be decided.
- Activation: workbook decisions must be read alongside generation, artifact export, and launch materials map copy behavior.
- Monetization: paid package decisions still require lead quality and willingness-to-pay evidence.

## Growth Contract

Primary metric:

- Completion of Search Console and AI-answer audit rows for each active experiment that requires search or AI evidence.

Supporting metrics:

- `page_view`, `cta_clicked`, `generation_started`, `generation_completed`, and `generation_failed` over the same 14-day window.
- `launch_materials_map_copied` for `2026_q2_launch_materials_map_intent_validation`.
- Lead-quality fields for full launch package requests when bottom-funnel pages are involved.

Guardrails:

- Do not treat workbook rows, prompt coverage, or page publication as search demand.
- Do not claim ranking wins, AI citations, revenue, customer count, conversion lift, Product Hunt results, guaranteed launches, or pricing validation.
- Keep the workbook PII-free: no raw emails, raw repo content, source notes, private launch notes, tokens, secrets, raw artifact bodies, or customer proof.

## Implemented Surface

- `src/marketing/seo-geo-audit-workbook.ts`
- `src/marketing/seo-geo-audit-workbook.test.ts`
- `docs/marketing/data/seo-geo-audit-workbook.csv`
- `docs/superpowers/plans/2026-06-03-seo-geo-evidence-workbook.md`

## Workbook Contract

Every Search/AI baseline row now produces six audit rows:

- `google_search_console`: collect `window_start`, `window_end`, `query`, `page`, `country`, `device`, `impressions`, `clicks`, `ctr`, and `average_position`.
- `chatgpt_search`, `perplexity`, `google_ai_overview`, `gemini`, and `claude`: collect `audit_date`, `mentioned`, `cited`, `source_url`, `answer_summary`, `accuracy_status`, `competitors_cited`, and `forbidden_claims_observed`.

The workbook keeps each row tied to:

- Baseline id.
- Experiment id.
- Control or variant role.
- Canonical path.
- Target user.
- Query cluster.
- Surface.
- Expected terms.
- Forbidden claims.
- Pending status and next action.

## Current Verification

- RED test failed first because `src/marketing/seo-geo-audit-workbook.ts` did not exist.
- GREEN focused verification passed after adding the module and CSV mirror: `npm test -- src/marketing/seo-geo-audit-workbook.test.ts` returned 1 file passed and 5 tests passed.
- Related verification passed: `npm test -- src/marketing/seo-geo-audit-workbook.test.ts src/marketing/search-ai-baseline.test.ts src/marketing/growth-experiment-report.test.ts` returned 3 files passed and 21 tests passed.
- Initial full `npm test` attempts with the default forks pool hit Vitest worker startup timeouts in this local environment.
- Targeted reruns of the affected files passed, including `npm test -- src/App.test.tsx -t "keeps the generator studio|full launch package contact|landing architecture"` and `npm test -- src/server/marketing/launch-package-fit.test.ts`.
- Full verification passed with threads pool: `npm test -- --testTimeout=30000 --pool=threads` returned 25 files passed and 168 tests passed.
- Build verification passed: `npm run build` completed TypeScript build and Vite production build.
- Diff hygiene passed: `git diff --check` returned no whitespace errors.

## Decision

Treat the workbook as P0 measurement infrastructure. It makes SEO/GEO evidence collection executable, but it does not prove indexed demand, answer-engine citation, activation quality, lead quality, or willingness to pay.

## Next Validation Step

Use the workbook to collect 14-day Search Console and AI-answer evidence for the active validation experiments, then fill `docs/marketing/data/growth-experiment-evidence.csv` and decide whether each page should be promoted, rewritten, consolidated, or paused.
45 changes: 45 additions & 0 deletions docs/marketing/research/2026-06-03-sites-output-enablement.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
# Sites Output Enablement

Date: 2026-06-03

## Hypothesis

If QuickFork exposes Sites as part of the launch package, founders, open-source maintainers, and DevRel operators can turn the same repository evidence into a reviewable site/page spine instead of treating launch output as only README, deck, social, visual, and outreach files.

## Lifecycle Stage

- Stage: Activation to monetization.
- Target user: AI/devtool builders, open-source maintainers, technical founders, and DevRel operators preparing a public launch.
- Product surface: generated launch brief, studio output presets, and full launch package qualification form.
- CTA: generate a similar launch package or request a reviewed full launch package.
- Primary metric: `launch_artifact_copied` or `launch_artifact_downloaded` where `artifact_type=site`; `sales_contact_requested` with package scope including `sites`.
- Guardrail metric: no raw README text, artifact body, email, token, secret, unsupported customer proof, ranking, revenue, or guaranteed-growth claim in browser analytics.

## Change

- Added `site` as a generated launch materials channel.
- Added a source-backed "Launch site page spine" export artifact.
- Added a Sites output preset for the studio.
- Added Sites to full launch package qualification scope.
- Kept Sites as a reviewable page spine, not automatic public publishing.

## Evidence Observed

- RED generation test failed first because the launch brief did not include the site channel.
- RED App tests failed first because the studio and contact scope form did not expose Sites.
- Focused GREEN verification passed after implementation:
- `npm test -- src/server/generation/generation.test.ts -t "source-backed free repo launch brief"`
- `npm test -- src/App.test.tsx -t "keeps the generator studio|full launch package contact"`
- `npm test -- src/server/marketing/launch-package-fit.test.ts src/server/marketing/lead-capture.test.ts -t "launch package fit|full launch package qualification"`
- Related focused verification passed after the final scope-count alignment:
- `npm test -- src/server/generation/generation.test.ts -t "source-backed free repo launch brief"` returned 1 file passed and 1 selected test passed.
- `npm test -- src/App.test.tsx -t "keeps the generator studio|full launch package contact|landing architecture"` returned 1 file passed and 3 selected tests passed.
- `npm test -- src/server/marketing/launch-package-fit.test.ts src/server/marketing/lead-capture.test.ts -t "launch package fit|full launch package qualification"` returned 2 files passed and 2 selected tests passed.
- Full verification with the default forks pool hit Vitest worker startup timeout in this local environment, but no Sites assertion failed after the scope-count fix.
- Full verification passed with threads pool: `npm test -- --testTimeout=30000 --pool=threads` returned 25 files passed and 168 tests passed.
- Build verification passed: `npm run build` completed TypeScript build and Vite production build.
- Diff hygiene passed: `git diff --check` returned no whitespace errors.

## Remaining Validation Gap

No production users have copied, downloaded, or requested the Sites scope yet. Treat the output as a monetization hypothesis until artifact interactions, full-package requests, or interviews show that launch site/page support is more valuable than the existing README, social, deck, visual, and outreach outputs.
110 changes: 110 additions & 0 deletions docs/plans/2026-06-01-quickfork-growth-lifecycle-prioritization.md
Original file line number Diff line number Diff line change
Expand Up @@ -1646,3 +1646,113 @@ Decision:
Next action:

- Run full verification, merge, production smoke, then use `2026_q2_launch_materials_map_intent_validation` for 14 days of GA4, Search Console, and AI-answer evidence collection.

## 2026-06-03 Sites Output Enablement Slice

Hypothesis:

- If QuickFork exposes Sites as part of the launch package, founders, open-source maintainers, and DevRel operators can turn repository evidence into a reviewable launch site/page spine instead of treating launch output as only README, deck, social, visual, and outreach material.

Lifecycle stage:

- Activation to monetization.

Target user:

- AI/devtool builders, open-source maintainers, technical founders, and DevRel operators preparing a public launch.

Changed surface:

- `src/server/generation/types.ts`
- `src/server/generation/launch-brief.ts`
- `src/server/generation/generation.test.ts`
- `src/components/landing/HeroSection.tsx`
- `src/components/studio/ProductStudio.tsx`
- `src/components/marketing/LeadCaptureForm.tsx`
- `src/core/pipeline.ts`
- `src/App.test.tsx`
- `src/server/marketing/launch-package-fit.test.ts`
- `src/server/marketing/lead-capture.test.ts`
- `docs/marketing/research/2026-06-03-sites-output-enablement.md`

Metric:

- `launch_artifact_copied` or `launch_artifact_downloaded` where `artifact_type=site`.
- `sales_contact_requested` with package scope including `sites`.

Guardrail:

- Sites output is a reviewable page spine, not automatic publishing.
- Do not send raw README text, raw artifact body, email, token, secret, unsupported customer proof, rankings, revenue, pricing, or guaranteed-growth claims to browser analytics.

Evidence observed:

- RED generation test failed first because the launch brief did not include the site channel.
- RED App tests failed first because the studio and full launch package form did not expose Sites.
- Focused generation verification passed: `npm test -- src/server/generation/generation.test.ts -t "source-backed free repo launch brief"` returned 1 file passed and 1 selected test passed.
- Focused App verification passed: `npm test -- src/App.test.tsx -t "keeps the generator studio|full launch package contact|landing architecture"` returned 1 file passed and 3 selected tests passed.
- Focused lead qualification verification passed: `npm test -- src/server/marketing/launch-package-fit.test.ts src/server/marketing/lead-capture.test.ts -t "launch package fit|full launch package qualification"` returned 2 files passed and 2 selected tests passed.
- Full verification passed with threads pool: `npm test -- --testTimeout=30000 --pool=threads` returned 25 files passed and 168 tests passed.
- Build verification passed: `npm run build` completed TypeScript build and Vite production build.
- Diff hygiene passed: `git diff --check` returned no whitespace errors.

Decision:

- Treat Sites as a product-output and monetization hypothesis. It fills a landing-page material gap in the launch package, but production users have not yet copied, downloaded, or requested this scope.

Next action:

- Track site artifact copy/download and full launch package requests with `sites` scope before investing in full hosted site generation, CMS export, or public landing-page automation.

## 2026-06-03 SEO/GEO Evidence Workbook Slice

Hypothesis:

- If QuickFork expands each registered Search/AI baseline row into a surface-specific audit workbook, SEO/GEO reviewers can collect Search Console and AI-answer evidence without drifting from the experiment contract.

Lifecycle stage:

- Validation, P0 measurement and evidence.

Target user:

- SEO/GEO supervisor auditing whether QuickFork is indexable, extractable, and accurately summarized.
- Growth operator collecting Search Console and AI-answer evidence for active page-intent experiments.

Changed surface:

- `src/marketing/seo-geo-audit-workbook.ts`
- `src/marketing/seo-geo-audit-workbook.test.ts`
- `docs/marketing/data/seo-geo-audit-workbook.csv`
- `docs/marketing/research/2026-06-03-seo-geo-evidence-workbook.md`
- `docs/superpowers/plans/2026-06-03-seo-geo-evidence-workbook.md`

Metric:

- Completion of Search Console and AI-answer workbook rows for experiments that require search or AI evidence.
- Supporting route metrics remain `page_view`, `cta_clicked`, `generation_started`, `generation_completed`, and `generation_failed` over the same 14-day window.

Guardrail:

- Do not treat a workbook row, prompt, route, or crawler asset as validated search demand or AI visibility.
- Do not claim ranking wins, AI citations, customer traction, revenue, conversion lift, pricing validation, Product Hunt outcomes, or guaranteed launches.
- Keep workbook rows free of raw emails, raw repo text, source notes, private launch notes, tokens, secrets, raw artifacts, or unsupported proof.

Evidence observed:

- RED test failed first because the SEO/GEO audit workbook module did not exist.
- Focused verification passed after adding the module and CSV mirror: `npm test -- src/marketing/seo-geo-audit-workbook.test.ts` returned 1 file passed and 5 tests passed.
- Related verification passed: `npm test -- src/marketing/seo-geo-audit-workbook.test.ts src/marketing/search-ai-baseline.test.ts src/marketing/growth-experiment-report.test.ts` returned 3 files passed and 21 tests passed.
- Initial full `npm test` attempts with the default forks pool hit Vitest worker startup timeouts in this local environment.
- Targeted reruns of the affected files passed, including `npm test -- src/App.test.tsx -t "keeps the generator studio|full launch package contact|landing architecture"` and `npm test -- src/server/marketing/launch-package-fit.test.ts`.
- Full verification passed with threads pool: `npm test -- --testTimeout=30000 --pool=threads` returned 25 files passed and 168 tests passed.
- Build verification passed: `npm run build` completed TypeScript build and Vite production build.
- Diff hygiene passed: `git diff --check` returned no whitespace errors.

Decision:

- Treat this as P0 measurement infrastructure, not a validation result. It makes the current active experiments reviewable by a senior SEO/GEO operator before QuickFork scales more landing pages.

Next action:

- Run related/full verification, then use the workbook to collect 14-day Search Console and AI-answer evidence before deciding which active page-intent experiments should be promoted, rewritten, consolidated, or paused.
Loading
Loading