diff --git a/context/empire/EMPIRE_INDEX.md b/context/empire/EMPIRE_INDEX.md
new file mode 100644
index 00000000..a846f0f3
--- /dev/null
+++ b/context/empire/EMPIRE_INDEX.md
@@ -0,0 +1,106 @@
+# EMPIRE INDEX
+
+> The single source of truth for every domain, live site, repo, and surface in the FrankX / Starlight / Arcanea portfolio.
+> Built 2026-07-25 by the system-wide upgrade audit (6 parallel agent sweeps, all claims verified against filesystem and the Vercel API).
+> Companion files: `portfolio-mesh.yaml` (machine-readable registry), `UPGRADE_ROADMAP.md` (prioritized actions), `audits/` (full evidence).
+
+---
+
+## 1 · The live estate — 19 production sites
+
+| Domain | Repo / project | State | Grade | One-line status |
+|---|---|---|---|---|
+| **frankx.ai** | frankx.ai-vercel-website | live, deploys daily | B | 501 pages; world-class benchmarks exist (/agents, /courses); commerce is broken end-to-end (see §3) |
+| **starlightintelligence.org** | `site` project | live | — | substrate public site + research surface |
+| **agenticincome.ai** | agenticincome | live | A- | $67 Blueprint drafted; checkout not wired |
+| **agenticpassiveincome.com** | agenticpassiveincome | live | A | $47 Stream Pack content-complete; checkout not wired |
+| **disruptivepassiveincome.com** | dpi-open-core | live | — | domain migrated to newer project |
+| **go.agenticincome.ai** | go-agenticincome | live | — | funnel |
+| **aiarchitectacademy.com** | aiarchitectacademy | live | — | academy |
+| **realityarchitect.ai** | realityarchitect | live | A | flagship: method + standard + assessment, voice-perfect |
+| **gencreator.ai** | gencreator-ai | live | — | creator CoE |
+| **gencreator.community** | gencreator-community | live | — | community |
+| **vibeclubs.ai** | vibeclubs-web | live | — | events |
+| **bluelifecommons.org** | blue-life-commons | live | A | flagship: governed marine commons + site |
+| **oceanintelligence.app** | ocean-intelligence | live | A | flagship: 9 MCP connectors, tests, daily-refresh demo |
+| **arcanea.academy** | arcanea-academy | live | — | Arcanea learning |
+| **arcanea.dev / arcanean.org / arcanealabs.com** | arcanea-domain-portals | live | — | portal shell |
+| **starlightintelligence.academy** | starlight-intelligence-academy | live | — | academy |
+| **cecilia.chat** | cecilia-chat | live | — | client |
+| **anaceciliacancino.com** | ana | live | — | client |
+| **animelegends.ai** | anime-legends | live | — | anime vertical |
+
+**Stale (domain live, deploys old):** lobe.arcanea.ai (~146 days) · trinityaicoaching (10 months, still linked from frankx.ai/trinity-ai) · my-library · vercel-ai-gateway-demo · v0-ai-misuse-mitigation · anime-studio-landing (ERROR).
+**Never deployed / scratch (cull candidates, 14 projects):** 9 never-deployed + 5 v0-*.
+**⚠ Arcanea apex problem:** no healthy project in the team holds an arcanea.ai apex domain; `arcanea-ai-appx` (named production in repo docs) is in ERROR state.
+
+Full matrix: `audits/2026-07-25-vercel-deploy-matrix.md`.
+
+---
+
+## 2 · The repo portfolio — 42 repos by verdict
+
+**Flagships (protect and amplify):** ocean-intelligence-system · blue-life-commons · realityarchitect · frankx.ai-vercel-website (breadth) · arcanea-ai-app (chat/lore/ecosystem surfaces) · Starlight-Intelligence-System (substrate; only repo whose documented counts match its filesystem exactly).
+
+**Revenue-ready (days from checkout):** agenticpassiveincome · agenticincome · agentic-business-os (packs) · vibe-os (packaging only).
+
+**Promising:** frankx-palace · frankx-mind-palace · marine-mcp · bless · agentic-intelligence-system · agentic-ops-hub (best-organized infra) · payment-intelligence-system (most technically real; UNAUDITED).
+
+**Needs decision:** ai-music-academy (hype voice + unverified metrics, dead 6 months — rehabilitate or archive; redirect assets to music-intelligence-systems) · arcanea OSS repo (stale divergent fork teaching the banned design system publicly) · vibe-os (monetize or archive).
+
+**Charter-only:** music-intelligence-systems · starlight-mind-os-pro (by design).
+
+Registry detail (457 skill files → ~357 unique, duplication clusters, coverage gaps): `audits/2026-07-25-registry-sweep.md` + `portfolio-mesh.yaml`.
+
+---
+
+## 3 · The commerce truth (the empire's critical path)
+
+Across the whole portfolio, **working payment code exists in three places and customer-reachable checkout exists in zero:**
+
+1. **frankx.ai** — Stripe pipeline fully wired (checkout API + webhook + Resend fulfilment) with no caller; Lemon Squeezy client complete with 0/21 IDs configured; 15-SKU template storefront rendering disabled buttons; €97/€497 CTAs 404ing.
+2. **arcanea.ai** — Stripe checkout/portal/webhook + credits routes built; `/pricing` shows $0/$12/$39 with no buttons; `/studio/store` ships **fake payment confirmations** (ship-blocker).
+3. **income cluster** — two products fully drafted ($47 + $67), Polar.sh named as merchant of record, runbooks written, checkout never built.
+
+**The single highest-leverage engineering theme portfolio-wide: wire ONE checkout per property.** Everything else compounds behind it.
+
+---
+
+## 4 · Integrity & trust debt (fix before scaling traffic)
+
+| Severity | Item | Where |
+|---|---|---|
+| SHIP-BLOCKER | Fake Stripe/on-chain payment confirmations | arcanea.ai `/studio/store` |
+| HIGH | Fabricated usage counts/ratings on stub tools | frankx.ai `/tools` |
+| HIGH | Fabricated infra stats (10M+ req/day, 99.9% uptime) | arcanea.ai `/arcanea-os` |
+| HIGH | Four contradictory library-collection counts; three agent counts | arcanea.ai (lib/facts.ts exists, unused) |
+| HIGH | Unverified revenue claims in public repo | ai-music-academy |
+| MED | Vault metadata 3x wrong (484/30 vs 1507/55) | frankx.ai `/vault` |
+| MED | Spiritual-language violations in committed code | frankx.ai `/skills`, `/research` |
+| MED | Voice break "Unlock premium Agent Swarms" | awesome-agentic-income |
+| MED | 40+/38 agent contradiction on one page | frankx.ai `/coaching` |
+
+---
+
+## 5 · Structural findings
+
+- **frankx.ai IA sprawl**: 214 route dirs; 8 overlapping quiz routes, 8 commerce surfaces, 5 lab/studio names, 3 membership tiers with no ladder, 3 getting-started pages. Money pages (workshops, coaching, work-with-me, shop) absent from the header nav. Full inventory: `audits/2026-07-25-frankx-route-inventory.md`.
+- **Imagery paradox**: frankx.ai holds 1,883 images in public/ while 15 of 23 commercial routes render zero; 44% of blog posts point at heroes that don't exist. Arcanea holds 205 images while its book catalog, agent marketplace, and character hub use emoji/Unicode glyphs.
+- **Social proof**: zero testimonials anywhere on frankx.ai (components built, never imported).
+- **Three agent-legibility standards** (llms.txt/ais-profile, reality.md, CLAUDE.md/AGENTS.md) evolving independently.
+- **Marine stack is the reference architecture**: commons → review-gated MCP → agent layer. Copy this layering for music and mind verticals.
+
+---
+
+## 6 · Where everything is
+
+| Question | Answer |
+|---|---|
+| What's live? | §1 + `audits/2026-07-25-vercel-deploy-matrix.md` |
+| What's on every frankx.ai route? | `audits/2026-07-25-frankx-route-inventory.md` |
+| What's the copy/offer/visual state of the money pages? | `audits/2026-07-25-frankx-deep-audit.md` |
+| What's the Arcanea state? | `audits/2026-07-25-arcanea-audit.md` |
+| What can we sell this week? | `audits/2026-07-25-income-cluster-audit.md` |
+| What skills/agents exist where? | `portfolio-mesh.yaml` + `audits/2026-07-25-registry-sweep.md` |
+| What are the verticals worth? | `audits/2026-07-25-verticals-audit.md` |
+| What do we do first? | `UPGRADE_ROADMAP.md` |
diff --git a/context/empire/ICP_FLOW_MAP.md b/context/empire/ICP_FLOW_MAP.md
new file mode 100644
index 00000000..0453bd14
--- /dev/null
+++ b/context/empire/ICP_FLOW_MAP.md
@@ -0,0 +1,250 @@
+# ICP & FLOW MAP
+
+> Who each property is for, what job they hire it for, how the flow works today, and what the flow has to become.
+> Dated 2026-07-25. Every "today" claim cites the audit that verified it — see `audits/`.
+> Companion: `POSITIONING_PLAYBOOK.md` (the offer + proof layer), `UPGRADE_ROADMAP.md` (the work order).
+
+**Evidence discipline.** Clusters 1–4 and 6 are grounded in repos present in this checkout. Clusters 5, 7 (academy surface), and 8 have **no repo in this checkout** — their evidence is the Vercel deploy matrix row plus a Sentinel crawl snapshot dated 2026-05-06 (2.5 months stale). Those sections are marked `[thin evidence]` and their ICPs are inferences from live page titles and sibling-repo references, not from source. Verify before acting on them.
+
+---
+
+## 1 · frankx.ai — the authority hub
+
+**Evidence:** `audits/2026-07-25-frankx-deep-audit.md`, `audits/2026-07-25-frankx-route-inventory.md`
+
+**Primary ICP — the in-house operator who has been told to "do AI."**
+A senior engineer, architect, or technical lead inside a company that has an AI mandate and no system. They have already run a ChatGPT pilot that impressed nobody, read a dozen agent threads, and installed Claude Code. What they lack is a defensible architecture and the language to defend it upward. They pay for artifacts that make them look competent in a room: reference architectures, assessments they can run on their own org, workshop time.
+
+**Secondary — the technical creator building a personal system.**
+Ships content, code, or music solo. Already pays for tools. Wants the operating system around them, not another tool. This is the persona `/agents`, `/prompt-library`, and `/templates` actually serve, and the one GenCreator inherits.
+
+**JTBD:** *"When I have to turn a vague AI mandate into something I can build and defend, I hire frankx.ai to give me the architecture and the artifact so I stop guessing."*
+
+**Current flow.**
+Entry is broad and healthy — 501 pages, strong organic surface, and five routes that are genuinely world-class (`/agents`, `/courses`, `/workshops`, `/agentic-ai-center`, `/start-here`). Belief-building works: `/agents` runs on live data counts and states plainly what agents are *not* good at; `/workshops` enforces provenance labels at runtime. Then the flow stops. The header nav (`NavigationMega`) carries 37 routes and **none of the money pages** — workshops, coaching, work-with-me, sprint, shop, founders-circle, inner-circle are all unreachable from the header. `/shop/templates` renders 15 SKUs with **every button disabled "Coming Soon."** `/start-here` promises a "€197, 30-day refund" toolkit that cannot be bought; `data/products.json` routes €97 and €497 products to `/checkout/starter-kit` and `/checkout/command-center`, both hard 404s. Five high-traffic hubs (`/prompt-library`, `/ai-architect-academy`, `/agentic-ai-center`, `/research`, `/vault`) have zero email capture. Zero testimonials sitewide — three testimonial components exist and are imported by nothing.
+
+**Target flow.**
+- **Single conversion action:** book a workshop. It is the only offer on this property with a working delivery motion, a defensible price, and a runtime-enforced honesty mechanism already shipped.
+- **Proof asset that earns it:** the assessment → architecture brief. Run the assessment, get a named gap and a reference architecture for it. One canonical assessment entry point, not the eight overlapping quizzes the route inventory found.
+- **Everything else is a capture step, not a sale.** The 15-SKU template storefront becomes the self-serve floor *after* one payment rail works; until then the buttons stay honest.
+- **Handoff:** operator persona who wants to self-build → income trinity. Creator persona → GenCreator. Enterprise-shaped ask → SIS estate commissioning. All three handoffs currently exist only in `data/`, not in rendered links (marine and realityarchitect appear in zero rendered `app/`/`components/` files).
+
+---
+
+## 2 · The income trinity — self-serve revenue
+
+**Sites:** agenticincome.ai (EARN, hub) · agenticpassiveincome.com (AUTOMATE) · disruptivepassiveincome.com (COMPOUND)
+**Evidence:** `audits/2026-07-25-income-cluster-audit.md`, `agenticincome/STRATEGY.md`, `agenticpassiveincome/BRAND.md` + `STRATEGY.md`
+
+**Primary ICP — the hour-coupled builder.**
+Named in `agenticincome/STRATEGY.md` as "The Builder": a technical or semi-technical creator, developer, or consultant with a Tier-1 agent runtime installed and income still tied to hours. Comfortable with Git. Has tried automating with n8n or a Zapier chain and abandoned it because it broke silently. Will pay for a build plan with honest maintenance numbers — explicitly not for an earnings forecast.
+
+**Secondary — the creator with an asset already worth automating.**
+`agenticpassiveincome/STRATEGY.md` defines them precisely: proven skill or body of work, one or more owned surfaces, **5–15 honest maintenance hours per month**. The anti-ICP is stated with equal precision: zero-to-one beginners, zero-hour passive-income seekers, done-for-you buyers.
+
+**JTBD:** *"When my income is still priced in hours, I hire this to pick ONE stream I can actually sustain, get its build plan into my repo, and know the date I stop if it fails."*
+
+**Copy is the strongest in the portfolio and revenue is zero.**
+
+**Current flow.**
+Entry via search and the trinity cross-link ribbon (verified: `TrinityRibbon.tsx` + the `network` array in both `lib/site.ts` files — this is the one cross-property link graph that actually renders). Belief-building is excellent: the free Viability Audit and twelve-stream Atlas are positioned as the acquisition product, not a teaser; the Scenario Builder runs browser-local and labels itself a simulation. Then: **checkout does not exist.** Stream Pack 01 ($47) is 100% content-complete. The Blueprint ($67) is fully drafted. `ops/POLAR-SETUP.md` and `FULFILLMENT_RUNBOOK.md` are written. Polar.sh is named merchant of record in both repos. Nobody built the integration. Meanwhile `awesome-agentic-income` carries a "Unlock premium Agent Swarms on Gumroad" CTA that breaks the cluster's own banned-word doctrine and points at an undefined product.
+
+**Target flow.**
+- **Single conversion action:** buy Stream Pack 01 ($47). Lowest price, highest completeness, shortest distance to a first real transaction in the entire portfolio.
+- **Proof asset that earns it:** the audit's own output. A visitor who finishes the Viability Audit leaves holding their eliminated streams, their honest hours, their failure mode, and their kill date. The pack is the maintained version of the artifact they are already holding.
+- **One Polar integration, shared.** Both properties name the same merchant of record. Build once.
+- **Handoff:** DPI (COMPOUND) is the portfolio/governance layer above both. frankx.ai should route its self-build operators here — today the homepage links agenticincome.ai (`FrankXProductionHome.tsx`, `MindPalaceAtlas.tsx`) but nothing links the spokes.
+
+---
+
+## 3 · realityarchitect.ai — the method
+
+**Evidence:** `realityarchitect/README.md`, `audits/2026-07-25-verticals-audit.md` (flagship, grade A)
+
+**Primary ICP — the AI tool-user who noticed the reset.**
+They use Claude or ChatGPT daily and productively, and every morning starts from zero. They re-explain their context, re-derive the same decisions, and keep no state. They are not looking for prompts. They are looking for the thing that makes yesterday's work available to today.
+
+**Secondary — the agent-runtime user who wants portability.**
+Runs Claude Code plus one other harness and is tired of maintaining parallel context. `reality.md` is a portable personal-context standard: eight sections, five protocol verbs, zero lock-in.
+
+**JTBD:** *"When my AI work resets every morning, I hire this to find which of the five moves I'm missing and build that one system this month."*
+
+**Current flow.**
+Entry → the manifesto and the Architect's Loop → `/assess` → a locally-generated Markdown architecture brief that never transmits the user's context → fork a starter template. This is the cleanest belief-to-artifact path in the portfolio and it has **no conversion point at all** — MIT, no capture, no offer, no next step beyond "fork it."
+
+**Target flow.**
+- **Single conversion action:** adopt `reality.md` — write the file, keep the state directory. The commercial conversion is downstream and deliberate.
+- **Proof asset:** the exported architecture brief. It already names the gap; it should also name what it costs to close it and who closes it.
+- **Missing link, highest-leverage fix:** the assessment output has no exit. A user who lands on "your gap is move 03, Build" should see the frankx.ai workshop, the income-trinity pack, or SIS estate commissioning depending on gap and scale. Currently the loop closes on itself.
+- **Handoff:** this is the natural top-of-funnel for the whole estate. It is also invisible from frankx.ai — `realityarchitect.ai` appears in `data/` only, with zero rendered links.
+
+---
+
+## 4 · Arcanea — arcanea.academy + the app
+
+**Evidence:** `audits/2026-07-25-arcanea-audit.md`
+
+**Primary ICP — the world-builder who wants a coherent universe, fast.**
+Writer, game designer, or AI-native creator building a fictional world across text, image, and eventually audio. They have tried keeping canon in Notion and watched it drift. What they want is a canon that holds and tooling that respects it. The strongest surfaces on the site (`/chat`, `/lore`, `/ecosystem` — all graded A) speak directly to them.
+
+**Secondary — the creator-economy participant.**
+Arrives for the marketplace and rev-share, not the mythology. Served badly today: rev-share contradicts itself (90%+ on `/creator-economy` vs 70% on store and apps).
+
+**JTBD:** *"When my world keeps drifting out of its own rules, I hire Arcanea to hold the canon so I can keep creating inside it."*
+
+**Current flow.**
+Entry is strong and belief-building is world-class on four surfaces. Then the flow hits a wall built out of its own contradictions. `/pricing` shows $0/$12/$39 with **no CTA buttons**, while a complete Stripe checkout/portal/webhook stack sits unused behind `/api/stripe/*` — and the page renders a literal `**40% lifetime discount**` as asterisks. `/studio/store` fires `alert("Stripe Payment of $19 succeeded!")` after a setTimeout and mints a fake on-chain receipt against a Hardhat localhost address. Four different library-collection counts (17 / 20 / 22 / 52) are live simultaneously; three agent counts (13 / 16 / 12) across three surfaces. `lib/facts.ts` exists specifically to prevent this and is imported by three pages.
+
+**Target flow.**
+- **Single conversion action:** subscribe at $12. One tier, one button, wired to the checkout that already exists.
+- **Proof asset:** the canon itself, rendered honestly. One number per fact, all through `lib/facts.ts`. A book catalog with covers instead of an empty grid; characters as art instead of Unicode glyphs (205 images, 116MB already sit in `public/`).
+- **Precondition, not optional:** `/studio/store` is quarantined or deleted before any traffic is driven anywhere near this property. Simulated payment confirmations on a live public domain are not a bug to schedule.
+- **Handoff:** Arcanea is the creative expression of the estate, not a revenue engine. It should feed frankx.ai's creator persona and take overflow from GenCreator.
+
+---
+
+## 5 · GenCreator — gencreator.ai + gencreator.community `[thin evidence]`
+
+**Evidence:** deploy-matrix rows; `frankx.ai-vercel-website/data/gencreator-launch-readiness.ts`; Sentinel crawl 2026-05-06 (4 routes: `/`, `/manifesto`, `/playbook`, `/start`; only `/start` carries a distinct title — "Personal AI CoE Starter — Free"). **No repo in this checkout.**
+
+**Primary ICP — the creator who wants a personal AI center of excellence.**
+The launch-readiness file states the positioning directly: *"GenCreator helps creators build personal AI operating systems that turn ideas into shipped work, audience, products, and revenue."* Four tracks — create / build / sell / life. The Create track routes to music; the Build track routes to a Claude Code + n8n + Vercel + MCP course. This is a creator who already makes things and wants the system around the making.
+
+**Secondary — the community member.**
+gencreator.community is a separate deploy with a separate ICP: someone who wants peers more than curriculum.
+
+**JTBD:** *"When I'm shipping creative work but drowning in my own tooling, I hire GenCreator to give me one operating system for creating, building, and selling."*
+
+**Current flow.**
+Four routes, three of which shared a single page title as of the last crawl. `/start` is the only differentiated surface — a free Personal AI CoE Starter. The `LaunchReadinessStatus` type in frankx.ai's own data file enumerates `ready | preview | waitlist | needs-build | paused`, and the brand-order note says plainly: *"AI Architect Academy is delayed until the creator funnel is proven."* The funnel is not yet proven.
+
+**Target flow.**
+- **Single conversion action:** claim the Personal AI CoE Starter (free), against a real email capture.
+- **Proof asset:** the starter itself, shipped and usable, with an honest status label per the launch-readiness schema.
+- **Verify first:** confirm the current route set and whether `/start` captures email before building anything on top of this. The evidence here is 2.5 months old.
+- **Handoff:** graduate to frankx.ai courses/workshops for depth, gencreator.community for peers, income trinity when a creative asset is worth monetizing.
+
+---
+
+## 6 · Marine — bluelifecommons.org + oceanintelligence.app
+
+**Evidence:** `blue-life-commons/README.md` + `STRATEGY.md`, `ocean-intelligence-system/README.md`, `audits/2026-07-25-verticals-audit.md` (both flagship, both grade A)
+
+**Primary ICP — the conservation technologist.**
+Works at or with an NGO, marine research group, or reef-monitoring project. Has data and no software layer. Needs something they can build a Research-OS on without starting from a blank page. The commons README addresses them by name and the ocean repo hands them 9 MCP connectors, 44+ offline tests, and a daily-refreshed guardian briefing.
+
+**Secondary — the agent builder who needs grounded domain data.**
+Wants an MCP server that refuses to invent. `marine-mcp` serves the corpus `grounded or silent` and carries `sources[]` through every response.
+
+**JTBD:** *"When I need ocean facts an agent won't hallucinate, I hire this commons to give me reviewed, cited, machine-readable artifacts."*
+
+**Current flow.**
+The best-layered stack in the portfolio: commons (trust) → review-gated MCP (serving) → agents and dashboards (application). Contribution flow is real and CI-gated — sources, ethics, schema, all three checked before merge. Conversion is deliberately not commercial: *"the commons stays free forever — sustainability comes from the work around the knowledge, never from gating it."*
+
+**Target flow.**
+- **Single conversion action:** contribute an artifact (species page, region briefing, dataset card, connector). The conversion is a merged PR with the contributor's credit attached.
+- **Proof asset:** the guardian briefing. Real output, real citation, real license line, regenerated daily by CI. It demonstrates `grounded or silent` in one screenful.
+- **Commercial handoff, explicitly separated:** an NGO that wants the layer built rather than contributed goes to SIS estate commissioning. The commons must never gate to fund this — that boundary is stated in `STRATEGY.md` and should stay stated.
+- **This is the reference architecture.** Copy the three-layer shape into music and mind verticals rather than reinventing it.
+
+---
+
+## 7 · Starlight — starlightintelligence.org + .academy
+
+**Evidence:** `Starlight-Intelligence-System/DELIVERY.md`, `CLAUDE.md`, deploy matrix. The `.academy` surface has **no repo in this checkout** `[thin evidence]`.
+
+**Primary ICP — the high-agency principal who wants an owned agent estate.**
+DELIVERY.md §7 names them: principals, alliances, and organizations who want "a reliable, compounding, ownable agent army as a true extension — not DIY glue or rented vendor agents." They have already tried DIY and hit the wall where nine tools don't compose. They are buying ownership, not access. Trinity is instance #1.
+
+**Secondary — the sovereign builder forking the substrate.**
+Wants their own substrate layer, not Frank's. Takes the MIT fork, rewires it to their entity, attributes SIP. Pays nothing. This is the adoption flywheel and it is load-bearing for the commercial tier above it.
+
+**JTBD:** *"When I need an agent system that is genuinely mine and still compounds, I hire Starlight to commission the estate and steward it."*
+
+**Current flow.**
+`/intake` triages into four routes; `/welcome` orients; Concierge takes the builder track and Envoy the zero-terminal creator track. Above that sits a real ladder: stamped artifact (free) → fork (free, MIT) → vertical scaffold → alliance forge → board session → custom advisory → **full estate commission (§7): Blueprint 1–2 weeks, Pilot 2–6 weeks, Steward retainer ongoing.** The ladder is documented with genuine rigor. What it lacks is a public commercial surface — DELIVERY.md is a repo file, and `/intake` assumes someone already inside.
+
+**Target flow.**
+- **Single conversion action:** book the estate conversation. Not a checkout — a scoped conversation that produces a 4-layer Blueprint.
+- **Proof asset:** the Blueprint itself, and SIS's own integrity record. This is the only repo in the entire portfolio whose documented counts match its filesystem exactly (84 skills / 144 agents / 25 commands, verified by enumeration in `audits/2026-07-25-registry-sweep.md`). Against a portfolio where ACOS undercounts itself by more than 2x and Arcanea runs four contradictory numbers for one fact, "our registry is accurate and we can show you the audit" is a real and rare claim.
+- **Handoff:** this is the top of the ladder. Everything below it — frankx.ai workshops, income packs, realityarchitect assessment — should have a visible route up to it for the buyer whose problem is bigger than a $47 pack.
+
+---
+
+## 8 · vibeclubs.ai `[thin evidence]`
+
+**Evidence:** deploy-matrix row; Sentinel crawl 2026-05-06 (3 routes: `/`, `/clubs`, `/sessions` — all three sharing the title "Vibeclubs — Host a vibeclub", none carrying a meta description); ACOS `vibeclub-host-coach` agent. **No repo in this checkout.**
+
+**Primary ICP — the host.**
+Someone who wants to run a small, high-signal gathering — physical or virtual — for creators working with AI. They are not looking for a platform; they are looking for a format and permission to run it.
+
+**Secondary — the attendee.** Wants to find one nearby and show up.
+
+**JTBD:** *"When I want to gather good people around building with AI, I hire Vibeclubs to hand me the format so I don't have to invent one."*
+
+**Current flow.**
+Three routes, one shared title, no per-route metadata. `/clubs` and `/sessions` imply a directory and a schedule; whether either holds real data is unverified from this checkout. Treat as pre-product.
+
+**Target flow.**
+- **Single conversion action:** apply to host. One form, one reviewed decision.
+- **Proof asset:** one run-of-show a host can execute without asking a question. The host-coach agent already encodes the blueprint framework — publish the artifact it produces.
+- **Precondition:** give the three routes distinct titles and descriptions before any traffic. A three-page site with one title is not indexable and reads as abandoned.
+- **Handoff:** hosts and attendees are the warmest possible audience for GenCreator and frankx.ai workshops. This is a top-of-funnel community asset, not a revenue property.
+
+---
+
+## Cross-property graph
+
+Solid = link renders in production today (verified). Dashed = the handoff the strategy requires and no link exists.
+
+```mermaid
+graph TD
+ RA["realityarchitect.ai
method · free assessment"]
+ FX["frankx.ai
authority hub · 501 pages"]
+ AI["agenticincome.ai
EARN · $67"]
+ API["agenticpassiveincome.com
AUTOMATE · $47"]
+ DPI["disruptivepassiveincome.com
COMPOUND"]
+ GC["gencreator.ai
creator OS"]
+ GCC["gencreator.community"]
+ VC["vibeclubs.ai
gatherings"]
+ ARC["arcanea.academy + app
canon · $12/$39"]
+ BLC["bluelifecommons.org
commons"]
+ OI["oceanintelligence.app
agents"]
+ SIS["starlightintelligence.org
SIP substrate"]
+ EST["Estate commissioning
DELIVERY.md §7 · high ticket"]
+
+ FX -->|homepage + atlas| AI
+ AI -->|TrinityRibbon| API
+ AI -->|TrinityRibbon| DPI
+ API -->|TrinityRibbon| AI
+ FX --> GC
+ FX --> VC
+ FX --> ARC
+ FX --> SIS
+ BLC -->|README + marine-mcp| OI
+ OI -->|Built on SIP| SIS
+ BLC -->|initiative by SIS| SIS
+ RA -->|Built on SIP| SIS
+ SIS --> EST
+
+ RA -.->|assessment output has no exit| FX
+ RA -.->|gap = build your own stream| AI
+ FX -.->|no rendered link anywhere| RA
+ FX -.->|no rendered link anywhere| BLC
+ FX -.->|operators who self-build| API
+ FX -.->|enterprise-shaped asks| EST
+ GC -.-> GCC
+ GC -.->|creative asset worth monetizing| API
+ VC -.->|hosts + attendees| GC
+ ARC -.->|creator overflow| GC
+ API -.->|scale beyond one stream| EST
+ BLC -.->|NGO wants it built| EST
+
+ classDef missing stroke-dasharray: 5 5
+```
+
+**What the graph says.** The two link clusters that work — the income trinity ribbon and the marine three-layer stack — are the two clusters with the clearest single owner and the clearest single job. Everything else is a hub-and-spoke from frankx.ai with no return path and no lateral edges. The three highest-value missing edges, in order:
+
+1. **realityarchitect assessment → an offer.** The best free artifact in the portfolio currently converts to nothing.
+2. **frankx.ai → income trinity spokes.** The hub links the trinity hub and neither spoke; the $47 product with completed content is two clicks further away than it should be.
+3. **Anything → estate commissioning.** The highest-ticket offer in the portfolio has no inbound path from any property that generates traffic.
diff --git a/context/empire/POSITIONING_PLAYBOOK.md b/context/empire/POSITIONING_PLAYBOOK.md
new file mode 100644
index 00000000..2cafce12
--- /dev/null
+++ b/context/empire/POSITIONING_PLAYBOOK.md
@@ -0,0 +1,170 @@
+# POSITIONING PLAYBOOK
+
+> Direct-response positioning for every revenue-bearing property. Dated 2026-07-25.
+> Companion: `ICP_FLOW_MAP.md` (who and what flow), `UPGRADE_ROADMAP.md` (build order), `audits/` (evidence).
+
+**The shape of each USP (Jay Abraham):** a preemptive claim nobody else in the category has bothered to state + the risk moved off the buyer + a number or artifact specific enough to be falsifiable. Miss any of the three and it is a slogan.
+
+---
+
+## Non-negotiable constraints
+
+These are not style preferences. They are the reason the portfolio's copy grades A while its checkout grades F, and losing them costs more than any conversion they gain.
+
+| Rule | Source | Test |
+|---|---|---|
+| No hype verbs — unlock, supercharge, transform, elevate, empower, harness, unleash | `taste.md` refusal list | Read aloud. If it sounds like a model, rewrite. |
+| No invented numbers. Ever. | Metrics Truth Rule, `CLAUDE.md` | Every figure traces to a file you can open, with `last_verified`. |
+| **Zero income claims in the income cluster** — including implied ones | `agenticpassiveincome/BRAND.md` trust rules; `agenticincome/STRATEGY.md` ("stricter than FTC") | "What will I earn?" answers "Unknown until observed." |
+| Availability status ships with every price | `BRAND.md`: *"Every commercial surface displays availability status, not price alone."* | A price with no status is a broken surface. |
+| Simulations are labeled simulations | `BRAND.md` | The Scenario Builder says so. `/studio/store` does the opposite. |
+| Bold = specific and concrete, never inflated | `taste.md`: *"12,000 songs beats extensive musical output"* | If it can't be checked, it isn't bold. It's noise. |
+| No pricing-page tricks — fake countdowns, "limited time", strike-throughs | `taste.md` | Founder pricing is real because it's first-wave. That's the only urgency available. |
+
+---
+
+## The refund contradiction — flag and resolution
+
+**Three policies are live simultaneously on frankx.ai right now:**
+
+1. `app/legal/refund/page.tsx` — 14-day EU right of withdrawal, waivable at checkout with explicit consent; 14 days on courses under 25% consumed; 7 days before a live workshop. Also carries an unfilled **`Effective: [DATE]`** placeholder.
+2. `app/shop/templates/page.tsx:593` and `layout.tsx:50` (the latter feeds JSON-LD FAQ schema, so this one is machine-readable to Google) — *"Due to the digital nature of the product (immediate source code access), we cannot offer refunds."*
+3. `data/products.json` — at least six per-product guarantees promising the opposite: *"30-day complete satisfaction guarantee… we refund every penny,"* 45-day, 7-day, 24-hour, and 48-hour full-refund promises. `/start-here` advertises a "€197, 30-day refund" toolkit.
+
+This is worse than having no policy. A blanket no-refund line on a digital product sold to EU consumers sits badly against the withdrawal right the legal page itself documents, and it is published in structured data while the product data promises the reverse.
+
+**Resolution — one policy, stated once, inherited everywhere:**
+
+> **14 days. No conditions, no consumption test.** You keep whatever you already built with it.
+
+Rationale it can survive: it matches the statutory floor the legal page already describes, so it costs nothing legally that isn't already owed. It removes the waiver-at-checkout friction, which is a conversion tax on a €197 product. It is simpler than six different per-product windows, and simplicity is the point — a guarantee a buyer has to read twice isn't reversing any risk.
+
+Mechanics: delete the FAQ answer in both `page.tsx` and `layout.tsx` (the JSON-LD copy is the urgent one), replace the six `products.json` guarantee strings with a single reference to the canonical policy, fill the `[DATE]`. One string, one source, every surface reads it.
+
+---
+
+## Per-property positioning
+
+### frankx.ai — templates (15 SKUs, $27–$297)
+
+**USP.** *Production Next.js and agent systems, sold as the source you inspect before you pay — not a zip you hope compiles. 14 days to decide, and you keep what you built.*
+
+**Honest proof available today.** The storefront itself is the best commerce copy and component work on the site (graded A- in the deep audit) — it is disabled, not missing. Adjacent to it, `/workshops` runtime-enforces its provenance labels, and `/agents` renders live counts rather than hardcoded ones. That mechanism is the proof: *this brand asserts numbers in code, and you can read the code.* Extend it to the storefront — publish the file tree and the dependency list of each template on its own page, unpaywalled.
+
+**Risk reversal actually offerable.** 14-day unconditional (see above). Do **not** ship "if you can't build a UI in 48 hours" style outcome guarantees — they are unverifiable, they invite a dispute you can't adjudicate, and they read as a hedge.
+
+**The one metric.** Buy-button click → completed checkout. Nothing else on this route matters until a single transaction completes; today the denominator is structurally zero because all 15 buttons are disabled.
+
+**Copy example:**
+> **Fifteen production templates. Read the source before you buy.**
+> Every template ships the tree, the dependencies, and the deploy path on its own page — before checkout, not after. RAG blueprint, multi-agent blueprint, Next.js SaaS boilerplate. $27 to $297. Fourteen days to change your mind, and you keep whatever you built in the meantime.
+
+---
+
+### frankx.ai — workshops
+
+**USP.** *A working session that ends with your architecture on the page — run by an architect who labels which claims are verified and which aren't, in code, on the page you're reading.*
+
+**Honest proof available today.** `/workshops` is the only commercial surface in the portfolio with **runtime-enforced provenance labels** (deep audit, grade A-). That is a genuinely rare, genuinely checkable claim, and it is exactly the claim an in-house operator needs to justify the spend upward. Say it plainly and point at it.
+
+**Risk reversal.** Refund up to 7 days before the date (already in the legal page — just surface it), and: if the session doesn't produce a written architecture brief you can circulate internally, you don't pay. That second half is verifiable — the artifact either exists at the end of the session or it doesn't.
+
+**The one metric.** Workshop enquiry → booked date. Not page views; the funnel here is short and the conversion is a calendar entry.
+
+---
+
+### frankx.ai — coaching and work-with-me (€3k–€25k)
+
+**USP.** *Scoped engagement with the tier price published, an application that reaches a human, and a written scope before either of us commits.*
+
+**Honest proof available today.** `/api/coaching-apply` is the only working intake pipeline on the site. That is the whole proof: the application actually arrives. Meanwhile `/work-with-me` puts €3k–€25k offers behind a **broken `mailto:` form** with zero imagery, zero proof, and no guarantee — and `/coaching` contradicts itself on the same page (40+ agents in one place, 38 in another).
+
+**Risk reversal.** Not a refund — a scope gate. First paid step is a scoping session priced separately; if the scope doesn't produce work worth doing, that's where it stops and nothing further is invoiced. This is the honest reversal for high-ticket services and it costs nothing to offer.
+
+**The one metric.** Applications received per month via `/api/coaching-apply`. It is instrumentable today and currently unmeasured because the highest-value page doesn't use it.
+
+**Copy example:**
+> **Three tiers. Prices published. One form that actually reaches me.**
+> Architecture review (€3k) · Build sprint (€12k) · Standing architect (€25k). Start with a scoping session — if the scope doesn't produce work worth doing, that's where it ends and nothing else is invoiced.
+
+*(Tier names and prices above are placeholders pending Frank's confirmation — the €3k–€25k band is from the current `/work-with-me` copy; the tier split is not yet defined anywhere in the repo.)*
+
+---
+
+### Income trinity — Stream Pack 01 ($47) and Blueprint ($67)
+
+**USP.** *The only income product that starts by eliminating the streams you can't sustain — and prints the maintenance floor, the failure mode, and your kill date before you build anything.*
+
+That is a genuine preemptive claim. The whole category optimizes generation; `agenticpassiveincome/BRAND.md` names the wedge precisely: *"governance before generation."* Nobody else is opening with subtraction.
+
+**Honest proof available today.** The free Viability Audit and twelve-stream Atlas are shipped on site — positioned in the brand doc as the acquisition product, not a teaser. The Scenario Builder runs browser-local, produces a versioned manifest, and labels itself a deterministic simulation rather than a forecast. Every archetype in the Atlas carries an honest maintenance floor (Stream Pack 01's is stated: **10–20 hours per month once running**). The pack content is 100% complete; `ops/POLAR-SETUP.md` and `FULFILLMENT_RUNBOOK.md` are written. The single blocker is that nobody built the Polar integration.
+
+**Risk reversal.** 14 days, unconditional, same as everything else — and one that costs nothing and reverses more: the maintenance floor is printed *before* purchase. A buyer who reads "10–20 hours per month" and leaves was never going to sustain the asset. That is the reversal doing its actual job.
+
+**What is forbidden here.** No earnings figures. No "$X/month" anywhere, including testimonials, including screenshots, including implication. `COPY.md` already bans "Get rich," "Start earning now," "Unlock passive income," and — critically — **"Buy now when checkout is absent."** The `awesome-agentic-income` line *"Unlock premium Agent Swarms on Gumroad"* violates two of these at once and points at a product that doesn't exist. Fix it in the same change that wires checkout.
+
+**The one metric.** Audit completion → checkout start. The audit is the qualifier; this ratio tells you whether the free flagship is selecting buyers or just entertaining visitors.
+
+**Copy example:**
+> **Eleven of the twelve streams are wrong for you. This finds the one that isn't.**
+> Start with what you already own, the hours you'll actually protect, and how long you can wait for a first signal. You leave with one stream, its honest monthly floor, its failure mode, and the date you stop if it fails. We make no earnings claim — you'll know when you observe it.
+
+---
+
+### SIS — estate commissioning (DELIVERY.md §7)
+
+**USP.** *You own the estate — the tuned system, the agents, the memory — and every number in it traces to a file we audited. Blueprint first; you decide to build after you've read it.*
+
+**Honest proof available today.** The strongest proof in the entire portfolio, and it is a compliance fact rather than a performance fact: **SIS is the only repo whose documented counts match its filesystem exactly** — 84 skills, 144 agents, 25 commands, verified by file enumeration in `audits/2026-07-25-registry-sweep.md`. In the same sweep, ACOS's own CLAUDE.md undercounts itself by more than 2x (claims 75+/67/35+, actually holds 179/147/173), and Arcanea runs four contradictory values for one library-collection count in production. Against a buyer who has been sold agent platforms on invented dashboards, "we audit our own registry and here is the audit that caught our other repos" is the differentiator. The ownership terms are already written and explicit in §7: client owns the tuned estate, Starlight owns the generalized process, encoded-self boundaries non-negotiable.
+
+**Risk reversal.** The Blueprint is the reversal. Priced and delivered standalone — 1–2 weeks, four layers (Persona / Topology / Kernel / Modules) — with no obligation to commission the build. If the Blueprint doesn't convince, the buyer keeps it and walks. That converts a large irreversible decision into a small reversible one, which is the entire mechanism.
+
+**Do not offer.** A money-back guarantee on a retainer, or any outcome guarantee on the agent army. Both are unverifiable and both signal the opposite of the sovereignty posture the offer is built on.
+
+**The one metric.** Blueprint delivered → Pilot commissioned. This is the only conversion in the ladder that matters commercially, and it is measurable in single digits.
+
+**Copy example:**
+> **Read the blueprint before you commission the build.**
+> Four layers — persona, topology, kernel, modules — delivered in one to two weeks. If it doesn't convince you, you keep it and we stop there. If it does, the pilot runs in two to six weeks and you own what it becomes. Our own registry audit is public, including the three repos where it caught us miscounting.
+
+---
+
+### Arcanea — pricing ($0 / $12 / $39)
+
+**USP.** *A canon that holds. One number per fact, asserted in code, so your world doesn't drift while you're building inside it.*
+
+**Honest proof available today** — but only after repair. `/chat`, `/lore`, `/ecosystem`, and `/library` are graded A and `/ecosystem` derives its numbers from the registry, which is exactly the pattern to generalize. Against that: four live values for library collections (17 / 20 / 22 / 52), three for agents (13 / 16 / 12), two for word count (190,000+ vs 486,000+), contradictory rev-share (90%+ vs 70%), and fabricated infrastructure stats on `/arcanea-os` ("10M+ req/day · 99.9% uptime"). **A property cannot sell canon integrity while running four values for one fact.** `lib/facts.ts` exists for precisely this and three pages import it.
+
+**Order of operations, non-negotiable.** Quarantine `/studio/store` — it fires `alert("Stripe Payment of $19 succeeded!")` and mints a fake on-chain receipt against a Hardhat localhost address, on a live public domain. Then route every public number through `lib/facts.ts` and delete the fabricated stats. Only then wire `/pricing` to the Stripe checkout that already exists, and fix the `**40% lifetime discount**` rendering as literal asterisks.
+
+**Risk reversal.** Monthly, cancel anytime, no annual lock. On a $12 subscription that is the only reversal that carries weight; a refund window on a monthly plan is theatre.
+
+**The one metric.** `/pricing` visit → subscription started. Currently structurally zero — the page has no buttons.
+
+---
+
+## Instrumentation summary
+
+One metric per property. If a property can't produce its number, it isn't shipped.
+
+| Property | The one metric | Instrumentable today? |
+|---|---|---|
+| frankx.ai templates | buy-click → completed checkout | No — all 15 buttons disabled |
+| frankx.ai workshops | enquiry → booked date | Yes |
+| frankx.ai coaching | applications/month via `/api/coaching-apply` | Yes — unmeasured |
+| Income trinity | audit completion → checkout start | Half — audit ships, checkout doesn't |
+| SIS estate | Blueprint delivered → Pilot commissioned | Manual, and that's fine at this volume |
+| Arcanea | `/pricing` visit → subscription started | No — no buttons |
+
+Four of six denominators are structurally zero. That is not a measurement problem; it is the same checkout problem in six costumes, and it is why `UPGRADE_ROADMAP.md` Wave 1 sits where it does.
+
+---
+
+## What we are not claiming
+
+Stated here so it stays stated:
+
+- No revenue, user, or adoption numbers anywhere until `metrics/current.json` carries them with a `last_verified` stamp.
+- No testimonials until real quotes exist. frankx.ai has zero across 20 products and three built-but-unimported testimonial components — the temptation to fill them is exactly the failure mode that produced `/tools`' fabricated "50K+ Monthly Uses" and "4.8/5."
+- No income outcomes in the income cluster. Not in copy, not in case studies, not implied by a screenshot.
+- No "production-grade," "battle-tested," or "trusted by" without a named, checkable referent.
diff --git a/context/empire/UPGRADE_ROADMAP.md b/context/empire/UPGRADE_ROADMAP.md
new file mode 100644
index 00000000..7bba644b
--- /dev/null
+++ b/context/empire/UPGRADE_ROADMAP.md
@@ -0,0 +1,55 @@
+# UPGRADE ROADMAP
+
+> Prioritized from the 2026-07-25 system-wide audit. Ordering principle: trust first, then revenue, then reach.
+> Status legend: ☐ open · ◐ in progress (this session) · ☑ done (this session)
+
+## Wave 0 — Trust repairs (hours each; do before driving any traffic)
+
+> 2026-07-25 session: Wave 0 shipped — frankx.ai#362 MERGED + live; arcanea store quarantine in arcanea-ai-app#206 (held in draft by Frank pending deps + Visual QA repairs); awesome-agentic-income#4 open. Wave 1 session 2: frankx.ai#369 (conversion layer), agenticpassiveincome#20 + agenticincome#18 (Polar fail-closed), ICP_FLOW_MAP + POSITIONING_PLAYBOOK added.
+
+- ☑ frankx.ai: fix broken nav link `/products/music-school` → `/music/learn` (repo's own wiring registry already verified the target)
+- ☑ frankx.ai `/tools`: delete fabricated `usageCount`/`rating`/"50K+ Monthly Uses"/"4.8/5" and Premium badges on the 6 stub tools
+- ☑ frankx.ai `/skills`: replace "Channel Frequency Alchemist" / "Consult Soul Strategist" example strings
+- ☑ frankx.ai `/research`: rewrite the FlagshipArticles block ("Conscious AI Operating Systems"); remove fictional research-team personas
+- ☑ frankx.ai `/vault`: generate layout metadata from `data/vault-manifest.json` (claims 484/30, actual 1507/55)
+- ☑ frankx.ai `/resources`: replace missing priority-loaded hero image (LCP 404)
+- ☑ frankx.ai `/coaching`: fix 40+/38 contradiction
+- ☑ frankx.ai `/shop`: fix "$19" floor (actual $27)
+- ☑ frankx.ai `/community`: fix "Active"-badged newsletter card linking to `/start`
+- ☑ arcanea.ai `/studio/store`: quarantine fake payment confirmations (SHIP-BLOCKER — gate behind flag or wire real checkout)
+- ☐ arcanea.ai: route all public numbers through `lib/facts.ts`; delete `/arcanea-os` fabricated stats
+- ☐ awesome-agentic-income: fix "Unlock premium Agent Swarms" CTA
+- ☐ ai-music-academy: decision — rehabilitate voice + metrics, or archive and move assets to music-intelligence-systems
+
+## Wave 1 — Revenue (days; the compounding unlock)
+
+1. ◐ **One Polar.sh checkout integration** — ENGINEERING SHIPPED 2026-07-25 (agenticpassiveincome#20 + agenticincome#18, triple-gated fail-closed; activation = Frank's checklist in each runbook). Original item: shared by agenticincome + agenticpassiveincome → ships Stream Pack 01 ($47) and Blueprint ($67). Runbooks already exist (`ops/POLAR-SETUP.md`, `FULFILLMENT_RUNBOOK.md`).
+2. ☐ **frankx.ai payment-rail decision**: pick ONE (recommendation: Lemon Squeezy — client + webhook already built, EU-friendly MoR). Configure variant IDs for the top 3 templates (rag-system-blueprint $197, multi-agent-blueprint $297, nextjs-saas-boilerplate $197). Fix the €97/€497 `/checkout/*` 404s. Unify the two Gumroad subdomains.
+3. ☐ **arcanea.ai `/pricing`**: wire the three CTAs to the existing `/api/stripe/checkout`. Fix `**40%**` markdown bug.
+4. ☐ agentic-business-os packs → list claims-guard ($29–49) + bundle ($99) on the chosen storefront.
+5. ☐ vibe-os → $19–29 pack (pure packaging).
+6. ◐ frankx.ai `/work-with-me`: mailto replaced with real /api/studio-inquiry route + stateful form (PR #369). Tier pricing on /coaching still open.
+
+## Wave 2 — Conversion & proof (1–2 weeks)
+
+- ☐ Social proof pipeline: collect real quotes → populate `data/products.json` `socialProof.quotes[]` → mount the already-built Testimonials components. Never invent proof.
+- ◐ Email capture: /prompt-library + /ai-architect-academy shipped in PR #369; /agentic-ai-center, /research, /vault still open. Original item: (`/prompt-library`, `/ai-architect-academy`, `/agentic-ai-center`, `/research`, `/vault`) — copy the `/agents` inline EmailSignup pattern verbatim.
+- ☑ Header nav: 'Work with Frank' group shipped in PR #369. Original item: (workshops, coaching, work-with-me, shop) to NavigationMega; define the membership ladder (community → inner-circle → founders-circle).
+- ☐ Imagery sprint: place existing assets (1,883 on frankx.ai, 205 on arcanea) onto the 15 zero-image commercial routes; backfill the 93 missing blog heroes; generate book covers + agent portraits for Arcanea (guardian v3 webp pipeline proves the path).
+- ☐ Metadata sprint: add metadata exports to the T1 hub roots missing them (spot-check layout.tsx inheritance first).
+
+## Wave 3 — Structure (weeks; needs Frank's URL/SEO approval per repo doctrine)
+
+- ☐ frankx.ai IA consolidation by NAVIGATION (never deletion): one assessment entry point, one commerce hierarchy (shop → templates/products/downloads), one getting-started path, membership ladder.
+- ☐ Arcanea OSS repo: replace stale apps/web with real export or demote to packages/docs mirror; archive the ~140 root strategy docs; stop teaching Cinzel.
+- ☐ Registry governance: build the skills-governance skill in SIS (counts, duplication, staleness, doc-drift checks; regenerates awesome-lists); declare `canonical_source` in mirror repos.
+- ☐ Reconcile agent-legibility standards (llms.txt/ais-profile · reality.md · CLAUDE.md).
+- ☐ Vercel hygiene: cull 14 never-deployed/scratch projects; resolve the arcanea.ai apex; retire or redirect trinityaicoaching.
+- ☐ FrankX private repo: reconcile the three ACOS variants.
+
+## Wave 4 — Scale without Frank (the YC lens)
+
+- ☐ Productize the delivery loop: every paid artifact delivered by the existing webhook→Resend fulfilment path; support = docs + community; updates = git tags → "free updates" promise kept automatically.
+- ☐ Private Intel ($19/mo) on Polar subscriptions — the two awesome-lists already compound weekly as raw material.
+- ☐ Estate/army commissioning (per DELIVERY.md §7) becomes the high-ticket tier above self-serve packs.
+- ☐ Copy the marine reference architecture (commons → gated MCP → agents) into music and mind verticals.
diff --git a/context/empire/audits/2026-07-25-arcanea-audit.md b/context/empire/audits/2026-07-25-arcanea-audit.md
new file mode 100644
index 00000000..16d2b0e3
--- /dev/null
+++ b/context/empire/audits/2026-07-25-arcanea-audit.md
@@ -0,0 +1,60 @@
+# Arcanea properties audit — 2026-07-25
+
+> Source: system-wide upgrade audit. Repos: arcanea-ai-app (production, 231 pages under apps/web) + arcanea (OSS, ~2,300 files).
+
+## arcanea-ai-app: surface verdicts
+
+| Route | Copy | Verdict | Load-bearing issue |
+|---|---|---|---|
+| `/` (= `/v3`) | A | world-class | homepage IS the v3 experiment; `/v3` publicly duplicates `/` |
+| `/chat` | A | world-class | best copy on site |
+| `/ecosystem` | A | world-class | registry-derived numbers — the pattern to copy |
+| `/lore` | A | world-class | says "17 Library Collections" (loader registers 22) |
+| `/library` | A- | world-class | metadata says 20 collections vs loader 22 |
+| `/pricing` | A- | good | **$0/$12/$39 shown with NO CTA buttons — working Stripe checkout API exists, nothing calls it**; literal `**40% lifetime discount**` markdown renders as asterisks |
+| `/books` | A | good | book catalog with zero covers |
+| `/academy` | A | good | canon drift: Gate 8 "Starweave" (canon: Shift), Gate 10 beast wrong |
+| `/studio` | A- | good | "~150x faster" unsourced ×2 |
+| `/creator-economy` | A | good | hero says nothing live; data file marks 2 streams "live" |
+| `/apps` | A- | good | Unicode glyphs as icons (banned); invalid CSS `var()12` drops 3 props; fabricated "Most-installed" |
+| `/auth/login` | A- | good | Google logo recolored (brand bug) |
+| `/dashboard` | B | good | generic SaaS voice; lucide-react while siblings use phosphor |
+| `/living-lore` | B+ | good | 7 characters rendered as Unicode glyphs — no art |
+| `/worlds` | B+ | needs-upgrade | duplicate `