Memory tiers + the learning loop
Memory tiers
Section titled “Memory tiers”Memory entries start advisory — written by any agent (add_memory),
searched by everyone (search_memory), but not yet trusted enough to shape
behavior automatically. CORRAL.md + docs/corral/*.md are ingested the same
way, tagged to the repo — code review is the trust gate for that knowledge,
same as for code. Promotion to vetted (shared=true) requires the human
gate below; only vetted guidance is injected into later audit runs’
task instructions.
The learning loop
Section titled “The learning loop”A periodic sweep clusters recurring finding signatures (the same Type+Target,
seen 3 or more times) and similar lessons into proposals: an LLM
drafts corrective guidance plus a reusable skill, Shep announces the pending
proposal at standup — even with an empty queue — and the operator approves or
rejects it, from the Proposals tab (a live count badge, kept off the Progress
tab so a busy sweep doesn’t crowd the view) or corral-admin proposals.
Approval fans the guidance out to vetted memory and a versioned skill
artifact. The injection of the top vetted lessons into a later run’s task
instructions — fence-wrapped under LESSONS FROM THE HERD (vetted) and
capped at 3 — is built but not wired: InjectLessons exists and is
covered by its tests, and no production path calls it. The hosted pool
creates its tracking mission and starts the driver without retrieving vetted
lessons. Nothing an audit does today is changed by an approved proposal, and
this page will say so until that changes.
The sweep re-feeds the full finding/lesson history every tick rather than accumulating counts, so a signature’s count always reflects what’s true right now, not what’s ever been true. Once a signature’s proposal is approved, that settles it: further sweeps of the same signature are a no-op — the question moved from “is this worth flagging” to “is the fix actually working,” which is the efficacy watchdog’s job. If the same signature recurs 2 or more times after promotion, a revision proposal reopens against the approved one for the human to reconsider. A rejected proposal is suppressed until its recurrence count doubles past the count it was rejected at, then reopens as fresh.
See corral-admin proposals list|show|approve|reject in the
CLI reference.