Store verbal reflections with links to the attempt and feedback that produced them. Retrieve a reflection only with its source, and keep it updateable or revocable when later evidence changes.Verbal reflection memory
Reuse feedback across attempts.
feedback_reuse_across_attemptsRECORD STATUSCandidate · v0.1.0UML class view
The proposed contract drawn as participant roles, received calls, and numbered dependencies.
Object interactions
The same roles and calls as a class collaboration and a numbered message sequence.
Pointcut
Where the mechanism applies. All four dimensions belong to the proposed match, not just its vocabulary.
- Context
- An agent receives feedback that can inform later attempts.
- Trigger
- A failure or critique is verbalized and stored.
- Structure
- Reflection producer, retrieval key, memory scope, and update policy.
- Effect
- A later attempt retrieves attributable feedback and uses it in context.
Protected contract
The obligation that clients, operators, and auditors should be able to rely on.
- Requires
- Attempt and feedback identities are linked.
- Ensures
- Retrieved reflection retains source and remains updateable or revocable.
- Invariant
- Reflected explanations are not promoted to verified facts.
- Violation
- Contradictory or poisoned reflections are filtered or explicit.
Negative control
A generic conversation history is not a reflection-memory contract.
Variation & lifecycle
The hot spot is admitted only where the protected semantics survive.
Permitted variation
Reflexion, episodic memory, observational memory, and project notes.
Test obligation
Test reuse, stale memory, contradiction, poisoning, and deletion.
Evolution question
Did reflection memory gain provenance and maintenance policies?
Prompt + code design
An illustrative prompt and a small design sketch for the proposed contract. Names and APIs are invented; this is not a repository excerpt.
def reflect(attempt, feedback, memory):
note = Reflection(
text=evaluator.explain(attempt, feedback),
attempt_id=attempt.id,
feedback_id=feedback.id,
scope=attempt.task.scope,
)
memory.put(note)
return note
def retrieve(task, memory):
return [note for note in memory.search(task) if note.scope == task.scope]Illustrative design sketch. A reflection without provenance becomes an unfalsifiable instruction. This example is a teaching aid, not implementation evidence or a conformance claim.
Detection & matching
The frozen rule that retrieves this record, the canonical source exemplar, and the control that should stay unmatched.
- Join point
feedback_reuse_across_attempts- Source locator
- See the source record.
- Lexical cue
(?i)\b(?:Reflexion|verbal[_-]?reflection|reflection[_-]?memory|episodic[_-]?memory)\bFrozen expression, v0.1.0. A match is a retrieval cue, not a confirmed implementation.- Aliases
- reflectionmemory, episodicmemory, lessonslearned, reflexion
- Canonical exemplar
- mastra-ai/mastra
packages/memory/src/processors/observational-memory/reflector-agent.ts:50Support: packages/memory/src/processors/observational-memory/__tests__/observational-memory.test.ts:10564 - Negative control
- A generic conversation history is not a reflection-memory contract.
Scope-anchored review. pohe-agent analyze <repo> --pattern R02 anchors the cue to its enclosing declaration and checks a separate operational signature for all four pointcut dimensions. Missing roles and negative-control risks remain visible; a structural match is not E2/E3. Calibration report ↗
Repository files
Up to five public files retrieved by the frozen cue and pinned to the audited commit. A match is a place to inspect, not a confirmed implementation.
Evidence & provenance
Each layer answers a different question. Do not substitute retrieval for review.
Source-located exemplar
A concrete source anchor is available for this proposed record. It is one exemplar, not evidence that all repositories—or every contract field—conform.
Review boundary: this candidate and its specification come from an AI-assisted study. Independent human validation remains open.
2.8% of repository families in the frozen panel have at least one current cue, historical cue, or canonical source layer. This is not confirmed prevalence.
Current lexical-cue repositories: 0 / 41899383db98e0packages/memory/src/processors/observational-memory/reflector-agent.ts:50packages/memory/src/processors/observational-memory/__tests__/observational-memory.test.ts:10564Reflector writes reusable verbal memories.
Exploratory retrieval cue Regex / v0.1.0
(?i)\b(?:Reflexion|verbal[_-]?reflection|reflection[_-]?memory|episodic[_-]?memory)\bThis expression is a discovery instrument only. A match is a retrieval cue—not a confirmed implementation, pointcut match, or contract proof.