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.

I2140 — Stránkování mesh.events vrací každou událost právě jednou

Stránkovat mesh.events podle kauzálního klíče a vracet poslední vrácený klíč jako další kurzor.

HOTOVO vlna 0 · p2 · profil implementation · bezpečné souběžně

Součást mesh-journal-converges — Žurnál spolupráce je trvalý, konverguje při jakémkoli pořadí doručení a nikdy nenechá zvítězit zastaralý claim.

Cíl

Stránkovat mesh.events podle kauzálního klíče a vracet poslední vrácený klíč jako další kurzor.

Proč

EventList.lamport je zdokumentováno jako 'the after of the next page' (apps/majordomus-cli/src/capability/builtin/mesh.rs:594-596), ale je to maximální lamport žurnálu (apps/majordomus-cli/src/mesh/journal.rs:2124-2133), takže zkrácená stránka přeskočí zbytek žurnálu. Stránkování podle posledního vráceného lamportu také přeskakuje události, které ho sdílejí napříč proudy, protože filtr je lamport > after (apps/majordomus-cli/src/capability/builtin/mesh.rs:601-619). Žádný test nepokrývá events_after. Výchozí audit z 2026-10-09 na masteru 1fb8d6be44, mezera meshe 8 a drift 9.

Aktuální stav

Klient, který sleduje zdokumentovaný kurzor, zmešká události.

Cílový stav

Stránky se řežou kauzálním klíčem (lamport, stream, seq) (apps/majordomus-cli/src/mesh/journal.rs:858), odpověď nese poslední vrácený klíč jako další kurzor a mesh events --after jej přijímá.

Rozsah

  • apps/majordomus-cli/src/capability/builtin/mesh.rs
  • apps/majordomus-cli/src/mesh/journal.rs
  • apps/majordomus-cli/src/cli/local.rs
  • apps/majordomus-cli/tests/mesh.rs
  • docs/MESH.md

Závislosti

Žádné. Tento úkol je kořenem grafu.

Co na tom čeká

Kritéria přijetí

  • Procházení mesh.events s limitem 1 přes žurnál, kde několik proudů sdílí lamport, vrátí každou událost jednou, v kauzálním pořadí
  • Kurzor, který schéma dokumentuje, je kurzor, který další stránka přijme

Validace

  • bin/majordomus plan validate
  • cargo test --test mesh
  • cargo test --lib mesh::journal

Požadované důkazy

  • events_paging_test

Důkazy

pokrývátypcommandvýsledeku commitu
events_paging_testtestcargo test --lib -- mesh::; cargo test --test meshlib mesh:: 319 prošlo včetně paging_by_stamp_returns_every_event_exactly_once; --test mesh 8 prošlo (kód na master od f820f5ab02f; znovu spuštěno na master 01227a0)01227a0

Časová osa

zahájeno
2026-10-17T12:05:34Z
ověřeno
2026-10-17T12:05:46Z
dokončeno
2026-10-17T12:05:53Z

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.

Kanonický záznam: .ai/repo/project/issues/I2140.yaml. Načtěte ho zpět pomocí majordomus plan show I2140.

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