Skip to content

Empire Index: portfolio-wide audit, live-site matrix, and master registry - #52

Merged
frankxai merged 5 commits into
mainfrom
claude/system-wide-upgrade-audit-q1q6k4
Jul 26, 2026
Merged

Empire Index: portfolio-wide audit, live-site matrix, and master registry#52
frankxai merged 5 commits into
mainfrom
claude/system-wide-upgrade-audit-q1q6k4

Conversation

@frankxai

@frankxai frankxai commented Jul 25, 2026

Copy link
Copy Markdown
Owner

What this is

The system-wide upgrade audit (2026-07-25): six parallel agent sweeps across 42 repos, all 50 Vercel projects, and 700+ pages on the two flagship sites, synthesized into a canonical context/empire/ layer.

Contents

  • EMPIRE_INDEX.md — the master map: 19 production-live sites, repo verdicts (flagships / revenue-ready / needs-decision), the commerce truth (three payment rails built, zero customer-reachable), integrity debt table, structural findings.
  • portfolio-mesh.yaml — machine-readable registry of registries. Verified counts: 457 skill files → ~357 unique names, 300+ agents, 200+ commands. Declares canonical_source for the ACOS ↔ claude-skills-library ↔ agentic-creator-skills mirror triangle and lists capability gaps (legal, testing, skills-governance…).
  • UPGRADE_ROADMAP.md — prioritized waves: trust repairs → checkout wiring (Polar/Lemon Squeezy/Stripe per property) → conversion & proof → structure → scale-without-Frank.
  • audits/ — six evidence files: frankx.ai deep commercial audit + full 214-route inventory, Arcanea (both repos), income cluster, registry sweep, verticals, Vercel deploy matrix.

Highest-signal findings

  1. Two income products are content-complete and blocked only on Polar checkout wiring ($47 + $67).
  2. frankx.ai's best storefront renders 15 disabled "Coming Soon" buttons; Stripe pipeline is fully wired dead code.
  3. arcanea.ai /studio/store ships fake payment confirmations — flagged as ship-blocker.
  4. Registry drift caught: ACOS advertises "75+ skills," ships 179; SIS is the only repo whose documented counts match its filesystem.
  5. Arcanea apex domain is held by no healthy Vercel project.

All counts verified by file enumeration / API, not README claims. Companion trust-repair PR lands in frankx.ai-vercel-website on the same branch name.

🤖 Generated with Claude Code

https://claude.ai/code/session_01GLQUyDFhK9taQ7mBLht4aD


Generated by Claude Code

Summary by CodeRabbit

  • Documentation
    • Added a consolidated portfolio index covering live properties, repository coverage, commerce status, trust risks, navigation gaps, and audit references.
    • Added customer-profile and conversion-flow guidance across portfolio properties.
    • Added positioning standards covering claims, refunds, proof requirements, and measurement.
    • Added a prioritized upgrade roadmap focused on trust, revenue, conversion, structure, and scale.
    • Added audits covering routes, deployments, registries, verticals, income properties, and Arcanea and FrankX commercial readiness.
    • Added a machine-readable portfolio registry and operational audit record.

…istry

System-wide upgrade audit (2026-07-25) across 42 repos, 50 Vercel projects,
and 700+ pages. Adds context/empire/ with:

- EMPIRE_INDEX.md — canonical map of the 19 live production sites, repo
  verdicts, commerce truth, integrity debt, structural findings
- portfolio-mesh.yaml — machine-readable registry of registries (verified
  counts: 457 skill files / ~357 unique, 300+ agents, 200+ commands;
  canonical_source declarations for mirror repos)
- UPGRADE_ROADMAP.md — prioritized waves: trust repairs, checkout wiring,
  conversion, structure, scale
- audits/ — six verified sweep reports (frankx.ai deep + route inventory,
  Arcanea, income cluster, registry, verticals, Vercel deploy matrix)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GLQUyDFhK9taQ7mBLht4aD
@gemini-code-assist

Copy link
Copy Markdown

Caution

The consumer version of Gemini Code Assist on GitHub has been sunset. All code review activity has officially ceased.

@vercel

vercel Bot commented Jul 25, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
site Ready Ready Preview, Comment Jul 25, 2026 10:29am

Request Review

@coderabbitai

coderabbitai Bot commented Jul 25, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

Adds a portfolio-wide Empire Index, machine-readable registry, deployment and repository audits, ICP and positioning strategy, prioritized upgrade roadmap, and operational-vault updates covering commerce, trust, conversion, structure, and scaling work.

Changes

Portfolio governance and upgrade planning

