FrankXdocs

Digital products, blueprints, and research

Structure of the FrankX product catalog in data/products.json, the research publication gate, and the frankx.ai/docs proxy route.

LiveChecked against frankxai/frankx.ai-vercel-website/data/products.json, frankxai/frankx.ai-vercel-website/scripts/check-research-publication.mjs, frankxai/frankx.ai-vercel-website/app/docs/[[...slug]]/route.ts
MCP endpoint/api/mcp

FrankX combines digital product blueprints (data/products.json), source-verified research hubs (app/research/), and proxied brand documentation (app/docs/[[...slug]]/route.ts) inside frankxai/frankx.ai-vercel-website.

Product catalog structure (data/products.json)

The product catalog in frankx.ai-vercel-website/data/products.json defines 21 product entries rendered at /products/[slug] and linked across the homepage and domain hubs. Each record includes id, slug, name, category, badge, headline, promise, transformation[], socialProof, offer, modules[], faq[], analyticsId, and optional delivery metadata.

Unprovisioned commercial offers route their primary CTA to /waitlist?intent=<slug> rather than exposing an unconfigured checkout button.

CategoryVerified catalog entries (data/products.json)Pricing & delivery posture
Life Architecturecreators-soulbook (soulbook)Free download (/soulbook/vault, PDF blob products/soulbook/soulbook-7-pillars-framework.pdf)
Creator Toolsvibe-os (vibe-os)Free web tool (/products/vibe-os/app and /products/vibe-os/docs)
Creative Intelligencecreative-ai-toolkit (creative-ai-toolkit)$47 offer; routed to /waitlist?intent=creative-ai-toolkit
Creator Systemsgenerative-creator-os, agentic-creator-os, reality-architect-os, system-architect-starter-kit (starter-kit), command-center-template, founders-circle-guild (founders-circle), infogenius-proFree open-source repo (realityarchitect), diagnostic/application flows, or waitlist capture (/waitlist?intent=starter-kit, /waitlist?intent=command-center)
Music Intelligence5-suno-prompts (free at /music-lab), suno-prompt-library ($27)Free prompt guide + waitlist capture (/waitlist?intent=suno-prompt-library)
Design + AIaurora-ui-kit ($19), agentic-content-engine ($97)Routed to /waitlist?intent=aurora-ui-kit and /waitlist?intent=agentic-content-engine
Story Systems & Bookscreation-chronicles ($497), plus 6 book entries (love-and-poetry, spartan-mindset, self-development, imagination, manifestation, golden-age)Free online reading at /books/<slug>

Research publication gate (scripts/check-research-publication.mjs)

Public research claims in frankx.ai-vercel-website are gated by scripts/check-research-publication.mjs, which validates both data/research/approved-claims.json (validateApprovedClaims) and the TypeScript source registries lib/research/sources.ts and lib/research/validated-claims.ts (findUnsupportedGeneratedGrades).

1. Approved claims ledger (validateApprovedClaims)

Every claim in data/research/approved-claims.json (schemaVersion: 1) must satisfy:

  • Stable slug & dossier: Unique kebab-case id, domain slug, text (at least 20 characters), and all 9 required dossier fields (question, scope, method, inclusionCriteria, exclusionCriteria, limitations, contraryEvidence, correctionCheck, rightsDecision, each at least 20 characters).
  • Publication status: Must be one of supported-synthesis, vendor-claim, preprint-finding, or independently-replicated.
  • Direct HTTPS sources: Every source requires title, locator, version, type (journal, preprint, official-report, benchmark, or documentation), and a direct HTTPS URL. Search result URLs (google.com, bing.com, scholar.*, /search) and self-referential frankx.ai URLs are rejected.
  • Independent replication proof: Claims marked independently-replicated require at least two distinct studies from two independent organizations plus a replicationReceipt (protocolUrl, resultUrl, team, performedAt).
  • Human maker-checker receipt: reviewedBy must be a named human reviewer (never an agent/bot identifier like ai, agent, claude, codex, gpt, or llm), distinct from draftedBy, paired with a reviewReceipt pinning repository: 'frankxai/frankx.ai-vercel-website', a 40-hex-character headSha, prNumber, reviewId, and reviewerLogin.

2. Generated grade guard (findUnsupportedGeneratedGrades)

The script parses exported literals (domainSources, validatedClaims, researchBriefs) in lib/research/sources.ts and lib/research/validated-claims.ts and fails if any entry:

  • Uses a search engine URL or self-referential /research/ citation.
  • Marks type: 'journal' or 'conference' without a primary identifier (doi.org/, pubmed.ncbi.nlm.nih.gov/, or arxiv.org/abs|pdf/).
  • Claims confidence: 'high', replicationStatus: 'replicated', evidenceQuality: 'rct', or crossRefCount > 0 without a backing primary source URL.
  • Uses the banned PhD-grade prestige label anywhere in a string field.
# Run the research publication gate and its unit test suite
node scripts/check-research-publication.mjs
node --test scripts/tests/research-publication-gate.test.mjs

How frankx.ai/docs proxies to docs-platform

The App Router handler at app/docs/[[...slug]]/route.ts (backed by lib/docs-proxy.ts) serves the FrankX documentation tenant at https://frankx.ai/docs:

  • Path mapping & content negotiation: Bare /docs maps to /frankx/intro. Requests ending in .md or carrying Accept: text/markdown (weighted higher than text/html) resolve to /llms.mdx/frankx/<slug>/content.md. /docs/llms.txt maps to /llms-index/frankx and /docs/llms-full.txt maps to /llms-full.mdx/frankx.
  • Forwarded headers & timeout budget: The proxy forwards accept, rsc, next-router-prefetch, next-router-state-tree, and next-url with a 20,000ms connect/header timeout (UPSTREAM_TIMEOUT_MS) and follows up to 3 manual redirects (UPSTREAM_REDIRECT_HOPS), rejecting any redirect that leaves the frankx docs prefix.
  • Response rewriting (rewriteForProxyHost): For text/html and text/x-component responses, root-relative "/frankx/..." links are rewritten to "/docs/...", while "/_next/...", "/llms.mdx/frankx/...", and "/llms-index/frankx" rewrite to absolute DOCS_ORIGIN URLs.