Skip to content

docs(adr-001): streaming example using event_stream_iter - #48

Merged
ruvnet merged 1 commit into
mainfrom
adr/event-stream-example
May 19, 2026
Merged

ruvnet merged 1 commit into
mainfrom
adr/event-stream-example

Conversation

@ruvnet

@ruvnet ruvnet commented May 19, 2026

Copy link
Copy Markdown
Owner

Summary

Companion to `event_driven_anomaly.rs` (PR #33/#35). The earlier example called the per-event primitives directly; this one uses the iterator adapter from PR #45 and composes it with stdlib's iterator chain — the native Rust pattern RuView / Cognitum / Ruflo would adopt.

Demonstrates

  • One event stream → one iterator chain → reports.
  • Coherence-gated skip on tiny deltas (latency 0).
  • `PlanBudget` cap on cumulative ops; iterator ends gracefully when exhausted.
  • Per-event latency tracked by the iterator.

Sample output (10-event stream, budget=4 SubLinear ops)

```
event # status latency_us top-anomaly
─────────────────────────────────────────────
0 Solved 73 row 7
1 Skipped 0 row —
2 Solved 43 row 22
3 Skipped 0 row —
4 Solved 41 row 40
5 Solved 42 row 51
6 Skipped 0 row —
7 BudgetRefused 0 row —

Summary: 4 solved, 3 skipped by gate, 1 budget-refused
```

Architecture line fully realised

  • streaming surface — stdlib iterator composition
  • per-event — SubLinear (auto-tuned closure + Neumann)
  • coherence gate — O(|δ|) skip-on-tiny-delta
  • budget gate — O(1) per consume, ends iterator on refuse

Test plan

  • `cargo run --release --example event_stream_processing` produces the expected gated/budgeted output
  • Full CI

🤖 Generated with claude-flow

Companion to event_driven_anomaly.rs. The earlier example called
the per-event primitives directly; this one uses the iterator
adapter (PR #45) and composes it with stdlib's iterator chain —
the native Rust pattern RuView / Cognitum / Ruflo would adopt.

Demonstrates:
  - One event stream → one iterator chain → reports.
  - Coherence-gated skip on tiny deltas (latency 0).
  - PlanBudget cap on cumulative ops; iterator ends gracefully
    when budget exhausted.
  - Per-event latency tracked by the iterator.

Sample output (10-event stream, budget=4 SubLinear ops):

  event #  status       latency_us top-anomaly
  ────────────────────────────────────────────
  0        Solved        73        row 7
  1        Skipped        0        row —
  2        Solved        43        row 22
  3        Skipped        0        row —
  4        Solved        41        row 40
  5        Solved        42        row 51
  6        Skipped        0        row —
  7        BudgetRefused  0        row —

  Summary: 4 solved, 3 skipped by gate, 1 budget-refused

The architecture line is fully realised: streaming surface with
stdlib iterator composition, per-event SubLinear cost, O(|δ|) gate,
O(1) budget consume.

Co-Authored-By: claude-flow <ruv@ruv.net>
@ruvnet
ruvnet merged commit d371c04 into main May 19, 2026
11 of 12 checks passed
@ruvnet
ruvnet deleted the adr/event-stream-example branch May 19, 2026 17:30
ruvnet added a commit that referenced this pull request May 19, 2026
docs(changelog): catalogue PRs #26-#48 as [Unreleased] / v1.8.0
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