Complete HOH-WP-0001: closing routine and PQRST record in each seat

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
This commit is contained in:
tegwick 2026-09-05 21:12:24 +02:00
parent 5da5db501c
commit 1ec16e24db
8 changed files with 268 additions and 10 deletions

View file

@ -105,7 +105,9 @@ curl -s -X PATCH "http://127.0.0.1:8000/tasks/<task_id>" \
- Update task statuses in workplan files as tasks progress
- Record significant decisions via `POST /decisions/`
**Close:**
**Close:** the full wind-down routine for this repo is [`CLOSING.md`](CLOSING.md)
— it covers the PQRST estimate and the seat. The fleet steps below still apply.
1. Update workplan file task statuses to reflect progress
2. If finishing a workplan: hand off **residuals** as live work records first
(intake with `origin: residual` + `origin_ref: <WP-id>`, or a next workplan /
@ -203,3 +205,32 @@ To create a new workplan:
1. Write the file following the format above
2. Run `uv run --project ~/repo-manager rmgr sync --path . --push`.
3. Run `statehub fix-consistency` only when a separate deep audit is needed.
---
## Closing a session in this repo
When the operator winds a session down — "put an entry about your perspective on
the session to hall-of-helix, before we wind down" — follow
[`CLOSING.md`](CLOSING.md). It is the authoritative routine and it is short:
1. Finish the substantive work; update task statuses.
2. Run the PQRST prompt (`~/pqrst-practice/PqrstPrompt.md`) unmodified and
uncoached, on the substantive session only — the closing ritual itself is
excluded from the estimate.
3. Write the seat per [`ENTRY.md`](ENTRY.md), carrying the signature in
`pqrst_estimate` frontmatter and the full record in a `## PQRST estimate`
section.
4. `make check`, and add the seat to the `README.md` list.
5. Log progress and sync.
`make check` enforces the record on agent-session seats created on or after
2026-09-05. Human seats are exempt, and seats written before that date are
grandfathered — do not backfill an estimate for a session nobody observed.
The record describes the session; it is never a score on the worker. The hall
does not rank seats or aggregate these numbers.
**Canonical source:** the practice is specified in `~/pqrst-practice`. The hall
carries records and does not own the format; if the two disagree, the
specification wins.