Empire Index: portfolio-wide audit, live-site matrix, and master registry - #52
Conversation
…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
|
Caution The consumer version of Gemini Code Assist on GitHub has been sunset. All code review activity has officially ceased. |
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
📝 WalkthroughWalkthroughAdds 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. ChangesPortfolio governance and upgrade planning
Estimated code review effort: 3 (Moderate) | ~20 minutes Possibly related issues
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
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. Comment |
…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
|
Caution The consumer version of Gemini Code Assist on GitHub has been sunset. All code review activity has officially ceased. |
There was a problem hiding this comment.
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
📒 Files selected for processing (13)
context/empire/EMPIRE_INDEX.mdcontext/empire/ICP_FLOW_MAP.mdcontext/empire/POSITIONING_PLAYBOOK.mdcontext/empire/UPGRADE_ROADMAP.mdcontext/empire/audits/2026-07-25-arcanea-audit.mdcontext/empire/audits/2026-07-25-frankx-deep-audit.mdcontext/empire/audits/2026-07-25-frankx-route-inventory.mdcontext/empire/audits/2026-07-25-income-cluster-audit.mdcontext/empire/audits/2026-07-25-registry-sweep.mdcontext/empire/audits/2026-07-25-vercel-deploy-matrix.mdcontext/empire/audits/2026-07-25-verticals-audit.mdcontext/empire/portfolio-mesh.yamlmemory/vaults/operational-vault.md
| - 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. |
There was a problem hiding this comment.
🎯 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)
PYRepository: 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
| ## 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. |
There was a problem hiding this comment.
🎯 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.
| ## 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. |
There was a problem hiding this comment.
🗄️ 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.
| 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. |
There was a problem hiding this comment.
🗄️ 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). |
There was a problem hiding this comment.
🎯 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.
| **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. |
There was a problem hiding this comment.
🗄️ 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 200Repository: 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 -SRepository: 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.
| ### 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. |
There was a problem hiding this comment.
🎯 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
| | 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. |
There was a problem hiding this comment.
🎯 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.
| ## 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. |
There was a problem hiding this comment.
🗄️ 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' || trueRepository: 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 || trueRepository: 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))}")
PYRepository: 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 -nRepository: 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.
| ## 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. |
There was a problem hiding this comment.
📐 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
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. Declarescanonical_sourcefor 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
/studio/storeships fake payment confirmations — flagged as ship-blocker.All counts verified by file enumeration / API, not README claims. Companion trust-repair PR lands in
frankx.ai-vercel-websiteon the same branch name.🤖 Generated with Claude Code
https://claude.ai/code/session_01GLQUyDFhK9taQ7mBLht4aD
Generated by Claude Code
Summary by CodeRabbit