Commit graph

  • ccd816b599 refactor(phase3a): migrate hydro/nwis to formatter+decider (tier-a) refactor/phase3-fire-hydro-firms Matt Johnson 2026-07-05 04:22:01 +00:00
  • 3252fe28fa
    fix(shadow): forward source kwarg to gating decider in shadow_gate (#31) malice 2026-07-04 18:37:12 -06:00
  • 512cf1eecc fix(shadow): forward source kwarg to gating decider in shadow_gate Matt Johnson 2026-07-05 00:36:52 +00:00
  • bdc42aa341
    refactor(phase2): migrate nws + incident/roads to formatter+decider (tier-a) (#30) malice 2026-07-04 18:16:34 -06:00
  • a8eb591181 refactor(phase2): migrate nws + incident/roads to formatter+decider (tier-a) refactor/phase2-nws-incident Matt Johnson 2026-07-05 00:15:59 +00:00
  • 4e23fc737d
    refactor(phase1): quake + swpc(Kp+flare) + avalanche, behind staged-cutover gate (#29) malice 2026-07-04 15:58:46 -06:00
  • c43d7d4ebe refactor(phase1): migrate quake, swpc(Kp+flare), avalanche + staged-cutover gate refactor/phase1-fixtures Matt Johnson 2026-07-04 21:57:41 +00:00
  • a85a5adb72 fix(fixtures): rewrite capture_fixtures.py to use ephemeral push subscribe Matt Johnson 2026-07-04 20:22:22 +00:00
  • f06bf3ce92
    refactor(phase0): source-agnostic formatter/gating scaffold + harness (inert) (#28) malice 2026-07-04 12:55:48 -06:00
  • 7da5c47467 refactor(phase0): source-agnostic formatter/gating scaffold + harness (inert) refactor/phase0-formatter-gating-scaffold Matt Johnson 2026-07-04 18:55:43 +00:00
  • d117a3ea72
    docs: update Central caveat — boot no longer requires Central (graceful + retry) (#27) malice 2026-07-04 01:15:45 -06:00
  • 6fe53b6923 docs: update Central caveat — boot no longer requires Central (graceful + retry) docs/central-boot-note Matt Johnson 2026-07-04 07:15:41 +00:00
  • 0a9252329a
    fix(central): don't crash boot when Central is unreachable at startup (#26) malice 2026-07-04 01:13:50 -06:00
  • a4c218b300 fix(central): don't crash boot when Central is unreachable at startup fix/central-boot-guard Matt Johnson 2026-07-04 07:13:46 +00:00
  • 09c6425caf
    docs: document meshai <-> Central (NATS firehose) + native/central feed_source (#25) malice 2026-07-04 00:56:27 -06:00
  • e6bfebcfd4 docs: document meshai <-> Central (NATS firehose) + native/central feed_source docs/central-section Matt Johnson 2026-07-04 06:56:23 +00:00
  • fbb4fa0e94
    docs: refresh README for dual-mesh (Meshtastic + MeshCore) + dashboard (#24) malice 2026-07-04 00:47:11 -06:00
  • 74e58ffb2d docs: refresh README for dual-mesh (Meshtastic + MeshCore) + dashboard docs/readme-refresh Matt Johnson 2026-07-04 06:47:06 +00:00
  • 5c0f4b42f3
    fix(meshcore): reply to DMs via discovered DIRECT route, not flood (#23) malice 2026-07-03 22:25:40 -06:00
  • 44d13ace10 fix(meshcore): reply to DMs via discovered DIRECT route, not flood fix/meshcore-dm-direct-route Matt Johnson 2026-07-04 04:25:35 +00:00
  • e7c8ef507e
    fix(meshcore): resolve DM dest to full contact object before send (canonical pattern) (#22) malice 2026-07-03 20:28:26 -06:00
  • 7abb6db91c fix(meshcore): resolve DM dest to full contact object before send (canonical pattern) fix/meshcore-dm-contact-resolve Matt Johnson 2026-07-04 02:28:21 +00:00
  • ddd47afa87
    fix(meshcore): deliver DM replies (flood/ACK), save meshcore_context, test-llm, inbound logging (#21) malice 2026-07-03 19:54:16 -06:00
  • f07ac698bd fix(meshcore): deliver DM replies (flood/ACK), save meshcore_context, test-llm, inbound logging fix/meshcore-save-and-llm-toggle Matt Johnson 2026-07-04 01:53:59 +00:00
  • 70a0fd1657
    feat(context): GUI control for chat-context retention (days) + live apply (#20) malice 2026-07-03 19:03:37 -06:00
  • 18ba78cc04 feat(context): GUI control for chat-context retention (days) + live apply feat/context-retention-gui Matt Johnson 2026-07-04 01:03:22 +00:00
  • a191200a12
    feat(meshcore): decouple per-mesh LLM DM gate + mesh-scoped chat context (#19) malice 2026-07-03 18:39:26 -06:00
  • e7b7bd2025 feat(meshcore): decouple per-mesh LLM DM gate + mesh-scoped chat context feat/meshcore-llm-scoping Matt Johnson 2026-07-04 00:39:07 +00:00
  • fa7e39ab34 feat(meshcore): opt-in telemetry auto-poll on selected contacts Matt Johnson 2026-07-03 23:11:34 +00:00
  • 284fb5cbf2
    MeshCore Contacts roster + Companion status (read-only) (#17) malice 2026-07-03 16:14:10 -06:00
  • 4138ebfdc3 feat(meshcore): self-advertisement (send-advert + advert-on-connect + periodic) Matt Johnson 2026-07-03 22:06:09 +00:00
  • ef16bbcfcd feat(dashboard): MeshCore Contacts roster + Companion status (read-only) Matt Johnson 2026-07-03 21:46:55 +00:00
  • 61ca0057e2
    fix(nws): tighten hazard wording across all product types; kill dangling '— …' in L4 (#16) malice 2026-07-03 15:22:07 -06:00
  • 5381975e83 fix(nws): tighten hazard wording across all product types; kill dangling '— …' in L4 Matt Johnson 2026-07-03 21:20:37 +00:00
  • 0460462485
    Phase A — 4-section nav; move Scheduled Broadcasts + Danger Zones off Routing (#15) malice 2026-07-03 14:57:24 -06:00
  • 9e6a3715ed feat(dashboard): Phase E — Activity Log (per-mesh broadcast feed); remove subscription backend Matt Johnson 2026-07-03 20:48:05 +00:00
  • c7b3a68f57 feat(dashboard): Phase D — dedupe Environment/Adapter Config into one Data Feeds surface Matt Johnson 2026-07-03 17:34:14 +00:00
  • 8b655669ef feat(dashboard): Phase C — MeshCore bot-behavior parity (observe channels / ignore contacts / DMs) Matt Johnson 2026-07-03 17:12:32 +00:00
  • 361e6d1bc4 feat(dashboard): Phase B — clean identical Routing grids; relocate per-family gating to Data Feeds Matt Johnson 2026-07-03 16:45:26 +00:00
  • 236a9cada5 feat(dashboard): Phase A — 4-section nav; move Scheduled Broadcasts + Danger Zones off Routing Matt Johnson 2026-07-03 16:07:57 +00:00
  • 11bac716d0
    feat(dashboard): send-test-message + MeshCore channel list (#14) malice 2026-07-03 01:06:31 -06:00
  • 2bee7dc453 feat(dashboard): send-test-message + MeshCore channel list Matt Johnson 2026-07-03 06:58:13 +00:00
  • 47b56adab5
    refactor(transport): derive active transports from config, drop transport setting (#13) malice 2026-07-03 00:18:53 -06:00
  • 241e0c7572 docs: fix stale transport comment after field removal Matt Johnson 2026-07-03 06:16:46 +00:00
  • 264d43259c refactor(transport): derive active transports from config, drop transport setting Matt Johnson 2026-07-03 06:14:20 +00:00
  • b260dcbae0
    fix(dashboard): restart URL, Enable-MeshCore toggle, unsaved-changes guard (#12) malice 2026-07-02 23:41:56 -06:00
  • 85c9c194c6 docs(dashboard): drop stale "Transport mode" wording on MeshCore Connection header Matt Johnson 2026-07-03 05:41:40 +00:00
  • 7f6284a54a fix(dashboard): restart URL, Enable-MeshCore toggle, unsaved-changes guard Matt Johnson 2026-07-03 05:14:17 +00:00
  • de1e58aa71
    feat(routing): MeshCore as first-class delivery types (meshcore_broadcast/dm) (#11) malice 2026-07-02 22:42:14 -06:00
  • 2e096d231c fix(dashboard): focused Meshtastic Connection/Sources pages for MT/MC parity Matt Johnson 2026-07-03 04:30:31 +00:00
  • 719ec4861d feat(dashboard): parallel MT/MC nav order + symmetric connection links Matt Johnson 2026-07-03 04:13:56 +00:00
  • 0656fe47d4 feat(dashboard): first-class MeshCore nav section + dedicated pages Matt Johnson 2026-07-03 03:44:29 +00:00
  • 310abe8c06 feat(dashboard): split Notifications into Meshtastic and MeshCore sections Matt Johnson 2026-07-03 03:11:11 +00:00
  • 8e6acb9c52 fix(routing): deliver meshcore_broadcast via meshcore_channel through CompositeTransport Matt Johnson 2026-07-03 02:59:21 +00:00
  • 3b2813cf06 feat(routing): MeshCore as first-class delivery types (meshcore_broadcast/dm) Matt Johnson 2026-07-03 02:41:51 +00:00
  • 24cb6a31df
    feat(dashboard): MeshCore transport + per-family routing GUI controls (#10) malice 2026-07-02 16:49:59 -06:00
  • 6bc57709a2
    feat(broadcast): fit all mesh message formats to the packet budget (#8) malice 2026-07-02 16:49:33 -06:00
  • 7c15fa3f09
    feat(reply): cap interactive LLM replies to 3 mesh packets (#7) malice 2026-07-02 16:49:10 -06:00
  • 58baf94181 fix(routing): thread per-family meshcore_channel through the broadcast send path Matt Johnson 2026-07-02 22:17:52 +00:00
  • b6f9e0ea6c refactor(routing): MeshCore routing by channel name, not index Matt Johnson 2026-07-02 22:07:12 +00:00
  • 5e91023f5a feat(dashboard): MeshCore transport + per-family routing GUI controls Matt Johnson 2026-07-02 20:53:12 +00:00
  • ff3ded8ca2
    feat(routing): independent per-family MeshCore channel (#9) malice 2026-07-02 14:47:52 -06:00
  • 2f3178be5d feat(routing): independent per-family MeshCore channel Matt Johnson 2026-07-02 20:44:17 +00:00
  • 3f5858f0f0 feat(broadcast): fit all mesh message formats to the packet budget Matt Johnson 2026-07-02 19:13:32 +00:00
  • 035fc9d7f3 feat(reply): cap interactive LLM replies to 3 mesh packets Matt Johnson 2026-07-02 18:48:14 +00:00
  • f3df7a0a6d
    feat(transport): CompositeTransport for dual Meshtastic+MeshCore (Phase 4) (#6) malice 2026-07-02 12:33:17 -06:00
  • 82f1f95988 refactor(sizing): fixed universal mesh budget (mesh_max_chars=140) Matt Johnson 2026-07-02 17:53:13 +00:00
  • a2428e6a03 feat(transport): CompositeTransport for dual Meshtastic+MeshCore (Phase 4) Matt Johnson 2026-07-02 17:11:12 +00:00
  • 225a5d37df
    refactor(sizing): single mesh packet budget via transport.max_chars (Phase 3) (#5) malice 2026-07-02 10:46:11 -06:00
  • 417390862b refactor(sizing): single mesh packet budget via transport.max_chars (Phase 3) Matt Johnson 2026-07-02 16:44:20 +00:00
  • 316ae7351e
    feat(transport): MeshCoreTransport over pyMC companion TCP (Phase 2) (#4) malice 2026-07-02 10:15:39 -06:00
  • d45b48e670 fix(transport): MeshCore broadcasts use configured channel index Matt Johnson 2026-07-02 16:06:09 +00:00
  • 6fd8000e30 fix(transport): sync loop-thread readiness before dispatch (MeshCore) Matt Johnson 2026-07-02 16:01:56 +00:00
  • fa8853b2d6 feat(transport): MeshCoreTransport over pyMC companion TCP (Phase 2) Matt Johnson 2026-07-02 15:53:46 +00:00
  • 61278ece28
    refactor(transport): introduce MeshTransport abstraction (Phase 1) (#3) malice 2026-07-02 09:33:50 -06:00
  • aaab9d74b4 refactor(transport): introduce MeshTransport abstraction (Phase 1) Matt Johnson 2026-07-02 15:15:50 +00:00
  • e15823ef84
    feat(persistence): v19 schema — fire enrichment columns (#2) malice 2026-07-02 08:44:32 -06:00
  • d34f664b44 feat(persistence): v19 schema — fire enrichment columns Matt Johnson 2026-07-02 14:43:24 +00:00
  • 3c3ad3f42e
    fix(nws): keep weather alerts in one packet without dropping storm path (#1) malice 2026-07-01 22:14:26 -06:00
  • ffe6e9d7c0 fix(nws): keep weather alerts in one packet without dropping storm path Matt Johnson 2026-07-02 04:11:44 +00:00
  • 6653adba24 fix(nws): keep weather alerts in one packet without dropping storm path fix/nws-weather-single-packet Ubuntu 2026-07-02 04:06:23 +00:00
  • e6bc101194 fix(nws): normalize severities to schema; drop CAP pre-filter K7ZVX 2026-06-28 00:12:27 +00:00
  • e982cbbdf6 refactor(danger-zones): drop min_severity + position_max_age; table snow (grayed/inert) feat/danger-zones Ubuntu 2026-06-21 06:56:22 +00:00
  • 95b1a23ef1 feat(danger-zones): configurable infra-node hazard correlation + fire age-gate Ubuntu 2026-06-21 06:33:54 +00:00
  • b6e15f656f chore: capture in-flight fire-spam/drain-pacer + reconnect ground truth from CT108 fix/fire-spam-drain-pacer Matt Johnson 2026-06-21 05:58:23 +00:00
  • 6ed8ad4945 fix(satpass): add date label and single-observer region to wire format Ubuntu 2026-06-16 15:01:20 +00:00
  • 6e3eae39fb fix(ci): add package-lock.json for npm ci in Docker build Ubuntu 2026-06-16 03:48:44 +00:00
  • 107f5435b2 fix(ci): add README.md to work/ for Docker build context Ubuntu 2026-06-16 03:46:39 +00:00
  • 2e1fb325f7 refactor: move source tree into work/, multi-stage Docker build, fix satpass Ubuntu 2026-06-16 03:40:31 +00:00
  • 7128b432ee fix(satpass): add AOS horizon guard to reject stale far-future passes Ubuntu 2026-06-15 23:11:50 +00:00
  • 85d48ce3c9 fix(fire): remove immediate-severity exemption from grouper + cooldown Ubuntu 2026-06-15 23:01:15 +00:00
  • de69a9fd57 feat(satpass): consolidate per-observer broadcasts into single regional pass Ubuntu 2026-06-15 22:52:25 +00:00
  • 20cae52408 merge: fire spam drain pacer (de50414) into main Ubuntu 2026-06-15 21:37:56 +00:00
  • de50414471 fix(drain): add missing asyncio import for call_later Ubuntu 2026-06-15 21:26:32 +00:00
  • 9ecd8652e1 fix(drain): add 30s timeout for empty-backlog drain exit Ubuntu 2026-06-15 21:25:09 +00:00
  • af4d2a3697 fix(drain): msg.metadata is a property, not a method Ubuntu 2026-06-15 21:22:06 +00:00
  • 2f677e85a1 fix(fire): drain-mode pacer to prevent post-reconnect broadcast spam Ubuntu 2026-06-15 21:19:00 +00:00
  • 1557f3f5b7 merge: satpass compass fallback (cb8a2af) into main Claude 2026-06-13 16:36:30 +00:00
  • cb8a2af075 fix(satpass): fall back to raw azimuth degrees for compass directions Claude 2026-06-13 15:20:47 +00:00
  • e2e065dda0 merge: satpass Tier1+2, fire recency, tombstone path, guard fix into main Claude 2026-06-13 08:00:37 +00:00