Commit Graph

15 Commits

Author SHA1 Message Date
cj-vana
5f35af7854 forge: add patch 12 — spell out hops/byte, drop channel name in test ack
Test response now reads:
  @[user] | 2 hops, 2-byte hashes, SNR -1.25 | recv 21:25:45
(was: @[user] #bot | 2h@2B SNR -1.25 | recv 21:25:45)

Path response now reads:
  Path @[user] 6 hops, 2-byte hashes, SNR -8.50 | <path>
(was: Path @[user] 6h@2B SNR -8.50 | <path>)

DM responses keep 'direct' indicator. Trace and other commands
unchanged for now. Tests updated for the new strings.

Submodule pointer stays at upstream 910b1bee so CI submodule clone
succeeds; apply-patches.sh applies the queue at build time.
2026-05-16 21:32:19 -06:00
cj-vana
0010842ac2 forge: add patch 10 — widen coordinator delays ~25%
Bumps base/jitter/hop_step/cap/TTL ~25% for more reliable token
suppression at the multi-hop edge. Bumps BOT_PREFS_VERSION 4 -> 5 to
force re-default of hop_step_ms on existing bots. Test bumped
many_hops.path_hash_count 10 -> 20 so the cap-check still trips with
the new 15000ms cap.
2026-05-16 20:31:20 -06:00
cj-vana
b7cc1dc0ca forge: add patch 9 — widen hop-step + drop "ack " from test response
- BOT_HOP_STEP_MILLIS_DEFAULT 1500 -> 2500
- BOT_HOP_BIAS_MAX_MILLIS 8000 -> 12000
- BOT_RESPONSE_PENDING_TTL_MILLIS 45000 -> 60000
- BOT_PREFS_VERSION 3 -> 4 (forces re-default of hop_step_ms on existing
  bots that saved the old 1500 value)
- writeAckResponse + executeTest: drop the literal "ack " prefix so test
  responses now start with "@[sender] ..."

Field test showed two bots with token-matching `[1865]` responses both
firing because the far bot scheduled its reply before the near bot's
reply could propagate back through the mesh. New hop step gives ~5-8 s
of margin at the 4-hop boundary.
2026-05-16 20:05:31 -06:00
cj-vana
064904e596 forge: add patch 8 — drop [MCBOT] advert suffix
The auto-discovery of known bots via the suffix only fed DM suppression,
which is moot since DMs are encrypted to one recipient. Channel
coordination now lands via patch 7's request token mechanism, which
doesn't need the suffix. Removes the marker, writeBotAdvertName,
isBotAdvertName, autoLearnKnownBotAdvert, and getAdvertNodeName; reverts
all four advert sites to use _prefs.node_name directly. Removes the
test_bot_advert_marker host test. Manual 'bot known add' from CLI still
works for explicit DM suppression.
2026-05-16 19:55:44 -06:00
cj-vana
d26979ed94 forge: add patch 5 — hop-aware bot coordination
Bundles in-progress utility commands (TIME, LORA, ID, NEIGHBORS), neighbor
tracking, received_at_timestamp / personalized acks, and per-hop response
delay coordination. Tunes the coordinator so multi-hop senders actually get
responses: hop step 5s→1.5s, hop bias capped at 8s, pending TTL 15s→45s.

Verified on Heltec V3 bench bot: responds to #bot at 2, 4, and 6 hops.

BOT_PREFS_VERSION bumped 2→3, so existing bots will reset bot prefs (channel
names, known bots) to defaults on first boot of this firmware.
2026-05-16 12:48:00 -06:00
cj-vana
6b7de37630 forge: allow prefixless firmware bot dms 2026-05-15 20:10:23 -06:00
cj-vana
98d2dc556d forge: harden firmware bot coordination 2026-05-15 19:59:45 -06:00
cj-vana
dc7004f7f1 forge: step 13 — validate bot parity and export patch 2026-05-15 11:50:37 -06:00
cj-vana
43b36c85c6 forge: step 11 — add firmware bot utility commands 2026-05-14 22:48:35 -06:00
cj-vana
e6182f5e7b forge: step 8 — add bot prefs and CLI 2026-05-14 21:11:40 -06:00
cj-vana
c37e006732 forge: step 7 — add response coordinator 2026-05-14 20:03:13 -06:00
cj-vana
e78dcbbce8 forge: step 6 — add emergency forwarding 2026-05-14 17:34:57 -06:00
cj-vana
942a319e01 forge: step 5 — add firmware bot commands 2026-05-14 16:59:05 -06:00
cj-vana
b26c30ab5f forge: step 4 — wire bot runtime observation 2026-05-14 15:56:48 -06:00
cj-vana
f248109159 forge: step 3 — add firmware bot core harness 2026-05-14 13:43:02 -06:00