Cryptograss:Magenta 26 Million: Difference between revisions
Add Decisions, Invocation and Speaking sections; retire two settled open questions (via update-page on MediaWiki MCP Server) |
Rework: where we are, where we're going; fold in the public view, tagging, and searchable-from-pickipedia; cut length (via update-page on MediaWiki MCP Server) |
||
| Line 1: | Line 1: | ||
'''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. | '''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. | * A chat interface, not unlike discord, element, zulip, etc. | ||
* Each chat "room" is coupled to a Motion, | * {{Bot_proposes|Each chat "room" is coupled to a '''Motion''': the subject a conversation is about, and the context heap of zero or more LLM agents.|by=Magent}} | ||
* Motions are | * {{Bot_proposes|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 <nowiki>[[link]]</nowiki>.|by=Magent}} | ||
* | * {{Bot_proposes|Motions are searchable ''from'' PickiPedia: existing queries on pages pick up new data as it arrives via a Motion. This needs an extension.|by=Magent}} | ||
* | * {{Bot_proposes|Basic tagging for humans and bots, with notifications.|by=Magent}} | ||
* {{Bot_proposes|Tuning knobs for the AI side — backend, effort — in the interface.|by=Magent}} | |||
* {{Bot_proposes|Every message is tagged by author, so agents can tell who is speaking.|by=Magent}} | |||
== | == Where we are == | ||
{{Bot_proposes|Block 26,071,421 (2026-09-28).|by=Magent}} | |||
== | * {{Bot_proposes|Motions exist in memory-lane. A Motion has a slug and claims however many runtime sessions its subject needed. Shipped as migrations 0003 and 0004.|by=Magent}} | ||
* {{Bot_proposes|Messages route into their Motion as they arrive. The importer had been dropping session context on every message for two years; fixed in the same change.|by=Magent}} | |||
* {{Bot_proposes|The first Motion, <code>magenta-26-million</code>, is open and accumulating. This page's design conversation is in it.|by=Magent}} | |||
* {{Bot_proposes|<code>list_threads</code> is live in the memory MCP server.|by=Magent}} | |||
* {{Bot_proposes|A first rendering was pushed to [[Cryptograss:Motion magenta-26-million]] as a one-off, to see what a Motion looks like. That page is a dead end — see Decisions — and will be retired once the real view exists.|by=Magent}} | |||
{{Bot_proposes| | {{Bot_proposes|What the first rendering taught us:|by=Magent}} | ||
{{Bot_proposes| | * {{Bot_proposes|A Motion is about 70% machinery: tool calls, results, thinking. A view must filter hard, and what it drops is a product decision.|by=Magent}} | ||
* {{Bot_proposes|The agent writes markdown; a view wants its own format. The record should hold neutral text and each view should translate.|by=Magent}} | |||
* {{Bot_proposes|Much of the agent's short narration ("let me look at…") is habit from the terminal and shouldn't exist in a Motion at all. The etiquette below applies.|by=Magent}} | |||
== Where we're going == | |||
{{Bot_proposes|In order:|by=Magent}} | |||
== | # {{Bot_proposes|A read-only Motion view served by memory-lane: sidebar of Motions, live updates, wikilinks resolving to PickiPedia. Not styled as PickiPedia.|by=Magent}} | ||
# {{Bot_proposes|Tagging and notifications.|by=Magent}} | |||
# {{Bot_proposes|The poller: wake an agent turn when a Motion or its watchlist changes.|by=Magent}} | |||
# {{Bot_proposes|A PickiPedia extension so queries on pages can reach Motion data.|by=Magent}} | |||
# {{Bot_proposes|Decide the input surface — our own, or Matrix, or Paseo — once the read-only view has been lived with.|by=Magent}} | |||
== Decisions == | |||
{{Bot_proposes| | * {{Bot_proposes|The record lives in memory-lane. Every view — chat room, wiki, terminal — is a projection of a Motion, never its home. Views are replaceable; the Motion is not. Same refusal as not binding the agent to one model backend.|by=Magent}} | ||
* {{Bot_proposes|Motions 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.|by=Magent}} | |||
* {{Bot_proposes|Era, ContextHeap and Motion are orthogonal: a phase of the relationship, where a context window filled up, and the subject. A message sits in all three.|by=Magent}} | |||
== Invocation == | |||
{{Bot_proposes| | {{Bot_proposes|The larger change is how an agent is invoked, not where messages are typed.|by=Magent}} | ||
{{Bot_proposes|Today a process holds the context and blocks on stdin; killing it means resurrecting the conversation. Under Motions the Motion is durable and the process is incidental: a poller watches a Motion and its attachments and wakes one turn when something changed. No model in the poller. A Motion carries a watchlist — its messages plus attached issues, PRs, wiki pages, CI — and that perimeter is also the context boundary.|by=Magent}} | |||
== Speaking in a Motion == | |||
= | {{Bot_proposes|An agent woken by events 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.|by=Magent}} | ||
{{Bot_proposes| | {{Bot_proposes|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.|by=Magent}} | ||
{{Bot_proposes|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.|by=Magent}} | |||
{{Bot_proposes|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.|by=Magent}} | |||
== Open questions == | == Open questions == | ||
* {{Bot_proposes|Where identity comes from: wiki accounts, Matrix accounts, or our own.|by=Magent}} | * {{Bot_proposes|Where identity comes from: wiki accounts, Matrix accounts, or our own.|by=Magent}} | ||
* {{Bot_proposes|How a Motion is summarised once it outgrows a context window — a cost question as much as a comfort one, since every wake reloads history.|by=Magent}} | |||
* {{Bot_proposes|How a Motion is summarised once it outgrows a context window.|by=Magent}} | * {{Bot_proposes|What of the two-year corpus can be assigned to Motions. Most older transcripts are gone from disk, so most of it will stay unassigned.|by=Magent}} | ||
* {{Bot_proposes|What | |||
== Prior art == | |||
{{Bot_proposes|Not run by us yet. [https://github.com/alookai/alook Alook] (rooms for people and agents; closest to the pillars), [https://agentclientprotocol.com/get-started/introduction ACP] (any agent to any client), [https://docs.ag-ui.com/introduction AG-UI] (agent-to-UI event stream), [https://github.com/agentscope-ai/AgentTeams AgentTeams] (humans and agents in Matrix rooms), [https://github.com/getpaseo/paseo Paseo] (self-hosted, multi-harness, voice; maybelle-config#103).|by=Magent}} | |||
== Non-goals, for now == | == Non-goals, for now == | ||
* {{Bot_proposes|Writing an agent harness.|by=Magent}} | * {{Bot_proposes|Writing an agent harness.|by=Magent}} | ||
* {{Bot_proposes|Motions that run code. Talk first; execution needs a rights model.|by=Magent}} | * {{Bot_proposes|Motions that run code. Talk first; execution needs a rights model.|by=Magent}} | ||
Revision as of 17:41, 28 September 2026
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.[unverified]
- 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]].[unverified]
- Motions are searchable from PickiPedia: existing queries on pages pick up new data as it arrives via a Motion. This needs an extension.[unverified]
- Basic tagging for humans and bots, with notifications.[unverified]
- Tuning knobs for the AI side — backend, effort — in the interface.[unverified]
- Every message is tagged by author, so agents can tell who is speaking.[unverified]
Where we are
Block 26,071,421 (2026-09-28).[unverified]
- Motions exist in memory-lane. A Motion has a slug and claims however many runtime sessions its subject needed. Shipped as migrations 0003 and 0004.[unverified]
- Messages route into their Motion as they arrive. The importer had been dropping session context on every message for two years; fixed in the same change.[unverified]
- The first Motion,
magenta-26-million, is open and accumulating. This page's design conversation is in it.[unverified] list_threadsis live in the memory MCP server.[unverified]- A first rendering was pushed to Cryptograss:Motion magenta-26-million as a one-off, to see what a Motion looks like. That page is a dead end — see Decisions — and will be retired once the real view exists.[unverified]
What the first rendering taught us:[unverified]
- A Motion 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 Motion at all. The etiquette below applies.[unverified]
Where we're going
In order:[unverified]
- A read-only Motion view served by memory-lane: sidebar of Motions, live updates, wikilinks resolving to PickiPedia. Not styled as PickiPedia.[unverified]
- Tagging and notifications.[unverified]
- The poller: wake an agent turn when a Motion or its watchlist changes.[unverified]
- A PickiPedia extension so queries on pages can reach Motion data.[unverified]
- Decide the input surface — our own, or Matrix, or Paseo — once the read-only view has been lived with.[unverified]
Decisions
- The record lives in memory-lane. Every view — chat room, wiki, terminal — is a projection of a Motion, never its home. Views are replaceable; the Motion is not. Same refusal as not binding the agent to one model backend.[unverified]
- Motions 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 Motion are orthogonal: a phase of the relationship, where a context window filled up, and the subject. A message sits in all three.[unverified]
Invocation
The larger change is how an agent is invoked, not where messages are typed.[unverified]
Today a process holds the context and blocks on stdin; killing it means resurrecting the conversation. Under Motions the Motion is durable and the process is incidental: a poller watches a Motion and its attachments and wakes one turn when something changed. No model in the poller. A Motion carries a watchlist — its messages plus attached issues, PRs, wiki pages, CI — and that perimeter is also the context boundary.[unverified]
Speaking in a Motion
An agent woken by events 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
- Where identity comes from: wiki accounts, Matrix accounts, or our own.[unverified]
- How a Motion is summarised once it outgrows a context window — a cost question as much as a comfort one, since every wake reloads history.[unverified]
- What of the two-year corpus can be assigned to Motions. Most older transcripts are gone from disk, so most of it will stay unassigned.[unverified]
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]
- Motions that run code. Talk first; execution needs a rights model.[unverified]