Noindex public change packet

Apply proof without loosening the public guardrails.

This packet says what can change after proof arrives, what stays blocked, which source files to update, which checks to run, and when to roll back a visible change.

Public change gate: Do not change public CTAs, offer activation, trust copy, social status, titles, meta descriptions, internal links, or funnel paths until the proof acceptance check passes and the source tracker is updated.

Open change rows

63 changes still require proof.

Each row mirrors an open external action and keeps visible site changes separate from planning, publishing, or report setup.

Stage mix

approval-activation: 5 / access-restoration: 3 / evidence-copy-update: 8 / social-url-update: 14 / analytics-decision-update: 33

Approval activation, evidence copy, social URL, and analytics decisions all use different proof gates.

approval-activation

doggyd4n

Activate DOGGYD4N only if final ClickBank whitelist proof and the 2026-06-08 trainer review outcome are both recorded; keep professional-help-first copy.

Status: approved-paused Type: affiliate-approval
Public surface

/go/reactivity-class/ | reactivity pages | src/data/offers.ts approval flag

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.

Blocked until proof

No public DOGGYD4N hoplink, CTA, or auto-forward while final ClickBank good-to-go or dashboard proof is missing.

Source update

src/data/affiliateProgramStatus.ts

Secondary update

/affiliate-approvals/ | /launch-ops/external-action-queue/

Pre-change command

npm run check && npm run build

Post-change command

npm run audit:growth && npm run audit:launch

Live validation

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.

Public change gate

Affiliate path stays paused: no public CTA, hoplink, or auto-forward is allowed until the remaining proof named in the activation gate is recorded.

approval-activation

amazon-associates

Replace category-only gear guidance with approved merchant redirect details only for approved merchants and safe categories.

Status: not-confirmed Type: affiliate-approval
Public surface

Gear guide pages | /go/gear/... redirect pages | src/data/gearOffers.ts

Proof acceptance check

Accept only a dashboard state, approval email, real tracking ID, approved merchant URL, and dated note that matches the program row.

Blocked until proof

No public outbound merchant link, hoplink, or auto-forward while approval, tracking ID, or merchant URL is missing.

Source update

src/data/affiliateProgramStatus.ts | src/data/gearOffers.ts

Secondary update

/affiliate-approvals/ | /launch-ops/external-action-queue/

Pre-change command

npm run check && npm run build

Post-change command

npm run audit:growth && npm run audit:launch

Live validation

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.

Public change gate

No merchant outbound link until approvalStatus is approved and merchantUrl plus trackingId are real.

approval-activation

chewy

Replace category-only gear guidance with approved merchant redirect details only for approved merchants and safe categories.

Status: not-confirmed Type: affiliate-approval
Public surface

Gear guide pages | /go/gear/... redirect pages | src/data/gearOffers.ts

Proof acceptance check

Accept only a dashboard state, approval email, real tracking ID, approved merchant URL, and dated note that matches the program row.

Blocked until proof

No public outbound merchant link, hoplink, or auto-forward while approval, tracking ID, or merchant URL is missing.

Source update

src/data/affiliateProgramStatus.ts | src/data/gearOffers.ts

Secondary update

/affiliate-approvals/ | /launch-ops/external-action-queue/

Pre-change command

npm run check && npm run build

Post-change command

npm run audit:growth && npm run audit:launch

Live validation

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.

Public change gate

No merchant outbound link until approvalStatus is approved and merchantUrl plus trackingId are real.

approval-activation

petco

Replace category-only gear guidance with approved merchant redirect details only for approved merchants and safe categories.

Status: not-confirmed Type: affiliate-approval
Public surface

Gear guide pages | /go/gear/... redirect pages | src/data/gearOffers.ts

Proof acceptance check

Accept only a dashboard state, approval email, real tracking ID, approved merchant URL, and dated note that matches the program row.

Blocked until proof

No public outbound merchant link, hoplink, or auto-forward while approval, tracking ID, or merchant URL is missing.

Source update

src/data/affiliateProgramStatus.ts | src/data/gearOffers.ts

Secondary update

/affiliate-approvals/ | /launch-ops/external-action-queue/

Pre-change command

npm run check && npm run build

Post-change command

npm run audit:growth && npm run audit:launch

Live validation

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.

Public change gate

No merchant outbound link until approvalStatus is approved and merchantUrl plus trackingId are real.

approval-activation

impact

Replace category-only gear guidance with approved merchant redirect details only for approved merchants and safe categories.

Status: not-confirmed Type: affiliate-approval
Public surface

Gear guide pages | /go/gear/... redirect pages | src/data/gearOffers.ts

Proof acceptance check

Accept only a dashboard state, approval email, real tracking ID, approved merchant URL, and dated note that matches the program row.

Blocked until proof

No public outbound merchant link, hoplink, or auto-forward while approval, tracking ID, or merchant URL is missing.

Source update

src/data/affiliateProgramStatus.ts | src/data/gearOffers.ts

Secondary update

/affiliate-approvals/ | /launch-ops/external-action-queue/

Pre-change command

npm run check && npm run build

Post-change command

npm run audit:growth && npm run audit:launch

Live validation

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.

Public change gate

No merchant outbound link until approvalStatus is approved and merchantUrl plus trackingId are real.

access-restoration

gmail-connector-reauth

No public visible change; only update the access proof note and then run the underlying approval, GA4, or Actions check.

Status: reauth-required Type: access-recovery
Public surface

Internal launch ops only: connector authorization, report access, and proof notes.

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.

Blocked until proof

Do not mark approvals, workflow runs, GA4 counts, or growth decisions complete while access is missing.

Source update

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

/launch-ops/ | /launch-ops/external-action-queue/

Pre-change command

npm run check && npm run build

Post-change command

npm run audit:growth && npm run audit:launch

Live validation

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.

Public change gate

Restored Gmail access is not enough to activate DOGGYD4N or gear links; DOGGYD4N still needs final ClickBank good-to-go or dashboard proof, and gear merchants still need approval plus tracking details.

access-restoration

github-actions-access

No public visible change; only update the access proof note and then run the underlying approval, GA4, or Actions check.

Status: authorization-required Type: access-recovery
Public surface

Internal launch ops only: connector authorization, report access, and proof notes.

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.

Blocked until proof

Do not mark approvals, workflow runs, GA4 counts, or growth decisions complete while access is missing.

Source update

ops-log-2026-06-03.md | live-deployment-check-2026-06-03.md | worker-live-check-2026-06-03.md.

Secondary update

/launch-ops/ | /launch-ops/external-action-queue/

Pre-change command

npm run check && npm run build

Post-change command

npm run audit:growth && npm run audit:launch

Live validation

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.

Public change gate

No public content change is allowed from Actions visibility alone; it only confirms production guardrail monitoring.

access-restoration

ga4-read-access

No public visible change; only update the access proof note and then run the underlying approval, GA4, or Actions check.

Status: login-or-read-access-required Type: access-recovery
Public surface

Internal launch ops only: connector authorization, report access, and proof notes.

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.

Blocked until proof

Do not mark approvals, workflow runs, GA4 counts, or growth decisions complete while access is missing.

Source update

/growth-review/ | /growth-review/analytics-manifest.csv | external-launch-checklist-2026-06-02.md | ops-log-2026-06-03.md.

