2.1 KiB
2.1 KiB
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_clarifiedmemories. 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). Markrecommended:trueONLY 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. Withallow_empty:truean 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).