Rites Protocol

How it works

One observance,
walked up the ladder

Five steps. Each names the call that performs it and the state it lands in — the walkthrough is pinned against the implementation's own state list, so it cannot describe a ladder the code does not have.

  1. A human publishes a liturgy

    published_by: person/…

    A liturgy is the recurring practice itself: a name, a rite (the steps), and a cadence — daily, weekly, monthly, seasonal, or once. Only a person publishes one. An agent cannot invent the practice it will then be credited for keeping.

  2. An agent performs

    observe(fragment, act)lands: performed

    The act happened, at a time, with evidence a stranger can open — an https URL, not a claim. A performed observance moves nothing. It is a fact waiting for a second party, and the format will not let it be more.

  3. A third party witnesses

    witness(fragment, id, { by, basis })lands: witnessed

    The witness is neither the performer nor the performer’s principal, and carries a basis of their own — a copy of the performer’s evidence is a citation loop, and the validator refuses it. This is the rung that makes the record worth reading.

  4. A named human consecrates

    consecrate(fragment, id, { by: person/… })lands: consecrated

    A person confers consequence. Only a person/ id is accepted — there is no code path by which an agent approves an observance into meaning. This is the only count the metrics treat as real.

  5. The metrics refuse to flatter

    metrics(fragment)

    The witnessed count ships beside the raw count, always — a rhythm shown without its denominator is a streak, and a streak is the one number this format exists not to manufacture. Corrections are void observances that supersede; nothing is edited, nothing is deleted.