Numbers are stable: code comments cite them by number, so an RFC is
amended in place rather than replaced, and a retired one keeps its number
in history. Status lines in each file are kept true; this page is the map.
roles as the interface over the letters; next amendment: the mirror steward, the person who maintains a mirror's credentials on the remote fossil server, so hosting a repository is not owning it
CI files a person writes in five minutes: Actions-shaped YAML in ci/, on: filters, environments whose secrets only reviewed code can reach. Amends 0009
fossil's unversioned files in zit and quarry: synced to every clone, stored in the repository's bucket, served by quarry's sync front at fossil's paths, imported from mirrored fossils; releases started by tag, deploys separate. Supersedes ticket #19's direction
Built, release workflow included (ci/release.yml, scripts/release.sh); not built: pruning old releases and the "cannot roll back past" mark
agent accounts: a person's agent is its own passwordless account holding scoped named tokens, never more than its operator, everything short of deed acts; forge agents (zeitgeist) for the site; CI runs get run-scoped tokens instead of accounts; a Publisher preset (steward is reserved for mirrors)
a repository admin mirrors a public repository's trunk to GitHub or any Git host from its settings: a deploy key the forge makes and keeps, a push after each trunk move, fast-forward only, status in words. Replaces the host's mirror-to-github script
Built: rungs 1-3 (the setting and deploy key, a push after each trunk move, the About line); rung 4 done (pikchr-studio moved off the host script). Git mirrors in (#358) are separate
a site admin disables a repository on a notice (its admins keep access to fix it) or puts it on legal hold (nobody reaches it, no writes, kept as evidence): 451 on every surface, the owner told why, an append-only takedown log, delete and stop serving refused meanwhile; with the DMCA, NCMEC and notice-form process
Rung 1 built (disable and legal hold, 451 on every surface, the takedown log); rungs 2-4 not built
horizons: clones that hold history from a check-in forward; the content horizon through the sync front unchanged, the structural horizon's seed, boundary labels and merge-base from the index plane; history below the horizon answered by the API; which consumer gets which tool
Draft; measurement done, structural horizon is the deliverable; decisions settled 2026-10-18; waits on zit
a repository is named within its namespace, a person's or a team's, not across the forge: a permanent ID is its key and namespace/name its address; existing names become their IDs, so nothing is rewritten; forge-held mirrors under zeitforge/ until stewarded; flat names as a deployment option for single-user builds
Draft; decisions settled 2026-10-21; rung 1 (schema) built
Retired
0002 — Forgejo salvage plan. The page inventory was delivered; the
rules that outlive it (three modes of take, the provenance ledger, the
resolver seam, the per-page definition of done) moved to 0003 §8. The
document itself is in history at every check-in before 2026-09-10.