mirror of
https://github.com/zvx-echo6/meshai.git
synced 2026-08-26 17:31:34 +00:00
feat(transport): CompositeTransport for dual Meshtastic+MeshCore (Phase 4) (#6)
* feat(transport): CompositeTransport for dual Meshtastic+MeshCore (Phase 4) Adds CompositeTransport (transport: both) that fans broadcasts to both meshes, sizes to min(children) for uniform messages, and routes DM replies back over the originating mesh via a transport hint threaded from the inbound MeshMessage. Per-child self-filtering; supervisor watchdog now resolves the Meshtastic child inside the composite. Additive/optional throughout; single-transport behavior unchanged. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * refactor(sizing): fixed universal mesh budget (mesh_max_chars=140) Replace per-transport / min-of-active max_chars with a single fixed universal constant (mesh_max_chars, default 140 = MeshCore LCD). Every message is built once against one deterministic budget regardless of which radios are connected; no runtime variance, no per-transport retooling. Meshtastic sizing intentionally moves 200 -> 140. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Matt Johnson <mj@k7zvx.com> Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
225a5d37df
commit
f3df7a0a6d
16 changed files with 1140 additions and 76 deletions
|
|
@ -76,7 +76,7 @@ def test_adapter_config_seeds_digest_keys():
|
|||
assert rows[("fires", "digest_enabled")] == "true"
|
||||
assert rows[("fires", "digest_schedule")] == '["06:00", "18:00"]'
|
||||
assert rows[("fires", "digest_timezone")] == '"America/Boise"'
|
||||
assert rows[("fires", "digest_max_chars")] == "200"
|
||||
assert rows[("fires", "digest_max_chars")] == "140"
|
||||
|
||||
|
||||
# ===========================================================================
|
||||
|
|
@ -107,7 +107,7 @@ def test_render_digest_terse_fallback_when_no_llm():
|
|||
assert source == "deterministic"
|
||||
assert wire
|
||||
assert "Cache Peak" in wire
|
||||
assert len(wire) <= 200
|
||||
assert len(wire) <= 140
|
||||
|
||||
|
||||
def test_render_digest_uses_llm_when_available():
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue