githubnext/chopinPublic

Let's compose rich plans together

Write down what the code cannot say for itself

The readme explains how to run this. Nothing explained how to change it, and
the parts most worth knowing are the ones least visible in the source: why a
room keeps a headless editor bound to its CRDT, why an answer lives beside the
document rather than in it, why the agent waits to be addressed and why it is
`@ai` rather than the most common noun in the product.

The longest section is the failure modes, because every defect found here so
far was silent. An unhandled node type stops collaboration while the editor
keeps accepting edits. Lexical routes an exception in `update()` to `onError`
and the caller sees success. `send()` resolves on acceptance, not completion.
An agent's `tools` entry for an MCP tool matches nothing and is dropped without
a word. Permission is decided before execution, so a refusal produces no
events at all. None of these announce themselves, and each cost a debugging
session that would have been a lookup.

The test count in the readme was six behind, which is the argument for keeping
these two files close together.
KCKrzysztof Cieslak authored
21baf72Patch
Parent02634d3
2 files changed+196-1
StackedSplit
agents.md+191 −0
readme.md+5 −1