Layer / File(s) Summary
Estate and registry baseline
context/empire/EMPIRE_INDEX.md, context/empire/portfolio-mesh.yaml, context/empire/audits/2026-07-25-{vercel-deploy-matrix,registry-sweep}.md
Adds the consolidated estate index, repository mesh, deployment inventory, registry counts, duplication findings, and governance gaps.
Property and vertical audit evidence
context/empire/audits/2026-07-25-{arcanea-audit,frankx-deep-audit,frankx-route-inventory,income-cluster-audit,verticals-audit}.md
Records route, commerce, integrity, monetization, deployment, and vertical-readiness findings with ranked remediation targets.
ICP and positioning contracts
context/empire/{ICP_FLOW_MAP,POSITIONING_PLAYBOOK}.md
Defines evidence-based customer flows, cross-property handoffs, positioning constraints, refund policy, proof requirements, prohibited claims, and per-property metrics.
Upgrade waves and operational record
context/empire/UPGRADE_ROADMAP.md, memory/vaults/operational-vault.md
Sequences trust, revenue, conversion, structure, and scale work and records the related audit and Wave 1 operational updates.

Estimated code review effort: 3 (Moderate) | ~20 minutes

Possibly related issues

  • frankxai/frankx.ai-vercel-website#285 — Covers overlapping portfolio consolidation, upgrade priorities, and commerce-path work across the same ecosystem.
🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately summarizes the new empire audit layer, live-site matrix, and registry artifacts.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch claude/system-wide-upgrade-audit-q1q6k4

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

…uarantine)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GLQUyDFhK9taQ7mBLht4aD
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GLQUyDFhK9taQ7mBLht4aD
Two strategy artifacts completing the audit layer:

- ICP_FLOW_MAP.md — primary + secondary personas, jobs-to-be-done,
  current vs target conversion flows for all 8 property clusters, and
  the cross-property graph (working edges vs the three missing ones
  that matter: assessment-to-offer, hub-to-trinity, anything-to-estate).
  Clusters without a repo in this checkout are marked [thin evidence].
- POSITIONING_PLAYBOOK.md — per-property USP in the preemptive-claim +
  risk-reversal + falsifiable-specific shape, honest proof available
  today, offerable risk reversal, and one metric to instrument. Also
  documents the three-way refund-policy contradiction on frankx.ai
  (no-refund JSON-LD vs six full-refund guarantees vs 14-day EU
  withdrawal page) with a single-source resolution.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GLQUyDFhK9taQ7mBLht4aD
…tegy layer)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GLQUyDFhK9taQ7mBLht4aD
@frankxai
frankxai marked this pull request as ready for review July 26, 2026 00:54
@gemini-code-assist

Copy link
Copy Markdown

Caution

The consumer version of Gemini Code Assist on GitHub has been sunset. All code review activity has officially ceased.

