FEAT: Agent capteur — mode remote : soumission des frames d'analyse au broker (filtre motion + downscale 640) #75
Labels
No labels
bug
chore
design
dx:ci
dx:database
dx:dotnet
dx:infra
dx:security
dx:tests
dx:ui
etape-1
etape-2
etape-3
etape-4
etape-5
etape-6
etape-7
feature
priority-high
priority-low
priority-medium
security
spec
tech-debt
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
nonobis/Heimdall#75
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
🎯 Contexte
Un agent sans GPU (ou configuré
remote) ne doit plus analyser localement : il capture, filtre, et publie les frames pertinentes sur le broker ; le résultat revient via le central. Objectif : latence réseau maîtrisée et bande passante WAN minimale.🔍 État actuel (vérifié dans le code)
SnapshotPipelineService.ConsumeSnapshotsAsync: chaque snapshot →_analyzer.AnalyzeFrameAsync(stub) +FrameMotionDetector.Detect+ reporting. Le motion detect existe déjà mais l'analyse est forcément locale.🧩 À faire
Agent:AnalysisMode(settings distants + fallback local, appliquée à chaud comme le reste)AnalysisJobRequested(frame downscalée 640×640, JPEG) au lieu de l'appel local àFrameAnalyzerService🧪 Critères d'acceptation
make testvert📁 Fichiers concernés
src/Heimdall.Agent/AgentOptions.cs, src/Heimdall.Agent/Services/SnapshotPipelineService.cs, src/Heimdall.Agent/Services/RemoteAnalysisPublisher.cs (nouveau), src/Heimdall.Agent/Services/FrameMotionDetector.cs, tests/Heimdall.Agent.Tests/
⚠️ Impact
Comportement de l'agent modifié seulement en mode Remote — le mode Local reste le défaut. Dépend du broker (ticket 1) et de l'inférence réelle (ticket #2) pour le retour.
📝 Notes
Le payload (frame 640×640 JPEG) doit être chiffré en transit (TLS AMQP) — les flux vidéo ne doivent pas circuler en clair entre sites.