Secondary update

/launch-ops/ | /launch-ops/external-action-queue/

Pre-change command

npm run check && npm run build

Post-change command

npm run audit:growth && npm run audit:launch

Live validation

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.

Public change gate

No CTA, email, quiz, affiliate, SEO, keep/rewrite/pause, or kill decision until authorized GA4 proof is attached.

evidence-copy-update

owner-test-treasure-hunt

Add narrow first-hand note, real media reference, or trainer-reviewed wording only to the exact covered page or cluster.

Status: needs-real-test Type: evidence-intake
Public surface

Game pages, resource pages, social assets, or trainer-reviewed clusters listed by the evidence record.

Proof acceptance check

Accept only dated notes, media, or trainer feedback that covers every required field and safety stop in the proof packet.

Blocked until proof

No owner-tested, real dog demo, trainer-reviewed, or stronger trust claim until proof is attached and dated.

Source update

src/data/evidenceCollectionStatus.ts

Secondary update

/evidence-tracker/ | /review-status/

Pre-change command

npm run check && npm run build

Post-change command

npm run audit:growth && npm run audit:launch

Live validation

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.

Public change gate

No first-hand or owner-tested claim until all required fields and safety observations are recorded.

evidence-copy-update

owner-test-snuffle-scatter

Add narrow first-hand note, real media reference, or trainer-reviewed wording only to the exact covered page or cluster.

Status: needs-real-test Type: evidence-intake
Public surface

Game pages, resource pages, social assets, or trainer-reviewed clusters listed by the evidence record.

Proof acceptance check

Accept only dated notes, media, or trainer feedback that covers every required field and safety stop in the proof packet.

Blocked until proof

No owner-tested, real dog demo, trainer-reviewed, or stronger trust claim until proof is attached and dated.

Source update

src/data/evidenceCollectionStatus.ts

Secondary update

/evidence-tracker/ | /review-status/

Pre-change command

npm run check && npm run build

Post-change command

npm run audit:growth && npm run audit:launch

Live validation

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.

Public change gate

No first-hand or owner-tested claim until all required fields and safety observations are recorded.

evidence-copy-update

owner-test-muffin-game

Add narrow first-hand note, real media reference, or trainer-reviewed wording only to the exact covered page or cluster.

Status: needs-real-test Type: evidence-intake
Public surface

Game pages, resource pages, social assets, or trainer-reviewed clusters listed by the evidence record.

Proof acceptance check

Accept only dated notes, media, or trainer feedback that covers every required field and safety stop in the proof packet.

Blocked until proof

No owner-tested, real dog demo, trainer-reviewed, or stronger trust claim until proof is attached and dated.

Source update

src/data/evidenceCollectionStatus.ts

Secondary update

/evidence-tracker/ | /review-status/

Pre-change command

npm run check && npm run build

Post-change command

npm run audit:growth && npm run audit:launch

Live validation

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.

Public change gate

No first-hand or owner-tested claim until all required fields and safety observations are recorded.

evidence-copy-update

media-indoor-low-risk-games

Add narrow first-hand note, real media reference, or trainer-reviewed wording only to the exact covered page or cluster.

Status: needs-real-media Type: evidence-intake
Public surface

Game pages, resource pages, social assets, or trainer-reviewed clusters listed by the evidence record.

Proof acceptance check

Accept only dated notes, media, or trainer feedback that covers every required field and safety stop in the proof packet.

Blocked until proof

No owner-tested, real dog demo, trainer-reviewed, or stronger trust claim until proof is attached and dated.

Source update

src/data/evidenceCollectionStatus.ts

Secondary update

/evidence-tracker/ | /review-status/

Pre-change command

npm run check && npm run build

Post-change command

npm run audit:growth && npm run audit:launch

Live validation

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.

Public change gate

No real dog demo, real photo, or owner-tested caption until the matching media proof exists.

evidence-copy-update

media-shorts-controlled-demos

Add narrow first-hand note, real media reference, or trainer-reviewed wording only to the exact covered page or cluster.

Status: needs-real-media Type: evidence-intake
Public surface

Game pages, resource pages, social assets, or trainer-reviewed clusters listed by the evidence record.

Proof acceptance check

Accept only dated notes, media, or trainer feedback that covers every required field and safety stop in the proof packet.

Blocked until proof

No owner-tested, real dog demo, trainer-reviewed, or stronger trust claim until proof is attached and dated.

Source update

src/data/evidenceCollectionStatus.ts

Secondary update

/evidence-tracker/ | /review-status/

Pre-change command

npm run check && npm run build

Post-change command

npm run audit:growth && npm run audit:launch

Live validation

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.

Public change gate

No real dog demo, real photo, or owner-tested caption until the matching media proof exists.

evidence-copy-update

trainer-review-puppy

Add narrow first-hand note, real media reference, or trainer-reviewed wording only to the exact covered page or cluster.

Status: ready-to-add-notes Type: evidence-intake
Public surface

Game pages, resource pages, social assets, or trainer-reviewed clusters listed by the evidence record.

Proof acceptance check

Accept only dated notes, media, or trainer feedback that covers every required field and safety stop in the proof packet.

Blocked until proof

No owner-tested, real dog demo, trainer-reviewed, or stronger trust claim until proof is attached and dated.

Source update

trainer-review-needed.md

Secondary update

/evidence-tracker/ | /review-status/

Pre-change command

npm run check && npm run build

Post-change command

npm run audit:growth && npm run audit:launch

Live validation

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.

Public change gate

No trainer-reviewed wording, paid high-risk promotion, or reactivity CTA activation until dated notes exist.

evidence-copy-update

trainer-review-leash

Add narrow first-hand note, real media reference, or trainer-reviewed wording only to the exact covered page or cluster.

Status: ready-to-add-notes Type: evidence-intake
Public surface

Game pages, resource pages, social assets, or trainer-reviewed clusters listed by the evidence record.

Proof acceptance check

Accept only dated notes, media, or trainer feedback that covers every required field and safety stop in the proof packet.

Blocked until proof

No owner-tested, real dog demo, trainer-reviewed, or stronger trust claim until proof is attached and dated.

Source update

trainer-review-needed.md

Secondary update

/evidence-tracker/ | /review-status/

Pre-change command

npm run check && npm run build

Post-change command

npm run audit:growth && npm run audit:launch

Live validation

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.

Public change gate

No trainer-reviewed wording, paid high-risk promotion, or reactivity CTA activation until dated notes exist.

evidence-copy-update

trainer-review-reactivity

Add narrow first-hand note, real media reference, or trainer-reviewed wording only to the exact covered page or cluster.

Status: ready-to-add-notes Type: evidence-intake
Public surface

Game pages, resource pages, social assets, or trainer-reviewed clusters listed by the evidence record.

Proof acceptance check

Accept only dated notes, media, or trainer feedback that covers every required field and safety stop in the proof packet.

Blocked until proof

No owner-tested, real dog demo, trainer-reviewed, or stronger trust claim until proof is attached and dated.

Source update

trainer-review-needed.md

Secondary update

/evidence-tracker/ | /review-status/

Pre-change command

npm run check && npm run build

Post-change command

