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:
| Action | How |
|---|---|
| Teach a rule explicitly | @sigilix remember we use integer cents, never floats, for money |
| Forget a rule | @sigilix forget <the rule> |
| Teach implicitly | Reply 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 forgetremoves 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 reason | What it tells the system |
|---|---|
| Not a bug | The category is over-firing on this repo |
| Bad anchor | The finding pointed at the wrong place |
| Already covered | Another mechanism (a test, a lint rule) owns this |
| Too minor | The severity floor is miscalibrated for this team |
| Wrong context | The 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 strengthSignals 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)
| Concern | Reality |
|---|---|
| ”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
| Feature | How they relate |
|---|---|
| Conversational Learnings | The headline layer. Explicit, repo-scoped, attributed inline. Takes precedence as stated guidance. |
profile: assertive | Lowers the flag-worthiness floor globally. The statistical corpus still applies on top. |
deterministicChecks | Unaffected. Memory only adjusts LLM-specialist findings, never regex matches. |
| Secret scanning, AST rules | Unaffected. 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.
Read next
Teach a rule in plain language; see it applied and attributed inline.
The memory taxonomy, the gardener, and how stale habits age out.
How org memory and per-developer seat memory compose — and stay isolated.
Proof-tier receipts and the grounding gate that govern what posts.