Daily note
Do less work, show better evidence
Saved-crawl health checks, local worker controls, inline reports and cleaner organic visibility measurements; advertising attribution still needs implementation.
- Realtime
- SQL
- Background jobs
- CI/CD
Sunday’s work made Scout’s operations easier to inspect while removing repeated work from health scans and report reads. The useful distinction was between collecting evidence and displaying what is already saved. Most of these improvements remained local; the advertising update changed saved context hints, not conversion tracking.
- GrowthScout · health checks reuse the crawl and save in small batches. Routine health scans now use crawl inventory and stored HTML, with up to 500 pages per paid-site run and rotation through unchecked and older pages. Lighthouse is excluded from routine scans; individual checks remain available. A local 500-page benchmark took 39.6 seconds using real SQL/queue persistence but simulated external responses, with no page refetches or Lighthouse calls. Later concurrency comparisons were variable. The final implementation uses two-page batches, then saves each page and checkpoint transactionally in sequence. Failures retain the failing page and stage without losing earlier checkpoints. Seventy-three broader tests and 12 batching/recovery tests passed, plus types and conventions. Nothing was deployed; fresh crawl evidence still matters.
- GrowthScout · see which queues have workers, then control them locally. A Queues & workers page shows pool definitions, queue assignments, worker heartbeats, idle/busy counts and missing-worker warnings. Local controls can start a worker for all queues or a selected pool and stop it after its current job. Progress, child jobs, saved state and diagnostic logs are inspectable alongside worker activity. Monitoring passed 23 focused tests and both-theme checks; controls passed 11 tests including shutdown after the supervisor disappears. Production controls remain monitoring-only in this implementation, and the changes were not deployed. A broader reusable framework operations dashboard remains proposed.
- GrowthScout · page reports read saved evidence without site-wide work. Each page can expand its own report directly beneath the row, with a clear chevron, loading spinner and cached reopening. The page-scoped read removes site-wide recalculation and opportunity backfills from this request; opening a report starts no scans or AI calls. Small page-score calculations remain. Ten tests, types, conventions and browser checks passed. This is a local change, with loaded reports invalidated when refreshed or changed.
- GrowthScout · distinguish discovery, indexing and removed-page evidence. The overview now separates discovered pages from indexed pages, includes sitemap details and shows active jobs with recent outcomes. Queued embeddings skip pages confirmed removed since dispatch. Links or sitemap references still pointing to confirmed 404/410 URLs become health issues; a later successful crawl, including a working redirect, clears that evidence. Focused backend, crawler and race checks passed, and a browser preview used test data. The local panel reads retained runs without launching work. A later proposal would add transient live progress messages, but no completed implementation was recorded before the day ended.
- GrowthScout · keep sponsored results out of organic scores. The public AI visibility checker now excludes sponsored text and links from organic mentions and citations, and ad-only responses no longer contribute to scores. This closes a gap between the public checker and the in-app tracker’s existing separation of sponsored placements. All 22 focused tests, types and conventions passed. The fix remained local and existing saved reports were unchanged, so historical scores were not retrospectively corrected.
- GrowthScout · article alerts gain useful references without private copy. A draft patch makes future critical article-review alerts identify the note’s source and link it to the website, content plan, AI request and release, while excluding article and private note text. The positional writer-note label was not a diagnosis of the original warning; its underlying cause remained unknown. Independent review, Codacy, release preflight and Scout CI passed with 3,390 tests and one skip. The PR stayed open and undeployed. Better diagnostics will help the next investigation; they do not prove the original content problem is fixed.
- GrowthScout · advertising context saved, conversion design clarified. Seven context hints were added to the existing ad group, bringing its saved total to eleven; readback and the dashboard confirmed them. They cover content planning, AI visibility and SEO automation without guaranteeing placement for an exact prompt. The tracking review separated signup, verified trial start and first genuine subscription payment. Only trial-start tracking already existed; durable consented attribution, signup/payment events and production activation remained unfinished or unverified. No attributed-conversion improvement was established by saving the hints.
The scan benchmarks made the trade-off fairly clear: removing page refetches and repeated Lighthouse work mattered more than adding a complicated worker pool. I’d keep measuring at the persistence boundary before buying more concurrency with harder recovery code.