From ae899571755615955149ea0b6840eca6497dea35 Mon Sep 17 00:00:00 2001 From: mptyl Date: Tue, 7 Jul 2026 13:34:04 +0200 Subject: [PATCH] docs(skill): prescribe the F8 memory-promotion gate; drop optional D11 notes Co-Authored-By: Claude Fable 5 --- harness/.pi/skills/tht-sessione/SKILL.md | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/harness/.pi/skills/tht-sessione/SKILL.md b/harness/.pi/skills/tht-sessione/SKILL.md index 89fc198c..1c81b42b 100644 --- a/harness/.pi/skills/tht-sessione/SKILL.md +++ b/harness/.pi/skills/tht-sessione/SKILL.md @@ -203,10 +203,9 @@ Prerequisite: Phase 1 closed. 4. Closing: if memories were applied or rejected (substantive decisions), `advance:true` no-ops — close with `reviewer_confirm kind:"phase"`. Only a truly empty memory phase (nothing applied, nothing rejected) auto-advances via `advance:true`. -5. **Promotion (D11).** To promote ONE memory in `profile=workstation`, use - `tht memory save-one` (targeted one-row upsert via the writer key). Batch - promotion (`tht memory promote`) is server-side. Memories live ONLY in the - vectordb (no local registry). +5. Memories are promoted at the END of the workflow (Phase 8, the + `reviewer_memory_promote` gate) — never promote from here, never run + `tht memory promote`/`save-one` yourself (the gate blocks them). ## Phase 3 — Rewriting @@ -274,10 +273,7 @@ Prerequisite: Phase 4 closed; `schema_linking.json` present. 1. `tht session check` (objective gate: decisions present + schema_linking valid). 2. Summarize the schema-linking to the reviewer; if corrections are needed, reopen Phase 4. -3. **Memory promotion (F5).** If you want to promote memories from this session, use - `tht memory save-one` (workstation) or `tht memory promote` (server). Memories - live ONLY in the vectordb (no local registry). -4. Close with `reviewer_confirm kind:"phase"`. +3. Close with `reviewer_confirm kind:"phase"`. ## Phase 6 — CTE plan @@ -347,7 +343,13 @@ Prerequisite: Phase 7 closed. 1. Ask the reviewer whether they want a datamart (`reviewer_select` yes/no). 2. If yes: `tht datamart generate` (stub — raises NotImplementedError for now). Tell the reviewer that dbt generation is not implemented yet. -3. If no: close with `reviewer_confirm kind:"phase"`. The session is finalizable. +3. **Memory promotion.** Call `reviewer_memory_promote` with ONLY the session id: the + gate computes the candidates itself (`tht memory promote --preview` — the 3 + reusable types, already excluding promoted/declined ones) and shows the reviewer a + pre-selected checklist. Selected → saved to the vectordb + `memory_promoted`; + deselected → `memory_promotion_declined` (never re-proposed). If the gate reports + zero candidates, move on — do not retry. +4. Close with `reviewer_confirm kind:"phase"`. The session is finalizable. ## Session end