ontology and Proactive Agent give agents the ability to remember more. memory-referee is designed to work alongside skills like ontology and Proactive Agent to give that memory a cleaner foundation to stand on — deduplicating entities, resolving naming conflicts, separating facts from goals from speculation, archiving stale records, and enforcing consistent schemas.
Built with Saturnday — AI-specific governance for AI-generated code.
While governing the build of memory-referee, Saturnday caught the kinds of mistakes AI coders routinely ship:
.envpatterns that could expose API keys, deduplication logic that could silently drop memory records, fake tests that passed while verifying almost nothing, and runtime validation gaps that would let malformed records corrupt downstream decisions.That is the difference between AI-generated code and governed AI-generated code. www.saturnday.dev
Invoke this skill whenever an agent's memory store may have accumulated:
Use it after running ontology or Proactive Agent to clean up accumulated memory before passing it downstream.
Each record in raw_records must be a JSON object with the following fields:
FieldTypeRequiredDescriptionid``stringyesUnique identifier for the recordkind``stringyesOne of fact, goal, or speculation``entity``stringyesThe entity this record is aboutcontent``stringyesThe record's contenttimestamp``stringyesISO 8601 date stringprovenance``objectyesSingle provenance object: { sourceId, sourceLabel, capturedAt }. The skill wraps this internally into an array to support merged records with multiple sources.tags``string[]noOptional tags
FieldTypeDescriptionreport``stringMarkdown adjudication report summarising all decisionsresult``objectStructured JSON with deduplicated, classified, validated records
sh
echo '[{"id":"r1","kind":"fact","entity":"Alice","content":"Alice prefers dark mode","timestamp":"2026-03-27T00:00:00Z","provenance":{"sourceId":"s1","sourceLabel":"pref-log","capturedAt":"2026-03-27T00:00:00Z"}}]' | node dist/index.js
typescript
import { main } from 'memory-referee';
const records = [
{
id: 'r1',
kind: 'fact',
entity: 'Alice',
content: 'Alice prefers dark mode',
timestamp: '2026-03-27T00:00:00Z',
provenance: { sourceId: 's1', sourceLabel: 'pref-log', capturedAt: '2026-03-27T00:00:00Z' }
}
];
const { markdown, json, report } = main(JSON.stringify(records));
console.log(markdown); // human-readable adjudication report
console.log(json); // structured JSON output