npm run audit:growth && npm run audit:launch

Live validation

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.

Public change gate

No trainer-reviewed wording, paid high-risk promotion, or reactivity CTA activation until dated notes exist.

social-url-update

pin-indoor-10-games

Record the public URL and move the matching growth record into the 24h / 72h / 7d review sequence.

Status: ready-to-publish Type: social-publishing
Public surface

/social-assets/tracker/ | /growth-review/ | social public URL fields

Proof acceptance check

Accept only a public URL or real controlled footage plus exact UTM URL, publish date, and proof capture.

Blocked until proof

No GA4 keep/rewrite/kill decision and no published-status claim until public URL or real footage exists.

Source update

src/data/socialLaunchStatus.ts

Secondary update

/social-assets/tracker/ | /growth-review/

Pre-change command

npm run check && npm run build

Post-change command

npm run audit:growth && npm run audit:launch

Live validation

After deploy, verify the changed route and run npm run audit:live.

Rollback trigger

Rollback status if URL is private, deleted, missing UTM, or footage violates the safety gate.

Public change gate

Record a public URL before any 24h, 72h, or 7d growth decision is allowed.

social-url-update

pin-rainy-day-enrichment

Record the public URL and move the matching growth record into the 24h / 72h / 7d review sequence.

Status: ready-to-publish Type: social-publishing
Public surface

/social-assets/tracker/ | /growth-review/ | social public URL fields

Proof acceptance check

Accept only a public URL or real controlled footage plus exact UTM URL, publish date, and proof capture.

Blocked until proof

No GA4 keep/rewrite/kill decision and no published-status claim until public URL or real footage exists.

Source update

src/data/socialLaunchStatus.ts

Secondary update

/social-assets/tracker/ | /growth-review/

Pre-change command

npm run check && npm run build

Post-change command

npm run audit:growth && npm run audit:launch

Live validation

After deploy, verify the changed route and run npm run audit:live.

Rollback trigger

Rollback status if URL is private, deleted, missing UTM, or footage violates the safety gate.

Public change gate

Record a public URL before any 24h, 72h, or 7d growth decision is allowed.

social-url-update

pin-diy-brain-games

Record the public URL and move the matching growth record into the 24h / 72h / 7d review sequence.

Status: ready-to-publish Type: social-publishing
Public surface

/social-assets/tracker/ | /growth-review/ | social public URL fields

Proof acceptance check

Accept only a public URL or real controlled footage plus exact UTM URL, publish date, and proof capture.

Blocked until proof

No GA4 keep/rewrite/kill decision and no published-status claim until public URL or real footage exists.

Source update

src/data/socialLaunchStatus.ts

Secondary update

/social-assets/tracker/ | /growth-review/

Pre-change command

npm run check && npm run build

Post-change command

npm run audit:growth && npm run audit:launch

Live validation

After deploy, verify the changed route and run npm run audit:live.

Rollback trigger

Rollback status if URL is private, deleted, missing UTM, or footage violates the safety gate.

Public change gate

Record a public URL before any 24h, 72h, or 7d growth decision is allowed.

social-url-update

pin-puppy-redirect

Record the public URL and move the matching growth record into the 24h / 72h / 7d review sequence.

Status: ready-to-publish Type: social-publishing
Public surface

/social-assets/tracker/ | /growth-review/ | social public URL fields

Proof acceptance check

Accept only a public URL or real controlled footage plus exact UTM URL, publish date, and proof capture.

Blocked until proof

No GA4 keep/rewrite/kill decision and no published-status claim until public URL or real footage exists.

Source update

src/data/socialLaunchStatus.ts

Secondary update

/social-assets/tracker/ | /growth-review/

Pre-change command

npm run check && npm run build

Post-change command

npm run audit:growth && npm run audit:launch

Live validation

After deploy, verify the changed route and run npm run audit:live.

Rollback trigger

Rollback status if URL is private, deleted, missing UTM, or footage violates the safety gate.

Public change gate

Record a public URL before any 24h, 72h, or 7d growth decision is allowed.

social-url-update

pin-puppy-games

Record the public URL and move the matching growth record into the 24h / 72h / 7d review sequence.

Status: ready-to-publish Type: social-publishing
Public surface

/social-assets/tracker/ | /growth-review/ | social public URL fields

Proof acceptance check

Accept only a public URL or real controlled footage plus exact UTM URL, publish date, and proof capture.

Blocked until proof

No GA4 keep/rewrite/kill decision and no published-status claim until public URL or real footage exists.

Source update

src/data/socialLaunchStatus.ts

Secondary update

/social-assets/tracker/ | /growth-review/

Pre-change command

npm run check && npm run build

Post-change command

npm run audit:growth && npm run audit:launch

Live validation

After deploy, verify the changed route and run npm run audit:live.

Rollback trigger

Rollback status if URL is private, deleted, missing UTM, or footage violates the safety gate.

Public change gate

Record a public URL before any 24h, 72h, or 7d growth decision is allowed.

social-url-update

pin-loose-leash-reset

Record the public URL and move the matching growth record into the 24h / 72h / 7d review sequence.

Status: ready-to-publish Type: social-publishing
Public surface

/social-assets/tracker/ | /growth-review/ | social public URL fields

Proof acceptance check

Accept only a public URL or real controlled footage plus exact UTM URL, publish date, and proof capture.

Blocked until proof

No GA4 keep/rewrite/kill decision and no published-status claim until public URL or real footage exists.

Source update

src/data/socialLaunchStatus.ts

Secondary update

/social-assets/tracker/ | /growth-review/

Pre-change command

npm run check && npm run build

Post-change command

npm run audit:growth && npm run audit:launch

Live validation

After deploy, verify the changed route and run npm run audit:live.

Rollback trigger

Rollback status if URL is private, deleted, missing UTM, or footage violates the safety gate.

Public change gate

Record a public URL before any 24h, 72h, or 7d growth decision is allowed.

social-url-update

pin-puzzle-toy-criteria

Record the public URL and move the matching growth record into the 24h / 72h / 7d review sequence.

Status: ready-to-publish Type: social-publishing
Public surface

/social-assets/tracker/ | /growth-review/ | social public URL fields

Proof acceptance check

Accept only a public URL or real controlled footage plus exact UTM URL, publish date, and proof capture.

Blocked until proof

No GA4 keep/rewrite/kill decision and no published-status claim until public URL or real footage exists.

Source update

src/data/socialLaunchStatus.ts

Secondary update

/social-assets/tracker/ | /growth-review/

Pre-change command

npm run check && npm run build

Post-change command

npm run audit:growth && npm run audit:launch

Live validation

After deploy, verify the changed route and run npm run audit:live.

Rollback trigger

Rollback status if URL is private, deleted, missing UTM, or footage violates the safety gate.

Public change gate

Record a public URL before any 24h, 72h, or 7d growth decision is allowed.

social-url-update

pin-snuffle-mat-safety

Record the public URL and move the matching growth record into the 24h / 72h / 7d review sequence.

Status: ready-to-publish Type: social-publishing
Public surface

/social-assets/tracker/ | /growth-review/ | social public URL fields

Proof acceptance check

Accept only a public URL or real controlled footage plus exact UTM URL, publish date, and proof capture.

Blocked until proof

No GA4 keep/rewrite/kill decision and no published-status claim until public URL or real footage exists.

Source update

src/data/socialLaunchStatus.ts

Secondary update

/social-assets/tracker/ | /growth-review/

Pre-change command

npm run check && npm run build

Post-change command

npm run audit:growth && npm run audit:launch

Live validation

After deploy, verify the changed route and run npm run audit:live.

Rollback trigger

Rollback status if URL is private, deleted, missing UTM, or footage violates the safety gate.

Public change gate

Record a public URL before any 24h, 72h, or 7d growth decision is allowed.

social-url-update

pin-trigger-log

Record the public URL and move the matching growth record into the 24h / 72h / 7d review sequence.

Status: ready-to-publish Type: social-publishing
Public surface

/social-assets/tracker/ | /growth-review/ | social public URL fields

Proof acceptance check

Accept only a public URL or real controlled footage plus exact UTM URL, publish date, and proof capture.

Blocked until proof

No GA4 keep/rewrite/kill decision and no published-status claim until public URL or real footage exists.

Source update

src/data/socialLaunchStatus.ts

Secondary update

/social-assets/tracker/ | /growth-review/

Pre-change command

npm run check && npm run build

Post-change command

npm run audit:growth && npm run audit:launch

Live validation

After deploy, verify the changed route and run npm run audit:live.

Rollback trigger

Rollback status if URL is private, deleted, missing UTM, or footage violates the safety gate.

Public change gate

Record a public URL before any 24h, 72h, or 7d growth decision is allowed.

social-url-update

pin-game-finder-quiz

Record the public URL and move the matching growth record into the 24h / 72h / 7d review sequence.

Status: ready-to-publish Type: social-publishing
Public surface

/social-assets/tracker/ | /growth-review/ | social public URL fields

Proof acceptance check

Accept only a public URL or real controlled footage plus exact UTM URL, publish date, and proof capture.

Blocked until proof

No GA4 keep/rewrite/kill decision and no published-status claim until public URL or real footage exists.

Source update

src/data/socialLaunchStatus.ts

Secondary update

/social-assets/tracker/ | /growth-review/

Pre-change command

npm run check && npm run build

Post-change command

npm run audit:growth && npm run audit:launch

Live validation

After deploy, verify the changed route and run npm run audit:live.

Rollback trigger

Rollback status if URL is private, deleted, missing UTM, or footage violates the safety gate.

Public change gate

Record a public URL before any 24h, 72h, or 7d growth decision is allowed.

social-url-update

short-one-game-30s

Record the public URL and move the matching growth record into the 24h / 72h / 7d review sequence.

Status: needs-real-footage Type: social-publishing
Public surface

/social-assets/tracker/ | /growth-review/ | social public URL fields

Proof acceptance check

Accept only a public URL or real controlled footage plus exact UTM URL, publish date, and proof capture.

Blocked until proof

No GA4 keep/rewrite/kill decision and no published-status claim until public URL or real footage exists.

Source update

src/data/socialLaunchStatus.ts

Secondary update

/social-assets/tracker/ | /growth-review/

Pre-change command

npm run check && npm run build

Post-change command

npm run audit:growth && npm run audit:launch

Live validation

After deploy, verify the changed route and run npm run audit:live.

Rollback trigger

Rollback status if URL is private, deleted, missing UTM, or footage violates the safety gate.

Public change gate

Record a public URL before any 24h, 72h, or 7d growth decision is allowed.

social-url-update

short-puzzle-toy-test

Record the public URL and move the matching growth record into the 24h / 72h / 7d review sequence.

Status: needs-real-footage Type: social-publishing
Public surface

/social-assets/tracker/ | /growth-review/ | social public URL fields

Proof acceptance check

Accept only a public URL or real controlled footage plus exact UTM URL, publish date, and proof capture.

Blocked until proof

No GA4 keep/rewrite/kill decision and no published-status claim until public URL or real footage exists.

Source update

src/data/socialLaunchStatus.ts

Secondary update

/social-assets/tracker/ | /growth-review/

Pre-change command

npm run check && npm run build

Post-change command

npm run audit:growth && npm run audit:launch

Live validation

After deploy, verify the changed route and run npm run audit:live.

Rollback trigger

Rollback status if URL is private, deleted, missing UTM, or footage violates the safety gate.

Public change gate

Record a public URL before any 24h, 72h, or 7d growth decision is allowed.

social-url-update

short-loose-leash-reset

Record the public URL and move the matching growth record into the 24h / 72h / 7d review sequence.

Status: needs-real-footage Type: social-publishing
Public surface

/social-assets/tracker/ | /growth-review/ | social public URL fields

Proof acceptance check

Accept only a public URL or real controlled footage plus exact UTM URL, publish date, and proof capture.

Blocked until proof

No GA4 keep/rewrite/kill decision and no published-status claim until public URL or real footage exists.

Source update

src/data/socialLaunchStatus.ts

Secondary update

/social-assets/tracker/ | /growth-review/

Pre-change command

npm run check && npm run build

Post-change command

npm run audit:growth && npm run audit:launch

Live validation

After deploy, verify the changed route and run npm run audit:live.

Rollback trigger

Rollback status if URL is private, deleted, missing UTM, or footage violates the safety gate.

Public change gate

Record a public URL before any 24h, 72h, or 7d growth decision is allowed.

social-url-update

short-common-mistake-demo

Record the public URL and move the matching growth record into the 24h / 72h / 7d review sequence.

Status: needs-real-footage Type: social-publishing
Public surface

/social-assets/tracker/ | /growth-review/ | social public URL fields

Proof acceptance check

Accept only a public URL or real controlled footage plus exact UTM URL, publish date, and proof capture.

Blocked until proof

No GA4 keep/rewrite/kill decision and no published-status claim until public URL or real footage exists.

Source update

src/data/socialLaunchStatus.ts

Secondary update

/social-assets/tracker/ | /growth-review/

Pre-change command

npm run check && npm run build

Post-change command

npm run audit:growth && npm run audit:launch

Live validation

After deploy, verify the changed route and run npm run audit:live.

Rollback trigger

Rollback status if URL is private, deleted, missing UTM, or footage violates the safety gate.

Public change gate

Record a public URL before any 24h, 72h, or 7d growth decision is allowed.

analytics-decision-update

quiz_result

Keep, rewrite, pause, or kill the matching CTA, landing card, email path, or offer placement only for the proven campaign and page cluster.

Status: tracking-ready Type: analytics-review
Public surface

/growth-review/ | affected CTA, email, quiz, offer-box, or affiliate path only after GA4 proof.

Proof acceptance check

Accept only a GA4 or GSC screenshot/export with date range, filters, metric evidence, and decision output.

Blocked until proof

No funnel, CTA, title, meta, content-cluster, or internal-link change from impressions alone.

Source update

src/data/growthReviewStatus.ts | /growth-review/

Secondary update

/growth-review/ | /growth-review/review-packet/

Pre-change command

npm run check && npm run build

Post-change command

npm run audit:growth && npm run audit:launch

Live validation

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.

Public change gate

Use this event lane as the denominator or action signal before changing copy, routing, or CTA priority.

analytics-decision-update

lead_magnet_signup

