Skip to content

feat(docs): flare-dispatch.fractalbox.dev serves the docs site; the dispatcher moves to flare-dispatch-app - #155

Merged
debuggingfuture merged 2 commits into
mainfrom
feat/docs-site-apex
Sep 24, 2026
Merged

debuggingfuture merged 2 commits into
mainfrom
feat/docs-site-apex

Conversation

@debuggingfuture

Copy link
Copy Markdown
Member

flare-dispatch.fractalbox.dev serves a documentation site built from apps/docs; the dispatcher Worker (API, GitHub App webhook, dashboard, log viewer) serves flare-dispatch-app.fractalbox.dev.

Problem & Insight

The README's Documentation link and the install pages' footer pointed at the dispatcher's own origin, which serves the dashboard, and at paths (/docs/05-byoc, /docs/prd, /recipes) that exist nowhere. The docs themselves were already here as plain Markdown — apps/docs guides and reference, the run catalog, the action READMEs, the specs and ADRs — but spread across the tree and readable only on GitHub.

Take

  • Starlight over symbolic links, not copies. Every page except the landing page is a relative symlink into the repo, so each file keeps one copy that reads the same on GitHub and on the site. apps/docs/src/lib/pages.mjs takes titles and descriptions from each file's first heading and paragraph, and rewrites relative links to site URLs — or to GitHub for files that are not pages (source, schemas). The build fails on a broken internal link.
  • /llms.txt, /llms-full.txt, robots.txt and the sitemap are generated from the same collection; the hand-written apps/docs/llms.txt is gone.
  • The site is a static-assets Worker (apps/docs/wrangler.jsonc). docs.yml builds it on every PR and deploys it on main, with no path filter because a page can change from any directory.
  • The dispatcher needs no code change for the move: every origin it emits (log links, install manifest, check-run URLs) derives from the request or PUBLIC_ORIGIN. Only the install pages' hard-coded docs links change, to pages that exist.

Deployer follow-ups

\ Action Why
1 Point the GitHub App's webhook, callback and setup URLs at the dispatcher's new hostname GitHub does not follow redirects on webhook delivery
2 Update each consumer repo's FLAREDISPATCH_ENDPOINT variable Dispatches to the old host reach the docs site and fail
3 Move the /deploy Access application to the new hostname The deploy console verifies the Access JWT and refuses requests without one

…te; the dispatcher moves to flare-dispatch-app

apps/docs is an Astro Starlight site whose pages are symbolic links to the
repo's Markdown (substrate guides, facade reference, run catalog, action
READMEs, specs and ADRs). Titles, descriptions and relative links resolve at
build time; the build fails on a broken internal link. /llms.txt and
/llms-full.txt are generated from the same pages.

The dispatcher Worker's custom domain becomes flare-dispatch-app.fractalbox.dev.
The install pages' docs links point at pages that exist.
@debuggingfuture
debuggingfuture marked this pull request as ready for review September 23, 2026 15:54

@flaredispatch-fractalboxdev flaredispatch-fractalboxdev 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.

AI code review — 💬 Comment

Risk tier: full · 0 critical · 1 warnings · 0 suggestions

Reviewers: security 1 · performance ⚠️ · code-quality ⚠️ · documentation ⚠️ · release-management ⚠️ · compliance ⚠️ · agents-md ⚠️

1. ⚠️ Warning — Pin GitHub Actions to immutable commit SHAs

📍 .github/workflows/docs.yml:54-56

The production deployment workflow uses mutable tags ('actions/checkout@​v4', 'pnpm/action-setup@​v4', and 'actions/setup-node@​v4'). A compromised upstream release or retag could execute code with access to the Cloudflare deployment credentials. Pin these actions to full commit SHAs and update them deliberately.

📋 View full logs & reviewed diff ↗

@debuggingfuture
debuggingfuture merged commit 854334b into main Sep 24, 2026
6 checks passed
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.

1 participant