38 lines
2.1 KiB
Markdown
38 lines
2.1 KiB
Markdown
# Presenting reusable memories
|
|
|
|
Memories arrive from `tht memory search "<question>" --session <id> --json`, already
|
|
ordered by similarity. You argue them, the reviewer decides. NEVER apply them on
|
|
your own. **ALWAYS pass `--session <id>`**: the CLI excludes memories already decided
|
|
in this session (applied or rejected), so you don't re-propose what the reviewer has
|
|
already discarded (even after a Phase 2 reopen).
|
|
|
|
For each memory to present in the checklist, include in the option's `label` and/or
|
|
`description`:
|
|
|
|
- **What it says**: the clarified concept, its subject, and its full definition.
|
|
- **Where it comes from**: question_context and origin session_id.
|
|
- **Why it might apply here**: overlap of concepts/tables with the current question
|
|
(fields tables/concepts), similarity score.
|
|
- **Out-of-context risk**: what was in the original session that might not hold here
|
|
(different period, different population, changed schema).
|
|
|
|
Rules:
|
|
|
|
- Propose at most **5** candidates. Include ONLY `concept_clarified` memories.
|
|
Table choices (`table_promoted`, `table_excluded`) and all other query-specific
|
|
decisions are not memories: never store, retrieve, or propose them because they
|
|
do not transfer to other questions.
|
|
- All candidate memories go in **a single** `reviewer_decide(multi:true,
|
|
advance:true, allow_empty:true)`: every option describes a candidate memory, never
|
|
an opposite action such as "do not use it". Each selected option is applied
|
|
(register the decision with the appropriate type, citing the memory id in the
|
|
rationale). Mark `recommended:true` ONLY on memories proposed for use: those, and
|
|
only those, start checked. An unchecked memory is **not applied now**; it is not a
|
|
rejection and may be considered again if Phase 2 is reopened. With `allow_empty:true`
|
|
an **empty selection is accepted** (no memory applied) and the phase advances — no
|
|
separate gate.
|
|
- For "inspect": show the memory's full JSON record in the prose before presenting
|
|
the checklist, if the reviewer asks.
|
|
- If no memory clears score 0.5, say so and close the phase quickly (with
|
|
`reviewer_confirm kind:"phase"` if the list is empty).
|