• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

Alan-Jowett / sonde / 23984280815
81%

Build:
DEFAULT BRANCH: main
Ran 04 Apr 2026 05:52PM UTC
Jobs 1
Files 83
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

04 Apr 2026 05:49PM UTC coverage: 81.107% (+0.07%) from 81.033%
23984280815

push

github

web-flow
gateway: add handler diagnostic logging and stderr capture (#649)

* gateway: add handler diagnostic logging and stderr capture

## Problem

Handler routing failures in \handle_app_data_core()\ were completely
silent — two \eturn None\ paths had zero logging, making it impossible
to diagnose why APP_DATA was being dropped. Handler stderr was piped to
\Stdio::null()\, hiding process startup errors (e.g. Python tracebacks
from missing dependencies).

## Fix

- Add WARN logs when APP_DATA is dropped because \current_program_hash\
  is None or no handler matches (with \
ode_id\, \program_hash\, and
  \handler_count\ for diagnosis).
- Capture handler stderr via a background tokio task that logs each line
  at WARN level, tagged with the handler command.
- Add \HandlerRouter::handler_count()\ for diagnostic context.
- Remove unused \oute_app_data()\ and \oute_event()\ methods (dead
  code superseded by \ind_handler_cloned()\ + inline dispatch).

## Spec updates

- **GW-0503**: Add AC4 (stderr forwarded to gateway log).
- **GW-1308**: Add AC6 (WARN on APP_DATA drop) and AC7 (stderr capture).
- **gateway-design.md**: Update logging table, error handling table, and
  handler process lifecycle section.
- **gateway-validation.md**: Add T-0506a (stderr capture) and extend
  T-1308 with steps 10–15 for the new ACs.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* style: cargo fmt

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* handler: cap stderr line length and log read errors

Address review: replace unbounded \lines()\ with \ead_line()\ into
a reusable buffer, truncate at 4 KB, and log I/O errors instead of
silently stopping the drain task.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

---------

Co-authored-by: Alan Jowett <alan.jowett@microsoft.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

4 of 33 new or added lines in 2 files covered. (12.12%)

20040 of 24708 relevant lines covered (81.11%)

146.24 hits per line

New Missed Lines in Diff

Lines Coverage ∆ File
4
86.33
-0.29% crates/sonde-gateway/src/engine.rs
25
67.41
2.03% crates/sonde-gateway/src/handler.rs
Jobs
ID Job ID Ran Files Coverage
1 23984280815.1 04 Apr 2026 05:52PM UTC 83
81.11
GitHub Action Run
Source Files on build 23984280815
  • Tree
  • List 83
  • Changed 2
  • Source Changed 2
  • Coverage Changed 2
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #23984280815
  • 04a1590b on github
  • Prev Build on main (#23982967707)
  • Next Build on main (#23984282635)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc