Skip to content
quarry quarry RFCs
Login

quarry RFCs

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.

The spec

RFC What Status
0001 quarry itself: a forge for zit that holds no hostage bytes Living spec; single-node scope implemented
0005 one named event stream that pipelines, webhooks and notifications subscribe to Implemented
0003 how it was built: technology choices, salvage and provenance rules (§8, formerly RFC 0002), status as built Historical; §2 and §8 remain in force

Authorization

RFC What Status
0004 fossil capability letters as the native model; a hosted fossil repository brings its users with it Implemented
0008 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 Implemented; amendment pending
0017 the bar for a write scales with how permanent the write is: a companion or the local tier may ask less than the store. Amends 0015 Draft, questions settled; implemented after teams
0018 teams: a user-owned place that holds repositories, carries grants, and gathers their chat and tickets. 0008's deferred team layer Built except companions following a parent into a team (see its status line); the ticket board is built and the room streams

Landings

docs/landings.md is the base: a landing is a reading of forum posts.

RFC What Status
0006 stacked landings, rendered as a chain Implemented
0007 branch ownership enforced at the sync front Implemented
0009 verdicts on landings: dagnats runs, checks, logs, premerge In progress (see its status line)
0019 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 Built
0020 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
0021 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) Draft; ten decisions settled 2026-10-02

Attention and what arrives

RFC What Status
0011 chat that never loses a message, mentions, the inbox, push; notify owns transport, quarry owns policy Implemented; its live model reaches every surface, the four ticket 82b9615eaf3d named included
0012 0011's delivery plan in five phases Implemented; kept because code cites its phases
0014 what may write to a forge from outside: reply-by-email first, source keys and external CI later Phase 1 implemented
0015 a repository's forum in a separate fossil-compatible store, bound by the forge Phase 1 implemented
0016 files on tickets, wiki, technotes and forum posts: fossil's A card in the DAG, the bytes in the steward's own bucket Phases 1–3 built; Phase 4 (export, migrate, report, scanner) not built

Sync front

docs/rfcs/0001-quarry-forge.md §7 is the base.

RFC What Status

Standalone

RFC What Status
0010 quarry ui: one repository, one browser, no accounts Draft, not built
0013 who touched what, when: the activity page Implemented

Mirrors

RFC What Status
0022 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
0023 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
0024 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
0025 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