Agent memory analysis report

Type: types/type-spec.md

The memory analyst's source-grounded findings, their comparison classifications, and their integration questions for one run, at the run's frozen boundary. The last report the run accepts is the set's memory member byte for byte: it declares its records under their MEM- IDs, and no step rewrites it. Corrections to its records are amendments in the reconciliation member. Its comparison profile is authoritative for downstream consumers. The source contract governs evidence; the record contract governs identity, common fields and statuses.

Frontmatter

Field Required Use
type Yes agentic-systems/types/agent-memory-analysis-report.md
description Yes Subject and discriminating memory boundary
run-id Yes The set's run ID
source-identity Yes Exact repository or capture identity
reviewed-boundary Yes Full Git commit or capture label
report-status Yes complete or blocked
memory-comparison Yes Scope and all ten axes, under the contract below

A blocked report names missing access or an unresolved scope decision that prevents completing the assigned analysis. It keeps all sections; unreached axes use explicit uninspected assessments rather than guessed values. A blocked report never becomes a set member. A justified unknown that only limits a conclusion may remain in a complete report.

Memory comparison fields

The mapping has exactly scope and axes. scope names the memory boundary: retained objects accumulated or changed through use, their access structures, and their write, maintenance, and later-consumer routes. Do not substitute the whole runtime's storage, permissions, or shipped static instructions for that memory boundary. Every axis below occurs exactly once in axes:

Axis Controlled values
storage_substrate files, graph, in-memory, kv, model-weights, prompt-registry, rdbms, repo, service-object, sqlite, vector
representational_form natural-language, parametric, symbolic
lineage authored, imported, other-compiled, trace-extracted
behavioral_authority enforcement, instruction, knowledge, learning, ranking, routing, validation
write_agency automatic, manual
curation_operations consolidate, decay, dedup, evolve, invalidate, promote, synthesize
read_back_direction pull, push
read_back_signal coarse, identifier, inferred-embedding, inferred-judgment, inferred-lexical
trace_learning no, yes
trace_source event-streams, session-logs, tool-traces, trajectories

Each axis has exactly the fields assessment, values, evidence, records and note. assessment is known, partial, absent, inapplicable, uninspected, or not-determinable; these describe coverage, separately from evidence strength. known asserts that the value set is complete for this axis within the scope. partial retains supported positive values while its note identifies the unresolved included parts and the conclusion they prevent. not-determinable means inspected evidence cannot establish any controlled classification.

For known or partial, give nonempty values and exactly one evidence entry per value, each with basis, records, and note. The basis is claimed, afforded, wired, observed, or causally supported, warranted by its named route or object: the strongest supported witness for that value's existence, with weaker alternatives and their limits retained in the records. A wired witness does not upgrade another route or value. A value counts once per system even if several routes support it. Axis-level records support the coverage assessment. Every record the profile references is declared or annotated (#### On <ID>) in this report itself; the memory analyst annotates any seeded record its profile cites, so the profile validates without the other members. Other assessments require values: [] and evidence: {}. absent requires an evidenced-absence record, MEM-ABS-* or a seeded ABS-*, establishing bounded absence. Every assessment and value has a nonempty explanatory note. An opaque included branch prevents complete coverage, not independently supported positive findings. A partial trace-learning assessment cannot assert "no". Trace learning has one value only; quote "yes" and "no" in YAML so they remain strings.

The scope agrees across the profile, the declared and annotated records and the report's prose. Every value the prose supports appears in the profile; a value the profile asserts is supported by the records it cites. Identify included and excluded alternatives on each branch. An inspected display summary does not classify an opaque consumed payload.

Storage and representational form cover the scoped operative parts, not one chosen primary store; parametric abbreviates distributed-parametric form. Lineage covers their derivation paths. A human-triggered automatic extraction remains automatic write agency.

Behavioral authority

Behavioral authority names the force a retained part has at its actual consumer. The profile names the consumed part, consumer and effect supporting each value:

