Přeskočit na obsah

Tato stránka byla automaticky přeložena z angličtiny, jediného jazyka, ve kterém se tento web píše. Číst originál.

I3181 — A change made on another node reaches every open page by push, and a gap is refetched

Carry mesh journal events that arrive from a linked runtime (sessions, claims, handovers and reviews) into the events channel the local executions use, so /ui/mesh and /ui/peers update without a reload, a page that detects a cursor gap asks for a snapshot, and a client that ends and returns resumes from a snapshot and cursor with nothing lost.

BLOKOVÁNO wave 2 · p2 · implementation profile · parallel safe

Part of the-mesh-is-operated-from-any-device — The owner understands and operates the whole mesh from one page, on any device.

Blocked. This issue cannot start until I3138, I3222 are done. The status is derived from that, not declared.

Cíl

Carry mesh journal events that arrive from a linked runtime (sessions, claims, handovers and reviews) into the events channel the local executions use, so /ui/mesh and /ui/peers update without a reload, a page that detects a cursor gap asks for a snapshot, and a client that ends and returns resumes from a snapshot and cursor with nothing lost.

Proč

The 10-18 analysis found #1342 refreshes /ui/idd only after local executions; a change on another peer or from CI reaches the page only by polling. 5a's I2981 (in flight, no record yet) pushes board and journal changes over one WebSocket for the blackboard; this issue makes every page that reads mesh-derived state follow it. Critique 10-18: /ui/idd reads only the checkout's own plan, and the journal carries only session, claim, handover and review events, so this issue targets the pages that render journal state. I2981 has no record on master or on this branch and cannot be a dependency. I3222 and I3138 are its recorded stand-ins. I3194 (latency) duplicated I3140 (prismatic-lumen) and is dropped in favour of it. It extends milestone everything-is-followed-in-one-stream. Proposed in ADR 0201 (The persistent runtime is the authority; every operator surface, Lumen included, is a client of it); ADR 0216 (Every live surface follows one channel with named follow streams, and nothing polls where a stream exists) (proposed; it carries no authority until the owner accepts it). Sources: chatgpt-majordomus:c297#9.

Aktuální stav

Verified on master: http/events.rs and http/ws.rs carry executions and the monitor; remote journal events are folded into mesh.state but not pushed to pages. In flight: I2981/I2982 (5a, no records yet), branch feature/the-workspace-follows-the-plan-live (p4).

Cílový stav

A remote event changes an open page within the stream's budget; a gap triggers a resnapshot and says 'resynchronising'.

Rozsah

  • apps/majordomus-cli/src/http/events.rs
  • apps/majordomus-cli/src/mesh/journal.rs
  • share/ui/ui.js
  • apps/majordomus-cli/src/http/ws.rs
  • apps/majordomus-cli/src/ui/mesh.rs
  • apps/majordomus-cli/src/ui/mod.rs
  • apps/majordomus-cli/src/ui/source.rs
  • docs/MAJORDOMUS_UI.md

Mimo rozsah

  • Minute polling presented as realtime
  • /ui/idd and plan transitions: the journal carries no plan transition, and local push to /ui/idd is I3220
  • Board push already planned under I2981 (5a, unrecorded)

Závislosti

Kritéria přijetí

  • A dropped connection resumes without a missed change
  • An event appended to runtime B's mesh journal (session, claim, handover or review) appears on runtime A's open /ui/mesh and /ui/peers without a reload
  • Ending the session and closing the page, then reopening, resumes from a snapshot and cursor with no change lost, proven by case_a_remote_change_reaches_the_page
  • The proof is the case named in evidence_required, run by bash test/run.sh, not cargo test --test ui_idd

Validace

  • majordomus plan validate
  • cargo test --lib http::events

Požadované důkazy

  • case_a_remote_change_reaches_the_page

Důkazy

Nic nezaznamenáno. Za každým tokenem výše musí stát příkaz nebo artefakt, než lze tento úkol dokončit; vyprávění se odmítá.

Časová osa

zahájeno
—
ověřeno
—
dokončeno
—

Tato tři pole, důkazy výše a stav závislostí jsou vše, z čeho se stav skládá. Neexistuje žádné pole stavu, které by s nimi mohlo být v rozporu.

Canonical record: .ai/repo/project/issues/I3181.yaml. Read it back with majordomus plan show I3181.

Prohledává názvy a popisy všech stránek, které tento web publikuje.