Ship log · iter #63
Iteration 63 ship log
2026-05-13 · depth mode, adoptability + count-fix durability
Date: 2026-05-13 (depth mode, adoptability + count-fix durability)
What shipped
Two substantive ships:
- /factory/adoptability/ depth pass - added "Real products at each tier" examples + 3 skeptic Q&A; brought scoring explainer page up to the operator-depth standard set by about-the-builder + honest + operator-partnership.
- Source fix for stale product counts - patched 3 generators (regen-about-the-builder.py, regen-archetypes.py, regen-categories.py) so future cron runs do not reintroduce "170+ ideas" / "178 starter kits" stale references. Also ported iter 59's "What the Factory has built so far" section into the about-the-builder generator so its content is durable.
Ship 1: /factory/adoptability/ depth pass
Live at https://wishdeal.com/factory/adoptability/. The page was hand-written and already had a solid 10-axis breakdown. Three substantive additions:
Edit 1 - NEW section: "Real products at each tier"
Four tier cards showing the score distribution with named examples:
- 80+ (top of catalog) - 1 product (bookkeeper-ai). Names the specific axes that drive its 80 (pain 8, buyer 10, distro 10, etc.) AND the one that drags it (financial-upside 1 because year-1 take-home is ~$6k, ChatGPT does the same thing free).
- 75-79 (very strong) - ~10 products. Names 5: demand-gen-ai 79, roofing-ai 78, nurture-ai 78, win-loss-analysis-ai 77, dispatch-ai 77. Notes each has at least one axis flagging real risk (HubSpot for demand-gen-ai, EagleView for roofing-ai). Frames this band as "real ideas worth a real Phase A".
- 65-79 (the meat) - ~140 products. Frames as the band most catalog products live in: solid hypotheses with one axis (often financial-upside or saturation) keeping them from a top score.
- Under 65 (sketches and roughs) - ~90 products. Honest framing: "Worth reading for category awareness, less worth a Phase A engagement."
Each tier card links to specific live products. Buyers landing on this page can immediately navigate to working examples at each tier instead of reading scoring rules in the abstract.
Edit 2 - NEW section: "The skeptic questions about scoring, answered straight"
Three Q&As with concession-first honest answers:
- "Isn't this just a made-up number?" - Concedes every axis is heuristic. Names the score's actual job: comparative, not absolute. References the cron schedule (re-runs every 4 hours) as the consistency guarantor.
- "What if my idea scores 60? Is it dead?" - Operator-honest: a 60 is not dead, it just means 2+ axes need work. Names the typical fix (narrower ICP plus higher pricing). Closes with: "If you have an existing audience in the named ICP, a 60 in this catalog can become an 80 in your hands." That last line is the empowerment move that completes the buyer's framing.
- "Why is financial-upside so often low even on strong ideas?" - Names the math honestly. Fermi against realistic year-1 conversion rates rarely hits the 9-10 band on financial-upside. Closes with: "Score it honestly, do not penalize yourself for not building a unicorn."
Edit 3 - Stale count fix + cron mention
"Browse 192 ideas" -> "Browse 238 ideas" CTA. Also added a mention of the 4-hour cron rescoring in the "Why we're transparent" section.
Ship 2: Stale product-count source fixes
Audit finding: Three generators had stale "170+ ideas" / "178 ideas" / "192 ideas" references that produce visibly outdated pages when they run.
regen-archetypes.py line 152: "Browse all 170+ ideas" (in every archetype page footer)regen-categories.py line 190: "Browse all 170+ ideas" (in every category page footer)regen-about-the-builder.py line 162: "Three weeks in, I have 178 starter kits"regen-about-the-builder.py line 186: "178 ideas, $5 unlocks the dossier"
The archetypes + categories generators run on cron (every 30 min and 10/40 each hour respectively), so their stale counts have been showing on every archetype + category page for some unknown duration despite the actual catalog being at 238.
Fixes:
regen-archetypes.py: "170+ ideas" -> "238 ideas" (via sed)regen-categories.py: "170+ ideas" -> "238 ideas" (via sed)regen-about-the-builder.py: ported the FULL iter 59 hand-edits into the generator so future regenerations match deployed content:- Hero lede now names 6 specific products with counts (Sales Connector 165 tenants, ProxyBox in boxes, InfoNet)
- "What the Factory has built so far" section with 4 callouts (238 starter kits, 7 essays, 1 graduation, autonomous Director infra)
- "Three weeks in, 178 starter kits" -> "Six weeks in, 238 starter kits"
- Honesty extension about the "we have no customer logos" pattern
- CTA "178 ideas" -> "238 ideas, one has already graduated"
After deploy + regenerate of all 3 generators, the catalog now has 0 stale counts and all archetype + category pages show the correct 238 product count.
Files changed inventory
Modified (durable, source-level)
/srv/sites/factory/adoptability/index.html (hand-edited; no generator, so direct edit is durable)/home/ubuntu/factory/director/regen-about-the-builder.py (5 edit blocks: lede rewrite, new section, count fix, honest extension, CTA fix)/home/ubuntu/factory/director/regen-archetypes.py (count fix via sed)/home/ubuntu/factory/director/regen-categories.py (count fix via sed)
Re-rendered
/srv/sites/factory/about-the-builder/index.html (generator output now matches iter 59 hand-edit content + has current 238 count)/srv/sites/factory/archetypes/* (6 archetype pages with corrected count)/srv/sites/factory/categories/* (19 category pages with corrected count)
Status snapshot
- 238 products, 0 broken pages, 0 stale counts in active HTML
- 7 substantive playbook essays (~13,000 words)
- 4 high-trust pages depth-passed (about-the-builder, honest, operator-partnership, adoptability)
- 60 bulk-repaired + 4 hand-repaired + 2 polished + 2 confirmed operator-quality + 1 audit-fix product pages
- 48 adoptability data records cleaned at source (iter 62) - still durable
- 13 generators source-cleaned of entity em-dashes (iter 62) + 3 generators count-fixed this iter
- 2257 sitemap URLs
- 68/68 health endpoints passing
- 0 em-dashes shipped this iter (5 stripped post-deploy by sweep cron, expected for new content)
The four high-trust foundational pages a serious buyer reads in sequence are now all operator-depth-passed:
- /factory/about-the-builder/ - Who is the operator
- /factory/honest/ - What this is honestly NOT
- /factory/operator-partnership/ - What we can do FOR you if you want it
- /factory/adoptability/ - How we score what to recommend (the methodology surface)
A buyer who reads these four pages should leave knowing who they are buying from, what the offer is and is not, what the layered tiers cost, and how scoring works. That is the complete due-diligence arc.
What still needs Wes
- Stripe wiring (30 min)
- Email-send for auto-fulfill
- First real traffic push
- Decision on rebrand-name application (carried from iter 62): 6 products have rebrand names in brand briefs that are NOT applied to the catalog.
Iter 64 candidates
- /factory/methodology/ depth pass - the fifth and final foundational page (452 lines currently, last touched May 3, has its own structure). Would complete the foundational-page set.
- Hand-polish top 3 bulk-generated products for conversion uplift.
- Audit + fix any remaining stale references catalog-wide (besides counts: dates, version numbers, etc.)
- Build /factory/changelog/?week=this-week filter with weekly digest essays.
- Investigate cron health beyond /health-check endpoints - what fails silently and goes unnoticed?
Recommended: option 1 (/factory/methodology/) to complete the 5-leg foundational-page set. Then iter 65 can pivot to per-product polish + features.
Cumulative iter 1-63
- Catalog: 238 products, 0 broken, all with real taglines + names, all visible counts current
- Content library: 7 operator essays (~13,000 words)
- Proof story: Counsel graduation + case study
- High-trust pages: 4 of 5 foundational pages operator-depth-passed
- Data hygiene: 48 adoptability records + 12 entity-em-dash generators + 3 count generators all source-clean
- Infrastructure invariants: 68 endpoints, 0 em-dashes (Unicode + entity), durable source-side generators
The Factory has moved past structural-content work into trust-surface polish. The remaining foundational page (methodology) plus per-product polish are what's left of the "make it presentable" arc.