Agent memory profile
Type: types/type-spec.md
A profile classifies the accepted set's memory records after reconciliation and report verification. It declares no records and adds no evidence. Values cite canonical records of the set, resolved through reconciliation. A source fact absent from those records cannot establish a value; the assessment and note retain that limitation. The profile is a separate member from the source-native memory account. The record contract governs the records it cites.
Frontmatter
| Field | Required | Use |
|---|---|---|
type |
Yes | agentic-system-analyses/types/agentic-system-memory-profile.md |
description |
Yes | System and compared memory boundary |
run-id |
Yes | Supplied set identity |
source-identity |
Yes | Frozen repository or capture identity |
reviewed-boundary |
Yes | Frozen revision or capture label |
memory-comparison |
Yes | Scope and all ten axes |
Memory comparison fields
The mapping has version: 2, 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 assessment, units, records and note. Each unit has
scope, assessment, findings, records and note. Each finding has one
value, basis, records and note. Findings are authored once; no parallel
value list or evidence map is authored. Each records entry is a record
citation's link destination, memory.md#mem-rte-update-path: the declaring
member and the record's anchor. A basis is claimed, afforded,
wired, observed, or causally supported, attached to the actual supporting
part or mechanism. Distinct bases remain distinct findings even for the same
value. One wired witness never upgrades an opaque or claimed alternative.
Assessment is known, partial, absent, inapplicable, uninspected, or
not-determinable, describing coverage independently of evidence strength.
At unit level, known means complete classification within its named scope;
partial retains classified findings and names unresolved included parts,
missing facts and prevented conclusions. Several findings share a unit only
when their scope and coverage agree. not-determinable means inspection
established no controlled value; uninspected names an included part not
inspected. Neither means absence. Units assessed not-determinable,
uninspected, absent or inapplicable have no findings.
absent needs bounded absence records;
inapplicable needs the relevant boundary and reason. A local trace-learning
"no" requires a known unit and an evidenced-absence record covering that
unit's scope. An unresolved alternative belongs in a separate unit, not in a
partially classified unit carrying "no".
Axis assessment covers the explicitly named inventory, not a separately
authored complete-value assertion. known needs all included units resolved
and accepted records supporting inventory coverage of the scoped boundary.
partial requires at least one supported controlled finding and unresolved
included coverage. A warranted local trace-learning "no" counts as classified
coverage, just as "yes" does; it does not assert that learning exists. An
inventory with a known local "no" and an unresolved alternative therefore has
axis assessment partial, not uninspected or not-determinable. Those latter
axis assessments apply to unresolved inventories with no controlled findings.
Axis absent and inapplicable need their own bounded warrants. An inventory
containing only inapplicable units uses axis inapplicable, not known; it is
not evidenced absence. Every assessment and finding has an explanatory note
and references canonical accepted records, resolved through reconciliation.
Unresolved included units cannot be dropped to obtain known; scope excludes
no opaque alternative merely because another is known.
Derived system unions retain supported findings and their local warrants, subject to the trace-learning negative rule below. Compatibility projections may derive strongest existence evidence per value but must retain unit data, revision and coverage. Complete-value statistics need complete coverage and strong evidence for every finding, not merely a strong witness per value.
A local trace-learning "no" is bounded absence in that unit. It appears in the
derived system union only when the entire learning inventory is known and
no "yes" finding exists. Incomplete coverage suppresses system-wide "no",
even when local negatives count toward partial classification. A "yes"
finding also suppresses "no" in the derived system union. Neither suppression
removes local evidence. Quote both values in YAML.
For example, a known "no" unit plus a not-determinable unit has partial
coverage and no system-wide learning value; a known "yes" unit plus an
unresolved unit has partial coverage and a supported system "yes". Neither
inventory supports a complete-value conclusion.
The scope agrees across the profile, the declared and annotated records and the members' 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.
Classification units
| Axis | Natural unit and boundary |
|---|---|
storage_substrate |
Each operative retained object/part, including opaque provider state; encoding is not substrate. |
representational_form |
Operative part and consumption path; split mixed natural-language, symbolic and numerical material. parametric abbreviates distributed-parametric form. |
lineage |
Object/part and derivation path; a known path does not resolve initial or embedding provenance. |
behavioral_authority |
Retained part, actual consumer and effect; distinct consumers/effects keep distinct findings. |
write_agency |
Each write/admission mechanism, not authorship or physical I/O. |
curation_operations |
Implemented transformation with its own evidence layer, not a route name or requested behavior. |
read_back_direction |
Request, selection and delivery operations within a chain. |
read_back_signal |
Actual selector and selected retained part on each push operation. |
trace_learning |
Each qualifying automatic trace-fed write and later consumer. |
trace_source |
Original input to each qualifying trace-fed write, including mixed or opaque inputs. |
Write agency
manual requires an explicit human operator decision supplying, editing,
approving or replacing that retained content. Software/model admission without
that decision is automatic. Starting a workflow does not make subsequent
admission manual. Generic caller identity alone leaves control unresolved.
Behavioral authority is independent of write agency. Classify a separately
evidenced replacement of a checkpoint at its own admission mechanism, not at
the read that selects it.
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 trace-fed update's learning authority at its update consumer and its output's downstream authority are separate paths, as the record contract describes; check both on the actual routes without a blanket implication between authority and trace learning. 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.
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 only
for a completely assessed pull-only boundary or bounded evidenced absence of
read-back, with evidence covering every included direction unit. A known pull
route cannot make an unresolved alternative inapplicable. 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. Its source describes that learning route and is inapplicable only for a bounded, completely assessed absence of qualifying trace learning. One unresolved write cannot be made inapplicable by another route's negative. 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.
Comparison rationale
Explain non-obvious mappings and unions without repeating the records. State which supersessions affect a value, and which missing recorded facts prevent a stronger assessment, and log each source read the worker rules allow. Each classification keeps its warrant in the cited records.
Template
---
type: agentic-system-analyses/types/agentic-system-memory-profile.md
description: "Memory profile of {system} at {memory boundary}"
run-id: AAS-YYYY-MM-DD-system-slug-token-nn
source-identity: "{repository or capture identity}"
reviewed-boundary: "{frozen revision or capture label}"
memory-comparison:
version: 2
scope: "{included and excluded memory surfaces}"
axes:
# Repeat for all ten axes using their natural units and controlled values.
write_agency:
assessment: partial
units:
- scope: "{inspected admission mechanism}"
assessment: known
findings:
- value: automatic
basis: wired
records: [memory.md#mem-rte-update-path]
note: "{recorded software admission without per-content operator decision}"
records: [memory.md#mem-rte-update-path]
note: "{unit coverage warrant}"
- scope: "{included initial-content admission mechanism}"
assessment: not-determinable
findings: []
records: [memory.md#mem-obj-initial-content]
note: "{missing control fact and conclusion prevented}"
records: [memory.md#mem-rte-update-path, memory.md#mem-obj-initial-content]
note: "{inventory coverage and unresolved included part}"
# Placeholder citations illustrate shape only; cite accepted records as member.md#anchor.
---
# {System} memory profile
## Comparison rationale