Value Consumption that establishes the value
knowledge Content supplies evidence, reference, context or advice, such as facts returned to an answering agent.
instruction Content supplies standing directions, such as retained preferences delivered as host guidance.
enforcement Retained controls permit or refuse an action, read or write, such as suppression IDs excluding facts from delivery.
learning Retained examples, experience or feedback feed an update to parameters or durable behavior-shaping artifacts, such as session records used to revise standing guidance.
ranking Retained content, features or scores influence relative priority, such as fact text and aliases determining retrieval scores.
routing Retained state selects an operation, destination, scope or input window, such as a checkpoint selecting the next events to extract.
validation Retained criteria determine whether a candidate conforms or is admissible, such as a schema or blocked-ID set checked before admission.

These forces can coexist. A blocked-ID set used to reject a candidate supplies a validation criterion and an enforced veto. Ranking influence does not require retained ranking policy or a learned scoring algorithm; retained text scored by fixed code is a ranking input. Unconsumed metadata has no authority. Delivery wiring and actual host compliance retain their separate evidence bases.

Curation operations

Curation operates over retained memory. consolidate selects, compresses or combines retained content into a reduced representation of its existing claims. Extracting standing facts from retained session messages is consolidation, including when the raw messages remain available. dedup merges or removes near duplicates; evolve revises an existing entry; synthesize creates a claim absent from the inputs; invalidate withdraws current reliance while retaining history; decay forgets or downweights; promote raises tier or salience.

The operation follows the route's implemented transformation, not its command name. Index rebuilds, acquisition and primary-key collision checks alone establish none of these. A faithfulness defect, such as extraction dropping a negation, does not turn consolidation into synthesis. Opaque branches retain their uncertainty without excluding an operation supported by an inspected branch.

Read-back

Read-back uses the shared record contract's definition of accumulated memory and later consumption. Use both pull and push when both routes exist. Read-back signal characterizes push selection and is inapplicable for a known pull-only boundary. Fulfilling a consumer's request for retained material is pull; an automatic selector supplying retained material without that request is push, and an upstream operator choice can supply its selection input. Distinguish these operations within a chain rather than counting a requested return as another push merely because code delivers it. For each push signal, name trigger, selector input and selected retained part. Identifier-based push requires an actual identity match that selects delivered parts; an identifier on a requested file or a catalog entry alone is insufficient, and coarse availability and budget filtering remain separate from targeted selection.

Trace learning and source

Traces record activity or experience, including agent sessions, tool use and environmental events. Trace learning requires automatic trace-fed writes producing durable behavior-shaping artifacts or learned parameters; storing raw logs alone does not qualify. Its source describes that learning route and is explicitly inapplicable when trace learning is known not to occur. A generated continuation summary qualifies when traces feed its automatic production, it is retained, and a later consumer receives it as context or guidance; calling the transformation reshaping does not exclude it. Neither new knowledge nor observed improvement is required for a wired classification. Assess every qualifying scoped route's trace source before aggregating.

trace_source classifies the original input to that qualifying write:

Value Source content
session-logs Recorded conversational turns from agent work sessions, including user messages used for extraction.
tool-traces Recorded tool requests, results or execution feedback used by the update.
event-streams Records of discrete runtime or environmental events, such as hook callbacks, calendar entries or timestamped voice cues.
trajectories Linked sequences of states, actions and outcomes used as multi-step experience.

Classification follows source content and origin, not an adapter's role label or serialization. Wrapping session messages or imported project files as journal events does not add event-streams. Calendar entries and timestamped voice cues remain event-stream sources when imported as notes and used to produce durable facts for later consumption. A retained input may support several source values; each value names the qualifying content the write actually consumes. Imported static instructions alone establish imported lineage, not a trace source.

Report sections

Boundary and evidence

Name the subject, frozen source boundary, included and excluded memory surfaces, inspected paths and evidence layers, access gaps, and conclusion limits. The set's source declarations are the overview's.

