Architecture

Eight pillars and six categories

The primitives Spectron operationalises – pillars of agent memory and typed experiential sub-stores.

Spectron’s design is expressed as primitives the memory layer must support – not as a flat checklist of unrelated features. The primitives mirror habits of human memory: trust some sources more than others (authoritative versus experiential), link ideas that belong together (elaboration), notice patterns over time (consolidation), and admit when you are not sure (calibration and uncertainty). You can read the pillars as engineering requirements; you can also read them as “what would we need if an agent were to remember like someone who prefers to err on the side of caution?”

Each pillar is something the write path, read path, or storage layer must be able to represent. Together they are the minimum set for memory that holds up under scale, change, and multi-instance deployment.

  1. Authoritative – vetted organisational truth: employee handbooks, return policies, product catalogues, API reference docs. Like the HR policy PDF everyone trusts more than hallway gossip. Encoded as source.kind = "document".

  2. Experiential – what was said in conversation: “I prefer morning meetings”, “Our Q3 target is 12% growth”. Like notes from a call, not the official record. Encoded as source.kind = "turn".

  3. Reconciliation – when those streams disagree, Spectron does not pick a silent winner. If chat says “30-day returns” but the policy says “14 days”, you get an explicit uncertainty record instead of a blended guess. Same-source updates chain with valid_until on the prior assertion. One reconciler handles documents, turns, reflection, and elaboration alike.

  4. Elaboration – connecting facts that were stored separately but belong together – e.g. linking “Project Atlas” in chat to the “Atlas” product in a uploaded spec. Mostly background work; output carries source.kind = "elaboration" and derived_from pointing at inputs.

  5. Reflection – insights minted from the questions you ask the system (“What themes show up in support tickets this week?”). POST /reflect runs synthesis; persisted results use source.kind = "reflect" with lower default trust than primary sources.

  6. Consolidation – turning repeated observations into stable long-term beliefs over time – e.g. noticing three weeks of “user asks for dark mode” and crystallising that as a durable preference pattern. Background job; encoded as source.kind = "consolidation".

  7. Calibration – every assertion carries how sure the source is and how confident the reconciler is after extraction. Below a configurable floor, Spectron refuses to overwrite and emits uncertainty instead – like a fact-checker declining to publish without evidence.

  8. Collective – shared memory when multiple people or agents corroborate the same fact (e.g. three support agents all log the same outage). Promotion to a wider scope is policy-gated; automated corroboration promotion is not yet enabled in early preview builds.

The experiential layer is not one bucket. It is six typed areas with distinct lifecycles and retrieval behaviour: one raw transcript plus five extracted categories.

CategoryRole
EpisodicThe verbatim conversation: sessions and turns in order, including pronouns and references (“he”, “that project”) left as spoken (anaphora — words that point back to something said earlier). Source of truth for quotes (source.span). Written once; browsable as a transcript. See Sessions and turns.
IdentityWho someone is – name, title, employer, locale. E.g. “Alice is Head of Platform at Acme” or “King Charles III is head of state of the United Kingdom”. Long retention; feeds profile summaries.
KnowledgeFacts the user shared in chat, distinct from uploaded manuals – side projects, opinions, anecdotes. E.g. “Alice mentioned she is learning Rust.” Medium retention; fades without reinforcement.
ContextWhat matters right now – active ticket, current sprint, today’s meeting. E.g. “Alice is debugging the checkout flow this afternoon.” Short retention; replaced quickly.
InstructionsBehavioural memory, not factual (“always British English”, “never use my first name”). Stored separately; applied at prompt assembly, not generic retrieval.
UncertaintyExplicit “we do not know yet” records from conflicts, weak extraction, or missing evidence – so the agent can say “I’m not sure” instead of inventing.

A parallel trace layer records Spectron’s own retrievals, decisions, and responses – memory about how memory was used. Traces feed the ranker, calibrator, and consolidator. See Traces and memory evolution.

A practitioner-oriented tour of the six extracted categories is in Memory categories.

Was this page helpful?