db5adc9324
Removed ort/ndarray/image (ONNX Runtime inference) and sqlx (Postgres audit write). inference::detect() and the Postgres half of reporter::report() are now stubs with a comment for what real code goes there. Redis Streams XREADGROUP loop and the Redis pub/sub alert stay real. Verified with a clean cargo check --all-targets (0 warnings).
46 lines
1.7 KiB
Markdown
46 lines
1.7 KiB
Markdown
# continuum-ai-worker
|
|
|
|
Computer-vision failure detection worker for the Continuum print farm
|
|
platform. Consumes camera frame batches pushed onto the Redis Stream
|
|
`stream:camera_frames` (by `continuum-backend`'s `src/queue/`) and reports
|
|
failures.
|
|
|
|
## This is a learning-stage boilerplate
|
|
|
|
Real ONNX Runtime inference (the `ort` crate) and the Postgres audit write
|
|
(`sqlx`) are **not** implemented yet — `src/inference/mod.rs` always
|
|
"detects" one fixed example failure, and `src/reporter/mod.rs` only prints
|
|
where the Postgres write would go. The Redis Streams consumer-group loop in
|
|
`main.rs` and the Redis pub/sub alert in `reporter/` are real. This lets the
|
|
whole pipeline (read a frame, "detect", report, ack) run and be understood
|
|
before adding a real model or a SQL database on top.
|
|
|
|
## Pipeline
|
|
|
|
```
|
|
continuum-proxy --(frames)--> continuum-backend --(XADD)--> stream:camera_frames
|
|
|
|
|
XREADGROUP (this worker)
|
|
v
|
|
inference::detect (stub for now)
|
|
v
|
|
reporter::report (Redis pub/sub — real)
|
|
```
|
|
|
|
## Getting started
|
|
|
|
```bash
|
|
cp .env.example .env
|
|
cargo run
|
|
```
|
|
|
|
## Structure
|
|
|
|
```
|
|
src/
|
|
main.rs Consumer-group loop: XREADGROUP -> detect -> report -> XACK
|
|
config.rs Loads settings from environment variables
|
|
inference/ Detection stub — real ONNX Runtime inference goes here later
|
|
reporter/ Redis pub/sub alert (real) + a note for the Postgres write (later)
|
|
```
|