> **STATUS: historical (2026-05). Superseded for strategy by [`docs/goals/go-to-publication.md`](goals/go-to-publication.md); still the record of the May redesign.**

# johnjboren.github.io — Strategic Redesign

**Created:** 2026-05-16
**Horizon:** 6 months (target: 2026-11-16)
**Status (2026-05-16, end of execution session):** Months 1–2 shipped in full. Month 3 prototype shipped (`/index-new.html`, A/B via `?home=new`). Month 4 PocketAgent context bundle in flight. Month 5 lab restructure shipped (4 desks + 5 orphans archived). User actions pending: launchctl swap (debate→field-notes) and homepage cutover decision.

**Status (2026-05-28 — coherence pass):** The pending items above are resolved: homepage **cutover done 2026-05-23** (`/index.html` is the live redesigned shell; `index-new.html` removed; legacy portfolio preserved at `/index-portfolio.html`), **field-notes→launchd swap done** (debate-gen retired), PocketAgent context bundle **live and auto-committing daily since 2026-05-24**, and `blog-analyzer` + `comic-analyzer` now scheduled. A coherence pass is now underway against the seams that didn't yet flow together: the CI link-checker is **unblocked** (it had been silently red — `verify.sh` exited at step 1, so no checks ran on push), publication **voice is unified** across the 11 zine pages (titles / `og:` / topbar brand all read "The Daily Synthesis"), and a canonical **`docs/GENERATOR_REGISTRY.md`** is being built to reconcile the 29 generator dirs against the ~20 active agents. Resolved during this pass: byline consolidation (147 `John J Boren` → "The Synthesist"), `idea`/`combinator` launchd jobs loaded, repo-hygiene cleanup (556M stale snapshots + 20 root `test-*.html` removed; 78G→71G), and the `blog-unified.html` → `editorial-archive.html` rename + "Today's Issue" relabel. **Note:** consensus voting was *already* live across all 8 digest sections (`digest_curator.py::SECTION_TOPIC_MAP`) — the audit's "1/8" was a misread, since corrected in CLAUDE.md. Remaining: extend the blog-gen quality-gate hold-queue pattern to other generators, and the longer-horizon Initiatives below.