Retain a compact coverage table: entry point or memory operation, source path, covering supplied or new IDs, or exclusion/uninspected reason and conclusion prevented. Distinguish direct source reads from supplied runtime findings.

Core ideas

Describe the few mechanisms that distinguish how retained material affects later work, including context selection and budget, source trust, and material editing/adoption surfaces. Findings follow the shared source and status contracts.

Shared records

## Shared records contains declarations under the six kind headings in the template, following the shared record contract with MEM- IDs. An empty kind says none declared in this member. Records declared elsewhere are annotated under Annotations rather than re-declared. Records distinguish operative parts, raw traces from derived memory, content from access metadata, opaque payloads from their readable display summaries, and give storage, representational form, lineage, consumers, authority at the actual consumer, and limits. A route identifies trigger, producer or selector, retained input, persistence, delivery, later consumer and status. Evidence does not create a separate record kind.

Annotations

## Annotations holds only #### On <ID> — Label entries on records declared elsewhere, including every such record the comparison profile cites. An entry carries only memory-specific fields and their supporting passages: storage substrate, representational form, lineage, memory consumers and their behavioral authority; raw versus derived material; write agency, curation, trace learning and source; and read-back trigger, selector inputs, selected retained parts, budget, persistence, delivery, later consumer, status and limits. It does not copy the record's generic identity or route progression. Omit the section when there are no annotations.

Write side

Trace acquisition, authoring, automatic transformation, maintenance, rejection and withdrawal, separating manual authoring, automatic acquisition, and automatic operations over already retained material. For trace-fed transformations, including compaction, show the raw-to-derived-to-later-consumer chain, including alternative checkpoint forms. State whether derived behavior-shaping material retains its reasons and whether a later route reads them. Link to the records rather than repeating their full artifact classifications.

Read-back

Identify the later consumer, selection operation and delivery channel for each route. Distinguish requested reads from automatic supply, API affordance from wiring, and availability, delivery, activation and demonstrated benefit. A storage method or an API with an unspecified hypothetical caller establishes only a storage capability, not a consumer route; a documented external consumer role may establish an afforded route without deployed wiring. A push route names its automatic selector's trigger, inputs, selected parts, budget and consumption channel. Record targeting inputs, budgets and authority where they affect a conclusion.

Comparison rationale

Explain non-obvious mappings and unions in memory-comparison. The field contract above governs scope and support; do not repeat record classifications here.

Integration issues

List every correction to a supplied fact, every record of this report that may duplicate a seeded record, and every unresolved question, with its evidence, analytical consequence and the full IDs it concerns, so the reconciliation can amend or supersede without rediscovering its meaning. State none when no issues remain. Supported corrections and justified unknowns can remain in a complete report; side-channel messages do not substitute for this section.

Limitations and checks

Name prevented conclusions, source and method identity rechecks, and the deterministic validation result. A self-check does not attest independence or correctness of the final integrated analysis. Do not omit weaknesses to make the report appear ready for integration.

A complete report retains no Validation: pending line. Code's acceptance record is authoritative for structural acceptance; the report does not independently attest acceptance.

Template

---
type: agentic-systems/types/agent-memory-analysis-report.md
description: "Memory mechanisms of {system} within {memory boundary}"
run-id: AAS-YYYY-MM-DD-system-slug-nn
source-identity: "{repository or capture identity}"
reviewed-boundary: "{immutable revision or capture identity}"
report-status: complete
memory-comparison:
  scope: "{included and excluded memory surfaces}"
  axes:
    # Fill all ten axes under Memory comparison fields.
---

# {System} memory report

## Boundary and evidence

## Core ideas

## Shared records

### Components

### Operative objects

### Routes

### Claims

### Evidenced absences

### Behavioral-authority paths

## Annotations

## Write side

## Read-back

## Comparison rationale

## Integration issues

## Limitations and checks

Omit Annotations when empty; otherwise use only annotation headings there.