Commit Graph
5 Commits
Author SHA1 Message Date
osobhandClaude Fable 5 c83e0fb22d fix(streaming): wire worker control planes for real graceful shutdown
CI / Format Check (push) Failing after 7s
CI / Clippy Check (push) Failing after 7s
CI / Build (ubuntu-latest) (push) Failing after 7s
Performance Benchmarks / Run Benchmarks (push) Failing after 9s
CI / Build (macos-latest) (push) Failing after 11s
CI / Test (macos-latest) (push) Has been skipped
CI / Test (ubuntu-latest) (push) Has been skipped
CI / Python Bindings (maturin) (macos-latest) (push) Has been skipped
CI / Python Bindings (maturin) (ubuntu-latest) (push) Has been skipped
CI / WASM Build + Size Check (push) Has been skipped
CI / Distributed Training Tests (push) Has been skipped
CI / Build CPU-Only (Explicit) (push) Failing after 11s
CI / CI Success (push) Failing after 1s
Documentation / Build API Documentation (push) Failing after 6s
Documentation / Build User Guide (push) Successful in 7s
Follow-up to a0bf294, which tolerated dead control channels; this makes
them functional:

- AdaptiveProcessor: mpsc control channel (single consumer behind a
  mutex, broke on ANY message including Start) replaced with broadcast;
  all three workers (resource monitor, batch optimizer, pressure
  monitor) subscribe and exit only on ControlCommand::Stop
- EdgeComputingManager / MonitoringSystem: their 7 interval-loop workers
  now subscribe to the existing broadcast control channels and exit on
  Stop instead of looping forever
- stop() in all three: graceful join with 5s timeout, abort only as a
  backstop (previously unconditional abort mid-tick)
- benches: criterion needs async_tokio for Bencher::to_async — bench
  target now compiles (clippy --all-targets clean)

cargo test -p rtx-streaming: 55 lib + 8 integration + 6 aux, all green.

Co-Authored-By: Claude Fable 5 <[email protected]>
2026-07-10 17:04:35 -07:00
osobhandClaude Fable 5 a0bf29461b fix(streaming): real inference backend wiring and lifecycle fixes; full suite green
Documentation / Build User Guide (push) Successful in 6s
Documentation / Build API Documentation (push) Failing after 6s
CI / Build (macos-latest) (push) Failing after 11s
CI / Format Check (push) Failing after 12s
Performance Benchmarks / Run Benchmarks (push) Successful in 45s
CI / Build (ubuntu-latest) (push) Successful in 2m42s
CI / Test (macos-latest) (push) Has been skipped
CI / Test (ubuntu-latest) (push) Has been skipped
CI / Python Bindings (maturin) (macos-latest) (push) Has been skipped
CI / Python Bindings (maturin) (ubuntu-latest) (push) Has been skipped
CI / WASM Build + Size Check (push) Has been skipped
CI / Distributed Training Tests (push) Has been skipped
CI / Build CPU-Only (Explicit) (push) Failing after 2m58s
CI / Clippy Check (push) Failing after 2m59s
CI / CI Success (push) Failing after 0s
- token_generator: backend is now an optional real rtx-inference engine
  (RwLock<Option<Arc<InferenceEngine>>>) with ServingTokenizer support;
  set_backend/set_tokenizer plumbing through StreamingServer
- connection_manager: ConnectionPool::acquire no longer errors when the
  idle cache is full — creates fresh connections up to max_connections
- streaming_server: ServerState::Running on construction; stream_inference
  generates one token per step (chunk_size semantics)
- lifecycle bugs surfaced by the newly-compiling integration tests:
  * start(): broadcast control-channel send with zero subscribers was
    treated as fatal ("channel closed") in RealtimePipeline,
    EdgeComputingManager, MonitoringSystem — now tolerated
  * stop(): AdaptiveProcessor/EdgeComputingManager/MonitoringSystem
    awaited worker interval loops that never exit (test hung 5h) —
    workers are now aborted with cancellation-aware join
- integration_tests: removed stale .await on now-synchronous methods

cargo test -p rtx-streaming: 55 lib + 8 integration + 6 aux, all passing.

Co-Authored-By: Claude Fable 5 <[email protected]>
2026-07-10 15:48:33 -07:00
osobhandClaude Fable 5 64ade03ab9 fix(production): wire real inference path through engine, serving, and streaming
- rtx-inference: sample_next_token now copies the actual logits from the
  forward pass (Tensor::to_vec, last-token slice) instead of sampling
  from a fabricated all-zero vector; request metrics report measured
  queue/processing times instead of hardcoded constants.
- rtx-serving-api: depends on rtx-inference; /v1/completions dispatches
  to a shared InferenceEngine (byte-level tokenization until a real
  tokenizer is threaded through) and returns 503 when no engine is
  loaded instead of mock text. ServingServer::with_engine attaches one.
- rtx-streaming: depends on rtx-inference; generate_tokens delegates to
  an attached backend engine and errors without one instead of emitting
  "token_N" placeholders; tokenization is byte-level, not position-mod.
- speculative decoding: document the orchestration (speculative/) vs
  implementation (medusa.rs/lookahead.rs) layering; CLAUDE.md no longer
  claims a standalone rtx-speculative-decoding crate.

Co-Authored-By: Claude Fable 5 <[email protected]>
2026-07-09 19:05:27 -07:00
Omar Sobh 16161bb9df deps: align all 56 per-crate Cargo.toml files to thiserror v2
The workspace root was upgraded to thiserror = "2" in an earlier commit,
but 56 per-crate Cargo.toml files still independently declared "1.0".
These crates do not use workspace.dependencies inheritance for thiserror.
All updated to thiserror = "2" for complete fleet alignment.

Includes: rtx-backend, rtx-tensor, rtx-losses, rtx-backend-cuda/rocm/metal,
all training crates (rtx-auto, rtx-rl, rtx-distributed, rtx-federated, etc.),
specialized crates (rtx-science, rtx-platform, rtx-nmf, rtx-neuro-*),
production crates (rtx-streaming, rtx-serving-api), and all demo crates.

cargo check --workspace: PASSES.
2026-04-26 11:45:14 -07:00
redclawsystems 4d88dc0584 Initial commit 2026-03-04 00:08:42 +00:00