**Phase 7 update (2026-05-16, same day) — OpenClaw inspirations:** After the redesign shipped, the user asked for the publication to borrow patterns from [OpenClaw](https://github.com/openclawai/openclaw) — Peter Steinberger's viral 2026 self-hosted AI agent platform. Plan at `/Users/jboren/.claude/plans/task-notification-task-id-ac1e7913f8158-generic-waffle.md`. Four borrows shipped:

- **Borrow 1 (Gateway):** local-only Control UI at `127.0.0.1:18789` (`gateway/`). Read-only v1; operable v2 planned.
- **Borrow 2 (Channels):** `channels/{email,telegram,discord,imessage}_*.py` + `netlify/functions/email-subscribe.js`. Subscribers reached on their own surface.
- **Borrow 3 (DeskHub):** `deskhub/desk-registry.json` (50 entries) + `/deskhub/` catalog + `/lab/*/` pages now registry-driven.
- **Borrow 4 (Daily Logs):** `unified-gen/daily_log.py` + `daily-logs/YYYY-MM-DD.md`. Auto-appended by `track_run()`; threaded into editorial via `blog-gen/editorial_writer.py::_load_yesterday_log()`; shipped in last 7 days of `pocketagent-context.json`.
- **Plus:** `openclaw-skill/daily-synthesis.skill.json` — OpenClaw Skill manifest so OpenClaw users can install "The Daily Synthesis Editor".

---

## The Goal (North Star)

> **The Daily Synthesis — a one-person AI publishing house that ships a daily zine, three comic strips, and a working swarm of 16 agents whose output you can read, whose factory you can fork, and whose editor (PocketAgent) you can install in one click.**

The site is repositioning from *"AI research lab with 50+ creative tools"* (portfolio framing) to *"daily AI publication with installable editor and a public swarm"* (publication framing). Every other decision cascades from this.

---

## What the Research Found

Four parallel agents audited the Dark Factory generators, the frontend inventory, the content quality, and the strategic positioning. Convergent findings:

1. **The site is a publication in a portfolio's costume.** 56 apps exist; only 16 are linked from the homepage. The Dark Factory ships daily but is backstage.
2. **Only 1 of 16 generators (comic-gen) is fully load-bearing and visible.** Paper-gen silently 429-failing on arXiv for 2+ days. Trend-gen, debate-gen, market-gen produce JSON nobody reads. Quality recommendations only consumed by blog-gen. Consensus votes are written then ignored — digest pulls raw sources directly.
3. **The voice is one publication in disguise.** "The Synthesist" works on Eschaton posts; everywhere else it fragments into "AI Debate System" / "Trends Analysis System" / "John J Boren" — three bylines diluting one masthead.
4. **The pipeline produces volume without dedup.** Anduril $5B appears 6+ times in 48 hours. Crowdstrike insider sells fan out 4x for the same seller. Connections are confabulated ("CAT's edge telematics runs INT4 models" — no signal supports this).
5. **PocketAgent is the underused wedge.** A URL-as-installable-agent is exactly what a daily AI publication should ship as its subscription primitive. Today: integrated into 7 of 56 apps.

---

## Constraints (locked)

- **Comic humor / voice / character (Mac Pollo, Disruption Station, Solidarity House) is not on the table.** Tone is dialed in. Anything that changes dialogue, character voice, or comic structure is out of scope.

---

## The Five Initiatives

### I. Front Door Reframe
Make the zine the homepage. Replace `index.html` with the dated daily zine cover. Move "Guided Paths" / "All Projects" grid to `/lab/` as "Interactive Features of the Magazine." Resolve blog.html vs `/zine/` duplication. One masthead identity site-wide (The Synthesist, Managing Editor).
*Success: a first-time visitor knows within 5 seconds this is a daily publication.*

### II. Swarm Circulation Fix
Close the feedback loops. Digest-gen reads consensus tallies and re-ranks (instead of pulling raw sources). Every generator reads `quality-state/recommendations/` (currently only blog-gen does). Watchdog surfaces silent failures to `/status.html`. Add a `published-to-frontend` blackboard field so unused output gets flagged.
*Success: removing one agent breaks something visible. Currently: it doesn't.*

### III. Editorial Integrity Pass
Stop the echo and the hallucination. Signal dedup at entity level (one Anduril round = one signal). Fix case-duplicated theme tags (`["AI/ML", "ai-ml"]`). Every cross-domain connection ships with provenance ("linked because text X overlaps Y at similarity Z") — no provenance, no publish. Retire or fix debate-gen's identical-synthesis template. Quality gate becomes blocking, not decorative.
*Success: a careful reader spends 10 min in the zine without spotting a hallucination or echo.*

### IV. PocketAgent as Subscription
The wedge becomes the front door. "Install the Editor" CTA on every zine page (one click → agent installed with last-30-days context embedded). Agent answers "what was in yesterday's zine," "summarize this week's funding signals." Unify RSS / email / agent as three surfaces of one subscription.
*Success: PocketAgent install becomes a tracked event with weekly install count > 0.*

### V. The Lab as Magazine Features
Recategorize the 30 side-apps as recurring magazine sections, not standalone demos. Four desks: **Games** (Chess, Connect Four, Neural Familiar, Beat Lab), **Mystic** (Tarot, Kabbalah, Sacred Geometry, I Ching, Oracle), **Markets** (Stocks, Insider Trades, Trading Signals, SEC, Prediction Markets), **Workbench** (ZeroClaw, EML, Agent Board, PocketAgent). Each desk surfaces *today's* related zine output. Archive genuinely-orphaned prototypes (LoRA buoy, iPhone hydrophone, ai-workflow stub, salish-sigint, sigdigger).
*Success: every app has a paragraph on its parent desk page explaining why it belongs to the magazine.*

---

## The 6-Month Sequence

**Reorder rationale:** fix the pipeline before reframing the homepage. Pointing a new front door at a hallucinating zine wastes the attention spike.

### Month 1 (2026-05-16 → 2026-06-15) — "Stop the bleeding"
- ✅ **II.1** Wire `quality-state/recommendations/` consumption into every generator (10 generators wired; pattern: `bb.read_recommendations(for_agent=…)`)
- ✅ **II.2** Surface paper-gen 429 failure and other silent failures to `/status.html` via watchdog (status.html extended; comic-gen silent push failure bonus-caught)
- ✅ **III.1** Entity-level signal dedup — 1508 → 752 signals, Anduril correctly kept as 2 separate rounds
- ✅ **III.2** Fix case-duplicated theme tags — 19 → 0 case-dupes; all themes now lowercased
- ✅ **III.3** Provenance on every crossref connection — 526 legacy connections backfilled to null; CAT/quantization confabulation confirmed dropped under new rules
- ✅ **Quick I.1** Meta description replaced (index.html title/meta/og + manifest.json)
- ✅ **Quick I.2** Bylines consolidated — 162 historical posts backfilled

### Month 2 (2026-06-16 → 2026-07-15) — "Close the loops"
- ✅ **II.3** Digest-gen reads consensus tallies — connections section now consensus-driven; other sections flagged for upstream voting (follow-up task)
- ✅ **II.4** `track_publish()` blackboard helper + watchdog flags `output_unpublished`; 11 generators instrumented
- ✅ **III.4** Blocking quality gate — `QUALITY_THRESHOLD = 0.85`, hold-queue + 3-day revision pass + sidecar surfaced on status.html
- ✅ **III.5** Debate-gen retired → `archive/debate-gen/`; `field-notes-gen/` built and validated. **User must run** the launchctl swap commands
- ✅ **Quick I.3** `/subscribe.html` shipped (RSS + email-intent + PocketAgent install)

### Month 3 (2026-07-16 → 2026-08-15) — "Move the front door"
- ✅ **I.1** `/index-new.html` built (zine shell expanded: masthead, cover, 3 comics, editorial, digest, trends rail, install CTA, lab footer)
- ✅ **I.2** A/B switch via `?home=new` from `/index.html` (drop-in safe; try/catch wrapped)
- ⏳ **I.3** Resolve blog.html vs `/zine/` duplication — deferred to homepage cutover decision
- 🔄 **Prep IV.1** PocketAgent context embedding in flight (last 30 days bundle generator + install-page integration + CTA + Netlify install-event endpoint)

### Month 4 (2026-08-16 → 2026-09-15) — "Subscribe"
- ⏳ **I.4** Cut over `/index-new.html` → `/index.html` (awaiting user preview/approval)
- 🔄 **IV.1–IV.3** In flight as part of Prep IV.1

### Month 5 (2026-09-16 → 2026-10-15) — "Recategorize the lab"
- ✅ **V.1** 4 desk landing pages built: `/lab/games/`, `/lab/mystic/`, `/lab/markets/`, `/lab/workbench/`
- ✅ **V.2** Apps surfaced as cards on respective desks; sitemap regenerated to 770 URLs
- ✅ **V.3** 5 orphans archived (`/archive/`): lora-buoy, iphone-hydrophone, salish-sigint, sigdigger, ai-workflow. Thin redirect stubs at original paths. `constellation.html` left in place (1634 lines, not a stub)
- ⏳ **V.4** Desk pages surface today's related zine output — punted; current desk pages are static catalogs

### Month 6 (2026-10-16 → 2026-11-16) — "Polish + measure"
- Pending: install-event tracking instrumentation (post Month 4 ship)
- Pending: head boilerplate hygiene across remaining root HTML (386 missing warn-level tags, fix with `scripts/ci/apply-head-boilerplate.py`)
- Pending: expand consensus voting to all digest sections (currently only connections)
- Pending: investigate comic-gen intermittent git autostash failure
- Pending: V.4 desk pages surface today's zine output
- Pending: draft 12-month plan v2

---

## Out of Scope (this redesign)

- Comic humor, voice, character, or dialogue (locked per constraint)
- Generator launchd schedules (load-bearing; do not reorder)
- Performance/cost optimization (separate initiative if needed later)
- Infra/ops/observability beyond what Initiative II already touches

---

## Success Metrics (measurable on 2026-11-16)

- **Identity:** Homepage `<title>` and meta description name the publication, not the portfolio
- **Circulation:** ≥ 80% of generator output is consumed by a downstream agent or rendered to a frontend page (today: ~15%)
- **Editorial:** Zero duplicated signals in any digest day-over-day; every connection ships with provenance
- **Subscription:** ≥ 1 tracked PocketAgent install per week; unified `/subscribe` page live
- **Lab:** 4 desk pages live; 30+ apps recategorized; 5+ orphans archived

---

## Open Questions (carry forward)

- Does the new homepage need a hand-designed layout or can it use the existing `/zine/index.html` shell expanded?
- Does PocketAgent's last-30-days context fit within the URL codec's field caps? If not, do we ship a fetch-on-install pattern?
- Is debate-gen worth saving with a new template, or should it be retired and the slot reused (e.g., for a "letters" or "field notes" section)?
- Does Initiative V's `/lab/<desk>/` URL change require redirect maps for any inbound traffic we care about?
