Controlled learning queue for AI employee-style agents

June 2, 2026 ยท View on GitHub

Claude Code, OpenClaw, Cursor, and MCP tools make it easy to turn a repository into a role-based worker: CLAUDE.md as the job description, Skills as procedures, and a memory/ folder as durable knowledge.

That pattern compounds quickly, but it has a failure mode: the agent can overlearn from one weird lead, support ticket, or edge case and rewrite shared memory for every future run.

Use a controlled learning queue when an agent is allowed to propose durable memory changes but not silently promote them.

Split the folders

role/                  # job contract: responsibilities, boundaries, escalation
skills/                # callable procedures with inputs, outputs, stop conditions
memory/durable.md      # approved facts only; small enough to review
memory/working-notes.md# scratch observations; allowed to be messy/temporary
learning_queue.md      # proposed durable changes awaiting promote/reject
leads/                 # tiny job cards for active work

The key rule: memory/durable.md changes only through learning_queue.md proposals with source, reason, scope, expiry, and reviewer decision.

Proposal shape

Each proposed learning should answer:

  • Source: what run, lead, issue, or transcript produced the observation?
  • Observed: what happened, without storing raw private text?
  • Proposed durable change: the exact fact/rule to add, edit, or remove.
  • Reason: why this should affect future runs, not just the current case.
  • Scope: global, client-specific, project-specific, channel-specific, or temporary.
  • Expiry / review date: when this fact should be rechecked.
  • Status: proposed, promoted, rejected, or expired.

That is enough to preserve learning while keeping an agent from slowly corrupting ICP, pricing assumptions, escalation rules, or compliance boundaries.

Try the copyable example

See examples/controlled-learning-queue/ for a tiny AI sales/ops worker layout and a local checker:

node examples/controlled-learning-queue/check-learning-queue.mjs examples/controlled-learning-queue/learning_queue.md

The checker is intentionally small. It fails proposals that are missing source/reason/scope/expiry/status, that try to auto-promote without review, or that paste raw secrets/private payloads into the learning queue.

How this fits Pluribus

Pluribus is not trying to be the agent's brain. This pattern keeps intentional context reviewable: durable memory is a small versioned source of truth, while working notes and proposed learnings remain visibly provisional until promoted.