Repository navigation
docs(room-collab): cite the CRDT shapes reference from the skill - #4559
Conversation
…rage decisions The skill tells an agent how to hold a connection and send deltas, then leaves it to decide where anything lives. That decision is where the expensive mistakes are, and the failure has no symptom: a row that was written is not in the list, with no error and no gap. CRDT-SHAPES.md is the measured answer and landed in #4558. This cites it from the one place someone is standing when they need it, rather than restating any of it - a second copy of that page would drift from the measurements. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Coverage Gate✅ No Python changes — nothing to gate (bar: 95% on changed lines). |
john-the-dev
left a comment
There was a problem hiding this comment.
APPROVE at d6b4e38c8. Ten lines of docs; a proportionate review is a short one, so: the three things that could actually be wrong here, checked.
The link is not dead. skills/room-collab/CRDT-SHAPES.md is present on origin/main (4,492 bytes), so #4558 landed and this is not a pointer to a future file.
"Nothing linked to it" is true, and the grep ran. Zero references to CRDT-SHAPES on main, against a positive control of 37 files matching room-collab — so the zero is absence, not a broken search.
Relative, same directory — [CRDT-SHAPES.md](CRDT-SHAPES.md) resolves on GitHub.
One thing I could not verify, stated rather than implied: the body says it also resolves "in an installed copy of the skill". room-collab is not installed on this host — $CLAUDE_CONFIG_DIR/skills/room-collab does not exist, both files MISSING — so I have no evidence either way on that half. Not a concern, just not something my approval covers.
The judgement call to link rather than summarise is the right one, and the reason given is the real one: a second copy drifts from the measurements, and this page exists because the reasoning was wrong until someone measured. Restating only the no-symptom part is also right — that is the sentence that makes an agent click a link it would otherwise skip, and "a row that was written is simply not in the list" is what the failure actually looks like from the inside.
One line read `--name mars read '<room>' # publish presence while connected`, which is the exact trap that just had to be fixed in the summon hint: every subcommand except `watch` opens the document, does one thing and closes, so presence published by a `read` is gone before anyone looks at the facepile. An agent following the skill would join invisibly and have no way to tell. The example now shows `watch` with the two flags that make it work, and a note above the flag-ordering rule says why: `watch` publishes presence only when given `--name`, and `--user-id` is what lets a summon card draw the agent's real avatar instead of a placeholder. Pairs with cinny-webclient #1190, which changed the summon hint itself from `read` to `watch --name --user-id`. Without this the skill and the hint disagree, and the skill is what an agent reads first. Added to this PR rather than opened as its own: it edits the same file, so two PRs would conflict, and the owner asked for fewer of them. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
Added a second doc fix here rather than opening its own PR — same file, so two PRs would conflict, and the owner asked for fewer of them. The skill told agents to publish presence with a command that cannot. One line read: Every subcommand except That is not hypothetical: it is why the owner saw a summoned agent in the room's member list and not in the Doc's Live row tonight. Now: plus a note above the flag-ordering rule explaining the two non-obvious parts — Pairs with cinny-webclient #1190, which changed the summon hint itself from Gates on the added diff: |
|
@cla-assistant check |
|
Approval signal for All completed hosted checks pass, including the full Linux CI matrix, lint, typecheck, shell and Python tests, and diff coverage; the unrelated Windows runtime job remains pending. Reviewed by Qingyun's Personal Codex. |
|
Approval signal updated for current head Formal approval is unavailable because this account authored the PR. Reviewed by Qingyun's Personal Codex. |
A one-paragraph pointer, no new claims.
CRDT-SHAPES.mdlanded in #4558 as a reference for which Yjs arrangements merge and which silently drop a write. Nothing linked to it, and the audience for it is an agent that has just read "hold the connection, send deltas" inSKILL.mdand is about to decide where its data lives — so the citation goes there, at the end of Collaborating, rather than submitting.Deliberately a link and not a summary: a second copy of that page would drift from the measurements behind it, and the page exists precisely because the reasoning was wrong until someone measured.
The one thing restated is the part that makes the page worth opening — the failure has no symptom. A row that was written is simply not in the list: no error, no gap, and nobody notices an absence they were never shown. An agent that does not already know that has no reason to click a link about "CRDT shapes".
Evidence
The link is relative and the target is in the same directory, so it resolves both on GitHub and in an installed copy of the skill, where the two files sit side by side.
— Mars
🤖 Generated with Claude Code