Date: 2026-05-13 (depth mode, audit + dual-repair)
Two substantive repairs plus a critical systemic-bug audit.
iter 55 found and repaired demand-gen-ai (skeleton page with empty H2/H3/UL/demo). iter 56 ran a catalog-wide scan and found this:
Total product pages: 243 Broken (5+ empty content tags): 63 Distribution of empty-tag counts per page: 180 with 0, 5 with 5, 6 with 6, 1 with 7, 1 with 12, 3 with 13, 47 with 14
The 47-page cluster at exactly 14 empty tags is the smoking-gun signature of one shared broken template. They are all archetype: marketplace-or-tool and share the same 6-section structure (hero, before-after, journey, uses, features, cta-final). Same template, same generator failure, 47 products affected.
The top 10 highest-Adoptability broken pages:
| Score | Slug | Name |
|---|---|---|
| 78 | roofing-ai | Roofing AI |
| 77 | win-loss-analysis-ai | Win-Loss Analysis AI |
| 77 | revenue-operations-ai | Revenue Operations AI |
| 76 | rental-ai | Rental AI |
| 75 | upsell-ai | Upsell AI |
| 75 | tax-planning-ai | Tax Planning AI |
| 75 | performance-audit-ai | Performance Audit AI |
| 75 | linkedin-outreach-sequencer-for-accounting-firms-t | LinkedIn Outreach Sequencer |
| 75 | field-supervisor-ai | Field Supervisor AI |
| 75 | email-marketing-ai | Email Marketing AI |
Critically, lead-scoring-ai (73, a wes_pick) is also in the broken list. The remaining wes_picks I planned to audit next are not just "template-y" - at least one of them is fully content-broken.
Live at https://wishdeal.com/factory/builds/roofing-ai/. Hand-repaired all 7 skeleton sections plus the header CTA button.
ICP-specific content written:
Why roofing-ai works: the operator-voice copy names a specific trade detail (EagleView is the substitute, $13/report is the price-point), names the pain math (you lose 4 of 10 bids because the customer signed someone else), and names the operator's actual workflow (climb ladder, photograph, drive back to truck). A roofer reading this will recognize themselves. A studio-template page never does that.
Live at https://wishdeal.com/factory/builds/win-loss-analysis-ai/. Hand-repaired all 7 skeleton sections.
ICP-specific content written:
Why win-loss-analysis-ai works: the framing punctures the implicit lie in CRM reporting ("70% of records say 'Price' or 'No decision'"). Anyone in B2B sales knows this is true. Saying it explicitly is the credibility move.
The loop instruction said "IF 3+ pages broken: bulk REPAIR them this iter." There are 63. But Wes's standing rule against vibe-code-templating says no uniform decoration. So the compromise: hand-repair the highest-impact pages with real per-product operator voice. Two ships in one iter is still depth mode, just compressed.
Both repairs follow the same structural pattern (7 sections + header CTA filled, same as demand-gen-ai) but the COPY is product-specific to each ICP. No template fluff. No identical decoration.
/srv/sites/factory/builds/roofing-ai/index.html (7 section fills + header CTA + new inline CSS for journey-step)/srv/sites/factory/builds/win-loss-analysis-ai/index.html (7 section fills + new inline CSS for journey-step)At a pace of 2 hand-repaired pages per iter, the remaining 60 broken pages clear in ~30 iters. At the more sustainable 1 per iter, it is 60 iters.
A faster path would be finding and fixing the upstream generator so future regenerations don't re-create skeleton pages. The 47 with exactly-14 empty tags share a single template fingerprint. Investigation needed:
/srv/sites/factory/builds/SLUG/index.html for marketplace-or-tool archetype products?This is an investigative ship for a future iter. For now, hand-repairs keep moving the most-valuable pages forward.
The factory now operates across four improvement axes:
The hero-polish program from iters 53-54 has evolved into a hero-polish + page-repair + data-hygiene program. Three different shapes of work, all operator-voice quality.
Iter 57 candidates:
Honestly the generator investigation is the highest-leverage move. Worth one iter to look at it.