[package] name = "jouleclaw-stream-oracle" version.workspace = true edition.workspace = true license.workspace = true repository.workspace = true authors.workspace = true description = "Gate-per-window Oracle for streaming / continuous-interaction cascades. Distinct from jouleclaw-oracle's per-request closure gate: a StreamOracle runs over a StreamWindow and emits WindowVerdict { Pass | Fail | Yield | NeedMore }. The Yield variant is load-bearing — it's how the cascade respects the < 150 ms barge-in deadline. Composable via CompositeStreamOracle; reference impls include AlwaysPassStream, BargeInDetector, and PerTickAdapter that wraps a non-streaming Oracle." [dependencies] jouleclaw-stream = { path = "../jouleclaw-stream" } jouleclaw-oracle = { path = "../jouleclaw-oracle" } async-trait = { workspace = true } serde = { workspace = true } serde_json = { workspace = true } thiserror = { workspace = true } [dev-dependencies] tokio = { workspace = true, features = ["macros", "rt"] }