I3190 — The mesh lab proves links behind NAT, with the relay, a hub outage and an address change
Add NAT topologies to test/mesh-lab (two private networks behind masquerading routers, one blocked UDP) and scenarios for relayed link, direct upgrade, hub down, address change and compromised bootstrap, each with measured connect time, required by scripts/ci/mesh-lab-evidence.
BLOKOVÁNO wave 3 · p3 · verification profile · parallel safe
Blocked. This issue cannot start until I3189, milestone:mesh-connectivity are done. The status is derived from that, not declared.
Cíl
Add NAT topologies to test/mesh-lab (two private networks behind masquerading routers, one blocked UDP) and scenarios for relayed link, direct upgrade, hub down, address change and compromised bootstrap, each with measured connect time, required by scripts/ci/mesh-lab-evidence.
Proč
The 10-12 criteria require network namespaces and never localhost as proof of NAT traversal; the 10-16 matrix listed Pages offline, hub offline, symmetric NAT, IP change and partition. The lab has ten scenarios on one bridge network. Proposed in ADR 0202 (The mesh routes work to an identity, never an address, and selects among proven transports instead of implementing NAT traversal) (proposed; it carries no authority until the owner accepts it). Sources: chatgpt-majordomus:c282#5, chatgpt-majordomus:c102#14, chatgpt-majordomus:c166#6.
Aktuální stav
Verified: test/mesh-lab/run scenarios claim_conflict ... three_node_convergence; no NAT.
Cílový stav
The lab's required set includes the NAT scenarios; case 414 holds the set.
Rozsah
- test/mesh-lab
- scripts/ci/mesh-lab-evidence
- .github/workflows/validate.yml
Mimo rozsah
- Proving traversal on a real multi-network (a manual, recorded run)
Závislosti
Kritéria přijetí
- Each scenario has a measured outcome
- A dropped scenario fails case 414
- The relayed_link scenario runs both nodes on private networks that cannot dial each other and reach the hub only over a private or overlay network, so the lab proves the relay without a public cleartext hop
Validace
- majordomus plan validate
- bash test/run.sh 414_mesh_lab_evidence
Požadované důkazy
- mesh_lab_nat_matrix
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/I3190.yaml. Read it back with majordomus plan show I3190.