sis-memory-orchestrator
Skill10 starsChanged 2 months agoMITView on GitHub
Substrate-aware memory orchestration for Starlight Intelligence System. Coordinates a 7-subagent team that proactively manages memory writes, retrieval, knowledge-graph maintenance, privacy redaction, decay, audit, and substrate benchmarking across pluggable backends (mempalace, Letta, Mem0, AgentDB, Qdrant, screenpipe, filesystem). Use when the user asks about SIS memory architecture, wants to add or swap a memory substrate, runs `/sis memory`, asks "where should this capture go", reports memory leaks or staleness, requests benchmarks across substrates, or sets up a new sovereign user adopting SIS. Honors privacy-by-default (everything local; embeddings local; PII redaction before any external call).
- Installs packages
1 other project uses a version of this.
Adopted by
Most recently taken up by
- Arcanea-Labs/Starlight-Intelligence-Systemword for word, first seen Nov 8, 2026
Other versions1 project uses a version of this.
Word for word · 1
- Arcanea-Labs/Starlight-Intelligence-System★ 10100% same
Edited · 0
None found.
Wrote their own version · 0
None found.
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository49 other files it gives its agents.
- AGENTS.mdAGENTS.md
- site/AGENTS.mdAGENTS.md
- .claude/hooks/CLAUDE.mdCLAUDE.md
- CLAUDE.mdCLAUDE.md
- site/CLAUDE.mdCLAUDE.md
- .github/copilot-instructions.mdCopilot instructions
- .cursor/rules/editorial.mdcCursor rule
- .cursor/rules/starlight-agents.mdcCursor rule
- .cursor/rules/starlight-core.mdcCursor rule
- .cursor/rules/starlight-memory.mdcCursor rule
- .cursor/rules/starlight-voice.mdcCursor rule
- frank-brand-editorSkill
- agent-hygieneSkill
- estate-guardSkill
- SKILL.mdSkill
- crypto-intelligenceSkill
- agent-forgeSkill
- skill-forgeSkill
- system-forgeSkill
- taste-engineSkill
- integration/ecosystem-syncSkill
- integration/repo-bridgeSkill
- integration/transmission-protocolSkill
- integration/universal-adapterSkill
- intelligence/decision-frameworkSkill
- intelligence/hermes-searchSkill
- intelligence/pattern-recognitionSkill
- intelligence/strategic-reasoningSkill
- intelligence/systems-thinkingSkill
- heartSkill
- storageSkill
- memory/capture-disciplineSkill
- memory/context-preservationSkill
- memory/insight-distillationSkill
- memory/knowledge-synthesisSkill
- memory/memory-consolidationSkill
- memory/vault-managementSkill
- agent-creatorSkill
- orchestration/context-engineeringSkill
- orchestration/gencreator-stackSkill
- orchestration/hermes-swarmSkill
- orchestration/multi-agent-coordinationSkill
- orchestration/parallel-executionSkill
- orchestration/workflow-designSkill
- workflow-skill-creatorSkill
- safety/mutation-approvalSkill
- safety/permission-gateSkill
- safety/private-public-splitSkill
- safety/secret-detectorSkill
The file
We split this skill into the rules it gives an agent
7 rules. About 0 are common, 3 are distinctive, and 4 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈3
Distinctive · estimate
This author's own choices. Worth a look.
4
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 36
Every memory operation flows through five gates.
- Distinctive: line 74
When to add or swap:
- Very specific: line 95
Embeddings local too: Use sentence-transformers (all-MiniLM-L6-v2 for speed, bge-large-en-v1.5 for quality) — never OpenAI/Cohere embedding …
- Very specific: line 115
Run via scripts/benchmark_substrates.py.
- Distinctive: line 121
When a user asks "set up mempalace":
- Very specific: line 123
Verify clone + Python 3.11+: git clone https://github.com/mempalace/mempalace ~/.starlight/mempalace
- Very specific: line 137
If upstream mempalace API differs from the contract above, update references/substrate-matrix.md::mempalace section with the actual …
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
SIS Memory Orchestrator
v0.1 scope cut (2026-04-30) — round-trip-first.
This skill describes the full architecture. What ships in v0.1 is a deliberately small subset: 3 agents (Router, Guardian, Bencher), 2 substrates (mempalace in-tree adapter + Qdrant scaffold-disabled), replay-only benchmarks, dog-fooded through People Intelligence
/perf-feedback-rehearsal. Implementation lives inprivate/voice-operator/service/memory/. CLI surface:python -m service.memory.cli {commit,recall,status}.The remaining agents/substrates/cron/encryption/CRDT below are parked with falsifiable un-park triggers in
memory/benchmarks/DECISIONS.md. A parked item ships only when its trigger is observed on the live system — not from a roadmap.The v0.1 success gate: a
/perf-feedback-rehearsalwrite reaches mempalace, a follow-uprecall()returns it, Guardian blocks a PII probe, audit log records the full sequence — all green on Frank's machine before this commit (d9cc95b) is pushed.Plan:
docs/superpowers/plans/2026-04-30-sis-memory-orchestrator-v0.1.md.
Synthesizes the best memory patterns from across the field into one substrate-agnostic orchestration layer for SIS:
- mempalace — episodic / semantic / procedural split, embedding-indexed, hot/warm/cold decay
- Letta (MemGPT) — hierarchical agent memory with self-edit
- Anthropic Claude Code team —
CLAUDE.mdas canonical entry, auto-memory atoms with WHY/HOW - Karpathy / Hashimoto — code-as-handover, ADRs over prose, structured state replaces sprawl
- Geoffrey Litt (malleable software) — ownership stays local; CRDTs for sync
- Ink & Switch local-first — privacy by architecture, not policy
When this skill fires
- User says: SIS memory / where does X capture go / memory substrate / mempalace / Letta / Mem0 / AgentDB / "swap memory backend" / "benchmark substrates" / "memory privacy" / "leak audit"
- New sovereign forking SIS (
/sovereign-spawn) — auto-runs the substrate selector for them - Periodic (weekly): runs benchmark + decay sweep
- On capture/packet write: validates write hits the right substrate, fires Privacy Guardian
Core workflow
Every memory operation flows through five gates. Pick which agents to dispatch by operation type — the routing table is below.
┌─────────────────────────┐
user / agent ──────────▶│ 1. Privacy Guardian │ ← redact PII, enforce policy
└────────────┬────────────┘
│
┌────────────▼────────────┐
│ 2. Substrate Selector │ ← pick mempalace / Letta / vault MD / KG JSONL
└────────────┬────────────┘
│
┌────────────▼────────────┐
│ 3. Indexer / Retriever │ ← write or query
└────────────┬────────────┘
│
┌────────────▼────────────┐
│ 4. Graph Maintainer │ ← cross-ref, deduplicate
└────────────┬────────────┘
│
┌────────────▼────────────┐
│ 5. Auditor │ ← attestation chain, leak audit
└─────────────────────────┘Subagent team — pick the size
| Tier | Agents | When |
| Minimal (3) | Indexer · Retriever · Privacy Guardian | Single-user, single-substrate, trust-this-machine |
| Production (7) | + Graph Maintainer · Substrate Benchmarker · Decay Manager · Auditor | Default for adopting SIS; weekly benchmarks; multi-substrate |
| Advanced (10) | + Council Convener · Cross-Project Sync · Health Monitor | Multi-tenant / cross-machine / SaaS deployment |
Agent contracts: see references/subagent-roster.md.
Substrate selection — first decision
Default for new adopters: filesystem markdown + JSONL knowledge-graph + local Qdrant — covers 80% of use cases, requires zero external services, fully sovereign.
When to add or swap:
| Symptom | Add this substrate |
| "Find captures by meaning, not keyword" | mempalace OR Qdrant + sentence-transformers (local) |
| "Memory grows beyond 10k entries, retrieval slow" | mempalace OR Letta with hot/warm/cold decay |
| "Need self-editing memory across long agent sessions" | Letta (MemGPT) |
| "Need agent-as-a-service style memory layer" | Mem0 |
| "Continuous screen capture for ambient context" | screenpipe |
| "Sub-50ms recall in voice path" | AgentDB (singleton daemon, see constraint below) |
| "Multi-tab agent with shared memory" | Memory Bus daemon — see constraint below |
Hard constraint (memory): AgentDB and most embedded vector DBs spawn one process per connecting tab. At ~10 tabs the system breaks (per project_agentdb_singleton_constraint.md). All multi-process memory architectures MUST front through a singleton daemon (MCP server, Windows Service, or FastAPI). The voice-operator FastAPI :7373 already serves this role for the cognition loop.
Full matrix with install paths, latency profiles, license terms, leak posture: see references/substrate-matrix.md.
Privacy posture (non-negotiable)
This is what makes the system safe for anyone adopting SIS, not just Frank.
- Everything local by default. mempalace, Qdrant, Letta — all run as local Docker / Python processes. Nothing leaves the machine without explicit user action.
- Embeddings local too. Use sentence-transformers (
all-MiniLM-L6-v2for speed,bge-large-en-v1.5for quality) — never OpenAI/Cohere embedding APIs that ship vault content over the wire. - PII redaction before any external call. Privacy Guardian runs FIRST. Before any payload goes to OpenRouter / Anthropic / fal.ai / etc., scan for: emails, phone numbers, addresses, API keys, person names mentioned in private vault entries. Redact or block.
- Encryption at rest (optional, opt-in): vault MD files encrypted with age (yubikey-backed) for sovereign tier.
- Audit log of every read/write.
memory/_audit/{date}.jsonlrecords who/what/when/source — Auditor scans this for anomaly patterns. - No cross-tenant bleed. Each sovereign user gets their own substrate namespace; the orchestrator enforces isolation via path prefixes + DB schemas.
- Adversary model: assume an LLM call could exfiltrate context. Redact secrets BEFORE adding to context. Never include full vault content in agent system prompts; retrieve top-k slices only.
Full threat model + redaction patterns: see references/privacy-hardening.md.
Benchmarking protocol
Quarterly (or on substrate add): run the bench suite against the user's actual corpus.
Metrics:
- recall@k (k=5) — given known queries, does the right entry surface in top 5?
- latency p50 / p95 — wall-clock ms per retrieval
- leak risk — does any retrieval surface PII not in the query scope?
- cost — $ per 1k retrievals (relevant for cloud substrates)
- footprint — disk + RAM at 10k / 100k / 1M entry scale
Run via scripts/benchmark_substrates.py. Results write to memory/benchmarks/{date}.json and a one-page summary in memory/benchmarks/RECOMMENDATIONS.md (auto-updated by the Substrate Benchmarker subagent).
Full protocol: see references/benchmarking-protocol.md.
Mempalace install (recommended starter)
When a user asks "set up mempalace":
- Verify clone + Python 3.11+:
git clone https://github.com/mempalace/mempalace ~/.starlight/mempalace - Install:
cd ~/.starlight/mempalace && pip install -e .(or follow upstream README) - Register in SIS: append to
private/voice-operator/config/substrates.toml:[substrates.mempalace] enabled = true path = "~/.starlight/mempalace" embedding_model = "all-MiniLM-L6-v2" # local, no external API tier = "warm" - Migrate existing knowledge-graph entries:
python -m service.memory.migrate --from kg-jsonl --to mempalace - Run benchmark:
python skills/memory/sis-memory-orchestrator/scripts/benchmark_substrates.py --substrate mempalace - Privacy Guardian audits the migration; Auditor re-attests every imported entry.
If upstream mempalace API differs from the contract above, update references/substrate-matrix.md::mempalace section with the actual contract.
What this skill produces
When dispatched:
- For a write op: the substrate decision + the redacted payload + the attested entry path
- For a read op: top-k slices from each enabled substrate, ranked by relevance + recency
- For a benchmark op: a one-page recommendation table
- For a leak audit: the redacted-or-quarantined entries report
- For an adoption op (new sovereign): a substrate plan + the install command list
When NOT to fire this skill
- Routine commit / docs / one-off code fix — no memory op
- User explicitly says "don't touch memory"
- The 6 v6 commands (
/council,/navigate, etc.) handle their own memory writes via existing skill auto-activation — don't double-dispatch
Reference files
references/substrate-matrix.md— every supported substrate: install, contract, latency, license, leak posturereferences/subagent-roster.md— 7 (or 3 / 10) agent contracts: signatures, when to dispatch, what they returnreferences/privacy-hardening.md— full threat model, redaction patterns, anti-leak architecturereferences/benchmarking-protocol.md— metrics, harness, hypothesis test design
Coupling to existing SIS
This skill does not replace existing memory plumbing. It coordinates it.
- Existing
memory/vaults/*.md— kept; this skill treats them as the cold-tier filesystem substrate - Existing
memory/knowledge-graph/index.jsonl— kept; warm-tier append-only log - Existing
memory/voice-sessions/{date}.md— kept; hot-tier daily capture log - Existing brain-graph / brain_watchdog — kept; this skill is upstream of it
Adding mempalace / Letta / Qdrant means augmenting, not replacing. The orchestrator routes to the right tier per op.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

