📡 Bright Side Plumbing · Apr 27, 2026 · Producer-as-Verifier Audit

Bricks Staging Audit — 15 Pages, Real Data

Producer-as-verifier audit of bricks.callbrightside.com on Apr 27 14:54 CDT. Real data via WP REST /wp-json/wp/v2/pages?per_page=100&status=any. No assumptions, no sitemap-counting, no fabricated rows.

⏱️ AUDIT RAN
2026-04-27 14:54 CDT · 15 pages enumerated · 5 published / 10 drafts
Re-run: curl -u $BRICKS_AUTH "https://bricks.callbrightside.com/wp-json/wp/v2/pages?per_page=100&status=any"
📊

15 pages · 5 published · 10 drafts

REST GROUND TRUTH
idslugstatustitlecontent statetemplatecutover redirect target
157/home/publishHOMEcomplete (Apr 21-23 ship)Homepage— stays at /
8/sewer-camera-inspection/publishSewer Camera Inspection in Kansas Citycomplete (Audrey faithful, Apr 14-15 ship)Template B (diagnostic-style)— stays at flat slug per Robert Apr 26 (matches existing Google Ads final URLs)
12/emergency-plumbing/publishEmergency Plumbing Kansas Citycomplete (clone-swap from page 8 confirmed Apr 26)Template A (emergency-style)— stays at flat slug; page already exists Bricks-side
258/plumber-in-overland-park/publishPlumber in Overland Parkcomplete (Apr 23 ship · 146 elements · 3 snippets · location-page-mining proof-of-output)Location template— stays at flat slug or migrates to /map/plumber-in-overland-park/ per Apr 24 Fix 7 (post-launch lock)
167/phase1-probe-1776798900/publishPhase1 Probe Testdiagnostic test pageDELETE pre-cutover (test artifact)
9/sewer-repair-kc/draftSewer Repair Kansas Cityplaceholder — needs mining + content + Kalen reviewTemplate A or B (TBD)publish at /services/sewer/sewer-repair/ at cutover · 301 from /sewer-repair/
10/sewer-line-replacement/draftSewer Line Replacement Kansas CityplaceholderTemplate A or Blocked decision 1b = Phase 2 NEW. Stays draft past cutover
11/sewer-cleanout/draftSewer Cleanout Service Kansas CityplaceholderTemplate A or BPhase 2 NEW per playbook §4 (184K/mo target). Draft past cutover
13/water-heater-replacement/draftWater Heater Replacement Kansas CityplaceholderTemplate A or BPhase 2 NEW per playbook §4 (246K/mo)
14/drain-cleaning-kc/draftDrain Cleaning Kansas CityplaceholderTemplate A or Bpublish at /services/drains/drain-cleaning/ at cutover · 301 from /drain-cleaning/ + /plumbing-services/drain-cleaning/ (decision 3a)
15/hydro-jetting/draftHydro Jetting Kansas CityplaceholderTemplate A or BPhase 2 NEW
16/trenchless-sewer-repair-kc/draftTrenchless Sewer Repair Kansas CityplaceholderTemplate A or Bpublish at /services/sewer/trenchless-sewer-repair/ at cutover
17/tankless-water-heaters/draftTankless Water Heaters Kansas CityplaceholderTemplate A or BPhase 2 NEW per playbook §4
18/burst-pipe-repair/draftBurst Pipe Repair Kansas CityplaceholderTemplate A or BPhase 2 NEW per playbook §4
3/privacy-policy/draftPrivacy Policyplaceholderpublish before cutover at /privacy-policy/ (replaces Oxygen version)
🚨

Gaps Surfaced (real, not assumed)

CONTENT WORK NEEDED

9 service-page drafts on staging have placeholder content. Per MH bsp-apr21-service-page-mining-system the mining-system playbook exists at BSP_Service_Page_Copy_Mining_System.html (32 KB · Apr 21 ship). The mining INFRASTRUCTURE exists. The "last-mile push to Bricks meta" layer (orchestrator copy-injection per the same MH section's "Open P3") was NOT yet wired as of Apr 21 — verify Apr 23+ post-shipping.

Templates A vs B per service page = TBD. Robert Apr 27 verbatim: "Template A (emergency-style: hero + trust badges + 5-card service grid + timeline + related services + testimonial + commercial CTA + FAQ). Template B (diagnostic-style: hero + symptoms grid + services we provide + testimonials carousel + commercial CTA + FAQ)." Each of the 9 service drafts needs a decision (A vs B) before content placement runs.

Slug structure mismatch: staging drafts live at FLAT slugs (e.g. /drain-cleaning-kc/, /sewer-repair-kc/). v3 redirect map expects nested /services/{cat}/{slug}/. Three approaches in v4 §4 — Robert decides. Recommended: Approach 1 (restructure staging this week) so rehearsal validates production-target URL state.

Pages NOT on Bricks staging that v3 §1 spec requires (need creation Mon-Thu sprint):

Septic page (id ?): Robert directive — DELETE on staging pre-cutover, no redirect. Not in current REST inventory but Robert flagged "got built on staging by mistake." Verify via direct slug fetch.

License/insurance pages (johnson-county-license, kansas-city-license, iicrc-certificate, liability-insurance) per Robert Apr 27 = PDFs, OUT OF CUTOVER SCOPE. No redirect rules. Confirmed not in WP REST page output.

🔗

Cross-Linked Documents

CANONICAL CHAIN