Self-hosted operating memory for AI agents
Give every agent the same current state.
Ax0s captures source-linked records from the systems a business already runs, recalls the current state by default, and keeps corrected history addressable.
ConditionProblem state
Operating knowledge is scattered across systems that never reconcile. Inboxes, calendars, messages, CRMs, tickets, documents, and spreadsheets can each hold a different local record.
What is current when every system keeps its own record?
OperationAx0s's own story
Ax0s had the problem before it built the product.
The system records its own operation.
- 01Scattered
Work was scattered across tools.
Agents, recorded meetings, messages, repositories, and business systems each held part of the work.
- 02Session boundary
Sessions ended; context was lost.
Decisions and corrections remained in their source tools instead of carrying forward as one shared current record.
- 03Recorded
Source-linked recording began.
Ax0s began recording its own operating state with the source kept attached, so later recall could point back to where a record came from.
- 04Conflict shown
Conflicts became visible.
When records disagreed, the disagreement could be inspected instead of silently collapsing into an untraceable answer.
- 05History kept
Corrections became current.
The corrected record could become the recall default while the prior record remained superseded and addressable.
- 06Gate checked
The release path became claim-checked.
ax0s.io now publishes through a manual path whose release validator and smoke suites must pass before production.
ConnectionsCompact integration ledger
Which connections exist now—and in what mode?
| Integration | Runtime | Lifecycle | Mode | Evidence | Boundary |
|---|---|---|---|---|---|
| Gmail | LIVE | not a product surface | Agent access | Verified 2026-07-14 | Authorized agent read/action surface only; no continuous Memory ingest. |
| Google Calendar | LIVE | not a product surface | Agent access | Verified 2026-07-14 | Calendar and event operations on the agent surface; persistent Calendar ingest is tracked in its own row. |
| Google Drive, Docs, Sheets | LIVE | not a product surface | Agent access | Verified 2026-07-14 | File, document, and spreadsheet actions on the agent surface; persistent Drive/Docs ingest is tracked in its own row. Sheets content is not persistent governed state. |
| Fathom | LIVE | experimental | Persistent ingest | Verified 2026-07-15 | Ingests Ax0s's own recorded meetings into Ax0s Memory and the comms fabric on a 5-minute cycle; single-account scope, no customer data. |
| Persistent Gmail ingest | LIVE | experimental | Persistent ingest | Verified 2026-07-15 | Inbound mail to one mailbox (chris@ax0s.io), bulk-filtered and secret-redacted, on a 5-minute cycle. |
| Persistent Google Calendar ingest | LIVE | experimental | Persistent ingest | Verified 2026-07-17 | Events on one configured calendar (chris@ax0s.io), secret-redacted with identity-tiered pointers, on a 5-minute cycle with checkpoint and deduplication. |
| Persistent Google Drive/Docs ingest | LIVE | experimental | Persistent ingest | Verified 2026-07-17 | File metadata and sharing relations for one account plus secret-redacted Google Docs text (20,000-character cap) on a 5-minute cycle; Sheets and Slides content is not ingested; the bootstrap backlog drains under a 300-item per-run budget. |
| Persistent iMessage ingest | LIVE | experimental | Persistent ingest | Verified 2026-07-15 | Messages between the two founders, synced from one operator-controlled MacBook on a 5-minute cycle. This path is not secret-redacted; no customer data is in scope. |
| SignWell | LIVE | experimental | Persistent ingest | Verified 2026-07-17 | GET-only allowlisted API surface with test-mode documents excluded; the account currently holds zero non-test agreements, so no document ingest is demonstrated yet. |
| Mercury | LIVE | experimental | Persistent ingest | Verified 2026-07-20 | Read-only pull of one operator-controlled Mercury business account into the finance fabric on a 5-minute cycle, secret- and PII-redacted before any write; the receipt discloses a five-hour host-network outage window on 2026-07-20 with automatic recovery. |
| Stripe | LIVE | experimental | Persistent ingest | Verified 2026-07-20 | Read-only, version-pinned API contract running against the sandbox environment; the account currently holds zero objects, so connector operation is demonstrated and object ingest is not yet. |
| ax0s.io publication | LIVE | shipped | Gate-checked publication | Verified 2026-07-20 | Every production deploy must pass the release validator and smoke suites that pin page content to the public claim and integration registries. Deploys are manual; no continuous publication is claimed. |
MechanismMemory mechanism
How does a correction become the current record?
A correction can become current while the prior record remains addressable.
- 01Writerecord + source
- 02Recallcurrent by default
- 03Adjudicated supersessionprior remains addressable
ReceiptRecorded receipt
What did one product round trip actually show?
A correction can become current while the prior record remains addressable.
What did the recorded correction preserve?
Open complete transcript$ python -m ax0s_memory consolidate --slug receipt-demo --apply --json
{
"applied": 1,
"queued": 0
}
$ python -m ax0s_memory recall --slug receipt-demo --q when do staging deploys go out --limit 5 --include-superseded --json
{
"text_content": "Staging deploys go out Wednesday at 15:00 UTC. Release captain owns the window.",
"is_superseded": false
…
"text_content": "Staging deploys go out Friday at 17:00 UTC. Release captain owns the window.",
"is_superseded": true
}
What this does and does not show — a correction became current while the prior record remained addressable; this is one bounded round trip, not a compatibility, concurrency, durability, or universal contradiction-resolution claim.
JobsJobs to be done
Three jobs Ax0s performs
- 01
Carry context across sessions.
When one agent session ends and another begins, preserve source-linked operating facts so the next authorized agent can recover what still holds.
OutcomeLess re-discovery, with the source still inspectable.
- 02
Reconcile change without erasing history.
When sources disagree or a fact changes, make the conflict inspectable, return the corrected state by default, and keep the prior record addressable.
OutcomeA current answer with a traceable correction path.
- 03
Attach proof to operating claims.
When recorded state informs a release or decision, connect the claim to its artifact, scope, and limitation so verification can follow the work.
OutcomeA receipt that can be inspected after the session ends.
BoundaryReconciliation + limitation
Where does the operating direction stop today?
Ingest boundary
Illustration, not evidence
Illustrative fixture — hand-authored sample data, not live telemetry
Which record is current after a correction?
The fixture could not be loaded. The complete authored history remains below.
- Prior version · supersededIllustrative policy claim: review happens after release.Illustrative original source: “Review follows release.”Superseded by Current version
- Current version · currentIllustrative policy claim: review happens before release.Illustrative correction source: “Review is required before release.”Supersedes Prior version
AccessDeliberate access path
Start with one decision that needs a reliable current state.
Choose product access, a connected-state implementation (one business decision, the systems that inform it, and the receipt that shows the work is complete), or a bounded Practice engagement on the Access route.