Quoin Glossary
The vocabulary. Terms are used precisely throughout the specification.
Terms are used precisely throughout the spec. Where a term is capitalised it carries exactly this meaning.
Site — one Git repository conforming to this specification, owning its content, templates, configuration, and output. A family of sites shares the spec; it does not share runtime state.
Chrome — the shared frame every page renders inside: header, footer, menus, base styles. Non-negotiable (Constitution §7).
Page — one routable unit of content: an entry in exactly one collection, rendered by exactly one template at a stable URL.
Page type (collection) — a named set of pages sharing one schema and one
template. The mechanism is normative; specific types come from the reference
library in spec/02 or are site-defined.
Template — the presentation component bound to a page type. Code, never data.
Block — a typed, schema-validated unit of composed-page content (hero, card grid, gallery, stats…). Blocks are the compositional vocabulary; a block is data, its rendering is code.
Composed page — a page whose body is an ordered list of blocks. The primary way to build a home page or landing page.
Blob — a freeform page: arbitrary Markdown/MDX rendered inside the chrome. The escape hatch for genuinely unique pages. Discouraged by default; audited when used (Constitution §7).
Menu — a named, ordered tree of navigation items stored as data
(content/menus/), rendered by the chrome. Items carry label, href or
ref, and optional children.
Token / variant — a named design value in the style layer (colour, spacing, block variant). Content may reference a token by name, validated against the registry; content never carries raw CSS.
Site config (site.yaml) — the schema-validated identity of the site:
name, domain, contact, registration numbers, footer links, social links.
Projection (derived data) — data computed at build time from the content collections: aggregate stats, index pages, recent lists, sitemap. Never authored (Constitution §8).
Theme package — an optional shared npm package carrying tokens and components for a family of related sites. Optional; sites conform without it.
Requestor — the human who asked for a change (the email sender, or the person driving an agent session).
Publisher — the human (or configured rule) who authorises a change to become live by merging its PR.
Editor agent — the AI role that reads a request, drafts the content change, and opens the PR. Writes branches; never merges.
Ingest — the pipeline step that receives a request (typically an email), identifies the sender against the allowlist, and hands a structured interpretation to the editor agent.
Classify — mapping an inbound request to (change class, target page(s), proposed edit). The classification is recorded in the PR.
Change class — a risk bucket for a change: e.g. typo, content-update,
new-page, structural. One axis of the trust dial.
Trust dial — the per-site, versioned configuration mapping (sender × change class) → approval requirements. Levels are: dual approval (default), requestor-approves (publisher reviews post-merge), and — never by default — auto-publish with audit.
Nonce — a random single-use token the editor agent embeds in its reply to a requestor; the approval reply must quote it. Binds an approval to a specific proposed change and thread.
Allowlist — the per-site list of email addresses (and agent principals) whose input is eligible for the pipeline. Everything else is logged and ignored.
Pull request gate — the branch protection on main: no direct pushes;
PRs require a green build; merge requires the configured approval(s).
Preview — a per-PR static deployment at an unguessable URL, noindex,
cleaned up on PR resolution. The surface on which the requestor reviews.
Live — the production output of main. Changed only by merge.
Build — the CI step that validates every schema and renders the static output. Red build = no merge (Constitution §2).
Conformance — a site’s status of satisfying the normative requirements of
this spec at a given version. See spec/07-conformance.md.
Site adapter — the <site>/src/lib/schemas.ts module a site exposes to
the tool surface (D-005): the nine normative symbols. The site’s single
source of schema truth, shared by the build and the tools.
Jail — the path containment on put_theme_file: writes are refused
outside themes/<active-theme>/ (spec/08 §4).
Region — a named, annotatable area of a rendered page
(data-quoin-region): chrome landmarks and blocks. ?inspect outlines each
region with its name so a human can give precise feedback (spec/08 §6).
Inspect mode — viewing any page with ?inspect to see labelled region
outlines. Fully inert without the parameter.
Update intent — the put_page rule that editing an existing page
requires an explicit update: true, keeping creation and update distinct,
PR-visible intents (spec/08 §3).