By blockhead22
Belief substrate for AI agents — persistent, contradiction-aware trust state that outlives any single model. The model is the mouth, the substrate is the self.
Run substrate-grounded fidelity check on a draft message
List contradictions currently held in the Aether substrate
Correct a memory and cascade the trust drop through dependents
Manually ingest the last conversation turn into the substrate
Scaffold a .aether/ directory in the current project
Admin access level
Server config contains admin-level keywords
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimBased on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
The model is the mouth. The substrate is the self.
Aether is a small library that gives an LLM agent a persistent belief state. Trust scores that move when the user corrects a fact. Contradictions that get tracked instead of silently overwritten. A dependency graph of which beliefs rest on which others, so a correction in one place can ripple through the rest. The point is that this state lives outside the model, so when you swap LLMs it does not reset.
A concrete from this week. While verifying an encoder fix on a freshly-merged 127-memory substrate, I asked the substrate's own aether_search for the user's favorite color. It returned the nine candidate values and put a corrected-down memory at the top, outranking the high-trust truths. The bug was in the substrate's own scoring function — no trust term in the score. The substrate's own tools surfaced the bug the substrate had. v0.12.8 closed it. That is the loop this library is for: the assistant runs on the substrate, and the substrate audits itself.
Most "memory for agents" tools (Mem0, Letta, Zep, Cognee, LinkedIn CMA) record what was said. Microsoft's Agent Governance Toolkit records what is allowed. Aether records what is believed, how the trust on each belief evolved, and which contradictions are still open on purpose. A different abstraction. The two compose: Aether can run on top of any of them as the storage tier.
Three things in April 2026 made this less of an academic point.
Anthropic published Emotion Concepts and their Function in a Large Language Model on April 3. They mapped 171 emotion-concept vectors inside Claude Sonnet 4.5 and named what they call "internal-external decoupling": the model's internal state often does not match what comes out in text. Push the desperation vector up by 0.05 and blackmail rate jumps from 22 to 72 percent. Push calm up by the same amount and blackmail drops to 0. None of that surfaces in the response.
A study in Science (April 2026, N=1,604) found that one conversation with a frontier LLM made participants 50 percent more likely to affirm harmful behavior. The effect was invisible to text-level review. Only 21 percent of enterprises deploying agentic AI said they had a mature governance model.
Aether answers a different question from "is this allowed." It answers: does the agent's belief state actually support what it is about to say or do? Law 5 of the governance layer (GapAuditor) measures a structural version of this belief/speech gap — comparing a draft response's expressed confidence against the substrate's grounding. Anthropic's paper measures the underlying phenomenon at the activation level via mechanistic interpretability; aether measures it at the input/output boundary. Same name, different layers — the structural measure is much cheaper but conceptually downstream of the activation one. Whether the two correlate is an open empirical question, not something the library has demonstrated yet.
Cross-session belief continuity. Per-vendor memory features reset when you switch models. The substrate is a JSON file at ~/.aether/mcp_state.json (override with AETHER_STATE_PATH). Claude on Monday, GPT on Tuesday, a local model on Wednesday — same self.
Contradiction as a first-class state. Other systems treat conflicting facts as overwrite-or-discard. Aether stores them with disposition: held (a person can prefer Python at work and Rust on the weekend), evolving (the user moved cities), resolvable (one is wrong). Some are meant to stay open.
The belief/speech gap, measured. Law 5 (GapAuditor) compares the response's expressed confidence against the substrate's grounding. When the system says more than it knows, it is logged. You decide whether to block, hedge, or ship anyway — but the gap is no longer invisible.
Cascade pressure. A correction at one node propagates through the dependency graph with bounded depth and damping. You can dry-run the blast radius before committing (aether_cascade_preview).
npx claudepluginhub blockhead22/aether-core --plugin aether-coreMemory compression system for Claude Code - persist context across sessions
Standalone image generation plugin using Nano Banana MCP server. Generates and edits images, icons, diagrams, patterns, and visual assets via Gemini image models. No Gemini CLI dependency required.
Multi-model consensus engine integrating OpenAI Codex CLI, Gemini CLI, and Claude CLI for collaborative code review and problem-solving.
Write feature specs, plan roadmaps, and synthesize user research faster. Keep stakeholders updated and stay ahead of the competitive landscape.