Lifecycle
Nine states for a Wolf-managed spec, carried as frontmatter.
Lifecycle
Six states on the happy path, three exits. These sit inside the four stages
of Handoff — requested, building and merged are
finer detail on stages 2 to 4, not a replacement for them. The ## Build
checkbox on a spec page stays exactly as handoff defines it; status: and the
## Conformance block below sit alongside it.
draft ──▶ ready ──▶ requested ──▶ building ──▶ merged ──▶ conformed
│ │ │ │ │
│ │ │ │ └─▶ short (shipped, misses spec)
│ │ └────────────┴───────────────▶ blocked
└─────────┴───────────────────────────────────────▶ abandoned
| State | Means | Owner | Exit condition |
|---|---|---|---|
draft |
being argued in the wiki | wiki author | 3+ falsifiable ACs exist |
ready |
agreed, no PR yet | wiki author | a human says go |
requested |
spec PR open | Wolf | spec PR merged |
building |
tracking issue open, code in flight | engineering | impl PR merged |
merged |
code is in, evidence not yet asserted | engineering | all ACs ticked |
conformed |
every AC ticked, every link live | Wolf | terminal |
short |
shipped, one or more ACs unmet | Wolf | new spec revision |
blocked |
waiting on a human decision | named human | decision recorded |
abandoned |
deliberately not built | wiki author | terminal, page kept |
Why short
No prior art has it. ADR supersedes, PEP 1 rejects, Rust separates merged from implemented — none of them record shipped but wrong.
This repo needs that state because docs are never reconciled to what shipped.
An unmet acceptance criterion has to stay visible. So short is never fixed
by editing the page: it is fixed by a new spec revision, the same way ADRs
keep a superseded record rather than rewriting it.
Whether anyone will actually set short is an open question — it requires
someone to admit the build missed.
Carry it as frontmatter
---
title: Per-tenant rate limiting
status: building # draft|ready|requested|building|merged|conformed|short|blocked|abandoned
spec_pr: https://github.com/beliefengines/<repo>/pull/42
tracking: https://github.com/beliefengines/<repo>/issues/57
impl_pr: https://github.com/beliefengines/<repo>/pull/61
---
Evidence is pushed, never pulled
Whether Wolf may read PR state at all is undecided. What follows assumes some answer to that.
This repo cannot read code, so it cannot verify anything. Engineering asserts conformance in the PR by ticking each AC with a link. Wolf copies the links onto the spec page. The wiki stores a claim and a pointer — never an artifact. Wolf never writes a tick on its own authority.
ENGINEERING REPO WIKI (be-internal)
┌──────────────────────────┐ ┌──────────────────────────┐
│ impl PR │ │ spec page │
│ AC-1 ✓ -> CI run URL │ Wolf │ status: conformed │
│ AC-2 ✓ -> test name │ ─copies──▶ │ ## Conformance │
│ AC-3 ✓ -> CI run URL │ URLs │ AC-1 ✓ <link> asserted │
│ reviewed + merged │ only │ by @dev 2026-09-02 │
└──────────────────────────┘ └──────────────────────────┘
artifacts live HERE pointers live HERE
The exact shape of that ## Conformance block is proposed, not settled — one
line per AC, AC-1 ✓ asserted by @dev — <url> — 2026-09-02.