Summary
During local/studio stress testing with the released x0x 0.21.2 daemon, the core read-only surfaces passed, but stateful cross-node delivery did not propagate reliably between the MacBook Swift instance and the studio Dioxus instance.
Targets:
- MacBook/local:
b3ce9af3bbed63cabfb0d36ac2436dae3a1a4fcce45f82119db0b31b76d1d69e, x0x 0.21.2, connected, ~4 peers
- Studio:
1675f91fd4c59095646db9c7603cc68811f7bbe898afe5f746653875973cea4c, x0x 0.21.2, connected, ~10 peers
What passed
cargo test -p communitas-x0x-client --test live_matrix_contract -- --ignored --nocapture with a two-target matrix passed:
- health/status/agent
- identity cards
- discovery/presence/find/reachability
- network status and bootstrap cache
- websocket connect/ping
- SSE connect
- constitution and GUI HTML surfaces
Contacts/trust also passed in the mutation harness:
- mutual agent-card import
- block/unblock/trust
- machine add/pin/unpin
- remove/re-add
- synthetic revocation lifecycle
Failures observed
Direct messaging and file transfer
POST /direct/send local -> studio failed:
HTTP 504 {"detail":"timed out after 1 retries over 12.004431084s","error":"timeout","ok":false}
File transfer then failed with the same underlying condition:
HTTP 500 {"error":"send offer failed: peer disconnected: agent not connected: [22, 117, 249, ...]","ok":false}
Pubsub / events
Studio subscribed to a unique topic via POST /subscribe, local published via POST /publish, and studio /events did not receive the message within 120 seconds.
FAIL gossip pubsub local->studio: timeout waiting for SSE studio/events
Public group messages
A public_open group could be created locally and joined by studio, but public group messages did not converge both ways via GET /groups/:id/messages.
Request-access groups
After importing the group card on studio, POST /groups/:id/requests returned ok: true on studio. The owner/local daemon still reported zero pending requests and approving the returned request id failed with 404.
studio request: {"ok":true,"group_id":"...","request_id":"eb8edad904b646a59895a764a534fe65"}
local GET /groups/:id/requests -> []
local approve -> HTTP 404
Stores and tasks
A store created locally and joined by studio allowed local CRUD, but cross-node replication/update/delete did not appear:
store create/join/put/update/delete: replicated=False updated=False deleted=False
A task list created with the same topic on both nodes returned the same id, but tasks did not cross-appear:
task/kanban create/add/claim/complete: done=False cross_visible=False local_id=codex.ta studio_id=codex.ta
The done=False portion is partly a GUI/client interpretation bug because the daemon returns states such as done:<agent_id>; that is being patched separately. The cross visibility remained false.
Mutation timeout after applying state
One PATCH /groups/:id request timed out in the client, but the local group description later showed the mutation had applied. That suggests at least one mutation route can apply state but fail to return in time under load.
Expected
For two connected healthy daemons with mutual trusted contacts:
- direct messages should deliver to
/direct/events or fail with actionable connection diagnostics before app-level send
- pubsub messages should reach subscribed peers
- group messages, join requests, stores, and task CRDT state should converge across joined members
- mutation endpoints should not leave clients in an ambiguous timed-out-but-applied state
Notes
This likely overlaps with #11 but is broader than the initial-message-drop case: the two-machine run showed no cross-node delivery for several stateful surfaces despite read-only discovery and WebSocket/SSE connection tests passing.
Summary
During local/studio stress testing with the released x0x 0.21.2 daemon, the core read-only surfaces passed, but stateful cross-node delivery did not propagate reliably between the MacBook Swift instance and the studio Dioxus instance.
Targets:
b3ce9af3bbed63cabfb0d36ac2436dae3a1a4fcce45f82119db0b31b76d1d69e, x0x0.21.2, connected, ~4 peers1675f91fd4c59095646db9c7603cc68811f7bbe898afe5f746653875973cea4c, x0x0.21.2, connected, ~10 peersWhat passed
cargo test -p communitas-x0x-client --test live_matrix_contract -- --ignored --nocapturewith a two-target matrix passed:Contacts/trust also passed in the mutation harness:
Failures observed
Direct messaging and file transfer
POST /direct/sendlocal -> studio failed:File transfer then failed with the same underlying condition:
Pubsub / events
Studio subscribed to a unique topic via
POST /subscribe, local published viaPOST /publish, and studio/eventsdid not receive the message within 120 seconds.Public group messages
A
public_opengroup could be created locally and joined by studio, but public group messages did not converge both ways viaGET /groups/:id/messages.Request-access groups
After importing the group card on studio,
POST /groups/:id/requestsreturnedok: trueon studio. The owner/local daemon still reported zero pending requests and approving the returned request id failed with 404.Stores and tasks
A store created locally and joined by studio allowed local CRUD, but cross-node replication/update/delete did not appear:
A task list created with the same topic on both nodes returned the same id, but tasks did not cross-appear:
The
done=Falseportion is partly a GUI/client interpretation bug because the daemon returns states such asdone:<agent_id>; that is being patched separately. The cross visibility remained false.Mutation timeout after applying state
One
PATCH /groups/:idrequest timed out in the client, but the local group description later showed the mutation had applied. That suggests at least one mutation route can apply state but fail to return in time under load.Expected
For two connected healthy daemons with mutual trusted contacts:
/direct/eventsor fail with actionable connection diagnostics before app-level sendNotes
This likely overlaps with #11 but is broader than the initial-message-drop case: the two-machine run showed no cross-node delivery for several stateful surfaces despite read-only discovery and WebSocket/SSE connection tests passing.