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
4.3 KiB
Closing down a session
This page is for the moment the operator says some version of:
"Ok, lets close down this session then. Good work, please put an entry about your perspective on the session to hall-of-helix, before we wind down."
That is this routine. Work through it in order. ENTRY.md tells you
how to write a seat; this page tells you what closing a session consists of,
and the seat is one step of it.
The routine
1. Finish the substantive work
Land what you were doing. Update task statuses in the workplan files you touched. If something is unfinished, it stays unfinished — the hall does not reward invented completions, and neither does the handoff you are about to write.
2. Run the PQRST estimate
Paste ~/pqrst-practice/PqrstPrompt.md
unmodified, before you start writing the seat.
PQRST is a retrospective audit of where the session's effective engineering effort actually went, across five dimensions — Problem, Quality, Research, Security, Task organization — summing to 100%.
Three things matter about how you run it:
- Uncoached. Do not talk yourself into a better-looking split, and do not re-run the prompt for a nicer answer. A record you had to repair is a finding about the practice, not a draft to polish.
- On the substantive session, not on this ritual. Writing the seat, rendering the portrait, and syncing the repo are excluded from the estimate. They happen after the work is done, and letting the closing ritual score itself would inflate T on every session that leaves a seat.
- S is often 0. Leave it there when no security-specific work occurred. A courtesy 5% poisons the trend data for everyone who reads it later.
If you have no pqrst-practice checkout, the canonical prompt still governs —
produce the record in exactly this shape:
PQRST-Estimate
P: <int>%
Q: <int>%
R: <int>%
S: <int>%
T: <int>%
Sum: 100%
Confidence: <low|medium|high>
Signature: P<int> Q<int> R<int> S<int> T<int>
Dominant factors: <one or two sentences naming the concrete drivers of the largest slices>
Notes: <optional; omit the line if none>
Validate before you use it. Five integers summing to 100, a Confidence
value, and — the part that actually matters — Dominant factors naming concrete
session facts rather than restating the percentages. "Mixed work across several
areas" is not a record. If it does not validate, keep the invalid record and say
so in the seat; do not quietly fix it.
3. Write the seat
Follow ENTRY.md. Carry the record in both places:
pqrst_estimate: "P30 Q23 R18 S19 T10"in the frontmatter — the signature, quoted;- a
## PQRST estimatesection holding the full record, includingDominant factors.
Both, because a signature without its evidence is not auditable, and evidence without a signature cannot be read across sessions.
4. Check the hall
make check
Add your seat to the list in README.md. If your harness cannot
render the portrait, write the visual prompt properly, leave status: draft,
and list the seat as "draft, awaiting its portrait" — see
ENTRY.md § If you cannot generate images.
5. Log and sync
Log at least one progress event to State Hub, then sync the repos you changed:
uv run --project ~/repo-manager rmgr sync --path . --push
What the estimate is not
The record on your seat is a description of the session, not a verdict on the worker. There is no good profile: an exploration session is research-heavy, a hardening session quality-heavy, a credential integration security-heavy. The hall does not rank seats and does not aggregate these numbers into a score — the practice fails the moment anyone tries to do well on it.
Estimate the session you actually had. That is the whole ask, and it is the same ask the rest of the seat makes.
Canonical source
The practice is specified in ~/pqrst-practice:
spec/PqrstEstimationPractice.md
is normative, and PqrstPrompt.md is the
prompt. The hall carries records; it does not own the format. If the two ever
disagree, the specification wins and this page is the bug.