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ě
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á | typ | command | výsledek | u commitu |
|---|---|---|---|---|
| sync_at_the_mark_bound_test | test | cargo test --locked --manifest-path apps/majordomus-cli/Cargo.toml --test mesh_sync_bound sync_at_the_mark_bound_test | test 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.