hall-of-helix/workplans/HOH-WP-0001-closing-routine-and-pqrst.md
tegwick 1ec16e24db 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
2026-09-05 21:12:24 +02:00

134 lines
5.2 KiB
Markdown

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