Skip to main content

ADR-0019: Compounding Project Memory (Memory Posture)

Status

Proposed / exploring. Prompted by a competitive-landscape review (2026-07-08). Like ADR-0002 (viewer-first posture), this ADR does not introduce a new mechanism — it names a stance that the memory-themed ADRs already express (ADR-0011 trajectories, ADR-0012 distillation, ADR-0020 the in-session inner loop) and sharpens it into a stated differentiator. Revisit for promotion to accepted (+ a spec) alongside ADR-0011/0012, after the core loop (SPEC-0001..0003) is standing.

Context and Problem Statement

Every coding agent on the market today starts cold. Each task reconstructs context from scratch: re-read the repo, re-derive the conventions, re-learn the corrections a human already gave last week. The general contrast is a familiar one — memory that compounds rather than retrieval that starts cold — and the common answer is to build a first-class knowledge graph, because a general-purpose assistant has to manufacture memory out of messy inputs (email, meetings, chat).

Stet is in a stronger position and has not been stating it. A git repository is already a versioned knowledge graph. PRs, reviews, reactions, and merge/revert outcomes are already labeled outcome data. Trajectories (ADR-0011) already capture how the work actually got done. Stet doesn't have to build a brain — the substrate exists, and the core loop already produces it. The problem is that this is currently framed defensively, buried across "proposed / exploring" ADRs, rather than named as the thing that makes Stet compound where every competitor starts cold.

This ADR promotes compounding project memory to a first-class posture and records the invariant that keeps it trustworthy.

The posture

1. Memory is the moat — state it first, not in a footnote

Stet's durable advantage is not the review UI; it is that a project's agents get measurably better over time because the project remembers. The one-line framing:

Every other tool's agent starts cold on every task. Stet's agents remember every review your team ever gave.

The trajectory (ADR-0011) → distillation (ADR-0012) → skills machinery is the implementation of that sentence. This ADR elevates it from an internal architecture note to a headline product stance.

2. Git-native memory, not a vector store or a vendor brain

Stet's memory is the repo: trajectories committed alongside the code (ADR-0011), skills as reviewed files (ADR-0012), config as the .stet topology (ADR-0015), rich markup/votes in embedded Dolt (ADR-0013). It is inspectable, diffable, portable, and owned by the user — not hidden embeddings and not a hosted "brain." Where a general-purpose assistant must construct a knowledge graph from unstructured inputs, Stet's graph is the version-control history it already lives in.

3. Trust narrative: the agent's reasoning is a file in your repo

Promoted from ADR-0011's framing to a user-facing principle: the agent's reasoning is not a black box — it is a plain, versioned artifact you can open, read, mark up, and delete. This is simultaneously the trust story (auditable provenance, richer than Co-Authored-By) and the anti-lock-in story (open, deterministic-gated, harness-portable formats). It should be surfaced to users as a reason to trust the system, not left as an implementation detail.

4. Two loops, one law

Compounding memory runs at two granularities, deliberately kept separate:

LoopADRScopeSpeedStorage
InnerADR-0020within a single dispatch / review sessionfast, livelocal-first, ephemeral, not committed
OuterADR-0012across many sessions, over timeslow, batchedcommitted, reviewed skills

The law that keeps both trustworthy: durable memory only ever becomes durable by graduating into a reviewed PR artifact. Nothing about an agent's durable behavior changes silently. The fast inner loop (ADR-0020) may keep local working memory during a session, but its only path to durability is producing a reviewed artifact — a trajectory capstone (ADR-0011) or a distilled skill (ADR-0012) — through the normal PR ceremony. This preserves provenance and compliance: no silent behavior drift, no un-audited learning. The PR ceremony is load-bearing, not overhead.

Why it fits

  • Good, because it names an advantage Stet already has structurally and a competitor has to fake — turning "proposed / exploring" ideas into a coherent, defensible thesis.
  • Good, because it introduces no new mechanism and no new risk; it is a framing and an invariant over ADR-0011/0012/0020.
  • Good, because the "one law" gives the fast inner loop (ADR-0020) a home without weakening the provenance guarantees the PR ceremony provides.

Open questions

  • Measurement. How do we show that memory compounds — an efficacy metric for skills (A/B dispatch with vs. without), a "coldness" baseline to beat? (Shared with ADR-0012's efficacy open question.)
  • Positioning surface. Where the "starts cold vs. compounds" framing lives in product copy / onboarding / the docs site, and how much to promise before the loop is real.
  • Boundary with ADR-0013. Rich markup/votes live in Dolt, trajectories/skills in git; "project memory" spans both. This ADR asserts the posture; the storage split remains as decided in ADR-0011/0013.

Consequences (tentative)

  • Establishes an umbrella posture referenced by ADR-0011, ADR-0012, and ADR-0020; adds the "durable-only-via-PR" invariant as a stated law.
  • Creates a positioning obligation: the product should make the compounding-memory story legible to users (trust narrative + "starts cold" contrast).
  • No code or schema changes of its own; it constrains and frames the memory ADRs.

More Information

Prompted by a competitive-landscape review (2026-07-08). Governs nothing yet; frames the the project learns over time theme (ADR-0011, ADR-0012, ADR-0014) and the new inner-loop mechanism (ADR-0020). Framing contrast: memory that compounds vs. retrieval that starts cold.