Smarter memory · quieter Ari
The follow-up to the v0.5 surface push. Memory stops writing the same fact six different ways, dreams know what you've already told them, and a handful of small chrome decisions make the home screen calmer.
- Activity vs. trait. Memories now have an activity category — one-off sessions, errands, "I went to the gym today" — separated from durable traits like "Alex prefers PostgreSQL". Activities fade from injection after a week or two and get pruned later, so they inform context without being permanent.
- Similarity deduplication. Before writing a new memory the assistant compares it to existing ones. A near-match gets merged or skipped instead of creating "Alex is called Alex" three times.
- "Already known" gate. The extraction prompt sees a compact list of what's already on file so it stops re-proposing the same trait every conversation.
- Dream pipeline checks itself for duplicates. When a dream wants to write a new memory it runs the same near-duplicate check; if a match is found it rewrites the proposal as an update (merging context into the existing fact) instead of creating a fresh duplicate.
- Swipe to dismiss the dream card. Pull the card right, reveal a "Not tonight" backdrop, release and it folds. Dismissal is schedule-aware — if you'd set the card to always visible, dismissing flips it to schedule mode aimed at the next 19:00 window. Changing visibility settings clears the hold.
- Foxglove leans pink. The Foxglove palette and its six Solar Hours variants shifted from purple/lilac into a clearer pink identity (bg
#E6C8DC, accent#B22D7E). - The mode switcher floats. The CODE / SOLO / ONE / DESK pill no longer sits on a banded background — it floats over the page, and each home screen reserves its own top padding so nothing crowds it.
- Completed routines marked with an X. The From Ari rail draws a small hand-inked X inside the timeline dot for routine entries you've ticked off, so completed and pending sit at a glance.
- The default Ari persona could be published (or installed from another user) via the marketplace — now blocked at both ends so the default never gets shadowed.
- Memory cap pruning now removes expired activities first before touching durable traits.
- Tutorial copy rewritten across all 12 chapters in plain user-facing language — no more SwiftData / Keychain / WebKit jargon explaining things to the user.