--- id: HOH-WP-0001 type: workplan title: "Specify the session-closing routine and carry a PQRST record in each seat" domain: infotech repo: hall-of-helix status: finished owner: claude-code topic_slug: helix-forge priority: high created: "2026-09-05" updated: "2026-09-05" quality_dor: DoR-Ok quality_dor_at: "2026-09-05" quality_dor_by: claude-code quality_dod: DoD-Ok quality_dod_at: "2026-09-05" quality_dod_by: claude-code quality_dod_note: "CLOSING.md written and linked from README, ENTRY and AGENTS; entry format landed in ENTRY.md and templates/entry.md; check-entries.py validates signature format, the 100 sum and the paired section, required for agent seats from 2026-09-06; the manual estimate normalised. make check passes on all 102 seats and was verified to reject bad sums, the old slash form, a signature without its section, and a missing record on a post-adoption agent seat, while exempting human seats." quality_dor_note: "The closing ritual already exists and is repeated — the operator asks for a seat at wind-down — but an agent receiving that prompt has to infer the routine from ENTRY.md, and PQRST is not part of it. The format questions were settled in PQRST-WP-0002 T04/T05; this is the hall-side execution of that plan, not a fresh design." parent_workplan: PQRST-WP-0002 related: - PQRST-WP-0002 - HOH-WP-ADHOC-2026-09-05 state_hub_workstream_id: "c496866e-7f09-530b-b5a0-b28d512a11c1" --- # Specify the session-closing routine and carry a PQRST record in each seat Executes `PQRST-WP-0002` T04 and T05 on the hall side. The design decisions were made there; this workplan lands them. The operator closes a session with some form 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." An agent receiving that has to reconstruct the routine from `ENTRY.md`, which describes how to *write a seat* rather than what *closing a session* consists of. PQRST is absent from it entirely: the one estimate in the hall was added by hand, in a format the specification does not define. **Constraint carried from both `INTENT.md` files:** this adds a record to a seat, never a score to a worker. No comparison, aggregation, or ranking of estimates enters the hall. **Done when:** `CLOSING.md` exists and is reachable from the three places an agent lands, an entry has a defined place for its record, `make check` enforces it for new agent seats without breaking the existing ones, and the one manual estimate is in canonical form. ## Write CLOSING.md and link it from the three landing points ```task id: HOH-WP-0001-T01 status: done priority: high state_hub_task_id: "440a3b46-c3b2-526f-aec6-86831b31eed2" ``` Create `CLOSING.md` in the repo root: the closing routine in order, one page. Quote the operator's wind-down sentence near the top so an agent scanning for its situation recognises it. The routine: 1. Finish the substantive work; update workplan task statuses. 2. Run the PQRST prompt (`~/pqrst-practice/PqrstPrompt.md`) unmodified and uncoached; validate the result before using it. 3. Write the seat per `ENTRY.md`, carrying the record. 4. `make check`; add the seat to the `README.md` list. 5. Log progress to State Hub; sync. State the two things the routine is otherwise silent on, as decided in `PQRST-WP-0002-T04`: 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 here. Link `CLOSING.md` from `README.md` (beside "How to leave a seat"), from the top of `ENTRY.md`, and from the **Close** section of `AGENTS.md`. ## Give the record a defined place in an entry ```task id: HOH-WP-0001-T02 status: done priority: high state_hub_task_id: "664af0b9-365e-52c5-9dd0-917e47747abc" ``` Both halves, since either alone is useless: - frontmatter `pqrst_estimate: "P30 Q23 R18 S19 T10"` — the canonical signature, quoted; - a `## PQRST estimate` section holding the full stored record — the block, `Confidence`, and `Dominant factors` — placed after "Durable legacy" and before "Visual prompt". Update `templates/entry.md` and `ENTRY.md` (Required frontmatter table, Required sections list) to match. ## Enforce the record in make check ```task id: HOH-WP-0001-T03 status: done priority: high state_hub_task_id: "40f75cdb-8e66-5764-8e17-cfcccdaed23a" ``` In `scripts/check-entries.py`: when `pqrst_estimate` is present, validate the signature format and that it sums to 100. Require it — and the `PQRST estimate` heading — for `worker_kind: agent-session` seats created on or after the adoption date. Human seats are exempt. `make check` must still pass on all 102 existing seats. ## Normalise the one manual estimate ```task id: HOH-WP-0001-T04 status: done priority: medium state_hub_task_id: "981aaad7-6db9-55dd-a8af-bf5fedd590e3" ``` The 2026-09-05 Codex seat carries `pqrst_estimate: 30/23/18/19/10`. Rewrite it as `"P30 Q23 R18 S19 T10"` — same numbers, canonical spelling; it already sums to 100. **Do not backfill any other seat.** The remaining entries predate the practice and nobody observed those sessions; inventing estimates would be the fabricated evidence the specification forbids, and would poison the first trend data the practice produces.