# Wishdeal Factory buyer-path - iteration 68 ship log

**Date:** 2026-05-14 (push mode, 30 min cadence, value-mix)

## What shipped (3 substantive ships across 3 categories)

Iter 67's FAQ-pages finding directly led to iter 68's broader subpage audit. Same silent-generator-preservation pattern surfaced in TWO more places (pricing pages + audit-ai's main page). All fixed at source.

## Ship 1: 28 pricing-page silent-preservation fix (audit + fix at source)

Same pattern as the iter 67 FAQ bug: an EARLIER pricing generator produced fabricated content ("SOC 2 Type II compliant", "$200/month for up to 5,000 customer records", fake feature comparisons). The current honest fallback generator (regen-fallback-pricing.py) skips pages that already exist. Result: 28 pricing pages preserving fabricated content forever.

**Subpage audit results across all 7 subpage types:**

| Subpage | Total pages | Affected | Verdict |
|---|---|---|---|
| vs/ | 245 | 0 | Clean |
| how-it-works/ | 245 | 0 | Clean |
| **pricing/** | **247** | **28** | **Source-fix needed** |
| sales-kit/ | 245 | 1 (menu-ai) | One-off, deferred (borderline pitch language) |
| case-studies/ | 246 | 2 | False positives ("achievable in 18 months" Fermi math) |
| about/ | 245 | 0 | Clean |
| skeptic-memos/ | 245 | 0 | Clean |

**The fix (mirrors iter 67 FAQ pattern):**
1. Audited 28 affected pricing pages with SOC 2 / fake-customer / fake-metric patterns
2. Backed them up to /tmp/pricing-fakeproof-<slug>.html (audit trail)
3. Ran regen-fallback-pricing.py — generated 28 honest fallback pages (marketplace 4-tier pricing + "detailed pricing ships when the product launches" honest note)
4. Re-audited: 0 remaining fake-proof violations

The fix is durable. The honest generator now owns those 28 pages and future cron runs will keep them honest.

## Ship 2: audit-ai placeholders regenerated honestly (per-product polish + audit)

audit-ai was the very first sample placeholders.json (the "Ledgerline" example), full of fabricated SOC 2 claims, fake customer logos (NORTHFORD CO., Bellweather, etc.), fake "78% fewer audit prep hours" pillar, fake "24x7 with named CSM" support tier. Since the bulk-gen wouldn't have run on it (file already existed), the page kept showing fabricated content as the live audit-ai page.

**The fix:**
1. Backed up the original to /tmp/audit-ai-placeholders-original.json
2. Re-ran `_bulk_gen.py audit-ai` which uses claude -p + the iter 66 fake-proof audit + strengthened prompt
3. Result: honest content. H1 changed from "Close every quarter without losing the weekend" to "Close the books in 11 days, not 22, every quarter" with the lede framing "Our TARGET for new customers: an 11 day close" (target, not claim of customer achievement)
4. Audit-gate passed automatically (the iter 66 safeguard worked)
5. One small patch needed manually: a single "SOC 2 Type II | Certified" hero-card row (hardcoded in template, see ship 3)

The bulk-gen audit+prompt combination from iter 66 successfully prevented re-introduction of most fake-proof. The auto-deployed audit-ai page is now honest.

## Ship 3: enterprise template patched (durable, affects 6 products)

While fixing audit-ai, found that the enterprise template (/Users/wes/factory-templates/enterprise.html) has TWO hardcoded fabrications affecting all 6 enterprise-archetype products (audit-ai, aiops-ai, customer-data-platform, enterprise-knowledge-ai, pricing-intelligence-ai, underwriting-ai):

**Fab 1: "Trusted by" header on the logo strip**
- The template hardcoded `<span class="lab">Trusted by</span>` followed by 7 logo placeholders
- The LLM bulk-gen had been populating LOGO_1-7 with company names a real audit/CDP/etc product would INTEGRATE with (Datadog, Salesforce, Slack, Shopify, LexisNexis, etc.) — but framing them as "Trusted by" implies WE are trusted by those companies (we are not)
- **Fix**: changed "Trusted by" to "Designed to integrate with". Same logo content, honest framing. The LLM's choice of integration-target company names is appropriate for this framing.

**Fab 2: "SOC 2 Type II | Certified" hero-card row**
- The "Procurement at a glance" hero card had a hardcoded row: `<div class="row"><span class="l">SOC 2 Type II</span><span class="r ok">Certified</span></div>`
- This appeared on all 6 enterprise products. None of them have SOC 2 Type II certification.
- **Fix**: changed "Certified" to "Audit-ready architecture". A design-claim ("the system is built to be audit-ready") rather than a certification-claim ("we have the audit done").

**Deploy:**
After patching the template, re-rendered all 6 enterprise products from their placeholders and SCPed to the live site. All 6 now show:
- "Designed to integrate with" instead of "Trusted by" in the logo strip
- "SOC 2 Type II | Audit-ready architecture" instead of "SOC 2 Type II | Certified" in the procurement card

The fix is durable: future bulk-gens that re-render any enterprise product use the patched template.

## Files changed inventory

### Modified (source-level, durable)
- `/Users/wes/factory-templates/enterprise.html` ("Trusted by" → "Designed to integrate with", "Certified" → "Audit-ready architecture")
- `/Users/wes/factory-templates/audit-ai-placeholders.json` (regenerated via _bulk_gen.py with honest content)

### Re-rendered
- 28 pricing pages: `/srv/sites/factory/builds/<slug>/pricing/index.html` (honest fallback content)
- 6 enterprise main pages: `/srv/sites/factory/builds/<slug>/index.html` (audit-ai, aiops-ai, customer-data-platform, enterprise-knowledge-ai, pricing-intelligence-ai, underwriting-ai)

### Backed up (audit trail)
- `/tmp/pricing-fakeproof-<slug>.html` × 28
- `/tmp/audit-ai-placeholders-original.json`

## Status snapshot

- 238 products, 0 broken pages
- **0 fake-proof violations across catalog index + FAQ + pricing subpages**
- Subpage audit complete across 7 subpage types
- 7 essays (~13,000 words)
- 5 foundational high-trust pages depth-passed (complete)
- Generator durability: 14+ generators source-fixed
- 8 content invariants defended at surface+source: em-dashes (Unicode + entity), tagline=name, name=slug, stale counts, fake-proof in main pages, fake-proof in FAQ subpages, fake-proof in pricing subpages, enterprise-template "Trusted by"/"Certified" honesty
- 68/68 health endpoints passing
- 0 em-dashes shipped this iter

## The iter 67-68 systemic-fix arc

Three layers of silent fake-proof preservation found and cleared across two iters:
- **iter 67**: 37 FAQ pages (faq-template-gen.py skip-without-marker logic preserved deprecated content)
- **iter 68 ship 1**: 28 pricing pages (regen-fallback-pricing.py skip-if-exists preserved deprecated content)
- **iter 68 ship 2-3**: audit-ai main page + 6 enterprise template fixes (the original sample placeholders never got regenerated; the template itself had hardcoded fabrications affecting 6 products)

Total surface area cleaned: 37 + 28 + 6 = 71 pages, plus the durable template fix.

Pattern: every subsystem with "skip if file/marker exists" needs to be audited because that logic preserves OLD fabrications when newer honest generators ship. The cycle of (audit + delete + regen) is the standard fix.

## Running queue (top 5 next-iter candidates)

1. **menu-ai sales-kit "10x faster" claim** (low-priority polish) - in cold-pitch script, borderline whether it's a fabrication or normal sales-pitch language
2. **Hand-polish lead-router (71) or attribution-ai (72)** (per-product polish) - direct conversion uplift on solid bulk-gen pages
3. **Write a new playbook essay** (content) - last one was iter 52. Topics: "What the catalog teaches about narrow ICPs" or "The dossier you should not buy" (anti-recommendation essay)
4. **/factory/builds/audit-ai/ screenshot repair** (bug fix) - the actual screenshot cron still fails on audit-ai. The page now passes the 200 check but the screenshot service still can't render it. Probably JS-heavy enterprise template content. Lower priority since the page itself is now honest.
5. **Investigate the integration of audit + source fix workflow into a single durable script** - the iter 67-68 manual workflow (audit → backup → delete → regen) could be a 50-line script for future runs

## Cumulative iter 1-68

- **Catalog**: 238 products, 0 broken, all main + FAQ + pricing pages content-coherent and fake-proof clean
- **Content library**: 7 operator essays (~13,000 words)
- **High-trust pages**: 5 of 5 foundational complete
- **Hand-polished products**: 8 (8 of top-Adoptability)
- **Source durability**: 14+ generators source-fixed across iters 62-68
- **Content invariants**: 8 defended at surface+source levels
- **Push-mode discipline**: 3-4 ships per iter at 30-min cadence is delivering systemic finds (FAQ audit in iter 67 → pricing/template audits in iter 68)

The push-mode + value-mix discipline is finding silent bugs in adjacent generators that single-track iters would have missed for months.
