MemoryReview Memory

Review Memory

A reviewer with no memory makes the same mistakes on every PR — tell it once that your codebase uses integer cents and the lesson is gone by the next review. Sigilix’s review memory is built the opposite way: guidance you give once shapes every review afterward — and you can see exactly when a learned rule was applied.

There are two layers. The headline is Conversational Learnings: rules you teach in plain language. Underneath sits a quieter statistical accept/dismiss corpus that nudges category-level flag-worthiness from how your team engages with findings.

Conversational Learnings

Reply to a Sigilix finding the way you’d reply to a human reviewer:

We use integer cents here, not floats — this is intentional.

Sigilix records that as a durable rule for this repo, applies it judiciously in later reviews, and attributes it inline when it does. The next time a finding would touch the same ground, you see why it was shaped:

Applied because of a learned rule: “we use integer cents here.”

A “Learned something new” footer confirms capture at the time you teach it.

Teaching and forgetting

Two explicit commands, plus implicit capture from natural replies:

ActionHow
Teach a rule explicitly@sigilix remember we use integer cents, never floats, for money
Forget a rule@sigilix forget <the rule>
Teach implicitlyReply to a finding in plain language (“this is intentional, we always do X”) — Sigilix extracts the rule

Learnings are captured across review surfaces — replying on a finding thread, an @sigilix comment, or a remember command all feed the same store.

How a learning shapes a review

A learning is guidance the reviewer reasons with, not a hard mute. When a later review encounters relevant code:

  • Sigilix injects the learned rules into the specialists’ context before they run.
  • A finding that contradicts a learning is reconsidered — often suppressed, sometimes re-framed — rather than re-posted blindly.
  • When a learning changes the outcome, the inline attribution makes it visible, so the memory is never a silent black box.

What is protected from learnings

Learnings make reviews quieter where you’ve earned it, but they do not let the repo silence its own safety net. Critical and security-class findings are carved out: a learning cannot suppress a genuine Critical or a security finding. The reviewer still surfaces those regardless of how much guidance has accumulated.

Privacy and scope

  • Learnings are captured at repo scope and mirrored to an installation-wide org corpus, so guidance can carry across your repos. They are never shared across customers. See Org & Seat Layering.
  • You teach team-level rules (“we use integer cents”), not models of individual reviewers.
  • Forgetting a rule with @sigilix forget removes it from the active set.

Conversational Learnings is the per-customer flywheel: every correction you give compounds into a reviewer that fits your codebase. See Conversational Learnings for the full lifecycle, and Commands for remember / forget.

Statistical accept/dismiss corpus (secondary)

Beneath the explicit Learnings layer, Sigilix also watches how your team engages with findings and uses that aggregate signal to calibrate category-level flag-worthiness. This is the older mechanism — useful, but it operates on patterns, not on rules you can state.

What’s a feedback signal?

Sigilix watches replies on its own past inline findings for dismissal-shaped feedback. Each dismissal is recorded with a bounded reason — one of a fixed set, not free text:

Dismissal reasonWhat it tells the system
Not a bugThe category is over-firing on this repo
Bad anchorThe finding pointed at the wrong place
Already coveredAnother mechanism (a test, a lint rule) owns this
Too minorThe severity floor is miscalibrated for this team
Wrong contextThe pattern is fine here (e.g., intentional in this module)

These are noisy per-finding. The corpus aggregates them across many PRs, and the same reasons feed the internal false-positive-rate ruler the pipeline is tuned against.

How the corpus shapes future reviews

It does not silence findings outright. When a category on your repo accumulates repeated dismissals inside a trailing window (on the order of three dismissals across ninety days), future findings that match are softened — downgraded one severity tier — rather than suppressed:

Category dismissed repeatedly on this repo (recent window)
  → matching findings soften one severity tier

Category acted on
  → nothing changes; any signal surfaces at full strength

Signals age out: the corpus is capped per scope and entries expire after their window passes, so a habit your team broke a year ago doesn’t haunt today’s reviews.

The corpus is scoped per repo — by finding category, and secondarily by file-path pattern (stored as a one-way hash, never the raw path) — and never per user. Sigilix stores aggregate signals, not the underlying findings, the code they referred to, or who dismissed them.

Carve-outs (same as Learnings)

ConcernReality
”Will it stop catching real bugs?”The floor adjustment is bounded. A Critical or security finding always surfaces regardless of corpus state.
”Will it remember a specific bug?”No. The corpus stores aggregate signals, not findings.
”Can I reset it?”Set { "reviewMemory": { "enabled": false } } to ignore the corpus for a review, then re-enable. A hard reset is a support request.

How memories age, and who they belong to

Two mechanisms sit underneath this page and each has its own deep-dive:

  • Aging. Not every memory should last forever. Memories are classified by type; ephemeral ones decay on a schedule while durable conventions persist. See Dynamic Memory & Decay.
  • Scope. Memory is layered by org and by developer seat, flowing in one deliberate direction. See Org & Seat Layering.
⚠️

Learned memory is applied to the model’s judgment most reliably by Sigilix’s own hosted models, which are tuned to defer to your team’s learned rules over their own priors. A model brought via bring-your-own-key on the CLI may deprioritize or argue with that memory — see the grounding trade-off there.

Interaction with other features

FeatureHow they relate
Conversational LearningsThe headline layer. Explicit, repo-scoped, attributed inline. Takes precedence as stated guidance.
profile: assertiveLowers the flag-worthiness floor globally. The statistical corpus still applies on top.
deterministicChecksUnaffected. Memory only adjusts LLM-specialist findings, never regex matches.
Secret scanning, AST rulesUnaffected. Perfect-provenance findings are never down-weighted by memory.
rules.<role>Unaffected. Explicit rules you set are honored.

The general rule: memory adjusts LLM judgment calls, never deterministic findings or explicit safety carve-outs.