waiting-for-final-whitelist-proof
doggyd4n
Attach final ClickBank good-to-go, dashboard approval, or generated DOGGYD4N affiliate link proof for affiliate nickname gooochiii; the 2026-06-08 trainer review is recorded but does not replace whitelist proof.
Status: approved-paused Priority: P1 Type: affiliate-approval
Accepted proof record Attach final ClickBank good-to-go, dashboard approval, or generated DOGGYD4N affiliate link proof for affiliate nickname gooochiii; the 2026-06-08 trainer review is recorded but does not replace whitelist proof.
Required proof Trainer review passed on 2026-06-08; final ClickBank good-to-go or dashboard proof is still required before any reactivity CTA changes. | 2026-06-08 Doggy Dan email says whitelist setup is in progress and ClickBank confirmation should arrive later; do not treat it as final good-to-go proof.
Proof acceptance check Accept only a final ClickBank good-to-go email, dashboard approval state, or generated DOGGYD4N affiliate link proof; the 2026-06-08 Doggy Dan email is whitelist-in-progress only.
Primary update target src/data/affiliateProgramStatus.ts
Secondary update target /affiliate-approvals/ | /launch-ops/external-action-queue/
Public change allowed after intake Activate DOGGYD4N only if final ClickBank whitelist proof and the 2026-06-08 trainer review outcome are both recorded; keep professional-help-first copy.
Still blocked until No public DOGGYD4N hoplink, CTA, or auto-forward while final ClickBank good-to-go or dashboard proof is missing.
Local revalidation command npm run check && npm run build && npm run audit:growth && npm run audit:launch && npm run audit:gear
Live revalidation After deploy, verify the changed route and run npm run audit:live.
Rollback trigger Rollback if approval cannot be reverified, tracking fails, merchant URL changes risk category, or audit finds an unapproved outbound link.
waiting-for-approval-proof
amazon-associates
Record the approval email or dashboard state, real tracking ID, approved merchant URL, and matching gear offer fields before any outbound gear link.
Status: not-confirmed Priority: P1 Type: affiliate-approval
Accepted proof record Record the approval email or dashboard state, real tracking ID, approved merchant URL, and matching gear offer fields before any outbound gear link.
Required proof Account approval, merchant approval, real tracking ID, approved HTTPS merchant URL, factual commission note, and gear safety proof. | Merchant or network dashboard screenshot/export plus the exact tracking ID and product or category URL.
Proof acceptance check Accept only a dashboard state, approval email, real tracking ID, approved merchant URL, and dated note that matches the program row.
Primary update target src/data/affiliateProgramStatus.ts | src/data/gearOffers.ts
Secondary update target /affiliate-approvals/ | /launch-ops/external-action-queue/
Public change allowed after intake Replace category-only gear guidance with approved merchant redirect details only for approved merchants and safe categories.
Still blocked until No public outbound merchant link, hoplink, or auto-forward while approval, tracking ID, or merchant URL is missing.
Local revalidation command npm run check && npm run build && npm run audit:growth && npm run audit:launch && npm run audit:gear
Live revalidation After deploy, verify the changed route and run npm run audit:live.
Rollback trigger Rollback if approval cannot be reverified, tracking fails, merchant URL changes risk category, or audit finds an unapproved outbound link.
waiting-for-approval-proof
chewy
Record the approval email or dashboard state, real tracking ID, approved merchant URL, and matching gear offer fields before any outbound gear link.
Status: not-confirmed Priority: P1 Type: affiliate-approval
Accepted proof record Record the approval email or dashboard state, real tracking ID, approved merchant URL, and matching gear offer fields before any outbound gear link.
Required proof Account approval, merchant approval, real tracking ID, approved HTTPS merchant URL, factual commission note, and gear safety proof. | Merchant or network dashboard screenshot/export plus the exact tracking ID and product or category URL.
Proof acceptance check Accept only a dashboard state, approval email, real tracking ID, approved merchant URL, and dated note that matches the program row.
Primary update target src/data/affiliateProgramStatus.ts | src/data/gearOffers.ts
Secondary update target /affiliate-approvals/ | /launch-ops/external-action-queue/
Public change allowed after intake Replace category-only gear guidance with approved merchant redirect details only for approved merchants and safe categories.
Still blocked until No public outbound merchant link, hoplink, or auto-forward while approval, tracking ID, or merchant URL is missing.
Local revalidation command npm run check && npm run build && npm run audit:growth && npm run audit:launch && npm run audit:gear
Live revalidation After deploy, verify the changed route and run npm run audit:live.
Rollback trigger Rollback if approval cannot be reverified, tracking fails, merchant URL changes risk category, or audit finds an unapproved outbound link.
waiting-for-approval-proof
petco
Record the approval email or dashboard state, real tracking ID, approved merchant URL, and matching gear offer fields before any outbound gear link.
Status: not-confirmed Priority: P1 Type: affiliate-approval
Accepted proof record Record the approval email or dashboard state, real tracking ID, approved merchant URL, and matching gear offer fields before any outbound gear link.
Required proof Account approval, merchant approval, real tracking ID, approved HTTPS merchant URL, factual commission note, and gear safety proof. | Merchant or network dashboard screenshot/export plus the exact tracking ID and product or category URL.
Proof acceptance check Accept only a dashboard state, approval email, real tracking ID, approved merchant URL, and dated note that matches the program row.
Primary update target src/data/affiliateProgramStatus.ts | src/data/gearOffers.ts
Secondary update target /affiliate-approvals/ | /launch-ops/external-action-queue/
Public change allowed after intake Replace category-only gear guidance with approved merchant redirect details only for approved merchants and safe categories.
Still blocked until No public outbound merchant link, hoplink, or auto-forward while approval, tracking ID, or merchant URL is missing.
Local revalidation command npm run check && npm run build && npm run audit:growth && npm run audit:launch && npm run audit:gear
Live revalidation After deploy, verify the changed route and run npm run audit:live.
Rollback trigger Rollback if approval cannot be reverified, tracking fails, merchant URL changes risk category, or audit finds an unapproved outbound link.
waiting-for-approval-proof
impact
Record the approval email or dashboard state, real tracking ID, approved merchant URL, and matching gear offer fields before any outbound gear link.
Status: not-confirmed Priority: P1 Type: affiliate-approval
Accepted proof record Record the approval email or dashboard state, real tracking ID, approved merchant URL, and matching gear offer fields before any outbound gear link.
Required proof Account approval, merchant approval, real tracking ID, approved HTTPS merchant URL, factual commission note, and gear safety proof. | Merchant or network dashboard screenshot/export plus the exact tracking ID and product or category URL.
Proof acceptance check Accept only a dashboard state, approval email, real tracking ID, approved merchant URL, and dated note that matches the program row.
Primary update target src/data/affiliateProgramStatus.ts | src/data/gearOffers.ts
Secondary update target /affiliate-approvals/ | /launch-ops/external-action-queue/
Public change allowed after intake Replace category-only gear guidance with approved merchant redirect details only for approved merchants and safe categories.
Still blocked until No public outbound merchant link, hoplink, or auto-forward while approval, tracking ID, or merchant URL is missing.
Local revalidation command npm run check && npm run build && npm run audit:growth && npm run audit:launch && npm run audit:gear
Live revalidation After deploy, verify the changed route and run npm run audit:live.
Rollback trigger Rollback if approval cannot be reverified, tracking fails, merchant URL changes risk category, or audit finds an unapproved outbound link.
waiting-for-read-access-proof
gmail-connector-reauth
Paste the dated connector output, report screenshot, or workflow URL into the access recovery packet before closing only that access lane.
Status: reauth-required Priority: P1 Type: access-recovery
Accepted proof record Paste the dated connector output, report screenshot, or workflow URL into the access recovery packet before closing only that access lane.
Required proof Connector search output or browser Gmail screenshot with timestamp, query, result count, sender, subject, and relevant approval or support proof.
Proof acceptance check Accept only dated connector output, authenticated report screenshots, or workflow URLs that identify the account, property, repository, query, or date range checked.
Primary update target external-launch-checklist-2026-06-02.md | ops-log-2026-06-03.md | src/data/affiliateProgramStatus.ts only when new approval proof exists.
Secondary update target /launch-ops/ | /launch-ops/external-action-queue/
Public change allowed after intake No public visible change; only update the access proof note and then run the underlying approval, GA4, or Actions check.
Still blocked until Do not mark approvals, workflow runs, GA4 counts, or growth decisions complete while access is missing.
Local revalidation command npm run check && npm run build && npm run audit:growth && npm run audit:launch
Live revalidation After deploy, verify the changed route and run npm run audit:live.
Rollback trigger Rollback any closed access note if the connector loses authorization again, the report cannot be reopened, or proof was captured from the wrong account/property/repository.
waiting-for-read-access-proof
github-actions-access
Paste the dated connector output, report screenshot, or workflow URL into the access recovery packet before closing only that access lane.
Status: authorization-required Priority: P1 Type: access-recovery
Accepted proof record Paste the dated connector output, report screenshot, or workflow URL into the access recovery packet before closing only that access lane.
Required proof Workflow run URL, commit SHA, workflow name, conclusion, timestamp, latest attempt, and failing job log if any run is not green.
Proof acceptance check Accept only dated connector output, authenticated report screenshots, or workflow URLs that identify the account, property, repository, query, or date range checked.
Primary update target ops-log-2026-06-03.md | live-deployment-check-2026-06-03.md | worker-live-check-2026-06-03.md.
Secondary update target /launch-ops/ | /launch-ops/external-action-queue/
Public change allowed after intake No public visible change; only update the access proof note and then run the underlying approval, GA4, or Actions check.
Still blocked until Do not mark approvals, workflow runs, GA4 counts, or growth decisions complete while access is missing.
Local revalidation command npm run check && npm run build && npm run audit:growth && npm run audit:launch
Live revalidation After deploy, verify the changed route and run npm run audit:live.
Rollback trigger Rollback any closed access note if the connector loses authorization again, the report cannot be reopened, or proof was captured from the wrong account/property/repository.
waiting-for-read-access-proof
ga4-read-access
Paste the dated connector output, report screenshot, or workflow URL into the access recovery packet before closing only that access lane.
Status: login-or-read-access-required Priority: P1 Type: access-recovery
Accepted proof record Paste the dated connector output, report screenshot, or workflow URL into the access recovery packet before closing only that access lane.
Required proof GA4 screenshot or export with property name, date range, event count, source or page cluster breakdown, and explicit zero-count note when applicable.
Proof acceptance check Accept only dated connector output, authenticated report screenshots, or workflow URLs that identify the account, property, repository, query, or date range checked.
Primary update target /growth-review/ | /growth-review/analytics-manifest.csv | external-launch-checklist-2026-06-02.md | ops-log-2026-06-03.md.
Secondary update target /launch-ops/ | /launch-ops/external-action-queue/
Public change allowed after intake No public visible change; only update the access proof note and then run the underlying approval, GA4, or Actions check.
Still blocked until Do not mark approvals, workflow runs, GA4 counts, or growth decisions complete while access is missing.
Local revalidation command npm run check && npm run build && npm run audit:growth && npm run audit:launch
Live revalidation After deploy, verify the changed route and run npm run audit:live.
Rollback trigger Rollback any closed access note if the connector loses authorization again, the report cannot be reopened, or proof was captured from the wrong account/property/repository.
blocked-until-dated-evidence
owner-test-treasure-hunt
Attach the dated owner notes, media files, or trainer comments to the evidence tracker and limit public copy to the exact page or cluster covered.
Status: needs-real-test Priority: P2 Type: evidence-intake
Accepted proof record Attach the dated owner notes, media files, or trainer comments to the evidence tracker and limit public copy to the exact page or cluster covered.
Required proof Dated session note, dog age/size/energy, setup, dog response, mistakes, safety observations, session length, publishing decision, and safe media reference if used.
Proof acceptance check Accept only dated notes, media, or trainer feedback that covers every required field and safety stop in the proof packet.
Primary update target src/data/evidenceCollectionStatus.ts
Secondary update target /evidence-tracker/ | /review-status/
Public change allowed after intake Add narrow first-hand note, real media reference, or trainer-reviewed wording only to the exact covered page or cluster.
Still blocked until No owner-tested, real dog demo, trainer-reviewed, or stronger trust claim until proof is attached and dated.
Local revalidation command npm run check && npm run build && npm run audit:growth && npm run audit:launch
Live revalidation After deploy, verify the changed route and run npm run audit:live.
Rollback trigger Rollback if notes are incomplete, media conflicts with safety checks, or trainer feedback flags wording as unsafe.
blocked-until-dated-evidence
owner-test-snuffle-scatter
Attach the dated owner notes, media files, or trainer comments to the evidence tracker and limit public copy to the exact page or cluster covered.
Status: needs-real-test Priority: P2 Type: evidence-intake
Accepted proof record Attach the dated owner notes, media files, or trainer comments to the evidence tracker and limit public copy to the exact page or cluster covered.
Required proof Dated session note, dog age/size/energy, setup, dog response, mistakes, safety observations, session length, publishing decision, and safe media reference if used.
Proof acceptance check Accept only dated notes, media, or trainer feedback that covers every required field and safety stop in the proof packet.
Primary update target src/data/evidenceCollectionStatus.ts
Secondary update target /evidence-tracker/ | /review-status/
Public change allowed after intake Add narrow first-hand note, real media reference, or trainer-reviewed wording only to the exact covered page or cluster.
Still blocked until No owner-tested, real dog demo, trainer-reviewed, or stronger trust claim until proof is attached and dated.
Local revalidation command npm run check && npm run build && npm run audit:growth && npm run audit:launch
Live revalidation After deploy, verify the changed route and run npm run audit:live.
Rollback trigger Rollback if notes are incomplete, media conflicts with safety checks, or trainer feedback flags wording as unsafe.
blocked-until-dated-evidence
owner-test-muffin-game
Attach the dated owner notes, media files, or trainer comments to the evidence tracker and limit public copy to the exact page or cluster covered.
Status: needs-real-test Priority: P2 Type: evidence-intake
Accepted proof record Attach the dated owner notes, media files, or trainer comments to the evidence tracker and limit public copy to the exact page or cluster covered.
Required proof Dated session note, dog age/size/energy, setup, dog response, mistakes, safety observations, session length, publishing decision, and safe media reference if used.
Proof acceptance check Accept only dated notes, media, or trainer feedback that covers every required field and safety stop in the proof packet.
Primary update target src/data/evidenceCollectionStatus.ts
Secondary update target /evidence-tracker/ | /review-status/
Public change allowed after intake Add narrow first-hand note, real media reference, or trainer-reviewed wording only to the exact covered page or cluster.
Still blocked until No owner-tested, real dog demo, trainer-reviewed, or stronger trust claim until proof is attached and dated.
Local revalidation command npm run check && npm run build && npm run audit:growth && npm run audit:launch
Live revalidation After deploy, verify the changed route and run npm run audit:live.
Rollback trigger Rollback if notes are incomplete, media conflicts with safety checks, or trainer feedback flags wording as unsafe.
blocked-until-dated-evidence
media-indoor-low-risk-games
Attach the dated owner notes, media files, or trainer comments to the evidence tracker and limit public copy to the exact page or cluster covered.
Status: needs-real-media Priority: P2 Type: evidence-intake
Accepted proof record Attach the dated owner notes, media files, or trainer comments to the evidence tracker and limit public copy to the exact page or cluster covered.
Required proof Real photo or clip reference, date, setup notes, safety check result, caption boundary, and linked owner note when the media implies a dog tried the game.
Proof acceptance check Accept only dated notes, media, or trainer feedback that covers every required field and safety stop in the proof packet.
Primary update target src/data/evidenceCollectionStatus.ts
Secondary update target /evidence-tracker/ | /review-status/
Public change allowed after intake Add narrow first-hand note, real media reference, or trainer-reviewed wording only to the exact covered page or cluster.
Still blocked until No owner-tested, real dog demo, trainer-reviewed, or stronger trust claim until proof is attached and dated.
Local revalidation command npm run check && npm run build && npm run audit:growth && npm run audit:launch
Live revalidation After deploy, verify the changed route and run npm run audit:live.
Rollback trigger Rollback if notes are incomplete, media conflicts with safety checks, or trainer feedback flags wording as unsafe.
blocked-until-dated-evidence
media-shorts-controlled-demos
Attach the dated owner notes, media files, or trainer comments to the evidence tracker and limit public copy to the exact page or cluster covered.
Status: needs-real-media Priority: P2 Type: evidence-intake
Accepted proof record Attach the dated owner notes, media files, or trainer comments to the evidence tracker and limit public copy to the exact page or cluster covered.
Required proof Real photo or clip reference, date, setup notes, safety check result, caption boundary, and linked owner note when the media implies a dog tried the game.
Proof acceptance check Accept only dated notes, media, or trainer feedback that covers every required field and safety stop in the proof packet.
Primary update target src/data/evidenceCollectionStatus.ts
Secondary update target /evidence-tracker/ | /review-status/
Public change allowed after intake Add narrow first-hand note, real media reference, or trainer-reviewed wording only to the exact covered page or cluster.
Still blocked until No owner-tested, real dog demo, trainer-reviewed, or stronger trust claim until proof is attached and dated.
Local revalidation command npm run check && npm run build && npm run audit:growth && npm run audit:launch
Live revalidation After deploy, verify the changed route and run npm run audit:live.
Rollback trigger Rollback if notes are incomplete, media conflicts with safety checks, or trainer feedback flags wording as unsafe.
blocked-until-dated-evidence
trainer-review-puppy
Attach the dated owner notes, media files, or trainer comments to the evidence tracker and limit public copy to the exact page or cluster covered.
Status: ready-to-add-notes Priority: P2 Type: evidence-intake
Accepted proof record Attach the dated owner notes, media files, or trainer comments to the evidence tracker and limit public copy to the exact page or cluster covered.
Required proof Dated trainer notes, reviewer name or credential note, exact page list, requested changes, approval limits, and do-not-promote flags.
Proof acceptance check Accept only dated notes, media, or trainer feedback that covers every required field and safety stop in the proof packet.
Primary update target trainer-review-needed.md
Secondary update target /evidence-tracker/ | /review-status/
Public change allowed after intake Add narrow first-hand note, real media reference, or trainer-reviewed wording only to the exact covered page or cluster.
Still blocked until No owner-tested, real dog demo, trainer-reviewed, or stronger trust claim until proof is attached and dated.
Local revalidation command npm run check && npm run build && npm run audit:growth && npm run audit:launch
Live revalidation After deploy, verify the changed route and run npm run audit:live.
Rollback trigger Rollback if notes are incomplete, media conflicts with safety checks, or trainer feedback flags wording as unsafe.
blocked-until-dated-evidence
trainer-review-leash
Attach the dated owner notes, media files, or trainer comments to the evidence tracker and limit public copy to the exact page or cluster covered.
Status: ready-to-add-notes Priority: P2 Type: evidence-intake
Accepted proof record Attach the dated owner notes, media files, or trainer comments to the evidence tracker and limit public copy to the exact page or cluster covered.
Required proof Dated trainer notes, reviewer name or credential note, exact page list, requested changes, approval limits, and do-not-promote flags.
Proof acceptance check Accept only dated notes, media, or trainer feedback that covers every required field and safety stop in the proof packet.
Primary update target trainer-review-needed.md
Secondary update target /evidence-tracker/ | /review-status/
Public change allowed after intake Add narrow first-hand note, real media reference, or trainer-reviewed wording only to the exact covered page or cluster.
Still blocked until No owner-tested, real dog demo, trainer-reviewed, or stronger trust claim until proof is attached and dated.
Local revalidation command npm run check && npm run build && npm run audit:growth && npm run audit:launch
Live revalidation After deploy, verify the changed route and run npm run audit:live.
Rollback trigger Rollback if notes are incomplete, media conflicts with safety checks, or trainer feedback flags wording as unsafe.
blocked-until-dated-evidence
trainer-review-reactivity
Attach the dated owner notes, media files, or trainer comments to the evidence tracker and limit public copy to the exact page or cluster covered.
Status: ready-to-add-notes Priority: P2 Type: evidence-intake
Accepted proof record Attach the dated owner notes, media files, or trainer comments to the evidence tracker and limit public copy to the exact page or cluster covered.
Required proof Dated trainer notes, reviewer name or credential note, exact page list, requested changes, approval limits, and do-not-promote flags.
Proof acceptance check Accept only dated notes, media, or trainer feedback that covers every required field and safety stop in the proof packet.
Primary update target trainer-review-needed.md
Secondary update target /evidence-tracker/ | /review-status/
Public change allowed after intake Add narrow first-hand note, real media reference, or trainer-reviewed wording only to the exact covered page or cluster.
Still blocked until No owner-tested, real dog demo, trainer-reviewed, or stronger trust claim until proof is attached and dated.
Local revalidation command npm run check && npm run build && npm run audit:growth && npm run audit:launch
Live revalidation After deploy, verify the changed route and run npm run audit:live.
Rollback trigger Rollback if notes are incomplete, media conflicts with safety checks, or trainer feedback flags wording as unsafe.
ready-for-public-url-proof
pin-indoor-10-games
Paste the public URL, publish date, exact UTM landing URL, and proof capture into the social launch tracker.
Status: ready-to-publish Priority: P1 Type: social-publishing
Accepted proof record Paste the public URL, publish date, exact UTM landing URL, and proof capture into the social launch tracker.
Required proof output/playwright/pinterest-exports-2026-06-02/pin-indoor-10-games.png | Copy is safety-first and does not imply real dog testing.
Proof acceptance check Accept only a public URL or real controlled footage plus exact UTM URL, publish date, and proof capture.
Primary update target src/data/socialLaunchStatus.ts
Secondary update target /growth-review/ | /growth-review/review-packet/
Public change allowed after intake Keep, rewrite, pause, or kill the matching CTA, landing card, email path, or offer placement only for the proven campaign and page cluster.
Still blocked until No funnel, CTA, title, meta, content-cluster, or internal-link change from impressions alone.
Local revalidation command npm run check && npm run build && npm run audit:growth && npm run audit:launch
Live revalidation After deploy, verify the changed route and run npm run audit:live.
Rollback trigger Rollback public change if the report filters were wrong, the date range is too thin, or later data contradicts the decision.
ready-for-public-url-proof
pin-rainy-day-enrichment
Paste the public URL, publish date, exact UTM landing URL, and proof capture into the social launch tracker.
Status: ready-to-publish Priority: P1 Type: social-publishing
Accepted proof record Paste the public URL, publish date, exact UTM landing URL, and proof capture into the social launch tracker.
Required proof output/playwright/pinterest-exports-2026-06-02/pin-rainy-day-enrichment.png | Copy is safety-first and does not imply real dog testing.
Proof acceptance check Accept only a public URL or real controlled footage plus exact UTM URL, publish date, and proof capture.
Primary update target src/data/socialLaunchStatus.ts
Secondary update target /growth-review/ | /growth-review/review-packet/
Public change allowed after intake Keep, rewrite, pause, or kill the matching CTA, landing card, email path, or offer placement only for the proven campaign and page cluster.
Still blocked until No funnel, CTA, title, meta, content-cluster, or internal-link change from impressions alone.
Local revalidation command npm run check && npm run build && npm run audit:growth && npm run audit:launch
Live revalidation After deploy, verify the changed route and run npm run audit:live.
Rollback trigger Rollback public change if the report filters were wrong, the date range is too thin, or later data contradicts the decision.
ready-for-public-url-proof
pin-diy-brain-games
Paste the public URL, publish date, exact UTM landing URL, and proof capture into the social launch tracker.
Status: ready-to-publish Priority: P1 Type: social-publishing
Accepted proof record Paste the public URL, publish date, exact UTM landing URL, and proof capture into the social launch tracker.
Required proof output/playwright/pinterest-exports-2026-06-02/pin-diy-brain-games.png | Copy is safety-first and does not imply real dog testing.
Proof acceptance check Accept only a public URL or real controlled footage plus exact UTM URL, publish date, and proof capture.
Primary update target src/data/socialLaunchStatus.ts
Secondary update target /growth-review/ | /growth-review/review-packet/
Public change allowed after intake Keep, rewrite, pause, or kill the matching CTA, landing card, email path, or offer placement only for the proven campaign and page cluster.
Still blocked until No funnel, CTA, title, meta, content-cluster, or internal-link change from impressions alone.
Local revalidation command npm run check && npm run build && npm run audit:growth && npm run audit:launch
Live revalidation After deploy, verify the changed route and run npm run audit:live.
Rollback trigger Rollback public change if the report filters were wrong, the date range is too thin, or later data contradicts the decision.
ready-for-public-url-proof
pin-puppy-redirect
Paste the public URL, publish date, exact UTM landing URL, and proof capture into the social launch tracker.
Status: ready-to-publish Priority: P1 Type: social-publishing
Accepted proof record Paste the public URL, publish date, exact UTM landing URL, and proof capture into the social launch tracker.
Required proof output/playwright/pinterest-exports-2026-06-02/pin-puppy-redirect.png | Copy is safety-first and does not imply real dog testing.
Proof acceptance check Accept only a public URL or real controlled footage plus exact UTM URL, publish date, and proof capture.
Primary update target src/data/socialLaunchStatus.ts
Secondary update target /growth-review/ | /growth-review/review-packet/
Public change allowed after intake Keep, rewrite, pause, or kill the matching CTA, landing card, email path, or offer placement only for the proven campaign and page cluster.
Still blocked until No funnel, CTA, title, meta, content-cluster, or internal-link change from impressions alone.
Local revalidation command npm run check && npm run build && npm run audit:growth && npm run audit:launch
Live revalidation After deploy, verify the changed route and run npm run audit:live.
Rollback trigger Rollback public change if the report filters were wrong, the date range is too thin, or later data contradicts the decision.
ready-for-public-url-proof
pin-puppy-games
Paste the public URL, publish date, exact UTM landing URL, and proof capture into the social launch tracker.
Status: ready-to-publish Priority: P1 Type: social-publishing
Accepted proof record Paste the public URL, publish date, exact UTM landing URL, and proof capture into the social launch tracker.
Required proof output/playwright/pinterest-exports-2026-06-02/pin-puppy-games.png | Copy is safety-first and does not imply real dog testing.
Proof acceptance check Accept only a public URL or real controlled footage plus exact UTM URL, publish date, and proof capture.
Primary update target src/data/socialLaunchStatus.ts
Secondary update target /growth-review/ | /growth-review/review-packet/
Public change allowed after intake Keep, rewrite, pause, or kill the matching CTA, landing card, email path, or offer placement only for the proven campaign and page cluster.
Still blocked until No funnel, CTA, title, meta, content-cluster, or internal-link change from impressions alone.
Local revalidation command npm run check && npm run build && npm run audit:growth && npm run audit:launch
Live revalidation After deploy, verify the changed route and run npm run audit:live.
Rollback trigger Rollback public change if the report filters were wrong, the date range is too thin, or later data contradicts the decision.
ready-for-public-url-proof
pin-loose-leash-reset
Paste the public URL, publish date, exact UTM landing URL, and proof capture into the social launch tracker.
Status: ready-to-publish Priority: P1 Type: social-publishing
Accepted proof record Paste the public URL, publish date, exact UTM landing URL, and proof capture into the social launch tracker.
Required proof output/playwright/pinterest-exports-2026-06-02/pin-loose-leash-reset.png | Copy is safety-first and does not imply real dog testing.
Proof acceptance check Accept only a public URL or real controlled footage plus exact UTM URL, publish date, and proof capture.
Primary update target src/data/socialLaunchStatus.ts
Secondary update target /growth-review/ | /growth-review/review-packet/
Public change allowed after intake Keep, rewrite, pause, or kill the matching CTA, landing card, email path, or offer placement only for the proven campaign and page cluster.
Still blocked until No funnel, CTA, title, meta, content-cluster, or internal-link change from impressions alone.
Local revalidation command npm run check && npm run build && npm run audit:growth && npm run audit:launch
Live revalidation After deploy, verify the changed route and run npm run audit:live.
Rollback trigger Rollback public change if the report filters were wrong, the date range is too thin, or later data contradicts the decision.
ready-for-public-url-proof
pin-puzzle-toy-criteria
Paste the public URL, publish date, exact UTM landing URL, and proof capture into the social launch tracker.
Status: ready-to-publish Priority: P1 Type: social-publishing
Accepted proof record Paste the public URL, publish date, exact UTM landing URL, and proof capture into the social launch tracker.
Required proof output/playwright/pinterest-exports-2026-06-02/pin-puzzle-toy-criteria.png | Copy is safety-first and does not imply real dog testing.
Proof acceptance check Accept only a public URL or real controlled footage plus exact UTM URL, publish date, and proof capture.
Primary update target src/data/socialLaunchStatus.ts
Secondary update target /growth-review/ | /growth-review/review-packet/
Public change allowed after intake Keep, rewrite, pause, or kill the matching CTA, landing card, email path, or offer placement only for the proven campaign and page cluster.
Still blocked until No funnel, CTA, title, meta, content-cluster, or internal-link change from impressions alone.
Local revalidation command npm run check && npm run build && npm run audit:growth && npm run audit:launch
Live revalidation After deploy, verify the changed route and run npm run audit:live.
Rollback trigger Rollback public change if the report filters were wrong, the date range is too thin, or later data contradicts the decision.
ready-for-public-url-proof
pin-snuffle-mat-safety
Paste the public URL, publish date, exact UTM landing URL, and proof capture into the social launch tracker.
Status: ready-to-publish Priority: P1 Type: social-publishing
Accepted proof record Paste the public URL, publish date, exact UTM landing URL, and proof capture into the social launch tracker.
Required proof output/playwright/pinterest-exports-2026-06-02/pin-snuffle-mat-safety.png | Copy is safety-first and does not imply real dog testing.
Proof acceptance check Accept only a public URL or real controlled footage plus exact UTM URL, publish date, and proof capture.
Primary update target src/data/socialLaunchStatus.ts
Secondary update target /growth-review/ | /growth-review/review-packet/
Public change allowed after intake Keep, rewrite, pause, or kill the matching CTA, landing card, email path, or offer placement only for the proven campaign and page cluster.
Still blocked until No funnel, CTA, title, meta, content-cluster, or internal-link change from impressions alone.
Local revalidation command npm run check && npm run build && npm run audit:growth && npm run audit:launch
Live revalidation After deploy, verify the changed route and run npm run audit:live.
Rollback trigger Rollback public change if the report filters were wrong, the date range is too thin, or later data contradicts the decision.
ready-for-public-url-proof
pin-trigger-log
Paste the public URL, publish date, exact UTM landing URL, and proof capture into the social launch tracker.
Status: ready-to-publish Priority: P1 Type: social-publishing
Accepted proof record Paste the public URL, publish date, exact UTM landing URL, and proof capture into the social launch tracker.
Required proof output/playwright/pinterest-exports-2026-06-02/pin-trigger-log.png | Copy is safety-first and does not imply real dog testing.
Proof acceptance check Accept only a public URL or real controlled footage plus exact UTM URL, publish date, and proof capture.
Primary update target src/data/socialLaunchStatus.ts
Secondary update target /growth-review/ | /growth-review/review-packet/
Public change allowed after intake Keep, rewrite, pause, or kill the matching CTA, landing card, email path, or offer placement only for the proven campaign and page cluster.
Still blocked until No funnel, CTA, title, meta, content-cluster, or internal-link change from impressions alone.
Local revalidation command npm run check && npm run build && npm run audit:growth && npm run audit:launch
Live revalidation After deploy, verify the changed route and run npm run audit:live.
Rollback trigger Rollback public change if the report filters were wrong, the date range is too thin, or later data contradicts the decision.
ready-for-public-url-proof
pin-game-finder-quiz
Paste the public URL, publish date, exact UTM landing URL, and proof capture into the social launch tracker.
Status: ready-to-publish Priority: P1 Type: social-publishing
Accepted proof record Paste the public URL, publish date, exact UTM landing URL, and proof capture into the social launch tracker.
Required proof output/playwright/pinterest-exports-2026-06-02/pin-game-finder-quiz.png | Copy is safety-first and does not imply real dog testing.
Proof acceptance check Accept only a public URL or real controlled footage plus exact UTM URL, publish date, and proof capture.
Primary update target src/data/socialLaunchStatus.ts
Secondary update target /growth-review/ | /growth-review/review-packet/
Public change allowed after intake Keep, rewrite, pause, or kill the matching CTA, landing card, email path, or offer placement only for the proven campaign and page cluster.
Still blocked until No funnel, CTA, title, meta, content-cluster, or internal-link change from impressions alone.
Local revalidation command npm run check && npm run build && npm run audit:growth && npm run audit:launch
Live revalidation After deploy, verify the changed route and run npm run audit:live.
Rollback trigger Rollback public change if the report filters were wrong, the date range is too thin, or later data contradicts the decision.
blocked-until-controlled-footage
short-one-game-30s
Attach the controlled footage file or public video URL before changing the Shorts row from footage-needed to published or review-ready.
Status: needs-real-footage Priority: P2 Type: social-publishing
Accepted proof record Attach the controlled footage file or public video URL before changing the Shorts row from footage-needed to published or review-ready.
Required proof output/playwright/shorts-production-cards-2026-06-02/short-one-game-30s.png | Skip food games if there is guarding, swallowing unsafe objects, or multiple dogs competing.
Proof acceptance check Accept only a public URL or real controlled footage plus exact UTM URL, publish date, and proof capture.
Primary update target src/data/socialLaunchStatus.ts
Secondary update target /growth-review/ | /growth-review/review-packet/
Public change allowed after intake Keep, rewrite, pause, or kill the matching CTA, landing card, email path, or offer placement only for the proven campaign and page cluster.
Still blocked until No funnel, CTA, title, meta, content-cluster, or internal-link change from impressions alone.
Local revalidation command npm run check && npm run build && npm run audit:growth && npm run audit:launch
Live revalidation After deploy, verify the changed route and run npm run audit:live.
Rollback trigger Rollback public change if the report filters were wrong, the date range is too thin, or later data contradicts the decision.
blocked-until-controlled-footage
short-puzzle-toy-test
Attach the controlled footage file or public video URL before changing the Shorts row from footage-needed to published or review-ready.
Status: needs-real-footage Priority: P2 Type: social-publishing
Accepted proof record Attach the controlled footage file or public video URL before changing the Shorts row from footage-needed to published or review-ready.
Required proof output/playwright/shorts-production-cards-2026-06-02/short-puzzle-toy-test.png | Do not show or recommend puzzle toys for dogs who break and swallow pieces.
Proof acceptance check Accept only a public URL or real controlled footage plus exact UTM URL, publish date, and proof capture.
Primary update target src/data/socialLaunchStatus.ts
Secondary update target /growth-review/ | /growth-review/review-packet/
Public change allowed after intake Keep, rewrite, pause, or kill the matching CTA, landing card, email path, or offer placement only for the proven campaign and page cluster.
Still blocked until No funnel, CTA, title, meta, content-cluster, or internal-link change from impressions alone.
Local revalidation command npm run check && npm run build && npm run audit:growth && npm run audit:launch
Live revalidation After deploy, verify the changed route and run npm run audit:live.
Rollback trigger Rollback public change if the report filters were wrong, the date range is too thin, or later data contradicts the decision.
blocked-until-controlled-footage
short-loose-leash-reset
Attach the controlled footage file or public video URL before changing the Shorts row from footage-needed to published or review-ready.
Status: needs-real-footage Priority: P2 Type: social-publishing
Accepted proof record Attach the controlled footage file or public video URL before changing the Shorts row from footage-needed to published or review-ready.
Required proof output/playwright/shorts-production-cards-2026-06-02/short-loose-leash-reset.png | Do not film near hard triggers or dogs the handler cannot control.
Proof acceptance check Accept only a public URL or real controlled footage plus exact UTM URL, publish date, and proof capture.
Primary update target src/data/socialLaunchStatus.ts
Secondary update target /growth-review/ | /growth-review/review-packet/
Public change allowed after intake Keep, rewrite, pause, or kill the matching CTA, landing card, email path, or offer placement only for the proven campaign and page cluster.
Still blocked until No funnel, CTA, title, meta, content-cluster, or internal-link change from impressions alone.
Local revalidation command npm run check && npm run build && npm run audit:growth && npm run audit:launch
Live revalidation After deploy, verify the changed route and run npm run audit:live.
Rollback trigger Rollback public change if the report filters were wrong, the date range is too thin, or later data contradicts the decision.
blocked-until-controlled-footage
short-common-mistake-demo
Attach the controlled footage file or public video URL before changing the Shorts row from footage-needed to published or review-ready.
Status: needs-real-footage Priority: P2 Type: social-publishing
Accepted proof record Attach the controlled footage file or public video URL before changing the Shorts row from footage-needed to published or review-ready.
Required proof output/playwright/shorts-production-cards-2026-06-02/short-common-mistake-demo.png | Do not use frustration, fear, or failure as entertainment.
Proof acceptance check Accept only a public URL or real controlled footage plus exact UTM URL, publish date, and proof capture.
Primary update target src/data/socialLaunchStatus.ts
Secondary update target /growth-review/ | /growth-review/review-packet/
Public change allowed after intake Keep, rewrite, pause, or kill the matching CTA, landing card, email path, or offer placement only for the proven campaign and page cluster.
Still blocked until No funnel, CTA, title, meta, content-cluster, or internal-link change from impressions alone.
Local revalidation command npm run check && npm run build && npm run audit:growth && npm run audit:launch
Live revalidation After deploy, verify the changed route and run npm run audit:live.
Rollback trigger Rollback public change if the report filters were wrong, the date range is too thin, or later data contradicts the decision.
waiting-for-ga4-proof
quiz_result
Record the GA4 screenshot or export with event name, page cluster, campaign filters, date range, counts, and decision output.
Status: tracking-ready Priority: P3 Type: analytics-review
Accepted proof record Record the GA4 screenshot or export with event name, page cluster, campaign filters, date range, counts, and decision output.
Required proof GA4 event counts by segment after the quiz receives real sessions.
Proof acceptance check Accept only a GA4 or GSC screenshot/export with date range, filters, metric evidence, and decision output.
Primary update target src/data/growthReviewStatus.ts | /growth-review/
Secondary update target /growth-review/ | /growth-review/review-packet/
Public change allowed after intake Keep, rewrite, pause, or kill the matching CTA, landing card, email path, or offer placement only for the proven campaign and page cluster.
Still blocked until No funnel, CTA, title, meta, content-cluster, or internal-link change from impressions alone.
Local revalidation command npm run check && npm run build && npm run audit:growth && npm run audit:launch
Live revalidation After deploy, verify the changed route and run npm run audit:live.
Rollback trigger Rollback public change if the report filters were wrong, the date range is too thin, or later data contradicts the decision.
waiting-for-ga4-proof
lead_magnet_signup
Record the GA4 screenshot or export with event name, page cluster, campaign filters, date range, counts, and decision output.
Status: tracking-ready Priority: P3 Type: analytics-review
Accepted proof record Record the GA4 screenshot or export with event name, page cluster, campaign filters, date range, counts, and decision output.
Required proof GA4 event counts plus Worker/Resend delivery checks when traffic is live.
Proof acceptance check Accept only a GA4 or GSC screenshot/export with date range, filters, metric evidence, and decision output.
Primary update target src/data/growthReviewStatus.ts | /growth-review/
Secondary update target /growth-review/ | /growth-review/review-packet/
Public change allowed after intake Keep, rewrite, pause, or kill the matching CTA, landing card, email path, or offer placement only for the proven campaign and page cluster.
Still blocked until No funnel, CTA, title, meta, content-cluster, or internal-link change from impressions alone.
Local revalidation command npm run check && npm run build && npm run audit:growth && npm run audit:launch
Live revalidation After deploy, verify the changed route and run npm run audit:live.
Rollback trigger Rollback public change if the report filters were wrong, the date range is too thin, or later data contradicts the decision.
waiting-for-ga4-proof
internal_cta_click
Record the GA4 screenshot or export with event name, page cluster, campaign filters, date range, counts, and decision output.
Status: tracking-ready Priority: P3 Type: analytics-review
Accepted proof record Record the GA4 screenshot or export with event name, page cluster, campaign filters, date range, counts, and decision output.
Required proof GA4 event counts by source campaign and page cluster.
Proof acceptance check Accept only a GA4 or GSC screenshot/export with date range, filters, metric evidence, and decision output.
Primary update target src/data/growthReviewStatus.ts | /growth-review/
Secondary update target /growth-review/ | /growth-review/review-packet/
Public change allowed after intake Keep, rewrite, pause, or kill the matching CTA, landing card, email path, or offer placement only for the proven campaign and page cluster.
Still blocked until No funnel, CTA, title, meta, content-cluster, or internal-link change from impressions alone.
Local revalidation command npm run check && npm run build && npm run audit:growth && npm run audit:launch
Live revalidation After deploy, verify the changed route and run npm run audit:live.
Rollback trigger Rollback public change if the report filters were wrong, the date range is too thin, or later data contradicts the decision.
waiting-for-ga4-proof
offer_box_view
Record the GA4 screenshot or export with event name, page cluster, campaign filters, date range, counts, and decision output.
Status: tracking-ready Priority: P3 Type: analytics-review
Accepted proof record Record the GA4 screenshot or export with event name, page cluster, campaign filters, date range, counts, and decision output.
Required proof GA4 offer-box exposure counts paired with affiliate clicks.
Proof acceptance check Accept only a GA4 or GSC screenshot/export with date range, filters, metric evidence, and decision output.
Primary update target src/data/growthReviewStatus.ts | /growth-review/
Secondary update target /growth-review/ | /growth-review/review-packet/
Public change allowed after intake Keep, rewrite, pause, or kill the matching CTA, landing card, email path, or offer placement only for the proven campaign and page cluster.
Still blocked until No funnel, CTA, title, meta, content-cluster, or internal-link change from impressions alone.
Local revalidation command npm run check && npm run build && npm run audit:growth && npm run audit:launch
Live revalidation After deploy, verify the changed route and run npm run audit:live.
Rollback trigger Rollback public change if the report filters were wrong, the date range is too thin, or later data contradicts the decision.
waiting-for-ga4-proof
affiliate_click
Record the GA4 screenshot or export with event name, page cluster, campaign filters, date range, counts, and decision output.
Status: tracking-ready Priority: P3 Type: analytics-review
Accepted proof record Record the GA4 screenshot or export with event name, page cluster, campaign filters, date range, counts, and decision output.
Required proof GA4 affiliate_click plus ClickBank reporting by tid, campaign, creative, and ad.
Proof acceptance check Accept only a GA4 or GSC screenshot/export with date range, filters, metric evidence, and decision output.
Primary update target src/data/growthReviewStatus.ts | /growth-review/
Secondary update target /growth-review/ | /growth-review/review-packet/
Public change allowed after intake Keep, rewrite, pause, or kill the matching CTA, landing card, email path, or offer placement only for the proven campaign and page cluster.
Still blocked until No funnel, CTA, title, meta, content-cluster, or internal-link change from impressions alone.
Local revalidation command npm run check && npm run build && npm run audit:growth && npm run audit:launch
Live revalidation After deploy, verify the changed route and run npm run audit:live.
Rollback trigger Rollback public change if the report filters were wrong, the date range is too thin, or later data contradicts the decision.
waiting-for-email-followup-proof
email-followup-send-status
Record Worker KV, Resend, GA4 email UTM, and suppression evidence before changing follow-up cadence, volume, or segment routing.
Status: needs-worker-data Priority: P4 Type: analytics-review
Accepted proof record Record Worker KV, Resend, GA4 email UTM, and suppression evidence before changing follow-up cadence, volume, or segment routing.
Required proof KV sample or export showing queued-not-sent, sending, sent, send-failed, skipped-suppressed, and matching Resend send evidence for the review window.
Proof acceptance check Accept only a GA4 or GSC screenshot/export with date range, filters, metric evidence, and decision output.
Primary update target src/data/growthReviewStatus.ts | email-follow-up-map-2026-06-03.md | /growth-review/
Secondary update target /growth-review/ | /growth-review/review-packet/
Public change allowed after intake Keep, rewrite, pause, or kill the matching CTA, landing card, email path, or offer placement only for the proven campaign and page cluster.
Still blocked until No funnel, CTA, title, meta, content-cluster, or internal-link change from impressions alone.
Local revalidation command npm run check && npm run build && npm run audit:growth && npm run audit:launch
Live revalidation After deploy, verify the changed route and run npm run audit:live.
Rollback trigger Rollback public change if the report filters were wrong, the date range is too thin, or later data contradicts the decision.
waiting-for-email-followup-proof
email-followup-return-visits
Record Worker KV, Resend, GA4 email UTM, and suppression evidence before changing follow-up cadence, volume, or segment routing.
Status: tracking-ready Priority: P3 Type: analytics-review
Accepted proof record Record Worker KV, Resend, GA4 email UTM, and suppression evidence before changing follow-up cadence, volume, or segment routing.
Required proof GA4 sessions or events filtered to source_utm_source=resend, source_utm_medium=email, source_utm_campaign=lead_magnet_delivery, and source_utm_content containing followup.
Proof acceptance check Accept only a GA4 or GSC screenshot/export with date range, filters, metric evidence, and decision output.
Primary update target src/data/growthReviewStatus.ts | email-follow-up-map-2026-06-03.md | /growth-review/
Secondary update target /growth-review/ | /growth-review/review-packet/
Public change allowed after intake Keep, rewrite, pause, or kill the matching CTA, landing card, email path, or offer placement only for the proven campaign and page cluster.
Still blocked until No funnel, CTA, title, meta, content-cluster, or internal-link change from impressions alone.
Local revalidation command npm run check && npm run build && npm run audit:growth && npm run audit:launch
Live revalidation After deploy, verify the changed route and run npm run audit:live.
Rollback trigger Rollback public change if the report filters were wrong, the date range is too thin, or later data contradicts the decision.
waiting-for-email-followup-proof
email-followup-affiliate-path
Record Worker KV, Resend, GA4 email UTM, and suppression evidence before changing follow-up cadence, volume, or segment routing.
Status: tracking-ready Priority: P3 Type: analytics-review
Accepted proof record Record Worker KV, Resend, GA4 email UTM, and suppression evidence before changing follow-up cadence, volume, or segment routing.
Required proof GA4 affiliate_click filtered to resend/email/followup traffic plus ClickBank tid or traffic parameter evidence for approved offers only.
Proof acceptance check Accept only a GA4 or GSC screenshot/export with date range, filters, metric evidence, and decision output.
Primary update target src/data/growthReviewStatus.ts | email-follow-up-map-2026-06-03.md | /growth-review/
Secondary update target /growth-review/ | /growth-review/review-packet/
Public change allowed after intake Keep, rewrite, pause, or kill the matching CTA, landing card, email path, or offer placement only for the proven campaign and page cluster.
Still blocked until No funnel, CTA, title, meta, content-cluster, or internal-link change from impressions alone.
Local revalidation command npm run check && npm run build && npm run audit:growth && npm run audit:launch
Live revalidation After deploy, verify the changed route and run npm run audit:live.
Rollback trigger Rollback public change if the report filters were wrong, the date range is too thin, or later data contradicts the decision.
waiting-for-email-followup-proof
email-followup-unsubscribe-suppression
Record Worker KV, Resend, GA4 email UTM, and suppression evidence before changing follow-up cadence, volume, or segment routing.
Status: needs-worker-data Priority: P4 Type: analytics-review
Accepted proof record Record Worker KV, Resend, GA4 email UTM, and suppression evidence before changing follow-up cadence, volume, or segment routing.
Required proof KV suppression:* sample, unsubscribe token status, and skipped-suppressed followup:* records when a subscriber unsubscribes.
Proof acceptance check Accept only a GA4 or GSC screenshot/export with date range, filters, metric evidence, and decision output.
Primary update target src/data/growthReviewStatus.ts | email-follow-up-map-2026-06-03.md | /growth-review/
Secondary update target /growth-review/ | /growth-review/review-packet/
Public change allowed after intake Keep, rewrite, pause, or kill the matching CTA, landing card, email path, or offer placement only for the proven campaign and page cluster.
Still blocked until No funnel, CTA, title, meta, content-cluster, or internal-link change from impressions alone.
Local revalidation command npm run check && npm run build && npm run audit:growth && npm run audit:launch
Live revalidation After deploy, verify the changed route and run npm run audit:live.
Rollback trigger Rollback public change if the report filters were wrong, the date range is too thin, or later data contradicts the decision.
waiting-for-ga4-proof
pin-indoor-10-games
Record the GA4 screenshot or export with event name, page cluster, campaign filters, date range, counts, and decision output.
Status: waiting-for-publish Priority: P4 Type: analytics-review
Accepted proof record Record the GA4 screenshot or export with event name, page cluster, campaign filters, date range, counts, and decision output.
Required proof 24h tracking check, 72h expected-signal check, and 7d decision after publishing.
Proof acceptance check Accept only a GA4 or GSC screenshot/export with date range, filters, metric evidence, and decision output.
Primary update target src/data/socialLaunchStatus.ts | src/data/growthReviewStatus.ts | /growth-review/
Secondary update target /growth-review/ | /growth-review/review-packet/
Public change allowed after intake Keep, rewrite, pause, or kill the matching CTA, landing card, email path, or offer placement only for the proven campaign and page cluster.
Still blocked until No funnel, CTA, title, meta, content-cluster, or internal-link change from impressions alone.
Local revalidation command npm run check && npm run build && npm run audit:growth && npm run audit:launch
Live revalidation After deploy, verify the changed route and run npm run audit:live.
Rollback trigger Rollback public change if the report filters were wrong, the date range is too thin, or later data contradicts the decision.
waiting-for-ga4-proof
pin-rainy-day-enrichment
Record the GA4 screenshot or export with event name, page cluster, campaign filters, date range, counts, and decision output.
Status: waiting-for-publish Priority: P4 Type: analytics-review
Accepted proof record Record the GA4 screenshot or export with event name, page cluster, campaign filters, date range, counts, and decision output.
Required proof 24h tracking check, 72h expected-signal check, and 7d decision after publishing.
Proof acceptance check Accept only a GA4 or GSC screenshot/export with date range, filters, metric evidence, and decision output.
Primary update target src/data/socialLaunchStatus.ts | src/data/growthReviewStatus.ts | /growth-review/
Secondary update target /growth-review/ | /growth-review/review-packet/
Public change allowed after intake Keep, rewrite, pause, or kill the matching CTA, landing card, email path, or offer placement only for the proven campaign and page cluster.
Still blocked until No funnel, CTA, title, meta, content-cluster, or internal-link change from impressions alone.
Local revalidation command npm run check && npm run build && npm run audit:growth && npm run audit:launch
Live revalidation After deploy, verify the changed route and run npm run audit:live.
Rollback trigger Rollback public change if the report filters were wrong, the date range is too thin, or later data contradicts the decision.
waiting-for-ga4-proof
pin-diy-brain-games
Record the GA4 screenshot or export with event name, page cluster, campaign filters, date range, counts, and decision output.
Status: waiting-for-publish Priority: P4 Type: analytics-review
Accepted proof record Record the GA4 screenshot or export with event name, page cluster, campaign filters, date range, counts, and decision output.
Required proof 24h tracking check, 72h expected-signal check, and 7d decision after publishing.
Proof acceptance check Accept only a GA4 or GSC screenshot/export with date range, filters, metric evidence, and decision output.
Primary update target src/data/socialLaunchStatus.ts | src/data/growthReviewStatus.ts | /growth-review/
Secondary update target /growth-review/ | /growth-review/review-packet/
Public change allowed after intake Keep, rewrite, pause, or kill the matching CTA, landing card, email path, or offer placement only for the proven campaign and page cluster.
Still blocked until No funnel, CTA, title, meta, content-cluster, or internal-link change from impressions alone.
Local revalidation command npm run check && npm run build && npm run audit:growth && npm run audit:launch
Live revalidation After deploy, verify the changed route and run npm run audit:live.
Rollback trigger Rollback public change if the report filters were wrong, the date range is too thin, or later data contradicts the decision.
waiting-for-ga4-proof
pin-puppy-redirect
Record the GA4 screenshot or export with event name, page cluster, campaign filters, date range, counts, and decision output.
Status: waiting-for-publish Priority: P4 Type: analytics-review
Accepted proof record Record the GA4 screenshot or export with event name, page cluster, campaign filters, date range, counts, and decision output.
Required proof 24h tracking check, 72h expected-signal check, and 7d decision after publishing.
Proof acceptance check Accept only a GA4 or GSC screenshot/export with date range, filters, metric evidence, and decision output.
Primary update target src/data/socialLaunchStatus.ts | src/data/growthReviewStatus.ts | /growth-review/
Secondary update target /growth-review/ | /growth-review/review-packet/
Public change allowed after intake Keep, rewrite, pause, or kill the matching CTA, landing card, email path, or offer placement only for the proven campaign and page cluster.
Still blocked until No funnel, CTA, title, meta, content-cluster, or internal-link change from impressions alone.
Local revalidation command npm run check && npm run build && npm run audit:growth && npm run audit:launch
Live revalidation After deploy, verify the changed route and run npm run audit:live.
Rollback trigger Rollback public change if the report filters were wrong, the date range is too thin, or later data contradicts the decision.
waiting-for-ga4-proof
pin-puppy-games
Record the GA4 screenshot or export with event name, page cluster, campaign filters, date range, counts, and decision output.
Status: waiting-for-publish Priority: P4 Type: analytics-review
Accepted proof record Record the GA4 screenshot or export with event name, page cluster, campaign filters, date range, counts, and decision output.
Required proof 24h tracking check, 72h expected-signal check, and 7d decision after publishing.
Proof acceptance check Accept only a GA4 or GSC screenshot/export with date range, filters, metric evidence, and decision output.
Primary update target src/data/socialLaunchStatus.ts | src/data/growthReviewStatus.ts | /growth-review/
Secondary update target /growth-review/ | /growth-review/review-packet/
Public change allowed after intake Keep, rewrite, pause, or kill the matching CTA, landing card, email path, or offer placement only for the proven campaign and page cluster.
Still blocked until No funnel, CTA, title, meta, content-cluster, or internal-link change from impressions alone.
Local revalidation command npm run check && npm run build && npm run audit:growth && npm run audit:launch
Live revalidation After deploy, verify the changed route and run npm run audit:live.
Rollback trigger Rollback public change if the report filters were wrong, the date range is too thin, or later data contradicts the decision.
waiting-for-ga4-proof
pin-loose-leash-reset
Record the GA4 screenshot or export with event name, page cluster, campaign filters, date range, counts, and decision output.
Status: waiting-for-publish Priority: P4 Type: analytics-review
Accepted proof record Record the GA4 screenshot or export with event name, page cluster, campaign filters, date range, counts, and decision output.
Required proof 24h tracking check, 72h expected-signal check, and 7d decision after publishing.
Proof acceptance check Accept only a GA4 or GSC screenshot/export with date range, filters, metric evidence, and decision output.
Primary update target src/data/socialLaunchStatus.ts | src/data/growthReviewStatus.ts | /growth-review/
Secondary update target /growth-review/ | /growth-review/review-packet/
Public change allowed after intake Keep, rewrite, pause, or kill the matching CTA, landing card, email path, or offer placement only for the proven campaign and page cluster.
Still blocked until No funnel, CTA, title, meta, content-cluster, or internal-link change from impressions alone.
Local revalidation command npm run check && npm run build && npm run audit:growth && npm run audit:launch
Live revalidation After deploy, verify the changed route and run npm run audit:live.
Rollback trigger Rollback public change if the report filters were wrong, the date range is too thin, or later data contradicts the decision.
waiting-for-ga4-proof
pin-puzzle-toy-criteria
Record the GA4 screenshot or export with event name, page cluster, campaign filters, date range, counts, and decision output.
Status: waiting-for-publish Priority: P4 Type: analytics-review
Accepted proof record Record the GA4 screenshot or export with event name, page cluster, campaign filters, date range, counts, and decision output.
Required proof 24h tracking check, 72h expected-signal check, and 7d decision after publishing.
Proof acceptance check Accept only a GA4 or GSC screenshot/export with date range, filters, metric evidence, and decision output.
Primary update target src/data/socialLaunchStatus.ts | src/data/growthReviewStatus.ts | /growth-review/
Secondary update target /growth-review/ | /growth-review/review-packet/
Public change allowed after intake Keep, rewrite, pause, or kill the matching CTA, landing card, email path, or offer placement only for the proven campaign and page cluster.
Still blocked until No funnel, CTA, title, meta, content-cluster, or internal-link change from impressions alone.
Local revalidation command npm run check && npm run build && npm run audit:growth && npm run audit:launch
Live revalidation After deploy, verify the changed route and run npm run audit:live.
Rollback trigger Rollback public change if the report filters were wrong, the date range is too thin, or later data contradicts the decision.
waiting-for-ga4-proof
pin-snuffle-mat-safety
Record the GA4 screenshot or export with event name, page cluster, campaign filters, date range, counts, and decision output.
Status: waiting-for-publish Priority: P4 Type: analytics-review
Accepted proof record Record the GA4 screenshot or export with event name, page cluster, campaign filters, date range, counts, and decision output.
Required proof 24h tracking check, 72h expected-signal check, and 7d decision after publishing.
Proof acceptance check Accept only a GA4 or GSC screenshot/export with date range, filters, metric evidence, and decision output.
Primary update target src/data/socialLaunchStatus.ts | src/data/growthReviewStatus.ts | /growth-review/
Secondary update target /growth-review/ | /growth-review/review-packet/
Public change allowed after intake Keep, rewrite, pause, or kill the matching CTA, landing card, email path, or offer placement only for the proven campaign and page cluster.
Still blocked until No funnel, CTA, title, meta, content-cluster, or internal-link change from impressions alone.
Local revalidation command npm run check && npm run build && npm run audit:growth && npm run audit:launch
Live revalidation After deploy, verify the changed route and run npm run audit:live.
Rollback trigger Rollback public change if the report filters were wrong, the date range is too thin, or later data contradicts the decision.
waiting-for-ga4-proof
pin-trigger-log
Record the GA4 screenshot or export with event name, page cluster, campaign filters, date range, counts, and decision output.
Status: waiting-for-publish Priority: P4 Type: analytics-review
Accepted proof record Record the GA4 screenshot or export with event name, page cluster, campaign filters, date range, counts, and decision output.
Required proof 24h tracking check, 72h expected-signal check, and 7d decision after publishing.
Proof acceptance check Accept only a GA4 or GSC screenshot/export with date range, filters, metric evidence, and decision output.
Primary update target src/data/socialLaunchStatus.ts | src/data/growthReviewStatus.ts | /growth-review/
Secondary update target /growth-review/ | /growth-review/review-packet/
Public change allowed after intake Keep, rewrite, pause, or kill the matching CTA, landing card, email path, or offer placement only for the proven campaign and page cluster.
Still blocked until No funnel, CTA, title, meta, content-cluster, or internal-link change from impressions alone.
Local revalidation command npm run check && npm run build && npm run audit:growth && npm run audit:launch
Live revalidation After deploy, verify the changed route and run npm run audit:live.
Rollback trigger Rollback public change if the report filters were wrong, the date range is too thin, or later data contradicts the decision.
waiting-for-ga4-proof
pin-game-finder-quiz
Record the GA4 screenshot or export with event name, page cluster, campaign filters, date range, counts, and decision output.
Status: waiting-for-publish Priority: P4 Type: analytics-review
Accepted proof record Record the GA4 screenshot or export with event name, page cluster, campaign filters, date range, counts, and decision output.
Required proof 24h tracking check, 72h expected-signal check, and 7d decision after publishing.
Proof acceptance check Accept only a GA4 or GSC screenshot/export with date range, filters, metric evidence, and decision output.
Primary update target src/data/socialLaunchStatus.ts | src/data/growthReviewStatus.ts | /growth-review/
Secondary update target /growth-review/ | /growth-review/review-packet/
Public change allowed after intake Keep, rewrite, pause, or kill the matching CTA, landing card, email path, or offer placement only for the proven campaign and page cluster.
Still blocked until No funnel, CTA, title, meta, content-cluster, or internal-link change from impressions alone.
Local revalidation command npm run check && npm run build && npm run audit:growth && npm run audit:launch
Live revalidation After deploy, verify the changed route and run npm run audit:live.
Rollback trigger Rollback public change if the report filters were wrong, the date range is too thin, or later data contradicts the decision.
blocked-until-controlled-footage
short-one-game-30s
Record the GA4 screenshot or export with event name, page cluster, campaign filters, date range, counts, and decision output.
Status: needs-real-footage Priority: P2 Type: analytics-review
Accepted proof record Record the GA4 screenshot or export with event name, page cluster, campaign filters, date range, counts, and decision output.
Required proof Real controlled footage, 24h tracking check, 72h expected-signal check, and 7d decision after publishing.
Proof acceptance check Accept only a GA4 or GSC screenshot/export with date range, filters, metric evidence, and decision output.
Primary update target src/data/socialLaunchStatus.ts | src/data/growthReviewStatus.ts | /growth-review/
Secondary update target /growth-review/ | /growth-review/review-packet/
Public change allowed after intake Keep, rewrite, pause, or kill the matching CTA, landing card, email path, or offer placement only for the proven campaign and page cluster.
Still blocked until No funnel, CTA, title, meta, content-cluster, or internal-link change from impressions alone.
Local revalidation command npm run check && npm run build && npm run audit:growth && npm run audit:launch
Live revalidation After deploy, verify the changed route and run npm run audit:live.
Rollback trigger Rollback public change if the report filters were wrong, the date range is too thin, or later data contradicts the decision.
blocked-until-controlled-footage
short-puzzle-toy-test
Record the GA4 screenshot or export with event name, page cluster, campaign filters, date range, counts, and decision output.
Status: needs-real-footage Priority: P2 Type: analytics-review
Accepted proof record Record the GA4 screenshot or export with event name, page cluster, campaign filters, date range, counts, and decision output.
Required proof Real controlled footage, 24h tracking check, 72h expected-signal check, and 7d decision after publishing.
Proof acceptance check Accept only a GA4 or GSC screenshot/export with date range, filters, metric evidence, and decision output.
Primary update target src/data/socialLaunchStatus.ts | src/data/growthReviewStatus.ts | /growth-review/
Secondary update target /growth-review/ | /growth-review/review-packet/
Public change allowed after intake Keep, rewrite, pause, or kill the matching CTA, landing card, email path, or offer placement only for the proven campaign and page cluster.
Still blocked until No funnel, CTA, title, meta, content-cluster, or internal-link change from impressions alone.
Local revalidation command npm run check && npm run build && npm run audit:growth && npm run audit:launch
Live revalidation After deploy, verify the changed route and run npm run audit:live.
Rollback trigger Rollback public change if the report filters were wrong, the date range is too thin, or later data contradicts the decision.
blocked-until-controlled-footage
short-loose-leash-reset
Record the GA4 screenshot or export with event name, page cluster, campaign filters, date range, counts, and decision output.
Status: needs-real-footage Priority: P2 Type: analytics-review
Accepted proof record Record the GA4 screenshot or export with event name, page cluster, campaign filters, date range, counts, and decision output.
Required proof Real controlled footage, 24h tracking check, 72h expected-signal check, and 7d decision after publishing.
Proof acceptance check Accept only a GA4 or GSC screenshot/export with date range, filters, metric evidence, and decision output.
Primary update target src/data/socialLaunchStatus.ts | src/data/growthReviewStatus.ts | /growth-review/
Secondary update target /growth-review/ | /growth-review/review-packet/
Public change allowed after intake Keep, rewrite, pause, or kill the matching CTA, landing card, email path, or offer placement only for the proven campaign and page cluster.
Still blocked until No funnel, CTA, title, meta, content-cluster, or internal-link change from impressions alone.
Local revalidation command npm run check && npm run build && npm run audit:growth && npm run audit:launch
Live revalidation After deploy, verify the changed route and run npm run audit:live.
Rollback trigger Rollback public change if the report filters were wrong, the date range is too thin, or later data contradicts the decision.
blocked-until-controlled-footage
short-common-mistake-demo
Record the GA4 screenshot or export with event name, page cluster, campaign filters, date range, counts, and decision output.
Status: needs-real-footage Priority: P2 Type: analytics-review
Accepted proof record Record the GA4 screenshot or export with event name, page cluster, campaign filters, date range, counts, and decision output.
Required proof Real controlled footage, 24h tracking check, 72h expected-signal check, and 7d decision after publishing.
Proof acceptance check Accept only a GA4 or GSC screenshot/export with date range, filters, metric evidence, and decision output.
Primary update target src/data/socialLaunchStatus.ts | src/data/growthReviewStatus.ts | /growth-review/
Secondary update target /growth-review/ | /growth-review/review-packet/
Public change allowed after intake Keep, rewrite, pause, or kill the matching CTA, landing card, email path, or offer placement only for the proven campaign and page cluster.
Still blocked until No funnel, CTA, title, meta, content-cluster, or internal-link change from impressions alone.
Local revalidation command npm run check && npm run build && npm run audit:growth && npm run audit:launch
Live revalidation After deploy, verify the changed route and run npm run audit:live.
Rollback trigger Rollback public change if the report filters were wrong, the date range is too thin, or later data contradicts the decision.
waiting-for-gsc-proof
gsc-gsc-impressions
Record the GSC screenshot or export with page/query filters, date range, crawl or index state, and the exact SEO decision output.
Status: needs-gsc-data Priority: P3 Type: analytics-review
Accepted proof record Record the GSC screenshot or export with page/query filters, date range, crawl or index state, and the exact SEO decision output.
Required proof At least 7 days of GSC impressions after the page is indexed.
Proof acceptance check Accept only a GA4 or GSC screenshot/export with date range, filters, metric evidence, and decision output.
Primary update target src/data/seoReviewStatus.ts | /seo-review/
Secondary update target /seo-review/ | /growth-review/review-packet/
Public change allowed after intake Rewrite title, meta, internal links, or cluster copy only for the page/query pair proven by GSC and matching GA4 action evidence when traffic exists.
Still blocked until No funnel, CTA, title, meta, content-cluster, or internal-link change from impressions alone.
Local revalidation command npm run check && npm run build && npm run audit:growth && npm run audit:launch
Live revalidation After deploy, verify the changed route and run npm run audit:live.
Rollback trigger Rollback public change if the report filters were wrong, the date range is too thin, or later data contradicts the decision.
waiting-for-gsc-proof
gsc-indexed-pages
Record the GSC screenshot or export with page/query filters, date range, crawl or index state, and the exact SEO decision output.
Status: needs-index-check Priority: P3 Type: analytics-review
Accepted proof record Record the GSC screenshot or export with page/query filters, date range, crawl or index state, and the exact SEO decision output.
Required proof GSC page indexing state plus sitemap presence for each indexable cluster page.
Proof acceptance check Accept only a GA4 or GSC screenshot/export with date range, filters, metric evidence, and decision output.
Primary update target src/data/seoReviewStatus.ts | /seo-review/
Secondary update target /seo-review/ | /growth-review/review-packet/
Public change allowed after intake Rewrite title, meta, internal links, or cluster copy only for the page/query pair proven by GSC and matching GA4 action evidence when traffic exists.
Still blocked until No funnel, CTA, title, meta, content-cluster, or internal-link change from impressions alone.
Local revalidation command npm run check && npm run build && npm run audit:growth && npm run audit:launch
Live revalidation After deploy, verify the changed route and run npm run audit:live.
Rollback trigger Rollback public change if the report filters were wrong, the date range is too thin, or later data contradicts the decision.
waiting-for-gsc-proof
gsc-queries-by-page
Record the GSC screenshot or export with page/query filters, date range, crawl or index state, and the exact SEO decision output.
Status: needs-gsc-data Priority: P3 Type: analytics-review
Accepted proof record Record the GSC screenshot or export with page/query filters, date range, crawl or index state, and the exact SEO decision output.
Required proof Top queries by page after impressions exist.
Proof acceptance check Accept only a GA4 or GSC screenshot/export with date range, filters, metric evidence, and decision output.
Primary update target src/data/seoReviewStatus.ts | /seo-review/
Secondary update target /seo-review/ | /growth-review/review-packet/
Public change allowed after intake Rewrite title, meta, internal links, or cluster copy only for the page/query pair proven by GSC and matching GA4 action evidence when traffic exists.
Still blocked until No funnel, CTA, title, meta, content-cluster, or internal-link change from impressions alone.
Local revalidation command npm run check && npm run build && npm run audit:growth && npm run audit:launch
Live revalidation After deploy, verify the changed route and run npm run audit:live.
Rollback trigger Rollback public change if the report filters were wrong, the date range is too thin, or later data contradicts the decision.
waiting-for-gsc-proof
gsc-ctr-by-intent-page
Record the GSC screenshot or export with page/query filters, date range, crawl or index state, and the exact SEO decision output.
Status: needs-gsc-data Priority: P3 Type: analytics-review
Accepted proof record Record the GSC screenshot or export with page/query filters, date range, crawl or index state, and the exact SEO decision output.
Required proof CTR and average position by page for at least one weekly review window.
Proof acceptance check Accept only a GA4 or GSC screenshot/export with date range, filters, metric evidence, and decision output.
Primary update target src/data/seoReviewStatus.ts | /seo-review/
Secondary update target /seo-review/ | /growth-review/review-packet/
Public change allowed after intake Rewrite title, meta, internal links, or cluster copy only for the page/query pair proven by GSC and matching GA4 action evidence when traffic exists.
Still blocked until No funnel, CTA, title, meta, content-cluster, or internal-link change from impressions alone.
Local revalidation command npm run check && npm run build && npm run audit:growth && npm run audit:launch
Live revalidation After deploy, verify the changed route and run npm run audit:live.
Rollback trigger Rollback public change if the report filters were wrong, the date range is too thin, or later data contradicts the decision.
waiting-for-gsc-proof
gsc-pages-with-impressions-but-low-ctr
Record the GSC screenshot or export with page/query filters, date range, crawl or index state, and the exact SEO decision output.
Status: needs-gsc-data Priority: P3 Type: analytics-review
Accepted proof record Record the GSC screenshot or export with page/query filters, date range, crawl or index state, and the exact SEO decision output.
Required proof GSC impressions paired with GA4 action counts from the same review window.
Proof acceptance check Accept only a GA4 or GSC screenshot/export with date range, filters, metric evidence, and decision output.
Primary update target src/data/seoReviewStatus.ts | /seo-review/
Secondary update target /seo-review/ | /growth-review/review-packet/
Public change allowed after intake Rewrite title, meta, internal links, or cluster copy only for the page/query pair proven by GSC and matching GA4 action evidence when traffic exists.
Still blocked until No funnel, CTA, title, meta, content-cluster, or internal-link change from impressions alone.
Local revalidation command npm run check && npm run build && npm run audit:growth && npm run audit:launch
Live revalidation After deploy, verify the changed route and run npm run audit:live.
Rollback trigger Rollback public change if the report filters were wrong, the date range is too thin, or later data contradicts the decision.
waiting-for-gsc-proof
pillar-training-games
Record the GSC screenshot or export with page/query filters, date range, crawl or index state, and the exact SEO decision output.
Status: needs-gsc-data Priority: P3 Type: analytics-review
Accepted proof record Record the GSC screenshot or export with page/query filters, date range, crawl or index state, and the exact SEO decision output.
Required proof Weekly after GSC impressions appear.
Proof acceptance check Accept only a GA4 or GSC screenshot/export with date range, filters, metric evidence, and decision output.
Primary update target src/data/seoReviewStatus.ts | /seo-review/
Secondary update target /seo-review/ | /growth-review/review-packet/
Public change allowed after intake Rewrite title, meta, internal links, or cluster copy only for the page/query pair proven by GSC and matching GA4 action evidence when traffic exists.
Still blocked until No funnel, CTA, title, meta, content-cluster, or internal-link change from impressions alone.
Local revalidation command npm run check && npm run build && npm run audit:growth && npm run audit:launch
Live revalidation After deploy, verify the changed route and run npm run audit:live.
Rollback trigger Rollback public change if the report filters were wrong, the date range is too thin, or later data contradicts the decision.
waiting-for-gsc-proof
problem-pages
Record the GSC screenshot or export with page/query filters, date range, crawl or index state, and the exact SEO decision output.
Status: needs-gsc-data Priority: P3 Type: analytics-review
Accepted proof record Record the GSC screenshot or export with page/query filters, date range, crawl or index state, and the exact SEO decision output.
Required proof Weekly, with high-risk pages checked before any CTA expansion.
Proof acceptance check Accept only a GA4 or GSC screenshot/export with date range, filters, metric evidence, and decision output.
Primary update target src/data/seoReviewStatus.ts | /seo-review/
Secondary update target /seo-review/ | /growth-review/review-packet/
Public change allowed after intake Rewrite title, meta, internal links, or cluster copy only for the page/query pair proven by GSC and matching GA4 action evidence when traffic exists.
Still blocked until No funnel, CTA, title, meta, content-cluster, or internal-link change from impressions alone.
Local revalidation command npm run check && npm run build && npm run audit:growth && npm run audit:launch
Live revalidation After deploy, verify the changed route and run npm run audit:live.
Rollback trigger Rollback public change if the report filters were wrong, the date range is too thin, or later data contradicts the decision.
waiting-for-gsc-proof
resource-lead-magnets
Record the GSC screenshot or export with page/query filters, date range, crawl or index state, and the exact SEO decision output.
Status: needs-gsc-data Priority: P3 Type: analytics-review
Accepted proof record Record the GSC screenshot or export with page/query filters, date range, crawl or index state, and the exact SEO decision output.
Required proof Weekly after publishing social/email traffic and sitemap recrawl.
Proof acceptance check Accept only a GA4 or GSC screenshot/export with date range, filters, metric evidence, and decision output.
Primary update target src/data/seoReviewStatus.ts | /seo-review/
Secondary update target /seo-review/ | /growth-review/review-packet/
Public change allowed after intake Rewrite title, meta, internal links, or cluster copy only for the page/query pair proven by GSC and matching GA4 action evidence when traffic exists.
Still blocked until No funnel, CTA, title, meta, content-cluster, or internal-link change from impressions alone.
Local revalidation command npm run check && npm run build && npm run audit:growth && npm run audit:launch
Live revalidation After deploy, verify the changed route and run npm run audit:live.
Rollback trigger Rollback public change if the report filters were wrong, the date range is too thin, or later data contradicts the decision.
waiting-for-gsc-proof
gear-guides
Record the GSC screenshot or export with page/query filters, date range, crawl or index state, and the exact SEO decision output.
Status: needs-gsc-data Priority: P3 Type: analytics-review
Accepted proof record Record the GSC screenshot or export with page/query filters, date range, crawl or index state, and the exact SEO decision output.
Required proof Weekly, but merchant links stay paused until approvals and tracking IDs exist.
Proof acceptance check Accept only a GA4 or GSC screenshot/export with date range, filters, metric evidence, and decision output.
Primary update target src/data/seoReviewStatus.ts | /seo-review/
Secondary update target /seo-review/ | /growth-review/review-packet/
Public change allowed after intake Rewrite title, meta, internal links, or cluster copy only for the page/query pair proven by GSC and matching GA4 action evidence when traffic exists.
Still blocked until No funnel, CTA, title, meta, content-cluster, or internal-link change from impressions alone.
Local revalidation command npm run check && npm run build && npm run audit:growth && npm run audit:launch
Live revalidation After deploy, verify the changed route and run npm run audit:live.
Rollback trigger Rollback public change if the report filters were wrong, the date range is too thin, or later data contradicts the decision.
waiting-for-gsc-proof
game-library
Record the GSC screenshot or export with page/query filters, date range, crawl or index state, and the exact SEO decision output.
Status: needs-gsc-data Priority: P3 Type: analytics-review
Accepted proof record Record the GSC screenshot or export with page/query filters, date range, crawl or index state, and the exact SEO decision output.
Required proof Weekly after crawl, then monthly once stable.
Proof acceptance check Accept only a GA4 or GSC screenshot/export with date range, filters, metric evidence, and decision output.
Primary update target src/data/seoReviewStatus.ts | /seo-review/
Secondary update target /seo-review/ | /growth-review/review-packet/
Public change allowed after intake Rewrite title, meta, internal links, or cluster copy only for the page/query pair proven by GSC and matching GA4 action evidence when traffic exists.
Still blocked until No funnel, CTA, title, meta, content-cluster, or internal-link change from impressions alone.
Local revalidation command npm run check && npm run build && npm run audit:growth && npm run audit:launch
Live revalidation After deploy, verify the changed route and run npm run audit:live.
Rollback trigger Rollback public change if the report filters were wrong, the date range is too thin, or later data contradicts the decision.