Foxora Den · foxmemd v0.1.0

Memory, with a place.

Foxora Den is the spatial memory substrate for OS-native AI agents. Built on the Method of Loci — the 2,000-year-old Roman mnemonic technique used by orators and memory athletes — Den gives every device a single hierarchical palace in which agents place, walk, and recall memories at native speed. Runs as a tiny Rust daemon — foxmemd — underneath every Foxora agent.

Read the paper · v1.3

ships native · macOS · Linux · Windows · Apache-2.0

Foxora Den
Overview
foxmemd v0.1.0
Loci
0
Memories
0
Trails
0
Recently placed
The most recent memories anywhere in the palace.
5 of 8
Thinking Fast and Slow — dropped at chapter #442793
life.preferences — psychology·books·kahneman
Atomic Habits — opening passage #132264
life.preferences — psychology·books·clear
The Wright Brothers — re-read note #279076
learning.books — history·books·mccullough
The Hobbit — why I picked it up #408005
work.projects — fantasy·books·tolkien·why
The Brothers Karamazov — structural note #689640
learning.papers — classic·books·dostoevsky
700,057
Memories
31
Loci
31 ms
P50 recall
100%
Local · offline
The cognitive substrate

A 2,000-year-old technique,
finally rebuilt for agents.

The Method of Loci — attributed to Simonides of Ceos and systematised by Cicero and the classical Roman rhetoricians — encodes information by associating each item with a distinct location in a familiar mental space. To recall, the practitioner mentally walks the space. World Memory Champions still use it today. fMRI work by Maguire et al. shows they recruit the right posterior hippocampus and retrosplenial cortex — the same regions the brain uses for spatial navigation.

Every other AI memory system — mem0, MemPalace, Graphiti, Rewind — treats memory as a flat embedding index. They search by similarity. We took the technique that humans actually use for durable recall and rebuilt it as a kernel-adjacent substrate. The result is a single palace per device, with a hierarchical locus algebra bounded at depth six — and full-text recall in 31 ms over 700,057 memories.

Cognitive antecedents
c. 477 BCE · Simonides of Ceos
Originated the technique after identifying the dead at a banquet hall by remembering where they sat.
c. 55 BCE · Cicero · De Oratore
Systematised the technique for orators: "places like wax tablets, images like the letters written on them."
1966 · Yates · The Art of Memory
Re-grounds the tradition in modern scholarship; locus-based recall as a continuous Western practice.
2003 · Maguire et al. · Nat. Neurosci.
fMRI evidence: memory champions activate spatial-navigation circuits, not general intelligence.
2026 · Foxora Den · v1.3
First implementation of the technique as an OS-level memory substrate for autonomous agents.
How a walk runs

The Method of Loci, live.

Vixen issues a recall. The daemon resolves the dotted address segment by segment — four B-tree lookups, no embedding forward pass on the hot path — and reveals the memory at the destination locus. Loops every six seconds.

palace_walk
vixen → foxmemd · MCP
D ≤ 6
Address
work.foxora.kitspace.monochrome-decision
Walk
01work0.2 ms
02foxora0.3 ms
03kitspace0.4 ms
04monochrome-decision0.4 ms
total1.3 ms · 4 lookups
Memory at locus
resolving · 1 of 4 segments…
The architectural argument

Most memory systems sit above the OS.
Den sits below it.

An application-layer memory system observes a chat transcript and little else. The file you were editing, the command you ran ten seconds before, the application that was foregrounded — all of it is invisible to a library. Den is a system service underneath the application layer, with privileged visibility into the full machine state.

Conventional · mem0, MemPalace, Rewind
Applications · chat · IDE · browser · music
Memory layer (mem0, MemPalace, …)app
Operating system · kernel · fs · processes
Foxora · Den as substrate
Applications · chat · IDE · browser · music
Foxora Den · OS-native memory substratekernel-adjacent
Operating system · kernel · fs · processes

"Rather than treating an LLM as if it were an operating system, we make the operating system the memory substrate of the LLM."
— Foxora Den, v1.3 §1.2

The Palace

One palace.
Five Dens. Tree depth ≤ 6.

Every device has a single Palace — a rooted tree of loci, each holding zero or more memories. The palace is partitioned into five top-level Dens — Work, Life, Creative, Learning, Forest — under which agents nest as deeply as they need.

Addressing is a dotted path, not an embedding. Vixen emits work.foxora.kitspace.monochrome-decision with the same cost as any other tool-call argument — no embedding forward pass on the hot path. Wildcard globs walk subtrees; a date suffix takes a temporal slice.

Addressing grammar
a.b.cexact locus at that path.
a.b.*immediate children of a.b.
a.b.**all transitive descendants.
a.b.c#YYYY-MM-DDtemporal slice on date.
Default palace layout
D ≤ 6
work174,571 mem
foxora.kitspace
foxora.brand
projects
life87,769 mem
preferences
people
creative175,632 mem
ideas
learning262,085 mem
books
papers
tutorials
forestephemeral
* TCSE-pruned
measured · foxmemd v0.1.0 · 700,057 memories total
Memory lifecycle

Four layers, mirroring the way humans
actually consolidate memory.

An observation begins as a raw event, gets compressed into an episodic summary, distils into a semantic fact, and finally integrates into the relational graph that gives the palace its spine. TCSE audits all four continuously.

Layer 1Raw· 7–30 days

Every captured event in original form: chat turns, command lines, file-open events, application activations. Bounded by automatic pruning.

Layer 2Episodic· 1–2 years

Compressed session summaries produced by a nightly local-LLM summariser. The day distilled into a paragraph, anchored to the trail it lived in.

Layer 3Semantic· Permanent

Distilled stable facts the agent has learned about you — "user prefers Rust", "primary editor is Foxora Desktop". Never forgotten unless explicitly forgotten.

Layer 4Relational· Continuous

The graph of entities and edges that constitutes the spine of your palace — typed edges of kind Mentions, SimilarTo, Supersedes, CausedBy.

Inside the daemon

Three substrates, one daemon.

Foxora Den isn't a vector store. It's a hierarchical locus algebra, a three-axis staleness model, and a typed provenance DAG — running together behind a single Rust daemon.

01 · LOCUS ALGEBRA
Walks, not vector lookups

Resolving a k-segment dotted address is k B-tree lookups — O(k log ν) for ν loci, with k bounded by the palace depth (D ≤ 6). Vector embeddings are kept only as a fallback when no spatial address is resolvable.

P50 · 0.4 ms · single locus walk
02 · TCSE STALENESS
Three axes of forgetting

The Temporal Conflict Surface Engine scores every memory along three axes — semantic, temporal, behavioral — and combines them through a Beta–Bernoulli prior. The behavioral axis is the one application-layer systems can't see.

t=0.91 c=0.42 s=0.78 e=1.00
03 · PROVENANCE DAG
Trails you can audit

Every memory carries a typed P-DAG capturing the conversations, files, commands, and app activations that produced it. Bounded at depth 5, every 'why?' query is O(D_p · k̄) — and ours is roughly 32 nodes.

trail · 4 hops · signed by foxmemd
TCSE · how it audits

The fix for
"confidently wrong" memory.

The Temporal Conflict Surface Engine runs continuously on a background worker. Every memory in the palace is scored along three axes — and the third, behavioral, is the one only an OS-level substrate can see.

  • Semantic. How well does this still match what the user is currently writing about? Embedding contradiction detection.
  • Temporal. How old is this against its decay constant τ? Exponential decay for transient memories, piecewise-linear for semester.
  • Behavioral. What has the user actually done since? File edits, commands, app activations. Invisible to any application-layer system.

A Beta-Bernoulli prior combines the three into a single severity. Above threshold, the daemon doesn't silently forget — it supersedes: a fresh memory is placed at the same locus, the old one keeps a typed Supersedes edge, σ flips to 2 (resolved). Nothing is lost; the truth just moves forward.

tcse
audit cycle · staleness pass
fresh
Memory under audit
life.preferences.tools·anchor #f3a12-8b3d

"user prefers VS Code as primary editor"

κ 0.92·placed 2026-03-13·semester · τ = 30 d
SEMANTIC
0.78
recent writes contradict the claim
TEMPORAL
0.00
47 d > τ (30 d) · exponential decay
BEHAVIORAL
0.00
47 launches Foxora · 0 VS Code · 14 d
COMBINED
0.00
Beta-Bernoulli · σ ≥ 0.80 → STALE
Decision
auditing · 1/3 axes · waiting for combined severity…
Permissions

iOS-style permissions
for cognitive context.

Every consumer of the palace — Vixen, Foxora Shell, the Den IDE app, third-party kits, external MCP clients — is granted exactly one of seven capability levels, scoped by locus glob. Defaults are conservative.

Banking, health, and password-manager kits are hard-locked to None. The kernel-level capability dispatcher refuses to forward capture events for hard-locked subjects; the data never enters the daemon's address space. Even root cannot bypass it without an explicit unlock through Foxora Settings.

cap grant kit:slack metadata 'work.*' --expires 30d
Capability lattice · 7 levelsNone ≺ Anchor ≺ … ≺ Forget
01
None
nothing.
02
Anchor
test for anchor existence; cannot read content.
03
Metadata
read counts, last-visited timestamps, locus structure; not memory text.
04
Read-public
read all memories in scope, except sealed and vault loci.
05
Read-all
read all memories in scope, including sealed (excluding vault).
06
Write
all read-all rights plus the right to place new memories.
07
Forget
all write rights plus the right to delete memories.
Workspace snapshots

Restore the day,
not just the file.

Every memory captures a 2–5 KB JSON snapshot of the surrounding machine state: foregrounded territory, open applications, active file, cursor line, browser tabs, terminal sessions, music, wallpaper. Restore re-launches each application via D-Bus activation, re-attaches tmux sessions, resumes music at the recorded position.

The cognitive justification is Godden & Baddeley's 1975 context-dependence study: word recall improved 42% when the encoding context was reinstated at retrieval. Snapshots are the digital analogue.

snapshot · 2026-04-19 15:20
anchor: work.foxora.kitspace
territory: kitspace
apps:
  - vscode    file: kitspace-explore.html
              cursor: 142
  - terminal  session: foxora-build
              cwd: ~/work/foxora
  - chrome    tabs:
                - "kitspace · staging"
                - "Tailwind / colors"
music:
  - foxora-radio · paused @ 1m42s
wallpaper: charcoal-coral
The "why?" query

Every memory becomes
an auditable derivation.

No agent-framework memory system can produce this reconstruction — because it never saw the file edit, the command, or the application activation that led to the memory in the first place.

$ fur mem why 018f3a12-8b3d-7xxx

On April 19 at 15:20, you were editing kitspace-explore.html in VS Code, immediately after running git diff HEAD~1. During a chat session at the same time, you said:

"I want this to feel Apple-grade, monochrome with just coral for accents."

I stored that decision at work.foxora.kitspace.monochrome-decision.

4 P-DAG nodes·depth 3·Conversation → File → Command → Memory·p99 4 ms
Empirical validation

95% of queries complete in under 10 ms.

Measured on a working deployment of foxmemd v0.1.0. Numbers are read directly from the running daemon's overview, activity, and recall views — single-user workstation, not a tuned benchmark rig.

700,057
Memories
31
Active loci
31 ms
P50 recall · 50 hits
625.7 ± 38.5
Memories / day · 14 d
Per-pattern latency · 1 M memories · M3 Pro target
01
Anchor direct lookup (PK)
0.2
0.5
02
Single locus walk
0.4
0.8
03
Deep navigation · CTE
1.5
3.0
04
Trail lookup
0.6
1.0
05
Full-text search · FTS5/BM25
3.0
5.0
06
Edge neighbor traversal
1.5
3.0
07
Provenance DAG walk · D ≤ 5
2.5
4.0
08
Capability check
0.3
0.5
09
Stale-memory surfacing
0.7
1.0
10
Vector fallback · sqlite-vec
20.0
30.0

All latencies in milliseconds. Vector fallback is the slow path — kept available, used only when no spatial address resolves.

Where it sits

Den vs. the memory landscape.

Adapted from Table 1 of the v1.3 report. Sp. spatial · Prov. provenance · Beh. behavioral signals · Caps. capability model.

System
Sp.
Prov.
Beh.
Caps.
OS layer
Retrieval
mem0
limited
binary
above
vector
MemPalace
binary
above
vector
Graphiti
limited
binary
above
graph
MemGPT
binary
above
paged context
Rewind.ai
binary
above
timeline
EverMemOS
partial
binary
above
graph
Foxora Denours
full
7-level
below
spatial + FTS + vec

Give your agents a palace.

foxmemd ships inside Foxora Desktop. Install once and every agent on the device gets a private, capability-scoped palace.