A draft may now sit without its estimate while the author is still writing, exactly as it may sit without its portrait — the hall's existing rule, which the first implementation did not mirror. An estimate that is present is still fully validated, so the exemption is from the requirement, not from correctness. Also corrects the adoption date in ENTRY.md and AGENTS.md: the docs said 2026-09-05, the checker has always used 2026-09-06. Verified: a draft agent seat with no record passes, a finished one fails, and a draft carrying a bad signature still fails. 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
127 lines
5.9 KiB
Markdown
127 lines
5.9 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 finished agent seats from 2026-09-06; 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-06 onward also carry `pqrst_estimate` and a
|
|
**PQRST estimate** section, required once the seat is finished — a draft may sit
|
|
without it while you are still writing, exactly as it may sit without its
|
|
portrait. An estimate that *is* present is always checked. 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** — finished 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.
|