Identities works

This commit is contained in:
John Poole 2026-05-17 13:22:25 -07:00
commit 097bf9e988
3 changed files with 103 additions and 1 deletions

View file

@ -122,3 +122,4 @@ Caution: one-way latency assumes sender and receiver clocks are synchronized.
Your chronyc tracking output helps bound this error, but it is not a substitute for ACK/round-trip timing.
(rnsenv) jlpoole@jp /usr/local/src/ble-reticulum/scripts $
```
May 17, 2026 1:21 PM Identities CPP works and tested in field with bilateral Constitution test. Report: migration/reports/identities_20260517_report.md

View file

@ -1 +1 @@
5/17/26: This branch is for runs which I might laster want to reference. Case in point: run13 - something, possible a timeout taking effect before a [bilateral Constitution] transfer was completed left zerodev1 in such a state that a reboot was necessary. This is very bad and needs to be duplicated and understood so in production if the same conditions are met, they are gracefully handled. "runX" directories here are moved from the tmp/runs branch which is not under source control.
5/17/26: This branch is for runs which I might laster want to reference. Case in point: run14 - something, possible a timeout taking effect before a [bilateral Constitution] transfer was completed left zerodev1 in such a state that a reboot was necessary. This is very bad and needs to be duplicated and understood so in production if the same conditions are met, they are gracefully handled. "runX" directories here are moved from the tmp/runs branch which is not under source control.

View file

@ -0,0 +1,101 @@
zerodev1 & 2 compile and tests succeeded, example form zerodev2:
```
jlpoole@zerodev2:/usr/local/src/ble-reticulum $ python3 -m pytest migration/tests/test_identity_helpers_cpp_equivalence.py -q -rs
===================================== test session starts =====================================
platform linux -- Python 3.13.5, pytest-8.3.5, pluggy-1.5.0
rootdir: /usr/local/src/ble-reticulum
configfile: pytest.ini
plugins: typeguard-4.4.2, asyncio-0.25.1
asyncio: mode=Mode.AUTO, asyncio_default_fixture_loop_scope=function
collected 21 items
migration/tests/test_identity_helpers_cpp_equivalence.py ..s.................. [100%]
=================================== short test summary info ===================================
SKIPPED [1] migration/tests/test_identity_helpers_cpp_equivalence.py:64: BLEInterface importable; source fallback not used
================================ 20 passed, 1 skipped in 2.60s ================================
jlpoole@zerodev2:/usr/local/src/ble-reticulum $ python3 -m pytest migration/tests/test_fragmentation_cpp_equivalence.py migration/tests/test_fragmentation_backend_shim.py -q
===================================== test session starts =====================================
platform linux -- Python 3.13.5, pytest-8.3.5, pluggy-1.5.0
rootdir: /usr/local/src/ble-reticulum
configfile: pytest.ini
plugins: typeguard-4.4.2, asyncio-0.25.1
asyncio: mode=Mode.AUTO, asyncio_default_fixture_loop_scope=function
collected 36 items
migration/tests/test_fragmentation_cpp_equivalence.py ............................ [ 77%]
migration/tests/test_fragmentation_backend_shim.py ........ [100%]
===================================== 36 passed in 5.07s ======================================
jlpoole@zerodev2:/usr/local/src/ble-reticulum $
```
## Field test results
```bash
(rnsenv) jlpoole@jp /usr/local/src/ble-reticulum/scripts $ ./analyze_reticulum_file_transfer_20260516_1130.pl ../tmp/run16/20260517_1316_zerodev1_BilateralConstitution_CPP.txt ../tmp/run16/20260517_1316_zerodev2_BilateralConstitution_CPP.txt
Reticulum BLE file transfer analysis
Generated: 2026-05-17 13:18:17 PDT
Input files:
../tmp/run16/20260517_1316_zerodev1_BilateralConstitution_CPP.txt
../tmp/run16/20260517_1316_zerodev2_BilateralConstitution_CPP.txt
Log provenance summary:
20260517_1316_zerodev1_BilateralConstitution_CPP.txt receiver=zerodev1 date='Sun May 17 13:14:42 PDT 2026' command_lines=21 post_marker_lines=591
20260517_1316_zerodev2_BilateralConstitution_CPP.txt receiver=zerodev2 date='Sun May 17 01:14:44 PM PDT 2026' command_lines=20 post_marker_lines=587
Chrony clock notes from logs:
20260517_1316_zerodev1_BilateralConstitution_CPP.txt
System time : 0.000601033 seconds slow of NTP time
System time : 0.000489284 seconds slow of NTP time
20260517_1316_zerodev2_BilateralConstitution_CPP.txt
System time : 0.000179263 seconds slow of NTP time
System time : 0.000172438 seconds slow of NTP time
Declared outbound sends observed in logs:
sender=zerodev1 file=US_Constitution.txt chunks= 140 bytes= 44225 chunk_data_bytes=316
sender=zerodev2 file=US_Constitution.txt chunks= 148 bytes= 44225 chunk_data_bytes=n/a
Direction: zerodev1->zerodev2
file : US_Constitution.txt
chunks received : 140 of 140
completeness : 100.00%
missing chunks : none
duplicate chunks : none
payload bytes RX : 44225
first chunk RX : 13:15:09.853
last chunk RX : 13:15:46.269
receiver span : 36.416 s
sender span : 14.301 s
payload rate RX span : 1214.4 B/s 9715.5 bit/s
payload rate TX span : 3092.5 B/s 24739.9 bit/s
one-way latency min/median/mean/p95/max/stddev: 243.979 / 11512.287 / 11498.435 / 21675.719 / 22359.194 / 6564.508 ms
receiver inter-chunk gap min/median/mean/p95/max/stddev: 149.000 / 247.000 / 261.986 / 340.000 / 391.000 / 41.138 ms
sender inter-chunk gap min/median/mean/p95/max/stddev: 101.950 / 102.959 / 102.883 / 103.934 / 108.573 / 1.017 ms
Direction: zerodev2->zerodev1
file : US_Constitution.txt
chunks received : 148 of 148
completeness : 100.00%
missing chunks : none
duplicate chunks : none
payload bytes RX : 44225
first chunk RX : 13:15:09.804
last chunk RX : 13:15:44.712
receiver span : 34.908 s
sender span : 15.452 s
payload rate RX span : 1266.9 B/s 10135.2 bit/s
payload rate TX span : 2862.1 B/s 22897.1 bit/s
one-way latency min/median/mean/p95/max/stddev: 247.634 / 9976.582 / 9997.460 / 18882.898 / 19703.868 / 5718.277 ms
receiver inter-chunk gap min/median/mean/p95/max/stddev: 146.000 / 243.000 / 237.469 / 292.000 / 341.000 / 28.719 ms
sender inter-chunk gap min/median/mean/p95/max/stddev: 103.746 / 103.952 / 105.114 / 108.940 / 123.369 / 3.165 ms
Hello/handshake RX records:
zerodev2 -> zerodev1 recv=13:15:09.530 latency= 169.698 ms message='hello'
zerodev1 -> zerodev2 recv=13:15:09.537 latency= 118.429 ms message='hello back'
Caution: one-way latency assumes sender and receiver clocks are synchronized.
Your chronyc tracking output helps bound this error, but it is not a substitute for ACK/round-trip timing.
(rnsenv) jlpoole@jp /usr/local/src/ble-reticulum/scripts $
```