Keep, rewrite, pause, or kill the matching CTA, landing card, email path, or offer placement only for the proven campaign and page cluster.

Status: tracking-ready Type: analytics-review
Public surface

/growth-review/ | affected CTA, email, quiz, offer-box, or affiliate path only after GA4 proof.

Proof acceptance check

Accept only a GA4 or GSC screenshot/export with date range, filters, metric evidence, and decision output.

Blocked until proof

No funnel, CTA, title, meta, content-cluster, or internal-link change from impressions alone.

Source update

src/data/growthReviewStatus.ts | /growth-review/

Secondary update

/growth-review/ | /growth-review/review-packet/

Pre-change command

npm run check && npm run build

Post-change command

npm run audit:growth && npm run audit:launch

Live validation

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.

Public change gate

Use this event lane as the denominator or action signal before changing copy, routing, or CTA priority.

analytics-decision-update

internal_cta_click

Keep, rewrite, pause, or kill the matching CTA, landing card, email path, or offer placement only for the proven campaign and page cluster.

Status: tracking-ready Type: analytics-review
Public surface

/growth-review/ | affected CTA, email, quiz, offer-box, or affiliate path only after GA4 proof.

Proof acceptance check

Accept only a GA4 or GSC screenshot/export with date range, filters, metric evidence, and decision output.

Blocked until proof

No funnel, CTA, title, meta, content-cluster, or internal-link change from impressions alone.

Source update

src/data/growthReviewStatus.ts | /growth-review/

Secondary update

/growth-review/ | /growth-review/review-packet/

Pre-change command

npm run check && npm run build

Post-change command

npm run audit:growth && npm run audit:launch

Live validation

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.

Public change gate

Use this event lane as the denominator or action signal before changing copy, routing, or CTA priority.

analytics-decision-update

offer_box_view

Keep, rewrite, pause, or kill the matching CTA, landing card, email path, or offer placement only for the proven campaign and page cluster.

Status: tracking-ready Type: analytics-review
Public surface

/growth-review/ | affected CTA, email, quiz, offer-box, or affiliate path only after GA4 proof.

Proof acceptance check

Accept only a GA4 or GSC screenshot/export with date range, filters, metric evidence, and decision output.

Blocked until proof

No funnel, CTA, title, meta, content-cluster, or internal-link change from impressions alone.

Source update

src/data/growthReviewStatus.ts | /growth-review/

Secondary update

/growth-review/ | /growth-review/review-packet/

Pre-change command

npm run check && npm run build

Post-change command

npm run audit:growth && npm run audit:launch

Live validation

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.

Public change gate

Use this event lane as the denominator or action signal before changing copy, routing, or CTA priority.

analytics-decision-update

affiliate_click

Keep, rewrite, pause, or kill the matching CTA, landing card, email path, or offer placement only for the proven campaign and page cluster.

Status: tracking-ready Type: analytics-review
Public surface

/growth-review/ | affected CTA, email, quiz, offer-box, or affiliate path only after GA4 proof.

Proof acceptance check

Accept only a GA4 or GSC screenshot/export with date range, filters, metric evidence, and decision output.

Blocked until proof

No funnel, CTA, title, meta, content-cluster, or internal-link change from impressions alone.

Source update

src/data/growthReviewStatus.ts | /growth-review/

Secondary update

/growth-review/ | /growth-review/review-packet/

Pre-change command

npm run check && npm run build

Post-change command

npm run audit:growth && npm run audit:launch

Live validation

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.

Public change gate

Use this event lane as the denominator or action signal before changing copy, routing, or CTA priority.

analytics-decision-update

email-followup-send-status

Keep, rewrite, pause, or kill the matching CTA, landing card, email path, or offer placement only for the proven campaign and page cluster.

Status: needs-worker-data Type: analytics-review
Public surface

/growth-review/ | affected CTA, email, quiz, offer-box, or affiliate path only after GA4 proof.

Proof acceptance check

Accept only a GA4 or GSC screenshot/export with date range, filters, metric evidence, and decision output.

Blocked until proof

No funnel, CTA, title, meta, content-cluster, or internal-link change from impressions alone.

Source update

src/data/growthReviewStatus.ts | email-follow-up-map-2026-06-03.md | /growth-review/

Secondary update

/growth-review/ | /growth-review/review-packet/

Pre-change command

npm run check && npm run build

Post-change command

npm run audit:growth && npm run audit:launch

Live validation

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.

Public change gate

Do not increase FOLLOW_UP_SEND_LIMIT or add more follow-up steps until sent records, failures, and suppression outcomes are reviewed together.

analytics-decision-update

email-followup-return-visits

Keep, rewrite, pause, or kill the matching CTA, landing card, email path, or offer placement only for the proven campaign and page cluster.

Status: tracking-ready Type: analytics-review
Public surface

/growth-review/ | affected CTA, email, quiz, offer-box, or affiliate path only after GA4 proof.

Proof acceptance check

Accept only a GA4 or GSC screenshot/export with date range, filters, metric evidence, and decision output.

Blocked until proof

No funnel, CTA, title, meta, content-cluster, or internal-link change from impressions alone.

Source update

src/data/growthReviewStatus.ts | email-follow-up-map-2026-06-03.md | /growth-review/

Secondary update

/growth-review/ | /growth-review/review-packet/

Pre-change command

npm run check && npm run build

Post-change command

npm run audit:growth && npm run audit:launch

Live validation

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.

Public change gate

Rewrite only the follow-up note or landing next-step path with weak return behavior; do not rewrite all emails from one broad average.

analytics-decision-update

email-followup-affiliate-path

Keep, rewrite, pause, or kill the matching CTA, landing card, email path, or offer placement only for the proven campaign and page cluster.

Status: tracking-ready Type: analytics-review
Public surface

/growth-review/ | affected CTA, email, quiz, offer-box, or affiliate path only after GA4 proof.

Proof acceptance check

Accept only a GA4 or GSC screenshot/export with date range, filters, metric evidence, and decision output.

Blocked until proof

No funnel, CTA, title, meta, content-cluster, or internal-link change from impressions alone.

Source update

src/data/growthReviewStatus.ts | email-follow-up-map-2026-06-03.md | /growth-review/

Secondary update

/growth-review/ | /growth-review/review-packet/

Pre-change command

npm run check && npm run build

Post-change command

npm run audit:growth && npm run audit:launch

Live validation

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.

Public change gate

Keep high-risk segments at zero sales exits; only optimize low-risk course paths when GA4 exits match approved ClickBank reporting.

analytics-decision-update

email-followup-unsubscribe-suppression

Keep, rewrite, pause, or kill the matching CTA, landing card, email path, or offer placement only for the proven campaign and page cluster.

Status: needs-worker-data Type: analytics-review
Public surface

/growth-review/ | affected CTA, email, quiz, offer-box, or affiliate path only after GA4 proof.

Proof acceptance check

Accept only a GA4 or GSC screenshot/export with date range, filters, metric evidence, and decision output.

Blocked until proof

No funnel, CTA, title, meta, content-cluster, or internal-link change from impressions alone.

Source update

src/data/growthReviewStatus.ts | email-follow-up-map-2026-06-03.md | /growth-review/

Secondary update

