Summary of work done

Reviewed today’s Notion export trail and the live routine code in routines-build. The strongest May 17 signals were: Sunday Site QA found 528 pages scanned, 275 pages with findings, and 345 findings; DoorDash drift showed recurring QA only covered title/H1 and finished-link checks while missing banned FAQ topics, TOC, snippet, and sidebar rules; WP Rocket repair showed cache and permission surfaces can break after maintenance; the sitewide handoff showed context pressure, disabled or unregistered schedules, and queue state split across disk and Notion; the May artifact rollup shows many SEO, sitemap, image, and audit entries being merged after the fact.

Proposed direction

Make SEO automation less frequent for writes, more frequent for read-only detection, and stricter about proof before any repair. The critical design change is to split scans, proposals, and live repairs into separate lanes with shared state and freshness gates.

Recommended updates

  1. Add a global run coordinator for SEO routines. One daily read-only health pass can run often. Live repair lanes should have locks, cooldowns, per-run write budgets, and no overlap with cache purges or other WordPress agents.
  2. Add a freshness gate to every repair. A finding from a workbook, prior state file, or Notion handoff must be rechecked live in the same run before a write. Reports must label stale results as stale and block repair.
  3. Harden sitemap discovery. Replace single-path assumptions with a provider that checks Rank Math sitemap endpoints, robots.txt sitemap directive, sitemap children, and WP REST fallback, and records the source in every report.
  4. Downgrade noisy findings. H2 Multiple should be informational only unless paired with duplicate, missing, malformed sequence, or visible design breakage. Title-H1 mismatch should be grouped by intent and excluded where the H1 is a brand or landing-page headline.
  5. Upgrade Sunday Site QA to include the gaps called out in the DoorDash investigation: section 12B/12C banned FAQ topics, On This Page dropdown, snippet border pattern, sidebar CTA structure, FAQ accordion markup, visible sidebar phone text, malformed wrappers, and mobile layout checks.
  6. Add a pre-save QA gate to wp-content-deployer and template migration work. For pages and posts, a save should require pre-publish QA, rollback snapshot, rendered desktop and mobile check, cache plan, and IndexNow verification when applicable.
  7. Add a repair ledger. Redirects, H1 fixes, media replacements, noindex toggles, and schema repairs should write durable before/after rows so future agents do not re-fix, reverse, or trust stale orphan counts.
  8. Add WP Rocket writable-surface checks to site health and after cache rebuilds. The May 17 repair proved cache/config permissions can create site-level noise and sitemap risk.
  9. Change routine output rules. Every run should end with inline QA, current-vs-proposed actions, stale blockers, and exact next safe action. Notion export is archival, not the only QA surface.
  10. Move recurring SEO orchestration to a cloud/worktree runner with the same vault-backed credentials and a local sync mirror. Keep local runs available for emergency fixes, but make the cloud record the source of truth.

Reason for session ending

Proposal review completed. No live WordPress or routine code changes were made in this pass.

Handoff for a fresh agent

Start by implementing the coordinator, freshness gates, and sitemap provider in routines-build. Then update Sunday Site QA and wp-content-deployer gates. Treat scans as read-only unless the current live page, current sitemap source, and rollback path are verified in the same run. Keep Sam’s inline multiple-choice QA in chat outputs, not only in Notion.