Refresh runbook
This page records the safest next steps for refreshing the WordPress relevance report. It is intentionally operational: what to run, what to import next, and how to avoid another low-disk failure.
community_health.sqlite, rebuilt from local exports plus cached public sources.
wordpress-community-health/index.html on GitHub Pages.
Free at least 500 MB before pulling a new source or rebuilding the compressed DB export.
Safe Refresh Order
df -h /Users/admin. Stop if free space is under 500 MB.sqlite3 community_health.sqlite "PRAGMA integrity_check; PRAGMA journal_mode;". Expected: ok and delete. Then run python3 refresh_report_artifacts.py --validate-only to check generated HTML structure, required sections, local-link leaks, and missing local targets or fragments.Import or fetch a single partial signal, verify row counts, then regenerate with
--skip-network.python3 refresh_report_artifacts.py. This runs make_community_health_report.py --skip-network, the focused companion generators, make_decision_brief.py, make_progress_summary.py, make_source_gap_plan.py, and make_data_inventory.py in order, then validates the generated HTML. Gzip the DB only after the HTML succeeds.Copy
final_report.html, decision_brief.html, progress_summary.html, goal_audit.html, data_inventory.html, project_load.html, market_position.html, new_site_choice.html, search_interest.html, developer_interest.html, job_demand.html, support_load.html, contributor_depth.html, ecosystem_activity.html, source_gap_plan.html, make_community_health_report.py, refresh_report_artifacts.py, make_decision_brief.py, make_progress_summary.py, make_goal_audit.py, make_data_inventory.py, make_project_load_report.py, make_market_position_report.py, make_new_site_choice_report.py, make_search_interest_report.py, make_developer_interest_report.py, make_job_demand_report.py, make_support_load_report.py, make_contributor_depth_report.py, make_ecosystem_activity_report.py, make_source_gap_plan.py, and community_health.sqlite.gz into the Pages workspace, commit, push, and verify the public URL.Next Source Imports
| Priority | Signal | Source | Target table | Success check |
|---|---|---|---|---|
| 1 | New-site share history | Paid BuiltWith trends export or HTTP Archive cohort query by first-seen month. | new_site_share_quarterly | Quarterly WordPress, Shopify, Wix, Squarespace, Webflow rows across multiple years. |
| 2 | Search interest | Google Trends CSV export for WordPress, WordPress developer, WordPress alternatives, and peer builders. | search_interest_quarterly | Quarterly normalized search series replacing the Wikimedia-only proxy. |
| 3 | Broad job demand | Lightcast, Indeed/Hiring Lab, LinkedIn, or equivalent labor-market export. | job_demand_quarterly | WordPress and peer demand by quarter, not just HN or jobs.wordpress.net snapshots. |
| 4 | Support history | WordPress.org support forum export or recurring snapshots of all, unresolved, resolved, and no-reply views. | support_forum_quarterly | Historical topics opened/resolved/unanswered trend instead of current queue only. |
| 5 | Developer interest | Keep Stack Overflow, Wikimedia, npm package downloads, and GitHub PR activity; add another developer-community source if available. | developer_interest_quarterly | Developer attention signal that is not only help-question volume. |
Do Not Re-Discover
The existing SQLite database already stores source_files, source_gaps, imported ticket exports, generated category summaries, public-source snapshots, and the derived HTTP Archive tracked-share table. Add new sources as separate tables, update source_gaps only when the new evidence materially improves a partial signal, and rerun make_data_inventory.py so the public inventory stays synchronized with SQLite.
Run python3 refresh_report_artifacts.py whenever goal coverage, project-load data, market-position data, search-interest data, developer-interest data, job-demand data, support-load data, contributor-depth counts, ecosystem snapshots, source counts, or partial-source labels change so goal_audit.html, project_load.html, market_position.html, search_interest.html, developer_interest.html, job_demand.html, support_load.html, contributor_depth.html, ecosystem_activity.html, data_inventory.html, and source_gap_plan.html stay synchronized with SQLite.