# Wishdeal Factory buyer-path - iteration 74 ship log

**Date:** 2026-05-14 (push mode, 30-min cadence, polish + discoverability)

## What shipped (3 ships, plus 1 discovery)

## Ship 1: /factory/methodology/ cross-linked to /factory/cron-status/

Small but high-leverage discoverability fix. The methodology page's FAQ on "What happens when a generator silently produces broken output?" already discusses the 15-min em-dash sweep cron. Added a callout linking to the new transparency page:

> See it run live: /factory/cron-status/ shows all 124 cron jobs with last-run timestamps. The page regenerates every 15 minutes so the timestamps visibly shift if you reload.

A buyer reading the methodology page now has a one-click path to verify the autonomous-studio claim. The transparency page from iter 73 becomes discoverable.

## Ship 2: Catalog search/filter system audit (DISCOVERY - already complete)

Audit of /factory/catalog/ revealed it ALREADY has a comprehensive client-side search + filter + shortlist + compare system:
- Text search with `/` shortcut to focus (line 547)
- Category filter chips (19 categories)
- Archetype filter chips (5 archetypes)
- Badge filter chips (12 badges including "trending", "quick-mvp", "high-upside")
- Sort selector
- localStorage-backed shortlist with cross-page sync
- Compare nav counter showing shortlist size

The full search + filter behavior is wired in a single inline `<script>` block (~50 lines) that hides cards based on combined filter state. This was built in earlier iterations.

**Why this matters:** the iter 73 ship log queued this as "build a small client-side search filter" without checking if one already existed. The audit-first pattern from iter 54 applies: check before polishing. Saved an iter by NOT rebuilding what existed.

**Updated queue:** /catalog/ search is feature-complete. The catalog navigation work is done. Next adjacent improvement is /playbooks/ filter (overkill for 9 essays) or per-product subpage navigation (e.g., between /faq/, /vs/, /how-it-works/) — both lower priority than per-product polish.

## Ship 3: engagement-ai (72) hero polish

Audit on top 3 untouched 72-tier products found engagement-ai had a fake-customer claim in the hero lede:

Before:
> Your customers stop coming back and you have no idea when it happened. Engagement AI keeps them connected through email, SMS, and in-app messages that work from one playbook. **Businesses using it catch at-risk customers before they disappear, not after.** Try it free for a week, no contract...

The bolded sentence implies "businesses are using it" — fake-customer claim. The other 2 audited products (sales-collaboration-ai, renewal-ai) were clean.

After:
> Your customers stop coming back and you have no idea when it happened. Engagement AI keeps them connected through email, SMS, and in-app messages that work from one playbook. **The honest design intent: flag at-risk customers from behavioral signals (drop in opens, no recent purchase, declining session frequency) before they disappear, instead of running a post-mortem after the cancel email.** Try it free for a week, no contract...

The new framing is operator-honest about the DESIGN INTENT (we built it to do X) rather than claiming results from non-existent customers.

Fixed at source (placeholders.json) and re-rendered. The cron audit won't catch it because it's a vague phrasing, not a specific numeric claim — but the polish program catches what the regex audit misses.

## Audit health check

Ran audit-fakeproof.py at start of iter:
- 9 findings (0 hard, 9 soft)
- All 9 soft are legitimate Fermi math benchmarks ("5-8% conversion", "2-3% reply rate")
- Cron at 4:30am continues to run daily

## Files changed inventory

### Modified (source-level)
- `/srv/sites/factory/methodology/index.html` (cross-link to /cron-status/ added)
- `/Users/wes/factory-templates/engagement-ai-placeholders.json` (lede polished)

### Re-rendered
- `/srv/sites/factory/builds/engagement-ai/index.html`

## Status snapshot

- 238 products, 0 broken pages, 0 fake-proof violations
- 9 essays (~16,500 words) + 14 OG images
- 5 foundational pages depth-passed + OG-equipped
- 60 bulk-repaired + 4 hand-repaired + **10 polished** (added engagement-ai this iter) + 2 confirmed-good + 1 audit-fix
- /factory/cron-status/ live + linked from methodology
- 10 content invariants defended at surface+source
- audit-fakeproof.py at 0 hard findings (verified this iter)
- 71/71 health endpoints
- 2314 sitemap URLs
- 30 min cadence active

## Iter 74 throughput note

Smaller iter than recent ones because the catalog search task turned out to be already complete (saved an iter of work). 3 substantive ships still represents real progress, but the iter is roughly 60% the size of iter 73. That's the right behavior — the discovery WAS the work. Re-building existing features would have been worse value.

## Running queue (top 5 for iter 75)

1. **Polish more 72-tier products** (storage-ai, renewal-ai, remote-team-ai, pet-ai, partnership-ai, music-production-ai still untouched)
2. **Stripe webhook handler skeleton** — write a FastAPI/Flask sketch that Wes can plug Stripe secret keys into. No live secrets, just the route + signature verification + token mint integration.
3. **Build /factory/start-here/ for first-time visitors** — opinionated 5-minute tour through the catalog for someone who's never seen the site
4. **Open Graph image for /factory/cron-status/** — currently uses the methodology OG which is fine, but a dedicated one would be more visible
5. **/playbooks/index.html "What's new" callout** — small banner at top showing the newest essay

## Cumulative iter 1-74

- **Catalog**: 238 products, 0 broken, 0 fabrications
- **Content library**: 9 essays (~16,500 words) + 14 OG cards
- **Foundational pages**: 5 of 5 + cron-status as 6th transparency page
- **Hand-polished products**: 10
- **Source durability**: 15+ generators + audit-fakeproof.py + cron-status + 30-min loop cadence
- **Content invariants**: 10 defended at surface+source
- **Discoverability**: methodology now links to cron-status

The factory is now in maintenance + polish mode. The big-bug arc is closed. Iteration value is incremental polish on remaining mid-tier products + Wes-blocker prep.
