Skip to content

feat: temporal validation of alerts through a sidecar service - #415

Open
MateoLostanlen wants to merge 9 commits into
developfrom
feat/temporal-validator
Open

feat: temporal validation of alerts through a sidecar service#415
MateoLostanlen wants to merge 9 commits into
developfrom
feat/temporal-validator

Conversation

@MateoLostanlen

Copy link
Copy Markdown
Member
  • Alerts are only uploaded once the temporal smoke model confirms them: the engine submits the last frames and boxes of the camera pose to pyro_temporal_api when an alert becomes ongoing and reads the verdict on the next round. Negative verdicts resubmit with the new frame, service errors fail open.
  • The service runs the torch-free ONNX runtime from temporal-model (feat: ONNX export and torch-free runtime for the tube classifier temporal-model#76, pinned to a commit until merged), behind the compose profile temporal; unset TEMPORAL_API_URL keeps today's behaviour.
  • Engine and camera API images move to bookworm since bullseye's security repo no longer resolves.

…X temporal model

POST /jobs takes a window of frames plus YOLO boxes for one camera pose
and returns a job id at once; a worker thread scores it with
OnnxTemporalModel and GET /jobs/{id} serves the verdict. No torch.
With TEMPORAL_API_URL set, the engine keeps the last 10 inference frames
and boxes per camera pose, submits them when an alert becomes ongoing and
reads the verdict on the next round. Negative verdicts resubmit the
longer window; service errors fail open.
bullseye LTS ended in August 2026: its security repo now serves an
expired release file and apt-get update fails in every build.
…ge, compose profile

Per-frame size limit and pending-job cap on POST /jobs, service bound to
127.0.0.1 on the host network, image added to the build-and-push matrix
so make run can pull it, and the service placed behind the temporal
compose profile so disabled stacks do not start it.
@codecov

codecov Bot commented Sep 8, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 88.23529% with 8 lines in your changes missing coverage. Please review.
✅ Project coverage is 80.88%. Comparing base (968284f) to head (4228cb4).
⚠️ Report is 3 commits behind head on develop.

Files with missing lines Patch % Lines
pyroengine/temporal_client.py 57.89% 8 Missing ⚠️
Additional details and impacted files
@@             Coverage Diff             @@
##           develop     #415      +/-   ##
===========================================
+ Coverage    78.83%   80.88%   +2.04%     
===========================================
  Files            6        7       +1     
  Lines          841      905      +64     
===========================================
+ Hits           663      732      +69     
+ Misses         178      173       -5     
Flag Coverage Δ
unittests 80.88% <88.23%> (+2.04%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant