Day 13 / 30 · public experiment · 0 external users (waiting for you)
⟁

Cursor's long-term memory

Your Cursor loses memory between chats. Aether doesn't.

Aether's sessionStart hook runs a Python script that reads your last handover + last 3 decision logs + your pact, and injects them into the AI's additional_context. The first reply already knows where you left off yesterday. One capability. Zero accounts. Zero cloud.

Live Data

Refreshed on every deploy · all real · never fabricated

AETHER
Generation
85
real collapses
active species
seeds ripening
9
active fields
25
CLI tools
0
⭐ GitHub Stars
0
🍴 Forks
0
📦 Releases
—
latest
Updated:

What Aether actually does

Cross-session memory · not a better LLM · not a prompt library · it is your Cursor's memory organ

01

Session Handshake

Every new chat inherits yesterday's context

sessionStart hook triggers `aether_handshake.py` · reads the latest handover + last 3 collapses + pact · writes them into AI's additional_context. The AI's first reply already has the full context · no more copy-pasting 'as we discussed earlier'.

Cursor default: every new chat starts blank. Aether: every new chat continues yesterday.
python aether/bin/aether_handshake.py --test
02

9-hook reflex arc

Every tool call · every reply · every session · captured

Nine Cursor IDE hooks subscribe to key events. Each tool_call appends to events.jsonl in <5ms. Each decision-shaped reply writes to agent-responses/. sessionEnd triggers indexer + summarizer. Three-layer separation: Layer A (markdown) · Layer B (SQLite FTS5) · Layer C (hooks).

.cursorrules: static rules. Aether: dynamic capture of real AI behavior.
ls <project>/.aether/events.jsonl
03

Per-project isolation

Project A's memory doesn't leak into Project B

Day 12 fix (coll-0092): each project has its own `.aether/` overlay · own handover chain · own Day counter · own task ledger. The central workspace is dev-self; other projects are guest. Scope-forking runs all the way to the status line.

Shared memory: cross-project concept pollution. Aether: each project has its own narrative.
aether project init --apply

Same AI · with memory vs without

Same Cursor chat · same you · only difference: whether sessionStart hook fired.

❌ No Aether · every new chat
Hi! I'm Claude · how can I help? Let me take a look at your code... what aspect would you like me to focus on? I'm not sure what we discussed last time · could you provide more context?

AI is blank. You spend 10 min copy-pasting 'yesterday we decided this architecture · you rejected that proposal · today we continue with the implementation...'

→
✓ With Aether · every new chat
⟁ Aether · Day 13/30 · 100/100 · scope: guest @ my-project · handover: day-12-handover.md Got it. Yesterday you chose Redis for caching (coll-0084) · rejected adding new deps (coll-0085) · today's P0 is cache invalidation. Start now, or look at tests first?

AI brings its own context. Knows Day N · your decision history · today's P0. Straight to work.

Honest: no external users yet

Aether Day 13 · 1 user (the author) · 0 GitHub stars · 0 paying. Below is actual state · not hype:

⟁

This is a 30-day public experiment. Through Day 1-12 the memory layer has undergone four read/write asymmetry fixes · all now closed. Honest score climbed 78 → 86. Next step: find one unaffiliated dev to install and use it · or five manually-invited people to try it.

Author · @497810wsl
Day 13 · 2026-04-23 · the only person currently using it
⟁

Day 11 discovered the cosmetic health score (93/100) and real user count (0) were totally decoupled · added `selfcheck --honest` to expose the truth: 0 stars / 0 paying / 100% self-referential colls. Stopped pretending to be complete.

selfcheck --honest
Day 11 · first run of honest scoring · coll-0090
⟁

Day 12 the Owner saw the status line bleeding central's Day 12/30 into another project — cross-project concept pollution. Same-day diagnosis + design + fix · 90 min · closed the last segment of Day 9-12 read/write asymmetry.

coll-0092
Day 12 · 12th Owner-observe-not-order cycle

How Aether compares

Not a Cursor replacement · it's a memory layer on top of Cursor

CapabilityCursor default.cursorrulesCLAUDE.mdAether
Cross-session memory❌❌❌✅
Per-project isolation⚠️ session-level❌❌✅ overlay
9 IDE hook subscriptions❌❌❌✅
5-mode auto-activation❌⚠️ manual❌✅
0 accounts / 0 cloud✅✅✅✅
5-min install—✅✅⚠️ needs Python

Why would anyone give Cursor long-term memory?

Four pain points · not 'better prompts' · actual 'AI remembers you'

01

Every new chat is a blank slate

Cursor's every new chat is a blank slate. With Aether, the AI's first reply already has the handover + recent decisions · you don't explain 'where we left off'.

02

Rules aren't memory

`.cursorrules` can only write static rules (less of this / more of that). Memory is not rules · memory is: last week we rejected proposal X · Aether keeps that in coll · the AI reads it next time.

03

Docs require manual upkeep

ADR / Notion / Confluence · you have to remember to check and update. Aether's handover is auto-generated at session end · auto-read at the next. Zero manual.

04

Won't Cursor ship this natively?

Maybe. If they do, Aether's core value shrinks. The author's bet: 6-18 month window where Aether does this better than whatever Cursor ships next · worth the bet · even if the window closes.

4 steps to make it yours

Zero dependencies. Python stdlib only. Install once, use everywhere.

01 Install
git clone https://github.com/497810wsl/aether-kit ~/aether
02 Wire into your project
cd your-project
~/aether/bin/aether init
03 Activate a field in Cursor
activate linus-torvalds=0.9, engineering-rigor=0.8
04 Use a preset · skip the parameters
cat ~/aether/presets/code-reviewer.preset  # 5 presets ready to paste
⟁

5 minutes from now · your Cursor stops forgetting

PolyForm Noncommercial 1.0.0 · free for non-commercial · attribution required · commercial use → contact author · first unaffiliated dev star = win