@frankxai
frankxai merged commit 5adac2a into main Jul 26, 2026
5 of 6 checks passed
@frankxai
frankxai deleted the claude/system-wide-upgrade-audit-q1q6k4 branch July 26, 2026 00:56

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 17

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@context/empire/audits/2026-07-25-arcanea-audit.md`:
- Around line 45-47: Update the “divergent 2-month-stale fork” wording in the
audit entry to reflect the documented sync failure date of 2026-02-24 relative
to the 2026-07-25 audit date, using an approximately five-month duration or the
concrete date alone.

In `@context/empire/audits/2026-07-25-frankx-deep-audit.md`:
- Around line 5-13: The audit headline contradicts its own finding that Gumroad
is reachable. Update the headline and related wording to state that Stripe and
Lemon Squeezy are unreachable, while Gumroad remains reachable but is split
across unverified subdomains; keep the table and remediation scope consistent
with this distinction.

In `@context/empire/audits/2026-07-25-income-cluster-audit.md`:
- Around line 21-25: The Polar integration status in
context/empire/audits/2026-07-25-income-cluster-audit.md lines 21-25 and
context/empire/ICP_FLOW_MAP.md lines 49-56 is stale; update both entries to
reflect that shared Polar engineering shipped on 2026-07-25 and only runbook
activation/checklist work remains. Remove references to unbuilt checkouts or
nobody building the integration while preserving the documented consolidation
intent.

In `@context/empire/audits/2026-07-25-vercel-deploy-matrix.md`:
- Line 38: Update the “Stale with READY state” entry to exclude
anime-studio-landing, which is identified as ERROR on line 36; place it in a
separate ERROR category or remove the READY qualifier while preserving the other
stale READY projects.
- Around line 37-42: Recalculate the never-deployed project count from the
explicit enumeration in the audit, including the seven named projects and five
v0-* projects, then update the cleanup recommendation’s total and projected team
size accordingly. Reconcile these values with the corresponding counts in
EMPIRE_INDEX.md and UPGRADE_ROADMAP.md, ensuring all three documents
consistently reflect the same project inventory.

In `@context/empire/EMPIRE_INDEX.md`:
- Line 13: Update the frankx.ai entry in EMPIRE_INDEX.md to replace “world-class
benchmarks exist” with a factual, auditable description of the available
benchmark pages or verified metrics. Preserve the existing page-count and
commerce-status details, and do not make unsupported quality or impact claims.

In `@context/empire/ICP_FLOW_MAP.md`:
- Around line 3-7: Update the provenance statement in ICP_FLOW_MAP.md to say
every “today” claim cites its evidence source rather than an audit, while
preserving the explicit stale-evidence warning for thin-evidence sections and
the May 6, 2026 Sentinel crawl. Do not infer or alter the documented evidence
sources beyond this wording change.

In `@context/empire/portfolio-mesh.yaml`:
- Around line 68-109: Update each repository entry in the portfolio registry,
including the discovery-list entries and the canon/schema entries, to explicitly
encode all count fields represented by the registry (such as repository, branch,
or capability counts) when their audited value is zero. Use the established
schema’s zero, null, or count-status representation consistently, ensuring every
repository has explicit count data rather than relying on omitted fields.
- Around line 160-164: Standardize the repository and Vercel project identifiers
for frankx.ai across the portfolio configuration and referenced deployment audit
documentation. Update usages of frankx-ai-vercel-website to the canonical
frankx.ai-vercel-website, or add explicit separate repository and Vercel project
fields where the identifiers genuinely differ.
- Around line 112-119: Update the checkout metadata for agenticincome and
agenticpassiveincome to separate integration delivery from launch activation:
replace wired with shipped: true and add active: false while preserving
provider: polar and the existing product assignments.

In `@context/empire/POSITIONING_PLAYBOOK.md`:
- Around line 26-42: Mark the “14 days. No conditions” resolution in “The refund
contradiction — flag and resolution” as a proposal pending approval. Do not
present it as the active canonical policy or instruct publication until the
legal page’s Effective date, JSON-LD FAQ, product guarantees, and the open
decision in UPGRADE_ROADMAP.md are resolved together.
- Around line 94-98: Revise the USP and supporting rationale in “Income trinity
— Stream Pack 01 ($47) and Blueprint ($67)” to remove the unsupported
exclusivity claims “The only” and “Nobody else.” Use differentiated,
non-exclusive wording grounded in the governance-before-generation positioning,
unless verified dated competitive evidence is added.
- Around line 150-159: Reconcile the closing summary with the six rows in the
metrics table: either update the count and wording to match the two “No” rows
and one “Half” row, or explicitly identify four rows that are structurally zero
and revise their table classifications accordingly. Keep the roadmap
prioritization statement consistent with the corrected denominator assessment.
- Around line 76-90: Update the USP and copy example in POSITIONING_PLAYBOOK.md
to remove claims that tier prices are published, since the tier names and prices
remain placeholders pending confirmation. Use wording that accurately describes
the current unconfirmed €3k–€25k range, or defer the tier-specific copy until
approval; keep the existing confirmation caveat consistent.
- Around line 78-84: Update the remaining pre-Wave 1 status statements in
POSITIONING_PLAYBOOK.md: replace the claim that Polar checkout is unbuilt with
its shipped, runbook-gated status consistent with UPGRADE_ROADMAP.md and the
operational vault, and update the /work-with-me guidance to reference the
engineered /api/studio-inquiry route from PR `#369`. If retaining the older
claims, explicitly label the playbook as a pre-Wave 1 snapshot.

In `@context/empire/UPGRADE_ROADMAP.md`:
- Around line 50-53: Update the Wave 4 “Productize the delivery loop” item to
explicitly limit its webhook→Resend fulfillment guarantee to FrankX Stripe
artifacts, or define separate fulfillment criteria for Polar products before
describing the loop as covering every paid artifact.

In `@memory/vaults/operational-vault.md`:
- Around line 600-613: Update the 2026-07-25 vault entry to use the allowed
“Operational” classification instead of “portfolio-ops,” and format the Wave 1
addendum using the vault’s required entry template and metadata fields.
Alternatively, explicitly attach the addendum to the preceding structured record
while preserving all required fields and the existing content.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: fd02fcd8-6760-4c3a-84b1-097925d53a86

📥 Commits

Reviewing files that changed from the base of the PR and between ee0d37a and fe9ac34.

📒 Files selected for processing (13)
  • context/empire/EMPIRE_INDEX.md
  • context/empire/ICP_FLOW_MAP.md
  • context/empire/POSITIONING_PLAYBOOK.md
  • context/empire/UPGRADE_ROADMAP.md
  • context/empire/audits/2026-07-25-arcanea-audit.md
  • context/empire/audits/2026-07-25-frankx-deep-audit.md
  • context/empire/audits/2026-07-25-frankx-route-inventory.md
  • context/empire/audits/2026-07-25-income-cluster-audit.md
  • context/empire/audits/2026-07-25-registry-sweep.md
  • context/empire/audits/2026-07-25-vercel-deploy-matrix.md
  • context/empire/audits/2026-07-25-verticals-audit.md
  • context/empire/portfolio-mesh.yaml
  • memory/vaults/operational-vault.md

