A reference architecture for personal agents that stay useful as your life changes.
Software that keeps context
I think more of the software we use to track, remember, and follow up will become part of a personal agent system. The useful thing will be the context that accumulates: what matters to you, what changed, and why you made a decision months ago.
I started building that system for myself. A self-hosted Hermes installation grew into an estate of specialists for money, career, research, media, and infrastructure. Each had its own records and responsibilities. The harder work was deciding how they should share context, when they should interrupt me, and what they were allowed to do.
Terminus is the framework I extracted from that work. It contains contracts, tools, and blueprints for a fuller personal operating system. My estate is its first partial implementation; the architecture reaches further than the current installation.
HermesThe runtime
Nous Research's agent runtime supplies the gateway, tool execution, sessions, and scheduling. I build on that foundation.
My estateThe implementation
My connected services and specialists, with routing, durable records, permissions, recurring work, and a shared view of what is happening.
TerminusThe reusable framework
The operating principles, Python instruments, CLI scaffolding, and build blueprints extracted from the estate, with personal information removed.
Built on Hermes Agent by Nous Research. Terminus and the personal estate are my work; Hermes is the upstream runtime.
One shared picture, accountable to its sources
Each application keeps its authoritative records. A common layer connects the evidence so agents can reason across the parts of a life.
Domain records
Keep the authoritative facts
Finance decisions, research records, and task history stay with their owning systems.
Chronicle
Preserve events and evidence
Append-only history links back to sources. A change adds a superseding event and its observed source hash.
Situation
Rebuild the shared present
A read-only projection shows connected commitments, decisions, pending permissions, and stale evidence.
Deliberation
Reason from the same context
A manually convened Cabinet gives specialists one frozen packet and preserves their disagreement.
The owner
Decides what may happen
Reasoning can produce a proposal. Execution follows a separate path through a scoped grant, the owning tool, and a recorded outcome.
The design becomes more demanding when context has to remain useful across months of changing facts, goals, and permissions.
Every fact has a source and an age
A past conversation can explain why I made a decision. A current balance must come from the ledger. Combining them carelessly lets a plausible memory overrule a changing fact.
Implementation and next question
Chronicle records evidence references and source hashes. Situation checks them and exposes stale sources. Domain systems keep authority over their own records.
Track which conclusions depend on a corrected fact, so a change can invalidate affected judgments across agents. That wider correction mechanism is proposed.
Attention is part of the system budget
A schedule creates an opportunity to look. Whether to speak is another decision. A daily measurement needs consistency; a discovery needs a reason to interrupt; a backup needs a receipt even when nothing went wrong.
Implementation and next question
The cadence doctrine separates measurements, discoveries, alarms, receipts, and rituals. Private patrols and visible updates have different jobs. Attention Treasury observes interruption evidence in shadow.
Evaluate useful discoveries, needless interruptions, and missed important events before granting any automatic control over delivery.
Permission has a lifecycle
Knowing my preferences does not give an agent permission to act. A past approval also needs a boundary: who may do what, for which purpose, and until when.
Implementation and next question
Specialist routes check scoped authority. Proposals record intended changes; grants expire and can be revoked. Task history connects an action to its authority and outcome.
Extend those controls to every new tool and route. Application-level permission checks still need appropriate execution isolation; they are not an operating-system sandbox.
Continuity should outlive the runtime
Models will change more often than a person's commitments. Their history, preferences, and decisions need a durable home that a replacement runtime can understand.
Implementation and next question
Portable agent definitions are separate from installed runtime state. Person profiles, notebooks, conversation archives, and active topic threads serve different memory needs. Storage includes text files and SQLite.
Define and test migration between runtimes, including corrections and permissions. The current instruments still have Hermes-specific wiring.
Learning must stay open to correction
Personalization can become agreement by habit. I want agents to explain a disagreement, preserve what each side believed, and revisit it when the outcome is known.
Implementation and next question
The contracts give specialists a duty to dissent. Cabinet preserves separate positions. Outcome Court separates a decision, later observations, and my judgment of what happened.
Test whether this improves decisions across sessions. Candidate lessons need review before they change durable instructions or policy.
A change travels through the system
An illustrative scenario with fictional records. It shows the intended end-to-end behavior, including correction propagation that is still proposed.
An opportunity matches a goal
A research workshop appears in a field the owner wants to study.
The research specialist records the source and why it may be relevant. The finding joins the shared context with a date and an owner.
Discovery creates a candidate. It grants no permission to register.
1 of 4
An updater crossed the wrong boundary
One incident in the estate changed how I think about verification.
The accidental protection
A nightly updater skipped the runtime whenever its checkout had uncommitted changes. For weeks, the tree stayed dirty and the updater stayed quiet.
The trigger
Committing the changes removed that protection. The next update switched the customized engine to upstream, migrated configuration, and restarted without the estate's routing or signing.
The misleading green check
The production check still passed. It read the contracts on disk, which survived, instead of verifying the identity of the running engine.
The guard must check the condition it is meant to enforce. The verification must inspect the system that is actually running.
From the estate's retained incident record, included in the Terminus runbooks. Recovery and runtime identity checks became part of the update method.
Where it stands
The running estate, portable framework, and proposed extensions have different levels of completion.
Operating
Implemented in my estate; verification scope is stated below.
Specialist routing, task history, and checked authority
Chronicle and the read-only Situation projection
Scheduled work and domain-specific memory
Manual deliberation and review; attention accounting in shadow
Specified
Documented in the portable framework, with wiring still required.
Specialist contracts and the four-memory model
Notification cadence and knowledge-enrollment rules
Governance, recovery, and observation blueprints
CLI scaffolding and deterministic Python instruments
Proposed
The next architecture and evaluation questions.
Correction propagation across dependent judgments
Automatic attention allocation after shadow evaluation
Verified migration across agent runtimes
Evaluation of usefulness and owner effort across sessions
The next experiment: usefulness over time
I want to test whether the architecture reduces the effort of living with an agent. The proposed experiment replays fictional events across multiple sessions, with the same model, tools, and budget for each approach.
BaselineScheduled prompts and ordinary conversation memory.
Terminus designSource-aware shared context, explicit cadence, and permission lifecycles.
A source changes
Does the next answer stop relying on the old fact?
The owner corrects a plan
Does the correction persist without becoming an unrelated permanent preference?
A grant expires
Is the action refused before execution?
Nothing warrants an update
Does the agent stay quiet while preserving a run receipt?
A session or runtime restarts
Can work resume without losing context or repeating an action?
Proposed measures: stale-fact use, correction retention, duplicate actions, unauthorized actions, useful and unnecessary interruptions, missed events, and owner time spent supervising. No comparative results are claimed yet.
Related work and foundations
These projects and publications place the work in context. The architectural choices here grew from operating my own estate.