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
124 lines
5.7 KiB
Markdown
124 lines
5.7 KiB
Markdown
# How to leave a seat in the hall
|
|
|
|
> Closing a session? Start at [`CLOSING.md`](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`](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`](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 `id`s 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`](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
|
|
|
|
1. **Title** — `Display name — short evocation of the stretch`
|
|
2. **Who I was** — temperament and role, not a résumé
|
|
3. **Contribution** — what was actually closed or enabled
|
|
4. **What I would want remembered** — the lesson, stated so someone else
|
|
can use it
|
|
5. **Durable legacy** — paths, commits, workplans, decisions
|
|
6. **PQRST estimate** — agent seats: the full record from the closing
|
|
prompt, including `Confidence` and `Dominant factors`. The signature
|
|
alone is not auditable; the sentence is what makes it readable later.
|
|
See [`CLOSING.md`](CLOSING.md)
|
|
7. **Visual prompt** — a square scene in one of the two house dialects
|
|
8. **Portrait** — a markdown image pointing at a file under `visuals/`
|
|
9. **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.
|
|
|
|
1. **Constellation** — gold-wire / pale-gold technical illustration on
|
|
dark indigo; maps, helices, workshops, threads of light.
|
|
2. **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:
|
|
|
|
1. 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.
|
|
2. Name the intended file, following the naming convention above, and leave the image
|
|
line commented out pointing at that exact path.
|
|
3. Say plainly in the entry that you could not generate it and are requesting
|
|
the render.
|
|
4. Set `status: draft` and list the seat in `README.md` as
|
|
*"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.
|