Noindex production guardrails

Prove the deployment guardrails without changing external state.

This packet separates local build gates, production no-write audits, and authenticated GitHub Actions evidence. Passing a local command does not prove scheduled workflow status, and restored access does not close merchant, evidence, social, GA4, or GSC lanes.

Guardrail gate: No public affiliate activation, trust-copy upgrade, social status change, analytics decision, SEO rewrite, or email-follow-up expansion is complete until the relevant local audit, no-write production audit, and authenticated workflow proof row has the required evidence.

Guardrail rows

9 deployment proof rows.

Local build gates, production no-write checks, and workflow conclusions are tracked separately so one proof type cannot stand in for another.

Phase mix

Local 4 / Live 2 / Actions 3

local-build-gate: 4 / production-no-write-gate: 2 / github-actions-gate: 3

local-build-gate

local-growth-plan-audit

npm run audit:growth

Status: passed-locally Phase: local-build-gate
Latest proof

2026-06-03 local verification: npm run audit:growth passed 1068 checks after the proof freshness watch was added for stale blocker and recheck tracking.

Proof required

Command output with passing check count, commit SHA, and clean git status after the build artifacts are regenerated.

No-write boundary

Reads source, generated pages, and operational trackers only; does not touch production services.

Failure action

Fix the missing growth-plan requirement before deploying or changing public growth decisions.

Update target

affiliate-growth-action-plan-2026-06-02.md | external-launch-checklist-2026-06-02.md | ops-log-2026-06-03.md.

Public change gate

No public change from approvals, evidence, social, GA4, or SEO rows until this local gate passes.

local-build-gate

local-launch-audit

npm run audit:launch

Status: passed-locally Phase: local-build-gate
Latest proof

2026-06-03 local verification: npm run audit:launch passed 2323 checks after the proof freshness watch route, CSV, noindex header, and live-audit coverage were added.

Proof required

Command output with passing check count after npm run build, plus confirmation that noindex, redirect, PDF, tracking, approval, and packet guards still pass.

No-write boundary

Reads the generated dist output and configuration only; does not create leads, publish social posts, or touch merchant dashboards.

Failure action

Fix the guardrail regression before pushing or deploying.

Update target

affiliate-growth-action-plan-2026-06-02.md | external-launch-checklist-2026-06-02.md | live-deployment-check-2026-06-03.md.

Public change gate

No public CTA, redirect, affiliate link, trust copy, or social-status change until this local gate passes.

local-build-gate

local-worker-behavior-audit

npm run audit:worker

Status: passed-locally Phase: local-build-gate
Latest proof

2026-06-03 local verification: npm run audit:worker passed 36 mocked KV and Resend checks.

Proof required

Command output showing mocked KV and Resend checks for accepted opt-ins, consent queueing, unsubscribe suppression, and scheduled sender status changes.

No-write boundary

Uses mocked KV and mocked Resend fetch calls; never writes production KV or sends real email.

Failure action

Fix Worker lead, consent, follow-up, unsubscribe, or scheduled sender behavior before deploying Worker changes.

Update target

lead-capture-worker/README.md | worker-live-check-2026-06-03.md | ops-log-2026-06-03.md.

Public change gate

Do not loosen email follow-up copy, cadence, or high-risk email paths unless this local behavior gate passes.

local-build-gate

local-gear-activation-audit

npm run audit:gear

Status: passed-locally Phase: local-build-gate
Latest proof

2026-06-03 local verification: npm run audit:gear passed 115 checks covering pending gear routes, approved-link requirements, and reactivity suppression.

Proof required

Command output showing every gear offer has an internal redirect route, approved offers have HTTPS merchant URLs and real tracking IDs, pending routes stay paused, and reactivity games suppress gear CTAs.

No-write boundary

Reads TypeScript data and generated dist pages only; does not open merchant dashboards, create affiliate links, or visit merchant URLs.

Failure action

Fix gear approval fields, redirect pages, or reactivity suppression before activating any gear merchant link.

Update target

gear-redirect-readiness-2026-06-03.md | src/data/gearOffers.ts | src/data/affiliateProgramStatus.ts | ops-log-2026-06-03.md.

Public change gate

No approved gear CTA or /go/gear/ auto-forward is considered safe until this gear activation audit passes.

production-no-write-gate

live-site-audit

npm run audit:live

Status: ready-to-run Phase: production-no-write-gate
Latest proof

2026-06-03 after commit 8563d6f deployed: the first live audit saw broad deployment-window 502s across launch and growth ops routes, then npm run audit:live passed 645 checks against https://doggamefinder.com with the proof freshness watch live.

