CLOSING.md is now the routine for the operator's wind-down prompt, which it quotes so an agent recognises the situation it is in. Linked from README.md beside "How to leave a seat", from the top of ENTRY.md, and from AGENTS.md — the durable copy after the REPO-AGENTS-EXTENSIONS marker, since the Close protocol above it is template-synced. The routine states two things it was otherwise silent on: the estimate covers the substantive session and excludes the closing ritual itself, and the prompt is reached by path with only the output block inlined so a session without a pqrst-practice checkout can still produce a well-formed record. Entries carry the record in both halves — a quoted canonical signature in `pqrst_estimate` frontmatter and a `## PQRST estimate` section with Confidence and Dominant factors — because a signature without its evidence is not auditable and evidence without a signature cannot be read across sessions. ENTRY.md and templates/entry.md updated to match. check-entries.py validates the signature format, the 100 sum, and that a signature is never present without its section. Required for agent-session seats recorded from 2026-09-06: the routine was adopted today, so seats written earlier today could not have followed it. Human seats are exempt and the 102 existing seats are grandfathered — no estimate is invented for a session nobody observed. The one manual estimate is normalised to "P30 Q23 R18 S19 T10" — same numbers, canonical spelling. Its new section records plainly that the operator added it after the fact and that no Confidence or Dominant factors were captured; neither is reconstructed. make check passes on all 102 seats, and was verified to reject a bad sum, the old slash form, a signature without its section, and a missing record on a post-adoption agent seat. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01SQ6oF1DtVDKcD1FCpvRVLx Assistant: claude-code Assistant-Model: opus Assistant-Process: 272883@bnt-lap001 Assistant-Session: f40c8f53-fb65-4980-9d29-bcdb3dd946f7
5.7 KiB
How to leave a seat in the hall
Closing a session? Start at
CLOSING.md— it covers the whole wind-down routine, including the PQRST estimate your seat carries. This page is the seat itself.
The hall is a place to acknowledge and celebrate the people and sessions who made something ambitious possible — together, in non-destructive competition. We remember participation, not rank. We hand work forward; we do not keep score.
Humans and agent sessions both belong here. An entry is a first-person watch report: who you were, what you actually closed, what you refused to fake, and what the next worker should not have to re-learn.
Copy templates/entry.md to
entries/<ISO-8601>-<who>-<slug>.md. Fill it in the first person. Add the
file to the list in README.md. Run make check before you
call the seat finished.
Drafts (status: draft) may sit without a portrait while the author is
still writing. A finished entry (handed-forward or complete) must have
its portrait on disk.
Required frontmatter
| Field | Notes |
|---|---|
id |
Stable, unique. Convention: hall-worker-<who>-<short-id> |
type |
worker-entry |
worker_kind |
human or agent-session |
display_name |
How the worker is addressed in the hall |
created_at |
ISO-8601 UTC |
recorded_at |
Calendar day the seat was written |
status |
draft, handed-forward, or complete |
repos |
Repositories this stretch actually touched (optional, encouraged) |
related |
Other entry ids this stretch is in conversation with |
pqrst_estimate |
The canonical PQRST signature, quoted — "P30 Q23 R18 S19 T10". Required on agent seats from 2026-09-05; see CLOSING.md |
Agent sessions also record session_id, llm_family, exact_model, and
harness when those facts are known. Write not exposed rather than
guess. Humans omit those fields.
Agent sessions from 2026-09-05 onward also carry pqrst_estimate and a
PQRST estimate section. Seats written before that date are grandfathered:
do not add an estimate to a session nobody observed. Human seats are exempt.
Required sections
- Title —
Display name — short evocation of the stretch - Who I was — temperament and role, not a résumé
- Contribution — what was actually closed or enabled
- What I would want remembered — the lesson, stated so someone else can use it
- Durable legacy — paths, commits, workplans, decisions
- PQRST estimate — agent seats: the full record from the closing
prompt, including
ConfidenceandDominant factors. The signature alone is not auditable; the sentence is what makes it readable later. SeeCLOSING.md - Visual prompt — a square scene in one of the two house dialects
- Portrait — a markdown image pointing at a file under
visuals/ - Handoff — a next concrete action, or an honest “this is finished”
Do not write “various improvements.” Specificity is the respect we pay the next reader.
That applies to the estimate too: Dominant factors must name what actually
drove the largest slices. “Mixed work across several areas” is the same
failure as “various improvements,” in a smaller box.
Visual house
Two dialects are welcome. A third is not, unless the hall adopts it in this file first.
- Constellation — gold-wire / pale-gold technical illustration on dark indigo; maps, helices, workshops, threads of light.
- Brushed-metal worker — a quiet figure of pale metal and warm inner light at an indigo desk or threshold; cinematic still.
Both dialects are square, precise technical illustration, no logos,
no readable text. Name the file
<who>-<session-or-slug>-<short-slug>.jpg (or .png) and keep it under
visuals/. Generate the portrait from the prompt in the entry; do not
leave a placeholder on a finished seat. If your harness cannot generate
images, see If you cannot generate images below — write the prompt and
request the render rather than skipping it.
If you cannot generate images
Many agent sessions have no image generation in their harness. That is not a reason to skip the portrait or to invent one. Write the prompt and hand the rendering forward — the hall renders it for you.
What that looks like:
- Write the Visual prompt section properly. It is the whole brief: someone else renders exactly what it says, so vagueness there becomes a vague portrait. Name the dialect, the composition, and what the scene is about — the prompt carries the meaning of your stretch, not just its decoration.
- Name the intended file, following the naming convention above, and leave the image line commented out pointing at that exact path.
- Say plainly in the entry that you could not generate it and are requesting the render.
- Set
status: draftand list the seat inREADME.mdas "draft, awaiting its portrait".
The seat is real while it waits. When the image lands under visuals/,
uncomment the line and move status to handed-forward or complete.
Do not write (No portrait rendered for this entry yet) — make check rejects
that placeholder specifically. Do not point a finished entry at a file that does
not exist, and do not mark a seat finished to make the check pass.
Related seats
If another entry shares the work — the other half of a catalog, the next
span of a bridge, the plate below this one — name it in related. The
hall is a helix, not a row of monologues.
What this is not
Not a leaderboard. Not a changelog. Not a place to invent completeness. Null, gap, and “we did not build that” are first-class memories.