/growth-review/ | /growth-review/review-packet/

Pre-change command

npm run check && npm run build

Post-change command

npm run audit:growth && npm run audit:launch

Live validation

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.

Public change gate

Do not expand the follow-up sequence if unsubscribes are not suppressing later records or if suppression evidence is missing.

analytics-decision-update

pin-indoor-10-games

Keep, rewrite, pause, or kill the matching CTA, landing card, email path, or offer placement only for the proven campaign and page cluster.

Status: waiting-for-publish Type: analytics-review
Public surface

/growth-review/ | affected CTA, email, quiz, offer-box, or affiliate path only after GA4 proof.

Proof acceptance check

Accept only a GA4 or GSC screenshot/export with date range, filters, metric evidence, and decision output.

Blocked until proof

No funnel, CTA, title, meta, content-cluster, or internal-link change from impressions alone.

Source update

src/data/socialLaunchStatus.ts | src/data/growthReviewStatus.ts | /growth-review/

Secondary update

/growth-review/ | /growth-review/review-packet/

Pre-change command

npm run check && npm run build

Post-change command

npm run audit:growth && npm run audit:launch

Live validation

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.

Public change gate

Rewrite after 50 landing sessions without the expected event; kill or pause if the theme creates traffic without site actions.

analytics-decision-update

pin-rainy-day-enrichment

Keep, rewrite, pause, or kill the matching CTA, landing card, email path, or offer placement only for the proven campaign and page cluster.

Status: waiting-for-publish Type: analytics-review
Public surface

/growth-review/ | affected CTA, email, quiz, offer-box, or affiliate path only after GA4 proof.

Proof acceptance check

Accept only a GA4 or GSC screenshot/export with date range, filters, metric evidence, and decision output.

Blocked until proof

No funnel, CTA, title, meta, content-cluster, or internal-link change from impressions alone.

Source update

src/data/socialLaunchStatus.ts | src/data/growthReviewStatus.ts | /growth-review/

Secondary update

/growth-review/ | /growth-review/review-packet/

Pre-change command

npm run check && npm run build

Post-change command

npm run audit:growth && npm run audit:launch

Live validation

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.

Public change gate

Rewrite after 50 landing sessions without the expected event; kill or pause if the theme creates traffic without site actions.

analytics-decision-update

pin-diy-brain-games

Keep, rewrite, pause, or kill the matching CTA, landing card, email path, or offer placement only for the proven campaign and page cluster.

Status: waiting-for-publish Type: analytics-review
Public surface

/growth-review/ | affected CTA, email, quiz, offer-box, or affiliate path only after GA4 proof.

Proof acceptance check

Accept only a GA4 or GSC screenshot/export with date range, filters, metric evidence, and decision output.

Blocked until proof

No funnel, CTA, title, meta, content-cluster, or internal-link change from impressions alone.

Source update

src/data/socialLaunchStatus.ts | src/data/growthReviewStatus.ts | /growth-review/

Secondary update

/growth-review/ | /growth-review/review-packet/

Pre-change command

npm run check && npm run build

Post-change command

npm run audit:growth && npm run audit:launch

Live validation

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.

Public change gate

Rewrite after 50 landing sessions without the expected event; kill or pause if the theme creates traffic without site actions.

analytics-decision-update

pin-puppy-redirect

Keep, rewrite, pause, or kill the matching CTA, landing card, email path, or offer placement only for the proven campaign and page cluster.

Status: waiting-for-publish Type: analytics-review
Public surface

/growth-review/ | affected CTA, email, quiz, offer-box, or affiliate path only after GA4 proof.

Proof acceptance check

Accept only a GA4 or GSC screenshot/export with date range, filters, metric evidence, and decision output.

Blocked until proof

No funnel, CTA, title, meta, content-cluster, or internal-link change from impressions alone.

Source update

src/data/socialLaunchStatus.ts | src/data/growthReviewStatus.ts | /growth-review/

Secondary update

/growth-review/ | /growth-review/review-packet/

Pre-change command

npm run check && npm run build

Post-change command

npm run audit:growth && npm run audit:launch

Live validation

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.

Public change gate

Rewrite after 50 landing sessions without the expected event; kill or pause if the theme creates traffic without site actions.

analytics-decision-update

pin-puppy-games

Keep, rewrite, pause, or kill the matching CTA, landing card, email path, or offer placement only for the proven campaign and page cluster.

Status: waiting-for-publish Type: analytics-review
Public surface

/growth-review/ | affected CTA, email, quiz, offer-box, or affiliate path only after GA4 proof.

Proof acceptance check

Accept only a GA4 or GSC screenshot/export with date range, filters, metric evidence, and decision output.

Blocked until proof

No funnel, CTA, title, meta, content-cluster, or internal-link change from impressions alone.

Source update

src/data/socialLaunchStatus.ts | src/data/growthReviewStatus.ts | /growth-review/

Secondary update

/growth-review/ | /growth-review/review-packet/

Pre-change command

npm run check && npm run build

Post-change command

npm run audit:growth && npm run audit:launch

Live validation

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.

Public change gate

Rewrite after 50 landing sessions without the expected event; kill or pause if the theme creates traffic without site actions.

analytics-decision-update

pin-loose-leash-reset

Keep, rewrite, pause, or kill the matching CTA, landing card, email path, or offer placement only for the proven campaign and page cluster.

Status: waiting-for-publish Type: analytics-review
Public surface

/growth-review/ | affected CTA, email, quiz, offer-box, or affiliate path only after GA4 proof.

Proof acceptance check

Accept only a GA4 or GSC screenshot/export with date range, filters, metric evidence, and decision output.

Blocked until proof

No funnel, CTA, title, meta, content-cluster, or internal-link change from impressions alone.

Source update

src/data/socialLaunchStatus.ts | src/data/growthReviewStatus.ts | /growth-review/

Secondary update

/growth-review/ | /growth-review/review-packet/

Pre-change command

npm run check && npm run build

Post-change command

npm run audit:growth && npm run audit:launch

Live validation

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.

Public change gate

Rewrite after 50 landing sessions without the expected event; kill or pause if the theme creates traffic without site actions.

analytics-decision-update

pin-puzzle-toy-criteria

Keep, rewrite, pause, or kill the matching CTA, landing card, email path, or offer placement only for the proven campaign and page cluster.

Status: waiting-for-publish Type: analytics-review
Public surface

/growth-review/ | affected CTA, email, quiz, offer-box, or affiliate path only after GA4 proof.

Proof acceptance check

Accept only a GA4 or GSC screenshot/export with date range, filters, metric evidence, and decision output.

Blocked until proof

No funnel, CTA, title, meta, content-cluster, or internal-link change from impressions alone.

Source update

src/data/socialLaunchStatus.ts | src/data/growthReviewStatus.ts | /growth-review/

Secondary update

/growth-review/ | /growth-review/review-packet/

Pre-change command

npm run check && npm run build

Post-change command

npm run audit:growth && npm run audit:launch

Live validation

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.

Public change gate

Rewrite after 50 landing sessions without the expected event; kill or pause if the theme creates traffic without site actions.

analytics-decision-update

pin-snuffle-mat-safety

Keep, rewrite, pause, or kill the matching CTA, landing card, email path, or offer placement only for the proven campaign and page cluster.