Comment on lines +45 to +47
- Not a mirror — a **divergent 2-month-stale fork**: 72 routes vs 231, banned Cinzel font (+ Inter in index.html), wrong teal (#7fffd4 vs #00bcd4), 16 Luminors vs 13, same npm package name `@arcanea/web`, `vercel.json` claiming arcanea.ai origin.
- ~140 root-level strategy .md files + 11.8MB brand-guidelines HTML + loose scripts + a literal `C:\Users\Frank\...` directory committed.
- Its own docs admit the sync workflow "has failed since 2026-02-24" while README still calls it a mirror.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

target="context/empire/audits/2026-07-25-arcanea-audit.md"
if [ -f "$target" ]; then
  echo "== file exists =="
  wc -l "$target"
  echo "== relevant lines =="
  sed -n '1,80p' "$target" | cat -n
else
  echo "missing $target"
  git ls-files | rg 'context/empire/audits|2026-07-25-arcanea-audit' || true
fi

echo "== static date comparison =="
python3 - <<'PY'
from datetime import datetime
ref = datetime.strptime("2026-07-25", "%Y-%m-%d")
event = datetime.strptime("2026-02-24", "%Y-%m-%d")
delta = ref - event
print("ref", ref, "event", event, "days", delta.days, "months_approx", delta.days / 30.44)
PY

Repository: frankxai/Starlight-Intelligence-System

Length of output: 6074


Correct the fork-staleness duration.

The audit is dated 2026-07-25, but the failed sync is recorded as 2026-02-24, making the fork roughly ~5 months stale at that date. Replace “2-month-stale” with a duration matching the concrete date or use the date alone.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@context/empire/audits/2026-07-25-arcanea-audit.md` around lines 45 - 47,
Update the “divergent 2-month-stale fork” wording in the audit entry to reflect
the documented sync failure date of 2026-02-24 relative to the 2026-07-25 audit
date, using an approximately five-month duration or the concrete date alone.

Source: Coding guidelines

Comment on lines +5 to +13
## The headline finding: three payment rails, zero reachable

| Rail | State |
|---|---|
| Stripe | `/api/checkout` + webhook + Resend fulfilment fully wired for 3 hardcoded slugs — **no component anywhere calls it** (dead code) |
| Lemon Squeezy | Full client + webhook + BuyButton — **0 of 21 product/variant IDs configured** (all empty strings) |
| Gumroad | Only reachable purchase path — hardcoded external hrefs, split across TWO different store subdomains (frankx vs frankxai.gumroad.com), all marked needs-verification in the repo's own audit |

Plus: `/checkout` has no page.tsx while `data/products.json` sends €97 and €497 products to `/checkout/starter-kit` and `/checkout/command-center` — **both hard 404s**. Repo's own product-delivery audit: 16 products — 1 healthy, 5 broken, 10 needs-work.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 Functional Correctness | 🟠 Major | ⚡ Quick win

Reconcile the “zero reachable” payment headline.

Line 11 says Gumroad is the only reachable purchase path, so “three payment rails, zero reachable” is false. Use wording such as “two rails unreachable; Gumroad reachable but split across unverified subdomains” so the headline matches the table and remediation plan.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@context/empire/audits/2026-07-25-frankx-deep-audit.md` around lines 5 - 13,
The audit headline contradicts its own finding that Gumroad is reachable. Update
the headline and related wording to state that Stripe and Lemon Squeezy are
unreachable, while Gumroad remains reachable but is split across unverified
subdomains; keep the table and remediation scope consistent with this
distinction.

Comment on lines +21 to +25
## Consolidation actions

1. **One doctrine-sync engine**: `agentic-business-os/harness-sync.mjs` duplicates `agentic-ops-hub/sync-agent-rules.mjs`. The former should consume the latter.
2. **One Polar integration, not two**: agenticincome + agenticpassiveincome both name Polar.sh as merchant of record with unbuilt checkouts. Build once, share.
3. **Fix the voice break** in awesome-agentic-income line 18 ("Unlock…") — contradicts the cluster's own banned-word doctrine.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🗄️ Data Integrity & Integration | 🟠 Major | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "== git files matching relevant names =="
git ls-files | rg '(^context/empire/(audits/2026-07-25-income-cluster-audit\.md|ICP_FLOW_MAP\.md|UPGRADE_ROADMAP\.md|ops/POLAR-SETUP\.md|FULFILLMENT_RUNBOOK\.md)|Polar|polar|checkout|stream-pack| Stream Pack )' || true

echo
echo "== relevant text snippets =="
for f in \
  context/empire/audits/2026-07-25-income-cluster-audit.md \
  context/empire/ICP_FLOW_MAP.md \
  context/empire/UPGRADE_ROADMAP.md \
  context/empire/ops/POLAR-SETUP.md \
  context/empire/FULFILLMENT_RUNBOOK.md
do
  if [ -f "$f" ]; then
    echo "--- $f ($(wc -l < "$f") lines) ---"
    rg -n -i -C 3 'Polar|polar|checkout|agenticincome|agenticpassiveincome|Stream Pack 01|7\.25|July 25|2026-07-25' "$f" || true
  fi
done

echo
echo "== all polar mentions =="
rg -n -C 2 -i 'polar|checkout|merchant of record|agenticincome|agenticpassiveincome|Stream Pack 01|agenticincome |agenticpassiveincome |Stream Pack' context empire .github 2>/dev/null | sed -n '1,220p'

Repository: frankxai/Starlight-Intelligence-System

Length of output: 49545


🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "== repo files matching relevant names =="
git ls-files | rg '(^context/empire/(audits/2026-07-25-income-cluster-audit\.md|ICP_FLOW_MAP\.md|UPGRADE_ROADMAP\.md|ops/POLAR-SETUP\.md|FULFILLMENT_RUNBOOK\.md)|Polar|polar|checkout|stream-pack| Stream Pack )' || true

echo
echo "== relevant text snippets =="
for f in \
  context/empire/audits/2026-07-25-income-cluster-audit.md \
  context/empire/ICP_FLOW_MAP.md \
  context/empire/UPGRADE_ROADMAP.md \
  context/empire/ops/POLAR-SETUP.md \
  context/empire/FULFILLMENT_RUNBOOK.md
do
  if [ -f "$f" ]; then
    echo "--- $f ($(wc -l < "$f") lines) ---"
    rg -n -i -C 3 'Polar|polar|checkout|agenticincome|agenticpassiveincome|Stream Pack 01|7\.25|July 25|2026-07-25' "$f" || true
  fi
done

echo
echo "== all polar mentions =="
rg -n -C 2 -i 'polar|checkout|merchant of record|agenticincome|agenticpassiveincome|Stream Pack 01|agenticincome |agenticpassiveincome |Stream Pack' context empire .github 2>/dev/null | sed -n '1,220p'

Repository: frankxai/Starlight-Intelligence-System

Length of output: 49893


Align the Polar checkout status with the UPGRADE_ROADMAP.

context/empire/UPGRADE_ROADMAP.md now says the shared Polar engineering is shipped 2026-07-25 and the remaining work is runbook activation/checklist steps, so update these status entries instead of repeating “unbuilt checkouts”/“Nobody built the integration.”

📍 Affects 2 files
  • context/empire/audits/2026-07-25-income-cluster-audit.md#L21-L25 (this comment)
  • context/empire/ICP_FLOW_MAP.md#L49-L56
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@context/empire/audits/2026-07-25-income-cluster-audit.md` around lines 21 -
25, The Polar integration status in
context/empire/audits/2026-07-25-income-cluster-audit.md lines 21-25 and
context/empire/ICP_FLOW_MAP.md lines 49-56 is stale; update both entries to
reflect that shared Polar engineering shipped on 2026-07-25 and only runbook
activation/checklist work remains. Remove references to unbuilt checkouts or
nobody building the integration while preserving the documented consolidation
intent.

Comment on lines +37 to +42
4. **9 projects never deployed** (frankx-codex-plugins-team-blog, frankx-ai-architecture-20260712, ana-production-excellence-20260710, go-agenticincome-trust-2026-07-10, grok-creative-studio, agentmail-template-starkhq, frankx-vision-deploy, 5× v0-*) — candidates for deletion.
5. **Stale with READY state**: my-library (Apr), vercel-ai-gateway-demo (Mar), v0-ai-misuse-mitigation (Feb), anime-studio-landing (May, ERROR).

## Cleanup recommendation

Delete or archive the 9 never-deployed + 5 v0-* projects (14 total) → team drops from 50 to ~36 projects; then decide the Arcanea production project once and give it the apex domain.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🗄️ Data Integrity & Integration | 🟠 Major | ⚡ Quick win

Recalculate the never-deployed and cull totals.

The parenthetical lists seven named projects plus five v0-* projects, which is 12—not nine. Therefore the “14 total” cleanup recommendation and the projected team size of ~36 are not supported. Reconcile the enumeration, EMPIRE_INDEX.md Line 34, and UPGRADE_ROADMAP.md Line 47.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@context/empire/audits/2026-07-25-vercel-deploy-matrix.md` around lines 37 -
42, Recalculate the never-deployed project count from the explicit enumeration
in the audit, including the seven named projects and five v0-* projects, then
update the cleanup recommendation’s total and projected team size accordingly.
Reconcile these values with the corresponding counts in EMPIRE_INDEX.md and
UPGRADE_ROADMAP.md, ensuring all three documents consistently reflect the same
project inventory.

2. **trinityaicoaching stale since 2025-09-19** (~10 months) yet frankx.ai links /trinity-ai.
3. **Deploy errors**: arcanea-ai-appx (ERROR), anime-studio-landing (ERROR), web (ERROR), author-os (CANCELED).
4. **9 projects never deployed** (frankx-codex-plugins-team-blog, frankx-ai-architecture-20260712, ana-production-excellence-20260710, go-agenticincome-trust-2026-07-10, grok-creative-studio, agentmail-template-starkhq, frankx-vision-deploy, 5× v0-*) — candidates for deletion.
5. **Stale with READY state**: my-library (Apr), vercel-ai-gateway-demo (Mar), v0-ai-misuse-mitigation (Feb), anime-studio-landing (May, ERROR).

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 Functional Correctness | 🟠 Major | ⚡ Quick win

Do not classify an ERROR project as READY.

“Stale with READY state” includes anime-studio-landing, but Line 36 identifies it as ERROR. Split the categories or remove the READY qualifier so deployment triage does not misclassify a failed project as merely stale.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@context/empire/audits/2026-07-25-vercel-deploy-matrix.md` at line 38, Update
the “Stale with READY state” entry to exclude anime-studio-landing, which is
identified as ERROR on line 36; place it in a separate ERROR category or remove
the READY qualifier while preserving the other stale READY projects.

Comment on lines +78 to +84
**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 link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🗄️ Data Integrity & Integration | 🟠 Major | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "== Locate target files =="
fd -a 'POSITIONING_PLAYBOOK.md|UPGRADE_ROADMAP.md' . || true

echo
echo "== Target snippets =="
for f in $(fd 'POSITIONING_PLAYBOOK.md|UPGRADE_ROADMAP.md' .); do
  echo "--- $f ($(wc -l < "$f" | tr -d ' ') lines) ---"
  sed -n '70,110p' "$f"
done

echo
echo "== Search for related statuses =="
rg -n "mail(to|to:)?|Work.*Me|work-with-me|Polar|intake|coaching-apply|38|40 agents|38 agents|agent count|broken|working|Wave|Wave 1|UPGRADE_ROADMAP" . -S --glob '!node_modules' --glob '!dist' --glob '!build' | head -n 200

Repository: frankxai/Starlight-Intelligence-System

Length of output: 50394


🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "== UPGRADE_ROADMAP Wave 0-1 and companion status lines =="
sed -n '8,38p' context/empire/UPGRADE_ROADMAP.md

echo
echo "== Operational vault/status references for frankx /work-with-me and Polar =="
rg -n "work-with-me|mailto|/api/studio-inquiry|Studio Inquiry|369|Polar |Polar\.sh|Polar integration|income cluster|stream pack|blueprint|checkout" context ops audits memory --glob '*.{md,yaml,yml,ts,json}' -S | head -n 220

echo
echo "== current POSITIONING_PLAYBOOK references to broken intake and Polar =="
rg -n "broken `mailto`|mailto:|work-with-me|Polar|checkout|coaching-apply|40 agents|38" context/empire/POSITIONING_PLAYBOOK.md -S

Repository: frankxai/Starlight-Intelligence-System

Length of output: 30689


Refresh the remaining pre-Wave 1 statuses in POSITIONING_PLAYBOOK.md.

Lines 98-104 still describe Polar checkout as unbuilt, but UPGRADE_ROADMAP.md and the operational vault record the income-cluster Polar integration as shipped, with activation gated by runbook checklists. Also refresh /work-with-me guidance to reference the engineered /api/studio-inquiry route from PR #369, or mark the playbook as a pre-Wave 1 snapshot.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@context/empire/POSITIONING_PLAYBOOK.md` around lines 78 - 84, Update the
remaining pre-Wave 1 status statements in POSITIONING_PLAYBOOK.md: replace the
claim that Polar checkout is unbuilt with its shipped, runbook-gated status
consistent with UPGRADE_ROADMAP.md and the operational vault, and update the
/work-with-me guidance to reference the engineered /api/studio-inquiry route
from PR `#369`. If retaining the older claims, explicitly label the playbook as a
pre-Wave 1 snapshot.

Comment on lines +94 to +98
### 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.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 Functional Correctness | 🟠 Major | ⚡ Quick win

Remove unsupported “only” and “nobody else” claims.

The playbook requires falsifiable USPs, but “The only income product” and “Nobody else is opening with subtraction” have no supplied competitive evidence. Use a differentiated but non-exclusive formulation unless a dated competitive source is attached.

As per coding guidelines, claims about related ecosystems must use verified language and avoid unsupported impact claims.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@context/empire/POSITIONING_PLAYBOOK.md` around lines 94 - 98, Revise the USP
and supporting rationale in “Income trinity — Stream Pack 01 ($47) and Blueprint
($67)” to remove the unsupported exclusivity claims “The only” and “Nobody
else.” Use differentiated, non-exclusive wording grounded in the
governance-before-generation positioning, unless verified dated competitive
evidence is added.

Source: Coding guidelines

Comment on lines +150 to +159
| 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.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 Functional Correctness | 🟠 Major | ⚡ Quick win

Reconcile the denominator count with the table.

The table contains two No rows and one Half row; it does not support “Four of six denominators are structurally zero.” Correct the summary or identify the four rows explicitly before using it to prioritize roadmap work.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@context/empire/POSITIONING_PLAYBOOK.md` around lines 150 - 159, Reconcile the
closing summary with the six rows in the metrics table: either update the count
and wording to match the two “No” rows and one “Half” row, or explicitly
identify four rows that are structurally zero and revise their table
classifications accordingly. Keep the roadmap prioritization statement
consistent with the corrected denominator assessment.

Comment on lines +50 to +53
## 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.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🗄️ Data Integrity & Integration | 🟠 Major | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "== repo files matching UPGRADE_ROADMAP == "
fd -a 'UPGRADE_ROADMAP\.md$' . || true

echo "== target file excerpt =="
if [ -f context/empire/UPGRADE_ROADMAP.md ]; then
  sed -n '1,90p' context/empire/UPGRADE_ROADMAP.md | cat -n
fi

echo "== search fulfillment/provider references == "
rg -n "webhook|Resend|fulfilment|fulfillment|FrankX|Polar|Stripe|paid artifact|free updates|artifact" -S . \
  -g '!node_modules' -g '!dist' -g '!build' || true

Repository: frankxai/Starlight-Intelligence-System

Length of output: 50395


🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "== target file =="
sed -n '1,80p' context/empire/UPGRADE_ROADMAP.md | cat -n

echo "== exact fulfillment/provider references (filtered output) =="
rg -n "webhook|Resend|fulfilment|fulfillment|FrankX|Polar|Stripe|paid artifact|free updates|artifact" context/empire/UPGRADE_ROADMAP.md docs/ops docs site source apps lib 2>/dev/null || true

echo "== likely roadmap-related references (limited count) =="
rg -n "Wave 4|Scale without Frank|Paid|Polar|Stripe|Resend|webhook|fulfilment|free updates" \
  -S . \
  -g '!node_modules' -g '!dist' -g '!build' -g '!*.lock' -g '!*.png' -g '!*.jpg' \
  --max-count 200 || true

echo "== focused file list for repo audit docs =="
fd 'REPO-PORTFOLIO-AUDIT .*\.md$|ROADMAP.*\.md$|PLAN.*\.md$|FRA.*\.md$|FRANK.*\.md$' docs/ops context -d 3 || true

Repository: frankxai/Starlight-Intelligence-System

Length of output: 50395


🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "== target list and files =="
fd 'UPGRADE_ROADMAP\.md$|REPO-PORTFOLIO-AUDIT-.*\.md$' context docs/ops | sed -n '1,80p'

echo "== target context excerpt =="
sed -n '1,70p' context/empire/UPGRADE_ROADMAP.md | cat -n

echo "== exact roadmap fulfillment references in docs/ops =="
rg -n "Wave 4|Scale without Frank|webhook|Resend|fulfilment|fulfillment|FrankX|Polar|Stripe|paid artifact|free updates|artifact" context docs/ops \
  -g '!*.lock' --max-count 200 || true

echo "== focused source/code references =="
rg -n "webhook|Resend|fulfilment|fulfillment|FrankX|Polar|Stripe|paid artifact|free updates" \
  -S . \
  -g '!node_modules' -g '!dist' -g '!build' -g '!*.lock' -g '!*.md' -g '!*.png' -g '!*.jpg' \
  --max-count 200 || true

echo "== deterministic parse: roadmap relevant claims vs supported provider mentions =="
python3 - <<'PY'
from pathlib import Path
import re

roadmap = Path("context/empire/UPGRADE_ROADMAP.md").read_text()
text = roadmap

claims = []
for m in re.finditer(r"every paid artifact|free updates|webhook|Resend|Polar|Stripe|FrankX", roadmap):
    line = roadmap.count("\n", 0, m.start()) + 1
    claims.append((line, m.group(0)))
print("relevant mentions in roadmap:")
for line, term in claims:
    print(f"{line}: {term}")

docs_text = ""
for p in Path("docs/ops").rglob("*.md"):
    docs_text += " " + p.read_text(errors="ignore")
for term in ["webhook", "Resend", "fulfilment", "fulfillment", "Polar", "FrankX Stripe"]:
    print(f"{term}: {bool(re.search(re.escape(term), docs_text))}")
PY

Repository: frankxai/Starlight-Intelligence-System

Length of output: 50394


🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "== all full-path fulfillment/provider exact refs =="
rg -n --fixed-strings --context 2 \
  "webhook->Resend|webhook|Resend|fulfilment|fulfillment|Polar.sh checkout|FRANKX|FrankX Stripe|Stripe" \
  context docs/ops 2>/dev/null | sed -n '1,240p' || true

echo "== all code files containing Resend/webhook/fulfill =="
rg -n --hidden --glob '!node_modules' --glob '!dist' --glob '!build' --glob '!*.png' --glob '!*.jpg' \
  "Resend|webhook|fulfilment|fulfillment|Polar|FrankX" \
  . 2>/dev/null | sed -n '1,240p' || true

echo "== roadmap relevant lines =="
sed -n '45,58p' context/empire/UPGRADE_ROADMAP.md | cat -n

Repository: frankxai/Starlight-Intelligence-System

Length of output: 50394


Scope Wave 4’s delivery guarantee to FrankX Stripe artifacts.

Context/empire already shows the webhook→Resend fulfillment path is specific to frankx.ai, while Wave 1 also ships Polar products and Wave 4 adds a separate Polar subscription. Reword the item to target FrankX/Stripe artifacts, or add distinct fulfillment criteria for Polar before calling this a portfolio-wide delivery loop.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@context/empire/UPGRADE_ROADMAP.md` around lines 50 - 53, Update the Wave 4
“Productize the delivery loop” item to explicitly limit its webhook→Resend
fulfillment guarantee to FrankX Stripe artifacts, or define separate fulfillment
criteria for Polar products before describing the loop as covering every paid
artifact.

Comment on lines +600 to +613
## 2026-07-25 - System-wide upgrade audit + Empire Index (6-agent sweep)

**Category:** portfolio-ops
**Confidence:** 0.96
**Source:** Claude Code remote session, branch claude/system-wide-upgrade-audit-q1q6k4
**Related:** `context/empire/EMPIRE_INDEX.md`, `context/empire/portfolio-mesh.yaml`, `context/empire/UPGRADE_ROADMAP.md`, `context/empire/audits/`

Built the first portfolio-wide index: 42 repos, all 50 Vercel projects (19 production-live with custom domains, 6 stale, 25 experiments, 14 cull candidates), 501 frankx.ai pages tiered, 231 arcanea.ai pages audited. Registry ground truth: 457 skill files → ~357 unique names (22% duplication), 300+ agents, 200+ commands; ACOS docs undercount its own catalog >2x (claims 75+, ships 179 skills); SIS is the only repo whose stated counts match its filesystem. New machine-readable registry-of-registries at `context/empire/portfolio-mesh.yaml` with canonical_source declarations for the ACOS mirror triangle.

Commerce truth (the critical path): working payment code exists in three places, customer-reachable checkout in zero. Two income products are content-complete and blocked only on Polar wiring ($47 Stream Pack, $67 Blueprint). frankx.ai has a fully wired Stripe pipeline with no caller and a 15-SKU storefront rendering disabled buttons. arcanea.ai /pricing shows plans with no buy buttons while /studio/store simulated payment confirmations (quarantined this session with explicit demo-mode labels).

Shipped this session: SIS PR #52 (Empire Index), frankx.ai-vercel-website PR #362 (nine-surface trust repairs, all four gates verified green), awesome-agentic-income PR #4 (voice-contract fix), arcanea-ai-app store quarantine + pricing markdown fix (same branch name). Arcanea red flags for follow-up: no healthy Vercel project holds an arcanea.ai apex; arcanea-ai-appx (named production in repo docs) is in ERROR deploy state; OSS arcanea repo is a 2-month-stale fork publicly teaching the banned design system (Cinzel, wrong teal).

**2026-07-25 addendum (Wave 1):** frankx.ai#362 merged and live in production. Wave 1 shipped same day: frankx.ai#369 (real /work-with-me intake via /api/studio-inquiry, honest waitlist CTAs on the €97/€497 products, EmailSignup on /prompt-library + /ai-architect-academy, 'Work with Frank' nav group), agenticpassiveincome#20 + agenticincome#18 (Polar checkout, triple-gated fail-closed: catalog allowlist + product mapping + env credentials; launch gates honored — activation is a runbook checklist, not engineering). Strategy layer added to context/empire/: ICP_FLOW_MAP.md + POSITIONING_PLAYBOOK.md. Key open decisions for Frank: Polar activation checklists, frankx payment-rail choice, three-way refund-policy contradiction (no-refund JSON-LD vs six refund guarantees vs 14-day EU page), arcanea #206 deps repair, arcanea.ai apex domain.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win

Use the vault’s required classification and entry structure.

Category: portfolio-ops is outside the allowed types, and the Wave 1 addendum lacks the structured metadata used by the surrounding vault entries. Classify it as Operational and preserve the required entry fields or explicitly attach the addendum to the preceding structured record.

As per coding guidelines, vault entries must use the Strategic, Technical, Creative, Operational, Wisdom, or Horizon classifications and follow the vault entry template.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@memory/vaults/operational-vault.md` around lines 600 - 613, Update the
2026-07-25 vault entry to use the allowed “Operational” classification instead
of “portfolio-ops,” and format the Wave 1 addendum using the vault’s required
entry template and metadata fields. Alternatively, explicitly attach the
addendum to the preceding structured record while preserving all required fields
and the existing content.

Source: Coding guidelines

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants