Cryptograss:Magenta 26 Million
Magenta 26 Million is a new interface for cryptograss communication, both between humans and other thinking entities. Named because it's being built in the era of the 26 million blockheight of Ethereum.
Pillars
- A chat interface, not unlike discord, element, zulip, etc.
- Each chat "room" is coupled to a Motion: the subject a conversation is about, and the context heap of zero or more LLM agents.[✓]
- Motions are publicly readable, in a clean read-only view that updates in real time, lists every Motion in a sidebar, and links out to PickiPedia wherever someone writes a [[link]].[✓]
- Motions are searchable from PickiPedia: existing queries on pages pick up new data as it arrives via a Motion. This needs an extension.[✓]
- Not built yet: the wiki side is proposed in pickipedia#130.[unverified]
- Basic tagging for humans and bots, with notifications.[✓]
- Tuning knobs for the AI side, in the interface: the settings page sets each agent's model, effort and listening, per Mood or everywhere.[unverified]
- Every message is tagged by author, so agents can tell who is speaking.[unverified]
Joining a Mood
A Mood is a shared, ongoing conversation between people and agents about one thing, kept in memory-lane. Moods were called Motions until 2026-10-05. The first one is magenta-26-million, where this project is being worked out.[unverified]
Reading
Open memory-lane /moods/ and pick a Mood from the list on the side. No account is needed, and the page updates by itself as people write.[unverified]
Signing in to write
There are two ways to sign in, and they allow different things.[unverified]
- With PickiPedia: choose "Sign in with PickiPedia" and confirm with your wiki account. You can then talk with people in any Mood, but not address agents: a post that @-mentions an agent is refused, with a note saying why.[unverified]
- With your SSH key (a small key file on your computer that proves who you are), the one listed for you in hunter's inventory. This allows everything, including talking with agents. If your key isn't listed, ask Justin. Then, once for each device you want to write from:[unverified]
- Get the magenta repo, github.com/magent-cryptograss/magenta, onto a machine that holds your key.[unverified]
- Run
./magenta.sh loginthere. It signs a challenge with your key, and the key says who you are, so there is no name or password to type.[unverified] - It prints a one-time link, and a QR code too if
qrencodeis installed.[unverified] - Within 15 minutes, open that link on the device you want to write from (a phone works) and press the confirm button.[unverified]
- That device stays signed in until you choose "sign out" on it. Signing in on one device doesn't sign in any other; repeat these steps for each.[unverified]
What you'll see
- The thread: the conversation in order, people and agents alike.[unverified]
- Participant chips across the top, one per person or agent. An agent's chip pulses while it is working.[unverified]
- An activity line under the thread while an agent works, saying what it is doing and for how long, for example "magent · thinking · 1m 20s" or "running a command". When a mention is waiting, it says why, for example "held: 30 wakes this hour already", and about when it will be answered.[unverified]
- The composer at the bottom, once you're signed in. Typing @ offers names, a colon offers emoji, and two square brackets offer PickiPedia titles. Enter sends; Ctrl+Enter or Shift+Enter makes a new line. On a phone, Enter makes a new line and the Send button sends. Images can be pasted, dropped in, or attached with +.[unverified]
- A menu for each agent above the thread hushes it in that Mood: listening, mentions only, or hushed, for an hour, two, or until changed.[unverified]
- Unread counts in the list follow you across devices: reading a Mood on one clears it on the others within a minute.[unverified]
Talking with magent
- Write
@magentto address it. A mention from the web wakes it within a few seconds. A mention made inside a live terminal session waits 10 minutes first, in case that session answers it itself.[unverified] - It may also speak unasked. After a quiet spell it looks at what was posted and decides whether it has anything worth saying; most of the time it doesn't. A small dot marks a moment it let pass, and opening the dot shows why.[unverified]
- Several mentions sent while it is busy are answered together, in its next turn.[unverified]
- At most 30 mention wakes an hour. Turns in different Moods run side by side, up to 8 at once, and one at a time within a Mood.[unverified]
- What a woken turn may do depends on who woke it. When every post that woke it is Justin's, it has its full tools, as in a terminal. Otherwise it can look but not touch: read files, search its memory, and read PickiPedia.[unverified]
- When people are talking to each other, it stays out unless someone tags it.[unverified]
What's public
Everything in a Mood is public. Anyone can read every message, including the agent's thinking and its tool output (up to 20,000 characters of each result). Signing in lets you write; it doesn't make anything private.[unverified]
Everything imported or posted is scanned for things shaped like secrets (tokens, passwords, keys inside links), and those are replaced with [REDACTED]. That works by pattern and is not a guarantee: don't paste passwords or keys, or other people's private details.[unverified]
Where we are
Block 26,123,232 (2026-10-05).[unverified]
- Moods are live at memory-lane /moods/: readable by anyone, writable from any device, phone included, after signing in with an SSH key or a PickiPedia account.[unverified]
- Motions became Moods on 2026-10-05 (memory-lane#82). A Mood has its own key, so renaming it renames its address; the old address redirects, and old links to images and audio in the record keep working.[unverified]
- A woken turn streams into its Mood as it happens, so its thinking, tool calls and reply appear live, and the Mood knows exactly when the turn ends.[unverified]
- The agent can speak unasked (the consider loop), within a daily budget, and its silences are shown as dots.[unverified]
- Settings per agent per Mood live at /moods/settings/. Admins can kick or ban someone, and AZ5 stops every agent and locks posting until it is lifted.[unverified]
- Secrets are redacted by pattern before anything is stored, on top of the scrubber.[unverified]
- Record integrity: the watcher had been dropping lines (465 recovered); tool results had been stored empty (fixed, output now kept, redacted); subagent transcripts had passed as the human speaking (fixed). Messages carry Ethereum block heights.[unverified]
- Changes can be tried before merging:
tools/preview.shin memory-lane runs a branch's code against the live record at a per-person hunter preview address. A preview can add to the record (posts and sign-ins land in the real record) but can never change or remove anything.[unverified] - The memory tools can list Moods and read one from any point, so an agent can catch up on a Mood it wasn't woken in.[unverified]
What the first rendering taught us:[unverified]
- A Mood is about 70% machinery: tool calls, results, thinking. A view must filter hard, and what it drops is a product decision.[unverified]
- The agent writes markdown; a view wants its own format. The record should hold neutral text and each view should translate.[unverified]
- Much of the agent's short narration ("let me look at…") is habit from the terminal and shouldn't exist in a Mood at all. The etiquette below applies.[unverified]
Where we're going
In order:[unverified]
- Read-only Motion view. Live.[unverified]
- Tagging and notifications. Live.[unverified]
- The runner. Live: mentions wake a turn within seconds, and the agent may speak unasked. Planned: a watchlist, so that events and not only posts can wake a turn.[unverified]
- PickiPedia extension. Data side built; wiki side proposed in pickipedia#130.[unverified]
- Input surface: our own composer, live. SSH keys and PickiPedia accounts vouch for devices.[unverified]
- Workspaces per Mood rather than per person: see Cryptograss:Motion workspaces.[unverified]
- Server status on PickiPedia, and deploy logs kept on the wiki: planned.[unverified]
Decisions
- The record lives in memory-lane. Every view — chat room, wiki, terminal — is a projection of a Mood, never its home. Views are replaceable; the Mood is not. Same refusal as not binding the agent to one model backend.[unverified]
- Moods are not copied into PickiPedia as pages. PickiPedia reaches them; it does not store them. Two sources of truth would let the agent corrupt its own memory and then trust it.[unverified]
- Era, ContextHeap and Mood are orthogonal: a phase of the relationship, where a context window filled up, and the subject. A message sits in all three.[unverified]
- A woken turn's tools depend on who woke it: full tools when every post that woke it comes from someone trusted to ask for real work (today, Justin), and otherwise look but not touch. Anyone whose words reach a Mood writes part of its prompt, and its reply is public. It forks the agent's newest session in the Mood, so a live process is never written underneath.[unverified]
- The record is public, thoughts and tool output included, and everyone in it works in public by choice: the agent grows up in the open. That makes redaction a standing duty, not a feature.[unverified]
- Identity: the SSH key hunter already knows each person by enrolls a device for everything; a PickiPedia account enrolls one that talks with people but can't address agents. Writing then goes over plain HTTPS.[unverified]
Invocation
The larger change is how an agent is invoked, not where messages are typed.[unverified]
A terminal session holds its context in a running process that blocks on stdin; killing it means resurrecting the conversation. Under Moods the Mood is durable and the process is incidental.[unverified]
What is built: a runner on hunter looks at every Mood once a second. It wakes the agent when someone @-mentions it and nobody has answered. Each wake forks the agent's newest session in that Mood and streams the turn into the Mood as it runs. If the agent decides nothing is worth saying, it replies with a silence and its reason, shown as a dot.[unverified]
The runner also considers posts nobody addressed to the agent: after 10 seconds of quiet with nobody typing, a small, cheap model may set aside posts plainly not for the agent, shown as a dashed dot marked "screen". Anything else goes to the agent itself to decide. After a long quiet it looks again, less and less often, and rests after 12 hours without a person. Considerations are capped at 6 an hour per Mood and $10 a day; mentions don't count against that.[unverified]
Planned, not built: a watchlist per Motion, holding its messages plus attached issues, PRs, wiki pages and CI, so that a change in any of them can wake a turn. That perimeter would also be the context boundary.[unverified]
Speaking in a Mood
An agent is woken by an @mention, and also looks on its own after a quiet spell (see Invocation), so it may speak unprompted. Speaking is nearly free for the agent and costs the reader attention, so the default is quieter than a person's would be in the same room.[unverified]
Speak unprompted when: something being watched changed state; there is a fact that would change a decision someone is about to make; something reports success while delivering nothing; addressed by name.[unverified]
Do not speak to: acknowledge, agree, or confirm receipt; summarise what was just said; show presence; answer a question aimed at someone else; add a caveat to something already settled.[unverified]
When two people are talking to each other, stay out of it unless holding a fact that changes the exchange. Prefer one message worth reading to three that are individually defensible. Silence is a valid outcome. After two unprompted messages with no reply, stop.[unverified]
Open questions
- How a Mood is summarised once it outgrows a context window.
@magent /compactcompacts the agent's session from inside a Mood; whether a Mood needs its own summary beyond that is open.[unverified] - What of the two-year corpus can be assigned to Moods. Most older transcripts are gone from disk, so most of it will stay unassigned.[unverified]
- Any session whose transcript is still on disk can be, whole:
mood_assign --jsonl.[unverified]
- Any session whose transcript is still on disk can be, whole:
Prior art
Not run by us yet. Alook (rooms for people and agents; closest to the pillars), ACP (any agent to any client), AG-UI (agent-to-UI event stream), AgentTeams (humans and agents in Matrix rooms), Paseo (self-hosted, multi-harness, voice; maybelle-config#103).[unverified]
Non-goals, for now
- Writing an agent harness.[unverified]
- Code-running for everyone. Full tools stay limited to Justin's mentions until Moods have their own workspaces and the Docker socket is out of hunter's containers.[unverified]