Skip to content

Glossary

A single message in a conversation between an agent and a user (or between two agents). Turns are the atomic write unit. They carry role, content, optional tool / actor / session_id provenance, and a SHA-256 content hash for deduplication.

→ See Quickstart for record_turn examples.

A retrievable unit produced from one or more turns. Memoturn materializes several kinds:

  • Turns: raw conversational content (the default search unit).
  • Pinned: operator-asserted durable facts via pin_memory.
  • Semantic: extracted durable facts via extract_semantic or promoted candidates.
  • Consolidated: rolling per-session summaries.
  • Reflections: cross-session consolidations produced by the daily cron.

Each memory carries a salience score (0.0–1.0) that decays over time and is boosted on recall.

→ See Architecture.

The top-level isolation boundary. Each project has its own Durable Object (write coordinator), its own memories in Vectorize and Postgres, and its own API keys. Projects don’t share data; that’s by design.

A logical “conversation thread” inside a project. Sessions group turns so summaries and presence can scope cleanly. Optional but recommended for any agent that sustains a thread across turns.

Pin elevates a memory so it’s always returned in search regardless of relevance score. Use for canonical facts (“we use TanStack Start, not React Router”). Forget soft-deletes a memory by content hash so it stops appearing in search.

→ See Memory rules for automated pinning.

A cross-tool message keyed by string. Any agent in the project can set_broadcast(key, value); any other agent can get_broadcast(key) or react via a rule. Used for “leave a note” patterns: “branch is in conflict”, “build is broken”, “review needed on PR-123”.

→ See Team coordination.

A short-lived lease on a resource (a file path, a feature flag, a deployment slot). claim(key, holder, ttl_ms) succeeds atomically; subsequent claims block or extend. Watchdog rules can release stale claims automatically.

→ See Team coordination.

A request that another agent (or a human) check work before continuing. request_review writes a review record routed to a reviewer pool; mark_reviewed closes it. Pairs with the bundled review-router rule.

→ See Team coordination.

A cross-tool view of “what files / functions are agents currently working in.” Driven by heartbeat calls that include current_file and current_function. Surfaces collisions when more than one agent is active in the same path.

→ See Team coordination.

A declarative workflow that fires on broadcast events. JSON spec (on_kind plus actions[]) runs server-side with ${payload.X} template substitution. Three are bundled: error-pin, claim-watchdog, review-router.

→ See Memory rules.

A self-contained capability spec following the agentskills.io v1 format. A markdown SKILL.md plus optional resource files. Memoturn stores them, indexes the description for semantic discovery, and serves them on demand to agents that ask for them.

→ See Skills.

Memoturn fuses five retrieval legs via Reciprocal Rank Fusion (RRF):

  • Dense: vector similarity (Workers AI BGE embeddings, stored in Vectorize).
  • Lexical: Postgres full-text search (tsvector over tsquery).
  • Hot: a recency cache served from the project’s Durable Object storage.
  • Entity: structured lookup of extracted symbols, files, error codes, commands.
  • Graph: BFS over entity co-occurrence edges.

Post-fusion, results are weighted by salience and rescored by a cross-encoder reranker. Each result reports per-leg ranks so you can see which legs contributed.

→ See Architecture.

A 0.0–1.0 score on every memory. Initialized at 1.0, decays exponentially based on memory kind (turns=14d, consolidated=60d, pinned=180d, semantic=365d half-life). Boosted +0.10 when the memory is returned in search results (reinforce-on-recall). Multiplied into the RRF fusion score so stale context ranks lower than fresh.

A structured subject-predicate-object triple with a validity window (valid_from / valid_to). Facts capture durable claims about the project (“auth uses JWT”, “deploy target is us-east-1”). Recording a new fact for the same subject+predicate auto-supersedes the previous one. Point-in-time queries answer “what was true on date X?”.

→ See Tool reference.

An LLM-extracted memory proposal staged for review before promotion to durable memory. The ingest pipeline produces candidates from every turn; agents or humans accept or reject them via review_candidate. Prevents noise from low-confidence extractions.

→ See Tool reference.

A conflict between two active facts with the same subject+predicate but different objects. find_contradictions scans for these and uses an LLM judge to classify severity (low/medium/high).

→ See Tool reference.

A typed relationship between two memories or facts (supersedes / contradicts / derives_from / same_as) with cascading side effects. supersedes closes the destination’s validity and transfers salience. Created via execute_edge.

→ See Tool reference.

The synthesize tool runs a search internally, feeds top results to an LLM, and returns cited prose with an explicit list of gaps — things the question asks about that the project’s memory doesn’t cover.

→ See Tool reference.

Every turn and memory carries optional tool (e.g., cursor, claude-code, cli/observe) and actor (e.g., user email) columns. Search filters can scope by these: “what has Alice’s Cursor session done in the last hour?”.

The Durable Object that owns a single project’s writes. Serializes record_turn / claim / broadcast / review mutations, hot-caches recent turns, and broadcasts WebSocket fan-out to all subscribers. One DO per project, zero cross-project sharing.