Proof required

Command output with production URL, passing check count, route set, CSV noindex headers, paused redirect guardrails, and latest deployed commit context.

No-write boundary

Fetches production pages and CSV files only; does not submit forms, request indexing, publish content, or change merchant links.

Failure action

Treat failures as deployment or guardrail regressions; pause public changes until the affected route or header is fixed and the audit passes.

Update target

live-deployment-check-2026-06-03.md | ops-log-2026-06-03.md | external-launch-checklist-2026-06-02.md.

Public change gate

Production pages are not considered verified after deploy until this no-write live site audit passes.

production-no-write-gate

live-worker-audit

npm run audit:worker:live

Status: ready-to-run Phase: production-no-write-gate
Latest proof

2026-06-03 10:30 CST after site commit 104ac8e: npm run audit:worker:live passed 39 no-write checks against the production Worker without creating a valid lead, real subscription, or Resend email.

Proof required

Command output with Worker URL, passing check count, /health features, CORS guardrails, invalid email, honeypot, malformed JSON, oversized request, and unsubscribe missing-token results.

No-write boundary

Uses invalid email, blocked origin, honeypot, and missing-token paths only; does not create an accepted lead or send Resend email.

Failure action

Pause Worker or email-follow-up changes until production guardrails pass without valid lead creation.

Update target

worker-live-check-2026-06-03.md | ops-log-2026-06-03.md | external-launch-checklist-2026-06-02.md.

Public change gate

Worker runtime is not considered verified after deploy until this no-write Worker audit passes.

github-actions-gate

github-launch-audit-workflow

GitHub Actions: Launch Audit

Status: requires-authenticated-proof Phase: github-actions-gate
Latest proof

2026-06-03 12:11 CST latest attempt: GitHub connector checks for commit workflow runs on commit 19af9f9 returned 404; the previous 11:07 CST attempt at commit 4943711 also remained unavailable, so authenticated Launch Audit proof remains required.

Proof required

Authenticated workflow run URL, commit SHA, workflow name, conclusion, timestamp, latest attempt, and failing job log if the run is not green.

No-write boundary

Read-only workflow evidence; a green workflow does not approve merchants, publish social posts, or prove analytics results.

Failure action

Do not close the Actions visibility lane; rerun or inspect the failed job before treating the push as CI-verified.

Update target

/launch-ops/access-recovery-packet/ | ops-log-2026-06-03.md | live-deployment-check-2026-06-03.md.

Public change gate

A local audit or successful git push is not enough; CI status remains unconfirmed until authenticated Launch Audit proof is captured.

github-actions-gate

github-live-site-audit-workflow

GitHub Actions: Live Site Audit

Status: requires-authenticated-proof Phase: github-actions-gate
Latest proof

2026-06-03 12:11 CST latest attempt: GitHub connector checks for commit workflow runs on commit 19af9f9 returned 404; the previous 11:07 CST attempt at commit 4943711 also remained unavailable, so authenticated Live Site Audit proof remains required.

Proof required

Authenticated scheduled or manual run URL, production URL, conclusion, timestamp, latest attempt, and failing job log if the run is not green.

No-write boundary

Read-only scheduled production fetch evidence; it does not replace merchant, evidence, publishing, GA4, or GSC proof.

Failure action

Keep production monitoring unconfirmed until the workflow run is visible and green, or record the failed route and fix it.

Update target

/launch-ops/access-recovery-packet/ | live-deployment-check-2026-06-03.md | ops-log-2026-06-03.md.

Public change gate

Do not claim scheduled live-site monitoring is green until authenticated workflow proof exists.

github-actions-gate

github-live-worker-audit-workflow

GitHub Actions: Live Worker Audit

Status: requires-authenticated-proof Phase: github-actions-gate
Latest proof

2026-06-03 12:11 CST latest attempt: GitHub connector checks for commit workflow runs on commit 19af9f9 returned 404; the previous 11:07 CST attempt at commit 4943711 also remained unavailable, so authenticated Live Worker Audit proof remains required.

Proof required

Authenticated scheduled or manual run URL, Worker URL, conclusion, timestamp, latest attempt, and failing job log if the run is not green.

No-write boundary

Read-only/no-write Worker guardrail evidence; it checks negative paths and does not create valid leads.

Failure action

Keep Worker monitoring unconfirmed until the workflow run is visible and green, or record the failed Worker guardrail and fix it.

Update target

/launch-ops/access-recovery-packet/ | worker-live-check-2026-06-03.md | ops-log-2026-06-03.md.

Public change gate

Do not claim scheduled Worker monitoring is green until authenticated workflow proof exists.