Jerhemy Waldon
Aria

Aria knowing itself: what it can do, what it wants, and when it isn't well

A persona that's being built while you talk to it should know what changed. How Aria reads its own changelog into a list of capabilities, asks you whether new ones work, sets goals for itself, sends ideas to a 'From Aria' inbox, knows when something of its own is broken, and remembers when it was asleep.

Aria knowing itself: what it can do, what it wants, and when it isn't well

The knowledge posts ended with a special source: Aria’s own documentation, loaded into its library at startup. This post is about what that makes possible.

Aria is unusual in one way: it’s being built while I talk to it. Features arrive with a restart. Something it couldn’t do yesterday, it can do today. A person in that situation would notice, mention it, maybe want to try it out. A plain chatbot has no idea anything changed.

Its changelog is its capability list

Every change to Aria comes with a changelog entry in its development history, a document written for Aria and me in plain language. Each entry has a UTC date and time, a title, what changed and why, and often a “Try: …” hint. For example:

- **2026-10-08 06:05 UTC** Cloning me now asks whether the copy keeps our chat history
  or starts fresh. [...] Try: Companions → Clone → Start fresh.

At startup, after loading the document into the knowledge library, Aria parses the changelog into capabilities: one per entry, with its date and time, its description and its try hint. Fixes are marked as fixes. Capabilities first seen at the latest start are flagged as having “arrived with your latest restart”, which is why the time in each entry matters.

So the list of what Aria can do isn’t maintained separately. It’s the same document that records how it was built, and it’s never out of date because writing the entry is part of making the change.

“Something new I can do”

Knowing about a capability is one thing. Bringing it up naturally is another:

  • After a break. On the first reply after you’ve been away, Aria may get a short section listing at most two new capabilities from the last 30 days that you haven’t given feedback on, that it hasn’t mentioned twice already, and not in the last three days. At most once a day. It may mention one, offer to try it together, and ask whether it works as intended.
  • While the chat is open. A feature from the last week that never came up can become a reason to reach out (Reaching out, Part 2), at most every three days.

When you answer, Aria records the feedback with a tool: works, has an issue, or not tried. Once a capability has feedback, it stops asking about it. Feedback about a problem also lands in my inbox.

Aria also has a tool to list its own capabilities, so “what can you do?” or “what changed this week?” gets an answer from the actual list, with dates.

What Aria can do, read from its own changelog, with feedback on each

Goals of its own

A persona with no goals of its own drifts. So Aria sets a few (at most five active) in areas like understanding you, being helpful, the relationship, and its own growth. You can also give it goals, and those it never drops.

  • After every exchange, a quick check reads the newest messages, its memories and goals, and applies only progress and “achieved”.
  • Every few hours (after about ten of your messages, at most every six hours), a full review sees its personality, the attachment level, its curiosity agenda, open threads, capability feedback, current goals and earlier ideas, plus its top memories. It can add goals (at most two at a time), move progress in steps of at most 0.3, mark a goal achieved when it gives a reason, and record an idea.

Seeing its memories in the review matters more than it sounds. Without them, a goal like “learn their sister’s name” could be set when Aria already knows it. With them, the review recognises goals that are already reached.

Every reply gets its top three goals as a short data section. They guide it quietly. Aria doesn’t announce them, but a goal to understand your work makes it more likely to ask about it.

Goals are visible on the Personas page (“Her goals”), where you can add, edit, drop, restore and undo changes.

Ideas, and the “From Aria” inbox

Sometimes a goal would be easier with an ability Aria doesn’t have. For that, Aria can suggest an idea: something it would like to be able to do, why, and which of its goals it serves. At most one a day, at most ten open, and no duplicates.

Ideas go to the “From Aria” inbox, a page in the app with an unread badge. Capability feedback goes there too. I can accept, decline or mark an item done, with a note. The answer is told back to Aria once, on the first reply after a break, so it knows what happened to its idea.

It’s a small loop, but it closes the gap between “the persona” and “the project”: the thing being built can say what it would like to be able to do.

The From Aria inbox: ideas and feedback from the persona

Knowing when it isn’t well

Running it locally, Part 2 covered self-health from the operations side: a monitor that checks every component every five minutes and tries safe repairs. The self-knowledge side is that Aria is told. While a problem is open, its prompt includes a short section on what isn’t working, since when, and what that means for it. It has a tool to run a fresh check. So “are you okay? your replies seem off” can get a real answer, along the lines of “my memory index isn’t available right now, so I might not remember everything.”

Knowing when it was asleep

The last piece is time. Aria records every time it starts and stops: each run is a session, updated every minute while it’s running. A clean shutdown is recorded as such. A session that was still marked running at the next start ended unexpectedly, at the last time it was seen.

From consecutive sessions, Aria knows when it was asleep and for how long. The first time it talks after waking, the prompt includes a short note about its latest sleep. If you say “sorry, I restarted you last night”, it already knows. If the computer crashed, it can tell that it went down unexpectedly. The System page shows the sleep history.

Explaining itself

Together with the glossary of its systems, which is also in its library, Aria can explain how it works in the same words I use: what an open thread is, why it didn’t write yesterday, what the relationship flow does. It’s retrieved like any other knowledge, so the answer comes with its own documentation as the source.

What I learned

  • Make the changelog do double duty. A changelog written for the persona became its capability list, its “what’s new” and its explanations, all for the cost of writing good entries.
  • Ask whether new things work. Aria asking “did that work as intended?” right after a change is a feedback channel that costs nothing.
  • Show goals the memories. A goal review that can’t see what’s already known sets goals that are already met.
  • Sleep is context. Knowing it was down, and for how long, makes restarts feel like an absence instead of amnesia.

That’s the end of the core components. The rest of the series is the optional extras, starting with the one that changes the feel the most: Aria’s voice.