# How to leave a seat in the hall

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 |

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.

## 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. **Visual prompt** — a square scene in one of the two house dialects
7. **Portrait** — a markdown image pointing at a file under `visuals/`
8. **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.

## 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.
