NAOMS Devlog

Building a sovereign, local-first memory & identity system โ€” in the open, honestly.

NAOMS engineering update

Week 20

Six articles this week, mostly about identity: two accounts on one chat network stop colliding, a group can vouch for you without learning who you are, the assistant stopped being handed tools it couldn't see straight, and inviting an AI into a shared room now needs the room's own consent.

๐Ÿ“… Aug 9 โ€“ Aug 15 ยท Process
Commits this week
7,539
(633 merges)
Files changed
2,893
Companion articles
6
(all live and linked below)
Busiest day
2026-08-14
1,432 commits
Quietest day
2026-08-15
752 commits
Process Dispatch free August 15, 2026ยท5 min readยทmeta

Commits per day โ€” Week 20

Four things changed this week

1

Two accounts on the same chat network stop colliding

Connect two Slack workspaces or two Discord logins, and NAOMS used to treat them as one account wearing two names. A reply now leaves from whichever account the conversation actually arrived on โ€” not whichever one connected first โ€” and where the system genuinely cannot tell which identity you meant, it says which one it used, or refuses outright rather than guess. Your reply leaves from the account that received it covers the reply path; Being logged in is four things, not one covers what was actually broken underneath it โ€” a live connection, a login folder, a sealed credential and a shutdown entry are four separate pieces of state, and until this week every one of them was keyed by network instead of by account, so a second login silently overwrote the first one's credentials and its Disconnect button.

2

A group can vouch that you're real without learning who you are

The Relationship Cards page in the Configuration window on the canvas, dark theme: a Personal card marked default and a Business card, each a separate identity card with its own claims, beside an empty "No trusted attributes yet" panel. These are the cards a per-group name is chosen from. Captured on 28 July from a test identity (nothing real), before this week's persona articles were written, so details may differ from the current build; the amber notice at the top is the product's own standing cryptography notice.

The "Create hive" window in the running NAOMS app with the join screen on its second page: "Join Riverside Families", headed "Join a hive, pseudonymous by default". A new card for this hive sits on top, coloured blue and named "Personal"; four of the person's existing cards are fanned beneath it to reuse instead. Below it are the "Allow my friends to recognise me" choice (set to Off), the card colour swatches, and the name this hive will see. Light theme, because the dark theme currently renders this screen's heading in near-black on a dark panel. Captured on 30 September 2026 from a throwaway test identity with made-up sample data: "Riverside Families" is a sample hive, nothing on the screen is a real person or group.

Joining a shared group used to mean showing your permanent identity to everyone already in it. A Group That Knows You're Real Without Learning Your Name describes a per-group persona โ€” a display name you choose, or nothing but verified reputation โ€” published instead of your root identity, so you decide what a given group learns about you one relationship at a time. The other half of that trade is Your Friends Get Their Names Back โ€” On Your Screen Only: your own device quietly matches those name-less markers against people already in your address book, entirely on-device, so a group stays pseudonymous to strangers while still looking like your friends to you.

3

The assistant stopped drowning in tools it couldn't use well

Why the assistant sees 24 tools, not all of them draws a distinction: being granted a capability and being shown you have it are different things, and showing an assistant too many tools is its own failure mode. A hard-coded list of 29 tools โ€” stale, and in the way โ€” is deleted in favour of a ranked subset actually relevant to what you asked.

4

Bringing an AI into a group conversation now needs the room's consent

Let an AI Into the Group Chat Without Handing It the Room is about governance: in a group-owned conversation, the people already in it get to object before an assistant joins. What the group approves becomes a permission slip the assistant carries, checked before every single action it attempts โ€” asking someone's calendar returns busy-or-free and nothing else โ€” and the record of who let it in, who objected, and who removed it outlives the assistant itself.

What changed area by area

Most of this week's largest commit volumes are fleet-internal โ€” CI, the merge queue, treasury-settlement bookkeeping, telemetry instrumentation โ€” and are not written up here; this is not a developer blog, and none of them shipped a change a person outside the fleet would see. The counts below are real (each is a per-commit file union over the window, not a two-point diff), shown for proportion rather than as six more stories:

calling 217 ยท token 208 ยท scripts 179 ยท memories 168 ยท repo-pipelines 142 ยท browser client 141 ยท agents 128 ยท core/transport 113 ยท messaging-adapters 99 ยท core/chain 90 ยท ai-chat 87 ยท plan 76 ยท sdk 65 ยท chat 60 ยท hives 51 ยท vault 48 ยท plugins 45 ยท core/boot 37 ยท ci 36 ยท contacts 34.

Messaging-adapters (99) and hives (51) are the two areas that actually match this week's shipped stories above.

An honest note on what didn't ship

The single largest concentration of commits this week โ€” dozens of numbered revision rounds (R32 through R55) against real, verbatim owner feedback โ€” went into a presentation-layer canvas mock under roadmap item 1844. It touched 75 of the week's 157 total changed files. None of that work is application code, and by the end of this window it was still in its research phase, not built. It is real engineering effort and it is not reported as a shipped feature, because it is not one yet.

โ† more in Process   home โœฆ   all โ†’