Status: waiting-for-publish Type: analytics-review
Public surface

/growth-review/ | affected CTA, email, quiz, offer-box, or affiliate path only after GA4 proof.

Proof acceptance check

Accept only a GA4 or GSC screenshot/export with date range, filters, metric evidence, and decision output.

Blocked until proof

No funnel, CTA, title, meta, content-cluster, or internal-link change from impressions alone.

Source update

src/data/socialLaunchStatus.ts | src/data/growthReviewStatus.ts | /growth-review/

Secondary update

/growth-review/ | /growth-review/review-packet/

Pre-change command

npm run check && npm run build

Post-change command

npm run audit:growth && npm run audit:launch

Live validation

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.

Public change gate

Rewrite after 50 landing sessions without the expected event; kill or pause if the theme creates traffic without site actions.

analytics-decision-update

pin-trigger-log

Keep, rewrite, pause, or kill the matching CTA, landing card, email path, or offer placement only for the proven campaign and page cluster.

Status: waiting-for-publish Type: analytics-review
Public surface

/growth-review/ | affected CTA, email, quiz, offer-box, or affiliate path only after GA4 proof.

Proof acceptance check

Accept only a GA4 or GSC screenshot/export with date range, filters, metric evidence, and decision output.

Blocked until proof

No funnel, CTA, title, meta, content-cluster, or internal-link change from impressions alone.

Source update

src/data/socialLaunchStatus.ts | src/data/growthReviewStatus.ts | /growth-review/

Secondary update

/growth-review/ | /growth-review/review-packet/

Pre-change command

npm run check && npm run build

Post-change command

npm run audit:growth && npm run audit:launch

Live validation

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.

Public change gate

Rewrite after 50 landing sessions without the expected event; kill or pause if the theme creates traffic without site actions.

analytics-decision-update

pin-game-finder-quiz

Keep, rewrite, pause, or kill the matching CTA, landing card, email path, or offer placement only for the proven campaign and page cluster.

Status: waiting-for-publish Type: analytics-review
Public surface

/growth-review/ | affected CTA, email, quiz, offer-box, or affiliate path only after GA4 proof.

Proof acceptance check

Accept only a GA4 or GSC screenshot/export with date range, filters, metric evidence, and decision output.

Blocked until proof

No funnel, CTA, title, meta, content-cluster, or internal-link change from impressions alone.

Source update

src/data/socialLaunchStatus.ts | src/data/growthReviewStatus.ts | /growth-review/

Secondary update

/growth-review/ | /growth-review/review-packet/

Pre-change command

npm run check && npm run build

Post-change command

npm run audit:growth && npm run audit:launch

Live validation

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.

Public change gate

Rewrite after 50 landing sessions without the expected event; kill or pause if the theme creates traffic without site actions.

analytics-decision-update

short-one-game-30s

Keep, rewrite, pause, or kill the matching CTA, landing card, email path, or offer placement only for the proven campaign and page cluster.

Status: needs-real-footage Type: analytics-review
Public surface

/growth-review/ | affected CTA, email, quiz, offer-box, or affiliate path only after GA4 proof.

Proof acceptance check

Accept only a GA4 or GSC screenshot/export with date range, filters, metric evidence, and decision output.

Blocked until proof

No funnel, CTA, title, meta, content-cluster, or internal-link change from impressions alone.

Source update

src/data/socialLaunchStatus.ts | src/data/growthReviewStatus.ts | /growth-review/

Secondary update

/growth-review/ | /growth-review/review-packet/

Pre-change command

npm run check && npm run build

Post-change command

npm run audit:growth && npm run audit:launch

Live validation

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.

Public change gate

Rewrite CTA or landing card if views do not create sessions after 7 days; pause any unsafe or misleading footage immediately.

analytics-decision-update

short-puzzle-toy-test

Keep, rewrite, pause, or kill the matching CTA, landing card, email path, or offer placement only for the proven campaign and page cluster.

Status: needs-real-footage Type: analytics-review
Public surface

/growth-review/ | affected CTA, email, quiz, offer-box, or affiliate path only after GA4 proof.

Proof acceptance check

Accept only a GA4 or GSC screenshot/export with date range, filters, metric evidence, and decision output.

Blocked until proof

No funnel, CTA, title, meta, content-cluster, or internal-link change from impressions alone.

Source update

src/data/socialLaunchStatus.ts | src/data/growthReviewStatus.ts | /growth-review/

Secondary update

/growth-review/ | /growth-review/review-packet/

Pre-change command

npm run check && npm run build

Post-change command

npm run audit:growth && npm run audit:launch

Live validation

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.

Public change gate

Rewrite CTA or landing card if views do not create sessions after 7 days; pause any unsafe or misleading footage immediately.

analytics-decision-update

short-loose-leash-reset

Keep, rewrite, pause, or kill the matching CTA, landing card, email path, or offer placement only for the proven campaign and page cluster.

Status: needs-real-footage Type: analytics-review
Public surface

/growth-review/ | affected CTA, email, quiz, offer-box, or affiliate path only after GA4 proof.

Proof acceptance check

Accept only a GA4 or GSC screenshot/export with date range, filters, metric evidence, and decision output.

Blocked until proof

No funnel, CTA, title, meta, content-cluster, or internal-link change from impressions alone.

Source update

src/data/socialLaunchStatus.ts | src/data/growthReviewStatus.ts | /growth-review/

Secondary update

/growth-review/ | /growth-review/review-packet/

Pre-change command

npm run check && npm run build

Post-change command

npm run audit:growth && npm run audit:launch

Live validation

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.

Public change gate

Rewrite CTA or landing card if views do not create sessions after 7 days; pause any unsafe or misleading footage immediately.

analytics-decision-update

short-common-mistake-demo

Keep, rewrite, pause, or kill the matching CTA, landing card, email path, or offer placement only for the proven campaign and page cluster.

Status: needs-real-footage Type: analytics-review
Public surface

/growth-review/ | affected CTA, email, quiz, offer-box, or affiliate path only after GA4 proof.

Proof acceptance check

Accept only a GA4 or GSC screenshot/export with date range, filters, metric evidence, and decision output.

Blocked until proof

No funnel, CTA, title, meta, content-cluster, or internal-link change from impressions alone.

Source update

src/data/socialLaunchStatus.ts | src/data/growthReviewStatus.ts | /growth-review/

Secondary update

/growth-review/ | /growth-review/review-packet/

Pre-change command

npm run check && npm run build

Post-change command

npm run audit:growth && npm run audit:launch

Live validation

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.

Public change gate

Rewrite CTA or landing card if views do not create sessions after 7 days; pause any unsafe or misleading footage immediately.

analytics-decision-update

gsc-gsc-impressions

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.

Status: needs-gsc-data Type: analytics-review
Public surface

/seo-review/ | affected title/meta/internal-link/content cluster only after GSC proof.

Proof acceptance check

Accept only a GA4 or GSC screenshot/export with date range, filters, metric evidence, and decision output.

Blocked until proof

No funnel, CTA, title, meta, content-cluster, or internal-link change from impressions alone.

Source update

src/data/seoReviewStatus.ts | /seo-review/

Secondary update

