Package the reusable prompt collection under prompts/
HF-WP-0005. The prompts used to drive work across HelixForge repositories existed only as text pasted between sessions. They are now Canned Prompt Format v0.2 packages with declared inputs, parameters and output contracts. Seven packages: repo-orient (merging "what is this repo about" with "what should we do now" as a `depth` parameter), repo-register, repo-advance, commit-sync, scope-audit, gap-workplan, session-close. "Go on implement, please" is deliberately not packaged. It is conversational continuation with no contract to declare, and packaging it would produce an artifact whose only content is the word "continue". Every one of these prompts assumed the operator's setup — the State Hub is a read model, workplans originate as files and are never registered by hand, a session closes with a progress event. That assumption is what made them personal rather than reusable. helix/custodian-conventions states those rules once as a fragment composed by every package, so they are versioned, improvable in one place, and present for an agent that has never seen this fleet. helix/commit-sync-routine exists for a narrower reason. repo-advance first composed the whole commit-sync package, which itself composes the conventions, so the rendered prompt carried the conventions block twice — CPF inclusion does not deduplicate, and a diamond dependency renders shared content once per path. Factoring the routine out removes the diamond and is a better factoring regardless. Recorded upstream as canned-prompts CANP-WP-0004-T03. helix/session-close composes practice/pqrst-estimate, so the canonical PQRST block is embedded verbatim. hall-of-helix CLOSING.md says the canonical prompt still governs when you have no pqrst-practice checkout, without saying how it reaches you; this is how. evals/pqrst-embedded.yaml fails if the canonical text stops being embedded verbatim, rather than letting the package quietly become a paraphrase. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Bjefh8NUiEiahN4JLwoSKM Assistant: claude-code Assistant-Model: opus Assistant-Process: 388925@bnt-lap001 Assistant-Session: 3507023f-e0fd-4a1e-9d90-a0d4217d1502
This commit is contained in:
parent
79e9cd9022
commit
883409665f
22 changed files with 967 additions and 0 deletions
26
prompts/session-close/evals/pqrst-embedded.yaml
Normal file
26
prompts/session-close/evals/pqrst-embedded.yaml
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
schema: canned-prompts/eval-rubric/v0.1
|
||||
name: pqrst-embedded-verbatim
|
||||
description: >
|
||||
The point of composing practice/pqrst-estimate is that closing a session needs
|
||||
no pqrst-practice checkout. If the canonical text stops being embedded
|
||||
verbatim, this package silently becomes a paraphrase — the failure that
|
||||
practice/pqrst-estimate itself already had once.
|
||||
example: examples/basic.yaml
|
||||
|
||||
render:
|
||||
- resolves_all: true
|
||||
- not_contains: "{{"
|
||||
- contains: "P — Main Problem:"
|
||||
- contains: "S — Security and Credentials:"
|
||||
- contains: "must sum to exactly 100"
|
||||
- contains: "Signature: P<int> Q<int> R<int> S<int> T<int>"
|
||||
- contains: "S may legitimately be 0%"
|
||||
- contains: "## Operating conventions"
|
||||
- contains: "keep the invalid record and say so in the seat"
|
||||
|
||||
output:
|
||||
criteria:
|
||||
- The PQRST record validates, or is kept invalid with the failure stated.
|
||||
- The seat carries the signature in frontmatter and the full record in a section.
|
||||
- The estimate covers the substantive session, excluding the closing ritual.
|
||||
- The seat reads as a perspective, not a status report.
|
||||
3
prompts/session-close/examples/basic.yaml
Normal file
3
prompts/session-close/examples/basic.yaml
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
name: default closing routine
|
||||
description: Defaults compose the conventions and the canonical PQRST prompt.
|
||||
values: {}
|
||||
66
prompts/session-close/prompt.md
Normal file
66
prompts/session-close/prompt.md
Normal file
|
|
@ -0,0 +1,66 @@
|
|||
{{ conventions }}
|
||||
|
||||
## Task
|
||||
|
||||
Close this session following the hall-of-helix closing routine. Work in order.
|
||||
|
||||
### 1. Finish the substantive work
|
||||
|
||||
Land what you were doing and 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
|
||||
|
||||
Run the canonical prompt below, reproduced verbatim so this step needs no
|
||||
`pqrst-practice` checkout. Three things matter about how you run it:
|
||||
|
||||
- **Uncoached.** Do not talk yourself into a better-looking split, and do not
|
||||
re-run it 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 are excluded — letting the closing ritual
|
||||
score itself inflates **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.
|
||||
|
||||
Validate the result: five integers summing to 100, a `Confidence` value, a
|
||||
`Signature` agreeing with the values, and `Dominant factors` naming concrete
|
||||
session facts rather than restating the percentages. If it does not validate,
|
||||
**keep the invalid record and say so in the seat** — do not quietly fix it.
|
||||
|
||||
---
|
||||
|
||||
{{ pqrst_prompt }}
|
||||
|
||||
---
|
||||
|
||||
### 3. Write the seat
|
||||
|
||||
Follow `ENTRY.md`. Carry the record in both places: `pqrst_estimate` in the
|
||||
frontmatter as the quoted signature, and a `## PQRST estimate` section holding
|
||||
the full record including `Dominant factors`. Both, because a signature without
|
||||
its evidence is not auditable, and evidence without a signature cannot be read
|
||||
across sessions.
|
||||
|
||||
Write your own perspective on the session — what it was actually like, what
|
||||
surprised you, what you got wrong. A seat that reads as a status report has
|
||||
missed the point.
|
||||
|
||||
### 4. Check the hall
|
||||
|
||||
Run `make check` and add the seat to the list in `README.md`. If you cannot
|
||||
render the portrait, write the visual prompt properly, leave `status: draft`,
|
||||
and list the seat as "draft, awaiting its portrait".
|
||||
|
||||
### 5. Log and sync
|
||||
|
||||
Log at least one progress event, then sync the repos you changed.
|
||||
|
||||
### What this is not
|
||||
|
||||
The record is a description of the session, not a verdict on the worker. There
|
||||
is no good profile: exploration sessions are research-heavy, hardening sessions
|
||||
quality-heavy, credential work security-heavy. Estimate the session you actually
|
||||
had.
|
||||
57
prompts/session-close/prompt.yaml
Normal file
57
prompts/session-close/prompt.yaml
Normal file
|
|
@ -0,0 +1,57 @@
|
|||
format: canned-prompt/v0.2
|
||||
id: helix/session-close
|
||||
name: Close Session
|
||||
version: 0.1.0
|
||||
summary: >
|
||||
Run the hall-of-helix closing routine: finish the work, produce an uncoached
|
||||
PQRST estimate, write the seat, check the hall, then log and sync.
|
||||
type: template
|
||||
template: prompt.md
|
||||
|
||||
dependencies:
|
||||
prompts:
|
||||
- id: helix/custodian-conventions
|
||||
version: ">= 0.1.0"
|
||||
requirement: required
|
||||
- id: practice/pqrst-estimate
|
||||
version: ">= 1.0.0"
|
||||
requirement: required
|
||||
|
||||
inputs:
|
||||
- name: conventions
|
||||
type: content
|
||||
required: false
|
||||
default:
|
||||
include: helix/custodian-conventions
|
||||
- name: pqrst_prompt
|
||||
type: content
|
||||
required: false
|
||||
description: >
|
||||
The canonical PQRST prompt, composed verbatim from practice/pqrst-estimate
|
||||
so that closing needs no pqrst-practice checkout.
|
||||
default:
|
||||
include: practice/pqrst-estimate
|
||||
|
||||
output:
|
||||
format: markdown
|
||||
description: >
|
||||
A PQRST record, a hall seat following ENTRY.md, the hall check result, and
|
||||
a logged progress event.
|
||||
|
||||
compatibility:
|
||||
capabilities:
|
||||
- long-context
|
||||
|
||||
examples:
|
||||
- examples/basic.yaml
|
||||
evals:
|
||||
- evals/pqrst-embedded.yaml
|
||||
|
||||
license: MIT
|
||||
tags: [session-close, retrospective, hall-of-helix, custodian]
|
||||
provenance:
|
||||
author: Bernd Worsch
|
||||
source: personal prompt collection, contributed 2026-09-06
|
||||
derived_from:
|
||||
- id: practice/pqrst-estimate
|
||||
version: 1.0.0
|
||||
Loading…
Add table
Add a link
Reference in a new issue