New capability
Agents learn—with boundaries
s-m-r-t agents can recall useful strategies, measure outcomes, develop tenant-specific personas, and propose better instructions without silently rewriting their own authority.
Recall before, capture after
LearningMemory stores scoped episodes with confidence, success and failure counts, expiry, and optional time decay. Memory is isolated by agent type, durable instance, and tenant.
class InvoiceAgent extends Agent {
static override learning = {
minConfidence: 0.8,
scope: 'invoice-extraction'
};
async run() {
const strategy = this.recalledMemories[0]?.value
?? await this.discoverStrategy();
this.stageLearning({ key: this.documentId, value: strategy });
if (!this.validated) this.reportLearningOutcome({ success: false });
}
}Personas make one agent class many durable workers
A tenant can create several AgentPersona records for one class. Each can have its own instructions, tool ceiling, principal, schedule, dispatch subscriber, and memory scope. The default persona preserves the old singleton identity for a non-destructive upgrade.
Adaptation stops at a human gate
Feedback reinforces memory automatically. A reflection runner may draft a DirectiveProposal, but it cannot activate the rewrite. A principal with personas.activate-directive must approve it, and the accepted text becomes a scoped prompt override.