/seo-review/ | /growth-review/review-packet/

Pre-change command

npm run check && npm run build

Post-change command

npm run audit:growth && npm run audit:launch

Live validation

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.

Public change gate

Do not rewrite or expand content until this GSC evidence is paired with the matching GA4 action window.

analytics-decision-update

gsc-indexed-pages

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.

Status: needs-index-check Type: analytics-review
Public surface

/seo-review/ | affected title/meta/internal-link/content cluster only after GSC proof.

Proof acceptance check

Accept only a GA4 or GSC screenshot/export with date range, filters, metric evidence, and decision output.

Blocked until proof

No funnel, CTA, title, meta, content-cluster, or internal-link change from impressions alone.

Source update

src/data/seoReviewStatus.ts | /seo-review/

Secondary update

/seo-review/ | /growth-review/review-packet/

Pre-change command

npm run check && npm run build

Post-change command

npm run audit:growth && npm run audit:launch

Live validation

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.

Public change gate

Do not rewrite or expand content until this GSC evidence is paired with the matching GA4 action window.

analytics-decision-update

gsc-queries-by-page

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.

Status: needs-gsc-data Type: analytics-review
Public surface

/seo-review/ | affected title/meta/internal-link/content cluster only after GSC proof.

Proof acceptance check

Accept only a GA4 or GSC screenshot/export with date range, filters, metric evidence, and decision output.

Blocked until proof

No funnel, CTA, title, meta, content-cluster, or internal-link change from impressions alone.

Source update

src/data/seoReviewStatus.ts | /seo-review/

Secondary update

/seo-review/ | /growth-review/review-packet/

Pre-change command

npm run check && npm run build

Post-change command

npm run audit:growth && npm run audit:launch

Live validation

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.

Public change gate

Do not rewrite or expand content until this GSC evidence is paired with the matching GA4 action window.

analytics-decision-update

gsc-ctr-by-intent-page

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.

Status: needs-gsc-data Type: analytics-review
Public surface

/seo-review/ | affected title/meta/internal-link/content cluster only after GSC proof.

Proof acceptance check

Accept only a GA4 or GSC screenshot/export with date range, filters, metric evidence, and decision output.

Blocked until proof

No funnel, CTA, title, meta, content-cluster, or internal-link change from impressions alone.

Source update

src/data/seoReviewStatus.ts | /seo-review/

Secondary update

/seo-review/ | /growth-review/review-packet/

Pre-change command

npm run check && npm run build

Post-change command

npm run audit:growth && npm run audit:launch

Live validation

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.

Public change gate

Do not rewrite or expand content until this GSC evidence is paired with the matching GA4 action window.

analytics-decision-update

gsc-pages-with-impressions-but-low-ctr

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.

Status: needs-gsc-data Type: analytics-review
Public surface

/seo-review/ | affected title/meta/internal-link/content cluster only after GSC proof.

Proof acceptance check

Accept only a GA4 or GSC screenshot/export with date range, filters, metric evidence, and decision output.

Blocked until proof

No funnel, CTA, title, meta, content-cluster, or internal-link change from impressions alone.

Source update

src/data/seoReviewStatus.ts | /seo-review/

Secondary update

/seo-review/ | /growth-review/review-packet/

Pre-change command

npm run check && npm run build

Post-change command

npm run audit:growth && npm run audit:launch

Live validation

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.

Public change gate

Do not rewrite or expand content until this GSC evidence is paired with the matching GA4 action window.

analytics-decision-update

pillar-training-games

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.

Status: needs-gsc-data Type: analytics-review
Public surface

/seo-review/ | affected title/meta/internal-link/content cluster only after GSC proof.

Proof acceptance check

Accept only a GA4 or GSC screenshot/export with date range, filters, metric evidence, and decision output.

Blocked until proof

No funnel, CTA, title, meta, content-cluster, or internal-link change from impressions alone.

Source update

src/data/seoReviewStatus.ts | /seo-review/

Secondary update

/seo-review/ | /growth-review/review-packet/

Pre-change command

npm run check && npm run build

Post-change command

npm run audit:growth && npm run audit:launch

Live validation

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.

Public change gate

50 impressions with weak CTR or query drift away from training games and enrichment intent.

analytics-decision-update

problem-pages

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.

Status: needs-gsc-data Type: analytics-review
Public surface

/seo-review/ | affected title/meta/internal-link/content cluster only after GSC proof.

Proof acceptance check

Accept only a GA4 or GSC screenshot/export with date range, filters, metric evidence, and decision output.

Blocked until proof

No funnel, CTA, title, meta, content-cluster, or internal-link change from impressions alone.

Source update

src/data/seoReviewStatus.ts | /seo-review/

Secondary update

/seo-review/ | /growth-review/review-packet/

Pre-change command

npm run check && npm run build

Post-change command

npm run audit:growth && npm run audit:launch

Live validation

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.

Public change gate

Relevant impressions but no quiz_result, lead_magnet_signup, or internal_cta_click events.

analytics-decision-update

resource-lead-magnets

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.

Status: needs-gsc-data Type: analytics-review
Public surface

/seo-review/ | affected title/meta/internal-link/content cluster only after GSC proof.

Proof acceptance check

Accept only a GA4 or GSC screenshot/export with date range, filters, metric evidence, and decision output.

Blocked until proof

No funnel, CTA, title, meta, content-cluster, or internal-link change from impressions alone.

Source update

src/data/seoReviewStatus.ts | /seo-review/

Secondary update

/seo-review/ | /growth-review/review-packet/

Pre-change command

npm run check && npm run build

Post-change command

npm run audit:growth && npm run audit:launch

Live validation

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.

Public change gate

Impressions without lead_magnet_signup or resource-page internal_cta_click events.

analytics-decision-update

gear-guides

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.

Status: needs-gsc-data Type: analytics-review
Public surface

/seo-review/ | affected title/meta/internal-link/content cluster only after GSC proof.

Proof acceptance check

Accept only a GA4 or GSC screenshot/export with date range, filters, metric evidence, and decision output.

Blocked until proof

No funnel, CTA, title, meta, content-cluster, or internal-link change from impressions alone.

Source update

src/data/seoReviewStatus.ts | /seo-review/

Secondary update

/seo-review/ | /growth-review/review-packet/

Pre-change command

npm run check && npm run build

Post-change command

npm run audit:growth && npm run audit:launch

Live validation

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.

Public change gate

Relevant impressions but no lead_magnet_signup, game click, or approved-offer movement after merchant setup.

analytics-decision-update

game-library

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.

Status: needs-gsc-data Type: analytics-review
Public surface

/seo-review/ | affected title/meta/internal-link/content cluster only after GSC proof.

Proof acceptance check

Accept only a GA4 or GSC screenshot/export with date range, filters, metric evidence, and decision output.

Blocked until proof

No funnel, CTA, title, meta, content-cluster, or internal-link change from impressions alone.

Source update

src/data/seoReviewStatus.ts | /seo-review/

Secondary update

/seo-review/ | /growth-review/review-packet/

Pre-change command

npm run check && npm run build

Post-change command

npm run audit:growth && npm run audit:launch

Live validation

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.

Public change gate

Game pages get impressions but do not move visitors to review, finder, resource, or safety next steps.