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.

I2139 — Synchronizační zpráva zůstává pod mezí spoje, ať váží značky cokoli

Rozpočtovat každou synchronizační zprávu jako mez linku minus její značky a přestat posílat značky náhrobků, které peer nedrží.

HOTOVO vlna 0 · p1 · profil implementation · běží samostatně

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

Rozpočtovat každou synchronizační zprávu jako mez linku minus její značky a přestat posílat značky náhrobků, které peer nedrží.

Proč

Rozpočet 600 KiB událostí synchronizace ignoruje velikost značek posílaných s ní (apps/majordomus-cli/src/mesh/journal.rs:1734-1766). 1024 živých značek po zhruba 340 B, plus 4096 náhrobků po zhruba 95 B, plus 600 KiB událostí překračuje MAX_LINK_MESSAGE 900 KiB (apps/majordomus-cli/src/mesh/link.rs:67,70). To je aritmetika auditu, ne pozorované za běhu. Nad touto velikostí odpovídající zprávu odmítne (apps/majordomus-cli/src/mesh/cooperation.rs:1769-1779, 2010-2020) a vytížený žurnál by přestal replikovat bez typovaného vysvětlení. Základní audit z 2026-10-09 na master 1fb8d6be44, mezera mesh 7.

Aktuální stav

Rozpočet událostí je konstanta, která značky nezapočítává.

Cílový stav

sync_with a accept_sync počítají rozpočet událostí jako MAX_LINK_MESSAGE minus serializované značky, vynechají značky náhrobků, které peer nedrží, a stavitel zpráv ověřuje mez.

Rozsah

  • apps/majordomus-cli/src/mesh/journal.rs
  • apps/majordomus-cli/src/mesh/cooperation.rs
  • apps/majordomus-cli/src/mesh/link.rs
  • apps/majordomus-cli/tests/mesh_cooperation.rs

Závislosti

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

Kritéria přijetí

  • Žurnál s 1024 živými značkami a 4096 náhrobky se replikuje do prázdného peera v několika kolech, každá zpráva pod MAX_LINK_MESSAGE
  • Žádná synchronizační zpráva, kterou sestaví volající nebo odpovídající, nepřekročí MAX_LINK_MESSAGE, ověřeno tam, kde se sestavuje

Validace

  • bin/majordomus plan validate
  • cargo test --lib mesh
  • cargo test --test mesh_cooperation

Požadované důkazy

  • sync_at_the_mark_bound_test

Důkazy

pokrývátypcommandvýsledeku commitu
sync_at_the_mark_bound_testtestcargo test --locked --manifest-path apps/majordomus-cli/Cargo.toml --test mesh_sync_bound sync_at_the_mark_bound_testtest result: ok. 1 passed; 0 failed (run 2026-10-14 between 07:40Z and 07:58Z on master ce5959db59)ce5959d

Časová osa

zahájeno
2026-10-14T08:01:37Z
ověřeno
—
dokončeno
2026-10-14T08:01:43Z

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/I2139.yaml. Přečtěte ho zpět pomocí majordomus plan show I2139.

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