Skip to content

Docs/publisher onboarding flow - #60

Merged
legendko merged 6 commits into
mainfrom
docs/publisher-onboarding-flow
Oct 30, 2026
Merged

legendko merged 6 commits into
mainfrom
docs/publisher-onboarding-flow

Conversation

@legendko

Copy link
Copy Markdown
Contributor

Why

The public page, the publisher guide and the edge pages described flows that no longer exist. The console's setup was rebuilt, and the edge no longer serves a publisher's documents.

What changes

  • Public onboarding page and publisher guide: both describe the console as it is now. A first run has four steps: Your business, which is required, then Your domain, Your terms and Connect your site, which can be finished later. Each further domain takes those last three. The guide adds Finish later and Add another domain, and says the file on the publisher's site is the one to edit. Prices read "per fetch".
  • Edge pages: fora.json and rsl.txt are files on the publisher's origin, and the edge forwards both for every client. The serving modes, the caching strategy and the ACME token flow are gone.
  • Provider, architecture and Exchange pages: a domain is proven by the fora.json it serves. The /provider/{domain}/ document endpoints are removed, and the managed-model pages say the provider publishes one file.
  • fora.proto: comments only. They no longer name fora-cli or an edge KV store, so the published reference stops naming them too.
  • Guards: a website test holds the public page and the guide to the console's step names, and the doc conformance gate refuses the retired claims. docs/design-history.md records why the documents live on the origin.

For reviewers

  • No wire change. RequestDomainVerification and ConfirmDomainVerification stay in the contract and the reference pages.
  • The sentences the reference implementation's e2e registry quotes are unchanged, so the next re-pin needs no quote updates.
  • Left out on purpose: the planned @fora/* tooling, the Terraform blocks with their dead links, and the Fastly and Akamai cards on the public page.

The page promised two parts, while the console opens on naming the
business and then sets up a domain in three steps that can wait. The
"How do you configure it?" block now names all four and says only the
first is required; its two tasks read as the console's last step names
them. The register block says the same on its own, because it shows
before any preview has drawn the block it used to call "above".

The price reads "per fetch" as it does in the console, and the register
block no longer says the file and the package carry the publisher's
terms: neither does.
… origin

The edge pages described an edge function that generates, caches and
serves both documents, from the Exchange, from KV or from its own
settings, and that serves ACME challenge tokens written by a CLI. None
of that exists. The edge forwards exactly those two paths to the
provider's own origin for every client, ahead of all its checks, and
keeps no copy, so the file an agent is sent to, the file an Exchange
reads and the file the provider edits are one file.

overview.mdx now holds that statement, and the other pages link to it.
deployment.mdx loses the token, serving-mode and caching sections, the
settings that only fed an edge-built document, and the `fora init`
onboarding diagram. The adapter interface and the CloudFront sample
stop carrying the documents. The fora.json rate limit is a platform rule
in front of the edge, kept above the rate an Exchange reads the file.

X-Content-Rules is built from the refused request's host, not from
configuration, and the deployment page now says so.
The guide listed five steps that no longer exist and said nothing is
saved until the last button. The console now opens on Your business,
which is required and asked once, then sets up a domain in Your domain,
Your terms and Connect your site, which save on each Next and can be
finished later. Every further domain takes those three.

The guide follows that order screen by screen, with a section each for
Finish later and for adding another domain, and uses the console's own
words. It calls the artifact the discovery file throughout.

The package no longer serves the file or the RSL document, so the
sentences that said so are gone. Keys and your catalog now says the file
on the publisher's site is the document: editing it is how they change
who may sell or import their pages, nothing needs redeploying, and it
names what a change can break.
…nge pages

The provider, operator and architecture pages presented a token
challenge run by a CLI as how a domain is proven and a key provisioned.
Domain control is proven by the fora.json the domain serves, which the
Exchange reads at registration, on each check and at each catalog push.
The contract's two RPCs stay, and the pages say so: they are for
deployments that verify with a challenge instead.

Because the file lives on the provider's origin, the managed model can
no longer promise the provider has nothing to do, so those pages name the
one file the provider publishes. The Exchange pages lose the
/provider/{domain}/ document endpoints, whose only reader was an edge
that fetched them; the generated RSL is published on the origin instead.
…ments

The comments on RequestDomainVerification and on the Provider Domain
Verification section named a fora-cli tool that does not exist and said
an edge function can auto-serve the challenge token from a KV store,
which none does. The published reference prints the RPC's comment from
the descriptor, so this is the only place to correct it.

The contract does not change: comments only, regenerated, with no new
rule. The challenge still has the provider place the token at the same
address.
…files

The public page and the guide follow the console by hand, so a website
test now holds both to its step names, the two tasks of its last step,
and both step counts, and refuses the names it retired. The doc
conformance gate refuses the retired claims: serving modes, the Exchange
document endpoints, the CLI and the edge store for challenge tokens.
fora-verify stays legal because the contract's messages name it.

The design history gains the reasoning behind the edge passing a
publisher's documents through, and marks the older section it replaces.
Both changelogs carry the change under Unreleased.
@legendko
legendko merged commit f8a039c into main Oct 30, 2026
4 checks passed
@legendko
legendko deleted the docs/publisher-onboarding-flow branch October 30, 2026 16:20
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