src/pages/ is the Astro route folder: a flat directory whose .astro
files map one-to-one to site routes (the only sub-directory is download/, a
single dynamic route). It holds 22 route source files — the four
4–5k-line “giant” pages each get their own node, the remaining smaller pages are
bucketed into four topical groups — across 8 documented children. This node
is a pure parent: it has no direct content of its own (every line lives in
a child file), so its value is the aggregate overview — what the route set
is, how it splits, and what the pages collectively depend on. Per-file detail
lives in the linked child DOCS and is not duplicated here.
The split is giants vs. groups: four single-file giant pages (index,
phoenix-be, iris-reading, campaign) that each exceed a one-run read budget,
plus four grouped nodes (_official-scam, _info, _commerce, _utility)
covering the 18 smaller pages. DOCS placement follows the flat-folder convention
(docs/_areas.md): single-file nodes → src/pages/<name>.DOCS.md; groups →
src/pages/_<group>.DOCS.md.
Count note (correction): the prior docs (
docs/_areas.md, the brief) say 21 route files; the actual count at0abd819is 22.astrofiles (4 giants + 2 official-scam + 5 info + 5 commerce + 6 utility). The enumerations in_areas.mdalready list all 22 — only the summary number “21” is off by one. Carried forward as a surprise.
The 8 page nodes below. Each hook is lifted from the child’s Purpose; see the linked DOCS for the per-file read (frontmatter, components used, dead imports, in-file data models). Routes are derived; this node duplicates no child content.
index → index.DOCS.md — the / homepage
(index.astro, 4204 lines). A marketing-and-investigation landing/hub: a
Primal Diet intro that doubles as a condensed successors/Jim/Phoenix exposé and
as a resource hub linking the free books, coaching, iris-reading, campaign,
news, roadmap, AI chatbots, and socials. Composition-heavy (≈10 components +
astro:assets Image); 8 declarations flagged dead.
phoenix-be → phoenix-be.DOCS.md — the
/phoenix-be route (phoenix-be.astro, 4976 lines — the single largest file
in the repo). The long-form “Phoenix Be hostile takeover” investigation: ~21
<h2> prose sections, screenshots, embedded videos, two succession diagrams,
the reused coaching-scam findings component, and a relationship-map Vue
island (BadActorsApp) at the end. 16 dead declarations.
iris-reading → iris-reading.DOCS.md — the
/iris-reading route (iris-reading.astro, 4495 lines). A service/marketing +
educational page for iridologist “Oliver”: his offer + pricing, example
readings, testimonials, a photo guide, and a long “social-media iridology vs.
Aajonus” comparison driven by a big in-file data table. Mostly
self-contained — composes almost nothing (one component, JointOfferCard).
Uniquely, 0 dead declarations.
campaign → campaign.DOCS.md — the /campaign
route (campaign.astro, 1790 lines), the status / evidence hub: a list of
withheld unpublished Aajonus material with evidence, a condensed scam-coaching
recap reusing the comparison chart, and a goals-status board driven by an
in-file typed data model (CampaignGoal). The smallest giant but carries
the most in-frontmatter logic and the heaviest dead-import set (37
flagged declarations).
_official-scam → _official-scam.DOCS.md —
2 pages: official-coaching-scam.astro (309) /official-coaching-scam and
official-reply.astro (962) /official-reply. Two long-form investigative
campaign pages on MainLayout with wrapContent={false}, arguing the
“official Primal Diet coaching” is a scam and documenting estate negotiations.
Both set inline meta before the {...pageMeta.X} spread (inline wins).
_info → _info.DOCS.md — 5 pages: news.astro
(736), rom.astro (358), about.astro (66), credits.astro (41),
articles.astro (27). Informational MainLayout routes: a filterable news
timeline, a personal “Rom” accusation-table page, About/Credits prose, and an
“Articles” coming-soon stub. Only news consumes pageMeta.news; the
other four use inline meta, and rom.astro uniquely omits
prerender.
_commerce → _commerce.DOCS.md — 5 pages:
products.astro (449), services.astro (189), books.astro (39),
coaching.astro (33), offerings.astro (14). Thin MainLayout shells for the
site’s offerings, delegating almost everything to shared book/coaching card
components — except products, which hand-rolls a large “cheese card” promo.
offerings is near-empty (a confirmed stub).
_utility → _utility.DOCS.md — 6 pages:
bad-actors.astro (111), legal-disclaimer.astro (40), privacy.astro (29),
download/[filename].astro (21), contact.astro (13), roadmap.astro (7).
The Bad-Actors Vue-island host (client:visible), legal/privacy prose, the
allow-list-gated dynamic download/[filename] redirect route, the contact
form wrapper, and a one-line roadmap wrapper that renders
layouts/roadmap.astro.
What the route set collectively relies on (rolled up from the child DOCS — each records its own exact imports):
Layout chain — nearly every page renders inside
../layouts/MainLayout.astro → Layout.astro (the base document that owns
<head>/SEO/JSON-LD and imports global.css). Exceptions: download/ uses
../../layouts/DownloadLayout.astro; roadmap.astro renders
../layouts/roadmap.astro (a page body that lives in layouts/). Several
giants/scam pages pass non-default booleans (wrapContent={false},
showHeader={false}, fullWidth). See ../layouts/DOCS.md.
Site meta — ../data/pageMeta (pageMeta object), spread as
<MainLayout {...pageMeta.<key>}>. 16 of the 20 keys are consumed by these
routes (15 directly + roadmap via layouts/roadmap.astro); the scam pages
also override with inline meta. The high-blast-radius source is documented in
../DOCS.md (root direct content) — including the
20-keys / 22-routes reconciliation.
Component library — ../components/* (the 29 .astro components +
BookProfileData), plus the Vue islands BadActorsApp (phoenix-be,
bad-actors) and SuccessionGraphs (phoenix-be only). The giants are
composition-heavy; the commerce/utility shells delegate to shared cards. See
../components/DOCS.md.
astro:assets image pipeline — Image / getImage / ImageMetadata,
resolving imports under src/assets/** to optimized assets. Heavily used by
the giants; bad-actors.astro uses build-time getImage() to fill the Vue
dataset’s photo URLs.
Data layer — ../data/downloads (allowedDownloadFiles,
isAllowedDownloadFile) backs the download/[filename] route;
../components/bad-actors/data feeds bad-actors.astro.
.mp4s/components it never renders (per child DOCS). campaign is the
extreme (37 flagged); iris-reading is the only giant with 0. Reconciled
against pnpm check in each child DOCS; intent (WIP vs. abandoned) is unclear
from code — needs author input.offerings.astro near-empty, articles.astro
“coming soon”; (Frauds/known-scams-psyops plain-text scratch and several
stub layouts are noted in the layouts/components DOCS, not here).title/description/image inline before
{...pageMeta.X}, so inline values win; four pageMeta keys are unused as a
result (see root DOCS reconciliation).