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.

I3175 — Two hosts presenting one node key are named as a duplicate, never folded into one flapping node

Detect two live instances advertising the same node id from different addresses within one expiry window, report them as a duplicate identity in mesh peers and as a failed check in mesh doctor, and keep the registry from counting their alternation as restarts.

PŘIPRAVENO vlna 0 · p2 · profil implementation · bezpečné souběžně

Součást runtime-trust — Runtime je bezpečné zpřístupnit z jiného stroje a připojení k mesh nikomu nevěří omylem.

Připraveno. Všechny závislosti jsou hotové, takže majordomus plan start I3175 bude přijato.

Cíl

Detect two live instances advertising the same node id from different addresses within one expiry window, report them as a duplicate identity in mesh peers and as a failed check in mesh doctor, and keep the registry from counting their alternation as restarts.

Proč

A copied node.json (cloned disk image, restored backup) makes two machines one identity; the 09-11 federation design asked for a gate on duplicate node ids. Today the registry replaces the record on every new instance id (mesh/registry.rs:252-260), so two hosts sharing a key read as one node restarting endlessly. Sources: chatgpt-majordomus:c113#2, chatgpt-majordomus:c113#18.

Aktuální stav

Verified: TOFU rejects one node id under a different key (mesh/trust.rs:32); nothing detects one key under two live instances; mesh doctor checks identity, trust, journal, firewall, runtime.

Cílový stav

registry tracks concurrent instances per node within the expiry; doctor fails 'identity' naming both addresses.

Rozsah

  • apps/majordomus-cli/src/mesh/registry.rs
  • apps/majordomus-cli/src/mesh/doctor.rs
  • docs/MESH.md

Mimo rozsah

  • Revoking either host automatically

Závislosti

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

Kritéria přijetí

  • Two instances of one node id alternating inside one expiry are reported duplicate, with both addresses
  • A real restart is still one restart

Validace

  • majordomus plan validate
  • cargo test --lib mesh::registry

Požadované důkazy

  • test_duplicate_instances_are_named

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/I3175.yaml. Read it back with majordomus plan show I3175.

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