Skip to content

Dispatch with retries and dead letters, no-loss and flood tests - #5

Merged
senamakel merged 20 commits into
tinyhumansai:mainfrom
senamakel:pr5-dispatch
Oct 19, 2026
Merged

senamakel merged 20 commits into
tinyhumansai:mainfrom
senamakel:pr5-dispatch

Conversation

@senamakel

Copy link
Copy Markdown
Member

Summary

Last of five stacked PRs for the inbound event pipeline. Stacked on #4 (and #3, #2, #1): this PR's own commits are "Dispatch turns to the host with retries, backoff and dead letters" and "Keep thread order across lanes, test no-loss and a 10k flood, and call the host over the bus" (plus a merge of the re-pinned #4).

  • Dispatch (pipeline/dispatch.rs): each Drain pass visits the lanes most urgent first and hands up to each lane's concurrency turns to the host's Deliver. accepted → events end delivered (digest on the digest lane); retry or a failed call → nack with exponential backoff (dispatch.backoff_base_ms..backoff_max_ms, or the host's after_ms); out of the lane queue's manifest max_attempts → dead-lettered with max_attempts; rejected → dead-lettered at once. Dead turns are parked in the dead-letter queue (ListDead / Redrive). Turn.platform_acks lists events of after_dispatch / after_turn sources.
  • Per-thread order across lanes: lane queues order within a lane only, so a thread registry (teq.threads) sends a new turn to the most urgent lane its thread has queued work on and folds queued turns of slower lanes into it (those are acknowledged unseen when reached). Staged cadence entries are now one per thread, and interactive work releases its thread's waiting entry whatever the cadence.
  • Backends without groups (RabbitMQ): per-conversation sequence numbers keep one turn in flight and the order; a waiting turn is requeued as a fresh delayed copy (so waiting spends no delivery attempts); a number lost to a crash is skipped after dispatch.gap_timeout_ms, but never while that turn is backing off; a redelivered finished turn is acknowledged only if all its events ended, otherwise delivered rather than lost.
  • TinyBus: the adapter installs a BusHost that calls the host's ai.tinyhumans.tinyeventqueues.Host (ClassifySalience, Deliver) over the bus; the module keeps exporting all six members.
  • pipeline.json gains dispatch (schema, field-path validation).

Related issue

None. Builds on tinyhumansai/tinystoragedrivers#71-#73 (merged): tinystoragedrivers-core is pinned to git = "https://github.com/tinyhumansai/tinystoragedrivers", rev = "0c6dcfce57201fadd830431f36fd759c3baa897a".

API or behavior changes

Additive: DispatchConfig, Host::deliver (the Host trait gains a required method, unreleased), DrainReport.dispatched / dead now filled. Behavior: a pipeline with a host now dispatches during Drain.

Validation

  • cargo fmt --all -- --check — clean
  • cargo clippy --all-targets --all-features -- -D warnings — clean
  • cargo build --all-targets --all-features — ok; cargo +1.88.0 build --all-targets --all-features ok
  • cargo test --all-features / cargo test — 134 + 5 + 35 tests, 4 doctests pass (~20 s, mostly the flood test)
  • RUSTDOCFLAGS="-D warnings" cargo doc --no-deps --all-features — clean
  • cargo run -p tinyeventqueues --example basic — ok
  • .github/scripts/check-file-coverage.sh 90 coverage.json — every file ≥ 90% (lowest 93.75%)
  • contract purity check — clean
  • The no-loss property test was also run locally over 80 seeds (40 per backend); CI runs 6.

Tests

  • No-loss property (pipeline/invariants_tests.rs): randomized mixed traffic (six sources, edits/deletes/replies targeting earlier events, bots, self-echoes, media, redeliveries, invalid envelopes) through a host that randomly accepts, retries, rejects and fails, on a DocumentQueue and on the broker double (no dedupe, no groups). After quiescing, every accepted event has exactly one terminal outcome in the ledger, the sink saw exactly one terminal outcome per event, totals match, and every queue is empty.
  • 10,000-event flood: 100 simulated seconds of 90 webhook notifications + 10 web-chat messages per second, on both backends: every event delivered exactly once, per-thread order kept across turns and lanes, no turn merges threads, no deads or drops, and interactive latency (the triggering event of each interactive turn) stays ≤ 5 s while the background floods.
  • Dispatch: accepted turns, no host, digest outcome, backoff schedule (1 s, 2 s, then the host's 50 s), dead-lettering after max_attempts then redrive and delivery, rejection, deferred platform acks, unreadable turns, conversation order without groups under retries, gap-timeout skipping and redelivery handling; the thread registry and turnstile unit tests; a public-API host test; host callbacks over a real in-memory TinyBus.

Remaining gaps

  • The loaded module still runs over in-process memory storage; wiring it to the host's storage through the tinystoragedrivers storage bus is a follow-up. Passes run when the host calls Drain (no module-side timer yet).
  • Lane concurrency bounds turns per lane per pass (deliveries within a pass are sequential).
  • CI keeps the template's workflows; the CI "Supply chain" job fails on main already (RUSTSEC advisories for rustls/zip via the vendored TinyBus).

Documentation

README, ROADMAP, MODULE, spec status, plan (design decisions), adapter README, pipeline.json and its schema.

Checklist

  • The change is focused on one logical change
  • No new #[allow(...)], #[ignore], or relaxed lints
  • No secrets, tokens, or .env contents in the diff or the description

senamakel and others added 20 commits October 19, 2026 21:49
…ent contract

Co-authored-by: Medulla <medulla@tinyhumans.ai>
…er the storage ports

Co-authored-by: Medulla <medulla@tinyhumans.ai>
Co-authored-by: Medulla <medulla@tinyhumans.ai>
Co-authored-by: Medulla <medulla@tinyhumans.ai>
Co-authored-by: Medulla <medulla@tinyhumans.ai>
Co-authored-by: Medulla <medulla@tinyhumans.ai>
… a digest

Co-authored-by: Medulla <medulla@tinyhumans.ai>
Co-authored-by: Medulla <medulla@tinyhumans.ai>
Co-authored-by: Medulla <medulla@tinyhumans.ai>
Co-authored-by: Medulla <medulla@tinyhumans.ai>
Co-authored-by: Medulla <medulla@tinyhumans.ai>
Co-authored-by: Medulla <medulla@tinyhumans.ai>
…ueue port

Co-authored-by: Medulla <medulla@tinyhumans.ai>
Co-authored-by: Medulla <medulla@tinyhumans.ai>
Co-authored-by: Medulla <medulla@tinyhumans.ai>
Co-authored-by: Medulla <medulla@tinyhumans.ai>
Co-authored-by: Medulla <medulla@tinyhumans.ai>
Co-authored-by: Medulla <medulla@tinyhumans.ai>
…l the host over the bus

Co-authored-by: Medulla <medulla@tinyhumans.ai>
@tinysweeper

tinysweeper Bot commented Oct 19, 2026 •

Copy link
Copy Markdown

Tiny Sweeper review

Tiny Sweeper reviewed this change across 5 lane(s) and found 0 active actionable finding(s). Detailed lane evidence and any incomplete work are listed below.

State: Incomplete
Priority: none
Reviewed head: 363925286168
Updated: 2026-10-19T17:22:29Z

Review snapshot

Change surface Files Review signal Count
Production 54 Active findings 0
Tests 37 Noted findings 0
Documentation 17 Resolved findings 0
Configuration 11 Pending checks/questions 188

Completeness: Incomplete
Test assessment: No supported feature-to-test mapping was available; this does not mean tests are absent or passed.

Features

None identified with supported citations.

Tests

No supported feature-to-test mapping was produced. Test execution is not inferred.

  • Unreviewed: tinysweeper/tests

Findings

No active actionable findings.

Could not review: .github/ISSUE_TEMPLATE/config.yml, .github/workflows/ci.yml, .github/workflows/release.yml, AGENTS.md, Cargo.toml, MODULE.md, README.md, ROADMAP.md, crates/tinyeventqueues-bus/Cargo.toml, crates/tinyeventqueues-bus/README.md, crates/tinyeventqueues-bus/src/config/mod.rs, crates/tinyeventqueues-bus/src/config/mod_tests.rs, crates/tinyeventqueues-bus/src/config/types.rs, crates/tinyeventqueues-bus/src/event/mod.rs, crates/tinyeventqueues-bus/src/event/mod_tests.rs, crates/tinyeventqueues-bus/src/event/types.rs, crates/tinyeventqueues-bus/src/host/mod.rs, crates/tinyeventqueues-bus/src/host/mod_tests.rs, crates/tinyeventqueues-bus/src/host/types.rs, crates/tinyeventqueues-bus/src/lib.rs, crates/tinyeventqueues-bus/src/names/mod.rs, crates/tinyeventqueues-bus/src/names/mod_tests.rs, crates/tinyeventqueues-bus/src/ops/mod.rs, crates/tinyeventqueues-bus/src/ops/mod_tests.rs, crates/tinyeventqueues-bus/src/ops/types.rs, crates/tinyeventqueues-bus/src/outcome/mod.rs, crates/tinyeventqueues-bus/src/outcome/mod_tests.rs, crates/tinyeventqueues-bus/src/outcome/types.rs, crates/tinyeventqueues-bus/src/version/mod.rs, crates/tinyeventqueues-bus/src/version/mod_tests.rs, crates/tinyeventqueues/Cargo.toml, crates/tinyeventqueues/examples/basic.rs, crates/tinyeventqueues/examples/verify_github_release.rs, crates/tinyeventqueues/examples/verify_module.rs, crates/tinyeventqueues/src/cadence/mod.rs, crates/tinyeventqueues/src/cadence/mod_tests.rs, crates/tinyeventqueues/src/cadence/spec.rs, crates/tinyeventqueues/src/cadence/spec_tests.rs, crates/tinyeventqueues/src/clock/mod.rs, crates/tinyeventqueues/src/clock/mod_tests.rs, crates/tinyeventqueues/src/coalesce/mod.rs, crates/tinyeventqueues/src/coalesce/mod_tests.rs, crates/tinyeventqueues/src/coalesce/types.rs, crates/tinyeventqueues/src/config/mod.rs, crates/tinyeventqueues/src/config/mod_tests.rs, crates/tinyeventqueues/src/config/types.rs, crates/tinyeventqueues/src/dead/mod.rs, crates/tinyeventqueues/src/dead/mod_tests.rs, crates/tinyeventqueues/src/dead/types.rs, crates/tinyeventqueues/src/digest/mod.rs, crates/tinyeventqueues/src/digest/mod_tests.rs, crates/tinyeventqueues/src/error/mod.rs, crates/tinyeventqueues/src/error/mod_tests.rs, crates/tinyeventqueues/src/gate/ambient.rs, crates/tinyeventqueues/src/gate/buckets.rs, crates/tinyeventqueues/src/gate/mod.rs, crates/tinyeventqueues/src/gate/mod_tests.rs, crates/tinyeventqueues/src/host/mod.rs, crates/tinyeventqueues/src/ingress/mod.rs, crates/tinyeventqueues/src/ingress/mod_tests.rs, crates/tinyeventqueues/src/ingress/types.rs, crates/tinyeventqueues/src/lib.rs, crates/tinyeventqueues/src/observe/mod.rs, crates/tinyeventqueues/src/observe/mod_tests.rs, crates/tinyeventqueues/src/pipeline/builder.rs, crates/tinyeventqueues/src/pipeline/cadence_tests.rs, crates/tinyeventqueues/src/pipeline/dispatch.rs, crates/tinyeventqueues/src/pipeline/dispatch_tests.rs, crates/tinyeventqueues/src/pipeline/invariants_tests.rs, crates/tinyeventqueues/src/pipeline/mod.rs, crates/tinyeventqueues/src/pipeline/mod_tests.rs, crates/tinyeventqueues/src/pipeline/pass.rs, crates/tinyeventqueues/src/pipeline/pass_tests.rs, crates/tinyeventqueues/src/salience/mod.rs, crates/tinyeventqueues/src/salience/mod_tests.rs, crates/tinyeventqueues/src/salience/simhash.rs, crates/tinyeventqueues/src/store/ledger.rs, crates/tinyeventqueues/src/store/mod.rs, crates/tinyeventqueues/src/store/mod_tests.rs, crates/tinyeventqueues/src/test_support.rs, crates/tinyeventqueues/src/tinybus_module/README.md, crates/tinyeventqueues/src/tinybus_module/mod.rs, crates/tinyeventqueues/src/tinybus_module/mod_tests.rs, crates/tinyeventqueues/src/turn/mod.rs, crates/tinyeventqueues/src/turn/mod_tests.rs, crates/tinyeventqueues/src/turn/threads.rs, crates/tinyeventqueues/src/turn/threads_tests.rs, crates/tinyeventqueues/tests/public_api.rs, deny.toml, docs/README.md, docs/plans/README.md, docs/plans/event-pipeline.md, docs/plans/tinybus-module-release.md, docs/specs/README.md, docs/specs/event-pipeline.md, docs/specs/tinybus-module-release.md, pipeline.json, queues.json, schemas/pipeline.schema.json, tinysweeper/description, tinysweeper/tests

Before merge

  • Complete the critique review for .github/ISSUE_TEMPLATE/config.yml, .github/workflows/ci.yml, .github/workflows/release.yml, AGENTS.md, Cargo.toml, MODULE.md, README.md, ROADMAP.md, crates/tinyeventqueues-bus/Cargo.toml, crates/tinyeventqueues-bus/README.md, crates/tinyeventqueues-bus/src/config/mod.rs, crates/tinyeventqueues-bus/src/config/mod_tests.rs, crates/tinyeventqueues-bus/src/config/types.rs, crates/tinyeventqueues-bus/src/event/mod.rs, crates/tinyeventqueues-bus/src/event/mod_tests.rs, crates/tinyeventqueues-bus/src/event/types.rs, crates/tinyeventqueues-bus/src/host/mod.rs, crates/tinyeventqueues-bus/src/host/mod_tests.rs, crates/tinyeventqueues-bus/src/host/types.rs, crates/tinyeventqueues-bus/src/lib.rs, crates/tinyeventqueues-bus/src/names/mod.rs, crates/tinyeventqueues-bus/src/names/mod_tests.rs, crates/tinyeventqueues-bus/src/ops/mod.rs, crates/tinyeventqueues-bus/src/ops/mod_tests.rs, crates/tinyeventqueues-bus/src/ops/types.rs, crates/tinyeventqueues-bus/src/outcome/mod.rs, crates/tinyeventqueues-bus/src/outcome/mod_tests.rs, crates/tinyeventqueues-bus/src/outcome/types.rs, crates/tinyeventqueues-bus/src/version/mod.rs, crates/tinyeventqueues-bus/src/version/mod_tests.rs, crates/tinyeventqueues/src/cadence/mod.rs, crates/tinyeventqueues/src/cadence/mod_tests.rs, crates/tinyeventqueues/src/cadence/spec.rs, crates/tinyeventqueues/src/cadence/spec_tests.rs, crates/tinyeventqueues/src/clock/mod.rs, crates/tinyeventqueues/src/clock/mod_tests.rs, crates/tinyeventqueues/src/coalesce/mod.rs, crates/tinyeventqueues/src/coalesce/mod_tests.rs, crates/tinyeventqueues/src/coalesce/types.rs, crates/tinyeventqueues/src/config/mod.rs, crates/tinyeventqueues/src/config/mod_tests.rs, crates/tinyeventqueues/src/dead/mod.rs, crates/tinyeventqueues/src/dead/mod_tests.rs, crates/tinyeventqueues/src/digest/mod.rs, crates/tinyeventqueues/src/digest/mod_tests.rs, crates/tinyeventqueues/src/error/mod.rs, crates/tinyeventqueues/src/error/mod_tests.rs, crates/tinyeventqueues/src/gate/ambient.rs, crates/tinyeventqueues/src/gate/buckets.rs, crates/tinyeventqueues/src/gate/mod.rs, crates/tinyeventqueues/src/gate/mod_tests.rs, crates/tinyeventqueues/src/ingress/mod.rs, crates/tinyeventqueues/src/ingress/mod_tests.rs, crates/tinyeventqueues/src/lib.rs, crates/tinyeventqueues/src/observe/mod.rs, crates/tinyeventqueues/src/observe/mod_tests.rs, crates/tinyeventqueues/src/pipeline/builder.rs, crates/tinyeventqueues/src/pipeline/mod.rs, crates/tinyeventqueues/src/pipeline/mod_tests.rs, crates/tinyeventqueues/src/pipeline/pass.rs, crates/tinyeventqueues/src/pipeline/pass_tests.rs, crates/tinyeventqueues/src/salience/mod.rs, crates/tinyeventqueues/src/salience/mod_tests.rs, crates/tinyeventqueues/src/store/ledger.rs, crates/tinyeventqueues/src/store/mod.rs, crates/tinyeventqueues/src/store/mod_tests.rs, crates/tinyeventqueues/src/test_support.rs, crates/tinyeventqueues/src/tinybus_module/mod.rs, crates/tinyeventqueues/src/tinybus_module/mod_tests.rs, crates/tinyeventqueues/src/turn/mod.rs, crates/tinyeventqueues/src/turn/mod_tests.rs, crates/tinyeventqueues/Cargo.toml, crates/tinyeventqueues/examples/basic.rs, crates/tinyeventqueues/examples/verify_github_release.rs, crates/tinyeventqueues/examples/verify_module.rs, crates/tinyeventqueues/src/config/types.rs, crates/tinyeventqueues/src/dead/types.rs, crates/tinyeventqueues/src/host/mod.rs, crates/tinyeventqueues/src/ingress/types.rs, crates/tinyeventqueues/src/pipeline/cadence_tests.rs, crates/tinyeventqueues/src/pipeline/dispatch.rs, crates/tinyeventqueues/src/pipeline/dispatch_tests.rs, crates/tinyeventqueues/src/pipeline/invariants_tests.rs, crates/tinyeventqueues/src/salience/simhash.rs, crates/tinyeventqueues/src/tinybus_module/README.md, crates/tinyeventqueues/src/turn/threads.rs, crates/tinyeventqueues/src/turn/threads_tests.rs, crates/tinyeventqueues/tests/public_api.rs, deny.toml, docs/README.md, docs/plans/README.md, docs/plans/event-pipeline.md, docs/plans/tinybus-module-release.md, docs/specs/README.md, docs/specs/event-pipeline.md, docs/specs/tinybus-module-release.md, pipeline.json, queues.json, schemas/pipeline.schema.json.
  • Complete the security review for .github/workflows/release.yml, .github/workflows/ci.yml, AGENTS.md, Cargo.toml, crates/tinyeventqueues-bus/Cargo.toml, crates/tinyeventqueues/Cargo.toml, crates/tinyeventqueues/src/cadence/mod.rs, crates/tinyeventqueues/src/coalesce/mod.rs, crates/tinyeventqueues-bus/src/config/mod.rs, crates/tinyeventqueues-bus/src/config/mod_tests.rs, crates/tinyeventqueues-bus/src/config/types.rs, crates/tinyeventqueues-bus/src/event/mod.rs, crates/tinyeventqueues-bus/src/event/mod_tests.rs, crates/tinyeventqueues-bus/src/event/types.rs, crates/tinyeventqueues-bus/src/host/mod.rs, crates/tinyeventqueues-bus/src/host/mod_tests.rs, crates/tinyeventqueues-bus/src/host/types.rs, crates/tinyeventqueues-bus/src/lib.rs, crates/tinyeventqueues-bus/src/names/mod.rs, crates/tinyeventqueues-bus/src/names/mod_tests.rs, crates/tinyeventqueues-bus/src/ops/mod.rs, crates/tinyeventqueues-bus/src/ops/mod_tests.rs, crates/tinyeventqueues-bus/src/ops/types.rs, crates/tinyeventqueues-bus/src/outcome/mod.rs, crates/tinyeventqueues-bus/src/outcome/mod_tests.rs, crates/tinyeventqueues-bus/src/outcome/types.rs, crates/tinyeventqueues-bus/src/version/mod.rs, crates/tinyeventqueues-bus/src/version/mod_tests.rs, crates/tinyeventqueues/src/cadence/mod_tests.rs, crates/tinyeventqueues/src/clock/mod.rs, crates/tinyeventqueues/src/clock/mod_tests.rs, crates/tinyeventqueues/src/coalesce/mod_tests.rs, crates/tinyeventqueues/src/coalesce/types.rs, crates/tinyeventqueues/src/config/mod.rs, crates/tinyeventqueues/src/config/mod_tests.rs, crates/tinyeventqueues/src/dead/mod.rs, crates/tinyeventqueues/src/dead/mod_tests.rs, crates/tinyeventqueues/src/digest/mod.rs, crates/tinyeventqueues/src/digest/mod_tests.rs, crates/tinyeventqueues/src/error/mod.rs, crates/tinyeventqueues/src/error/mod_tests.rs, crates/tinyeventqueues/src/gate/ambient.rs, crates/tinyeventqueues/src/gate/buckets.rs, crates/tinyeventqueues/src/gate/mod.rs, crates/tinyeventqueues/src/gate/mod_tests.rs, crates/tinyeventqueues/src/ingress/mod.rs, crates/tinyeventqueues/src/ingress/mod_tests.rs, crates/tinyeventqueues/src/lib.rs, crates/tinyeventqueues/src/observe/mod.rs, crates/tinyeventqueues/src/observe/mod_tests.rs, crates/tinyeventqueues/src/pipeline/builder.rs, crates/tinyeventqueues/src/pipeline/mod.rs, crates/tinyeventqueues/src/pipeline/mod_tests.rs, crates/tinyeventqueues/src/pipeline/pass.rs, crates/tinyeventqueues/src/pipeline/pass_tests.rs, crates/tinyeventqueues/src/salience/mod.rs, crates/tinyeventqueues/src/salience/mod_tests.rs, crates/tinyeventqueues/src/store/ledger.rs, crates/tinyeventqueues/src/store/mod.rs, crates/tinyeventqueues/src/store/mod_tests.rs, crates/tinyeventqueues/src/tinybus_module/mod.rs, crates/tinyeventqueues/src/tinybus_module/mod_tests.rs, crates/tinyeventqueues/src/turn/mod.rs, crates/tinyeventqueues/src/turn/mod_tests.rs, crates/tinyeventqueues/src/cadence/spec.rs, crates/tinyeventqueues/src/cadence/spec_tests.rs, crates/tinyeventqueues/src/test_support.rs, .github/ISSUE_TEMPLATE/config.yml, crates/tinyeventqueues/examples/basic.rs, crates/tinyeventqueues/examples/verify_github_release.rs, crates/tinyeventqueues/examples/verify_module.rs, crates/tinyeventqueues/src/config/types.rs, crates/tinyeventqueues/src/dead/types.rs, crates/tinyeventqueues/src/host/mod.rs, crates/tinyeventqueues/src/ingress/types.rs, crates/tinyeventqueues/src/pipeline/cadence_tests.rs, crates/tinyeventqueues/src/pipeline/dispatch.rs, crates/tinyeventqueues/src/pipeline/dispatch_tests.rs, crates/tinyeventqueues/src/pipeline/invariants_tests.rs, crates/tinyeventqueues/src/salience/simhash.rs, crates/tinyeventqueues/src/turn/threads.rs, crates/tinyeventqueues/src/turn/threads_tests.rs, deny.toml, pipeline.json, queues.json, schemas/pipeline.schema.json, crates/tinyeventqueues/tests/public_api.rs.
  • Complete the tests review for tinysweeper/tests.
  • Complete the description review for tinysweeper/description.
Agent review details

critique

  • Conclusion: Neutral
  • Scope reviewed: incomplete; unanswered: .github/ISSUE_TEMPLATE/config.yml, .github/workflows/ci.yml, .github/workflows/release.yml, AGENTS.md, Cargo.toml, MODULE.md, README.md, ROADMAP.md, crates/tinyeventqueues-bus/Cargo.toml, crates/tinyeventqueues-bus/README.md, crates/tinyeventqueues-bus/src/config/mod.rs, crates/tinyeventqueues-bus/src/config/mod_tests.rs, crates/tinyeventqueues-bus/src/config/types.rs, crates/tinyeventqueues-bus/src/event/mod.rs, crates/tinyeventqueues-bus/src/event/mod_tests.rs, crates/tinyeventqueues-bus/src/event/types.rs, crates/tinyeventqueues-bus/src/host/mod.rs, crates/tinyeventqueues-bus/src/host/mod_tests.rs, crates/tinyeventqueues-bus/src/host/types.rs, crates/tinyeventqueues-bus/src/lib.rs, crates/tinyeventqueues-bus/src/names/mod.rs, crates/tinyeventqueues-bus/src/names/mod_tests.rs, crates/tinyeventqueues-bus/src/ops/mod.rs, crates/tinyeventqueues-bus/src/ops/mod_tests.rs, crates/tinyeventqueues-bus/src/ops/types.rs, crates/tinyeventqueues-bus/src/outcome/mod.rs, crates/tinyeventqueues-bus/src/outcome/mod_tests.rs, crates/tinyeventqueues-bus/src/outcome/types.rs, crates/tinyeventqueues-bus/src/version/mod.rs, crates/tinyeventqueues-bus/src/version/mod_tests.rs, crates/tinyeventqueues/src/cadence/mod.rs, crates/tinyeventqueues/src/cadence/mod_tests.rs, crates/tinyeventqueues/src/cadence/spec.rs, crates/tinyeventqueues/src/cadence/spec_tests.rs, crates/tinyeventqueues/src/clock/mod.rs, crates/tinyeventqueues/src/clock/mod_tests.rs, crates/tinyeventqueues/src/coalesce/mod.rs, crates/tinyeventqueues/src/coalesce/mod_tests.rs, crates/tinyeventqueues/src/coalesce/types.rs, crates/tinyeventqueues/src/config/mod.rs, crates/tinyeventqueues/src/config/mod_tests.rs, crates/tinyeventqueues/src/dead/mod.rs, crates/tinyeventqueues/src/dead/mod_tests.rs, crates/tinyeventqueues/src/digest/mod.rs, crates/tinyeventqueues/src/digest/mod_tests.rs, crates/tinyeventqueues/src/error/mod.rs, crates/tinyeventqueues/src/error/mod_tests.rs, crates/tinyeventqueues/src/gate/ambient.rs, crates/tinyeventqueues/src/gate/buckets.rs, crates/tinyeventqueues/src/gate/mod.rs, crates/tinyeventqueues/src/gate/mod_tests.rs, crates/tinyeventqueues/src/ingress/mod.rs, crates/tinyeventqueues/src/ingress/mod_tests.rs, crates/tinyeventqueues/src/lib.rs, crates/tinyeventqueues/src/observe/mod.rs, crates/tinyeventqueues/src/observe/mod_tests.rs, crates/tinyeventqueues/src/pipeline/builder.rs, crates/tinyeventqueues/src/pipeline/mod.rs, crates/tinyeventqueues/src/pipeline/mod_tests.rs, crates/tinyeventqueues/src/pipeline/pass.rs, crates/tinyeventqueues/src/pipeline/pass_tests.rs, crates/tinyeventqueues/src/salience/mod.rs, crates/tinyeventqueues/src/salience/mod_tests.rs, crates/tinyeventqueues/src/store/ledger.rs, crates/tinyeventqueues/src/store/mod.rs, crates/tinyeventqueues/src/store/mod_tests.rs, crates/tinyeventqueues/src/test_support.rs, crates/tinyeventqueues/src/tinybus_module/mod.rs, crates/tinyeventqueues/src/tinybus_module/mod_tests.rs, crates/tinyeventqueues/src/turn/mod.rs, crates/tinyeventqueues/src/turn/mod_tests.rs, crates/tinyeventqueues/Cargo.toml, crates/tinyeventqueues/examples/basic.rs, crates/tinyeventqueues/examples/verify_github_release.rs, crates/tinyeventqueues/examples/verify_module.rs, crates/tinyeventqueues/src/config/types.rs, crates/tinyeventqueues/src/dead/types.rs, crates/tinyeventqueues/src/host/mod.rs, crates/tinyeventqueues/src/ingress/types.rs, crates/tinyeventqueues/src/pipeline/cadence_tests.rs, crates/tinyeventqueues/src/pipeline/dispatch.rs, crates/tinyeventqueues/src/pipeline/dispatch_tests.rs, crates/tinyeventqueues/src/pipeline/invariants_tests.rs, crates/tinyeventqueues/src/salience/simhash.rs, crates/tinyeventqueues/src/tinybus_module/README.md, crates/tinyeventqueues/src/turn/threads.rs, crates/tinyeventqueues/src/turn/threads_tests.rs, crates/tinyeventqueues/tests/public_api.rs, deny.toml, docs/README.md, docs/plans/README.md, docs/plans/event-pipeline.md, docs/plans/tinybus-module-release.md, docs/specs/README.md, docs/specs/event-pipeline.md, docs/specs/tinybus-module-release.md, pipeline.json, queues.json, schemas/pipeline.schema.json
  • Lane summary: Reviewed 0 files; 0 findings. 99 files could not be reviewed: .github/ISSUE_TEMPLATE/config.yml, .github/workflows/ci.yml, .github/workflows/release.yml, AGENTS.md, Cargo.toml, MODULE.md, README.md, ROADMAP.md, crates/tinyeventqueues-bus/Cargo.toml, crates/tinyeventqueues-bus/README.md, crates/tinyeventqueues-bus/src/config/mod.rs, crates/tinyeventqueues-bus/src/config/mod_tests.rs, crates/tinyeventqueues-bus/src/config/types.rs, crates/tinyeventqueues-bus/src/event/mod.rs, crates/tinyeventqueues-bus/src/event/mod_tests.rs, crates/tinyeventqueues-bus/src/event/types.rs, crates/tinyeventqueues-bus/src/host/mod.rs, crates/tinyeventqueues-bus/src/host/mod_tests.rs, crates/tinyeventqueues-bus/src/host/types.rs, crates/tinyeventqueues-bus/src/lib.rs, crates/tinyeventqueues-bus/src/names/mod.rs, crates/tinyeventqueues-bus/src/names/mod_tests.rs, crates/tinyeventqueues-bus/src/ops/mod.rs, crates/tinyeventqueues-bus/src/ops/mod_tests.rs, crates/tinyeventqueues-bus/src/ops/types.rs, crates/tinyeventqueues-bus/src/outcome/mod.rs, crates/tinyeventqueues-bus/src/outcome/mod_tests.rs, crates/tinyeventqueues-bus/src/outcome/types.rs, crates/tinyeventqueues-bus/src/version/mod.rs, crates/tinyeventqueues-bus/src/version/mod_tests.rs, crates/tinyeventqueues/src/cadence/mod.rs, crates/tinyeventqueues/src/cadence/mod_tests.rs, crates/tinyeventqueues/src/cadence/spec.rs, crates/tinyeventqueues/src/cadence/spec_tests.rs, crates/tinyeventqueues/src/clock/mod.rs, crates/tinyeventqueues/src/clock/mod_tests.rs, crates/tinyeventqueues/src/coalesce/mod.rs, crates/tinyeventqueues/src/coalesce/mod_tests.rs, crates/tinyeventqueues/src/coalesce/types.rs, crates/tinyeventqueues/src/config/mod.rs, crates/tinyeventqueues/src/config/mod_tests.rs, crates/tinyeventqueues/src/dead/mod.rs, crates/tinyeventqueues/src/dead/mod_tests.rs, crates/tinyeventqueues/src/digest/mod.rs, crates/tinyeventqueues/src/digest/mod_tests.rs, crates/tinyeventqueues/src/error/mod.rs, crates/tinyeventqueues/src/error/mod_tests.rs, crates/tinyeventqueues/src/gate/ambient.rs, crates/tinyeventqueues/src/gate/buckets.rs, crates/tinyeventqueues/src/gate/mod.rs, crates/tinyeventqueues/src/gate/mod_tests.rs, crates/tinyeventqueues/src/ingress/mod.rs, crates/tinyeventqueues/src/ingress/mod_tests.rs, crates/tinyeventqueues/src/lib.rs, crates/tinyeventqueues/src/observe/mod.rs, crates/tinyeventqueues/src/observe/mod_tests.rs, crates/tinyeventqueues/src/pipeline/builder.rs, crates/tinyeventqueues/src/pipeline/mod.rs, crates/tinyeventqueues/src/pipeline/mod_tests.rs, crates/tinyeventqueues/src/pipeline/pass.rs, crates/tinyeventqueues/src/pipeline/pass_tests.rs, crates/tinyeventqueues/src/salience/mod.rs, crates/tinyeventqueues/src/salience/mod_tests.rs, crates/tinyeventqueues/src/store/ledger.rs, crates/tinyeventqueues/src/store/mod.rs, crates/tinyeventqueues/src/store/mod_tests.rs, crates/tinyeventqueues/src/test_support.rs, crates/tinyeventqueues/src/tinybus_module/mod.rs, crates/tinyeventqueues/src/tinybus_module/mod_tests.rs, crates/tinyeventqueues/src/turn/mod.rs, crates/tinyeventqueues/src/turn/mod_tests.rs, crates/tinyeventqueues/Cargo.toml, crates/tinyeventqueues/examples/basic.rs, crates/tinyeventqueues/examples/verify_github_release.rs, crates/tinyeventqueues/examples/verify_module.rs, crates/tinyeventqueues/src/config/types.rs, crates/tinyeventqueues/src/dead/types.rs, crates/tinyeventqueues/src/host/mod.rs, crates/tinyeventqueues/src/ingress/types.rs, crates/tinyeventqueues/src/pipeline/cadence_tests.rs, crates/tinyeventqueues/src/pipeline/dispatch.rs, crates/tinyeventqueues/src/pipeline/dispatch_tests.rs, crates/tinyeventqueues/src/pipeline/invariants_tests.rs, crates/tinyeventqueues/src/salience/simhash.rs, crates/tinyeventqueues/src/tinybus_module/README.md, crates/tinyeventqueues/src/turn/threads.rs, crates/tinyeventqueues/src/turn/threads_tests.rs, crates/tinyeventqueues/tests/public_api.rs, deny.toml, docs/README.md, docs/plans/README.md, docs/plans/event-pipeline.md, docs/plans/tinybus-module-release.md, docs/specs/README.md, docs/specs/event-pipeline.md, docs/specs/tinybus-module-release.md, pipeline.json, queues.json, schemas/pipeline.schema.json.

security

  • Conclusion: Neutral
  • Scope reviewed: incomplete; unanswered: .github/workflows/release.yml, .github/workflows/ci.yml, AGENTS.md, Cargo.toml, crates/tinyeventqueues-bus/Cargo.toml, crates/tinyeventqueues/Cargo.toml, crates/tinyeventqueues/src/cadence/mod.rs, crates/tinyeventqueues/src/coalesce/mod.rs, crates/tinyeventqueues-bus/src/config/mod.rs, crates/tinyeventqueues-bus/src/config/mod_tests.rs, crates/tinyeventqueues-bus/src/config/types.rs, crates/tinyeventqueues-bus/src/event/mod.rs, crates/tinyeventqueues-bus/src/event/mod_tests.rs, crates/tinyeventqueues-bus/src/event/types.rs, crates/tinyeventqueues-bus/src/host/mod.rs, crates/tinyeventqueues-bus/src/host/mod_tests.rs, crates/tinyeventqueues-bus/src/host/types.rs, crates/tinyeventqueues-bus/src/lib.rs, crates/tinyeventqueues-bus/src/names/mod.rs, crates/tinyeventqueues-bus/src/names/mod_tests.rs, crates/tinyeventqueues-bus/src/ops/mod.rs, crates/tinyeventqueues-bus/src/ops/mod_tests.rs, crates/tinyeventqueues-bus/src/ops/types.rs, crates/tinyeventqueues-bus/src/outcome/mod.rs, crates/tinyeventqueues-bus/src/outcome/mod_tests.rs, crates/tinyeventqueues-bus/src/outcome/types.rs, crates/tinyeventqueues-bus/src/version/mod.rs, crates/tinyeventqueues-bus/src/version/mod_tests.rs, crates/tinyeventqueues/src/cadence/mod_tests.rs, crates/tinyeventqueues/src/clock/mod.rs, crates/tinyeventqueues/src/clock/mod_tests.rs, crates/tinyeventqueues/src/coalesce/mod_tests.rs, crates/tinyeventqueues/src/coalesce/types.rs, crates/tinyeventqueues/src/config/mod.rs, crates/tinyeventqueues/src/config/mod_tests.rs, crates/tinyeventqueues/src/dead/mod.rs, crates/tinyeventqueues/src/dead/mod_tests.rs, crates/tinyeventqueues/src/digest/mod.rs, crates/tinyeventqueues/src/digest/mod_tests.rs, crates/tinyeventqueues/src/error/mod.rs, crates/tinyeventqueues/src/error/mod_tests.rs, crates/tinyeventqueues/src/gate/ambient.rs, crates/tinyeventqueues/src/gate/buckets.rs, crates/tinyeventqueues/src/gate/mod.rs, crates/tinyeventqueues/src/gate/mod_tests.rs, crates/tinyeventqueues/src/ingress/mod.rs, crates/tinyeventqueues/src/ingress/mod_tests.rs, crates/tinyeventqueues/src/lib.rs, crates/tinyeventqueues/src/observe/mod.rs, crates/tinyeventqueues/src/observe/mod_tests.rs, crates/tinyeventqueues/src/pipeline/builder.rs, crates/tinyeventqueues/src/pipeline/mod.rs, crates/tinyeventqueues/src/pipeline/mod_tests.rs, crates/tinyeventqueues/src/pipeline/pass.rs, crates/tinyeventqueues/src/pipeline/pass_tests.rs, crates/tinyeventqueues/src/salience/mod.rs, crates/tinyeventqueues/src/salience/mod_tests.rs, crates/tinyeventqueues/src/store/ledger.rs, crates/tinyeventqueues/src/store/mod.rs, crates/tinyeventqueues/src/store/mod_tests.rs, crates/tinyeventqueues/src/tinybus_module/mod.rs, crates/tinyeventqueues/src/tinybus_module/mod_tests.rs, crates/tinyeventqueues/src/turn/mod.rs, crates/tinyeventqueues/src/turn/mod_tests.rs, crates/tinyeventqueues/src/cadence/spec.rs, crates/tinyeventqueues/src/cadence/spec_tests.rs, crates/tinyeventqueues/src/test_support.rs, .github/ISSUE_TEMPLATE/config.yml, crates/tinyeventqueues/examples/basic.rs, crates/tinyeventqueues/examples/verify_github_release.rs, crates/tinyeventqueues/examples/verify_module.rs, crates/tinyeventqueues/src/config/types.rs, crates/tinyeventqueues/src/dead/types.rs, crates/tinyeventqueues/src/host/mod.rs, crates/tinyeventqueues/src/ingress/types.rs, crates/tinyeventqueues/src/pipeline/cadence_tests.rs, crates/tinyeventqueues/src/pipeline/dispatch.rs, crates/tinyeventqueues/src/pipeline/dispatch_tests.rs, crates/tinyeventqueues/src/pipeline/invariants_tests.rs, crates/tinyeventqueues/src/salience/simhash.rs, crates/tinyeventqueues/src/turn/threads.rs, crates/tinyeventqueues/src/turn/threads_tests.rs, deny.toml, pipeline.json, queues.json, schemas/pipeline.schema.json, crates/tinyeventqueues/tests/public_api.rs
  • Lane summary: Reviewed 0 files; 0 findings. 87 files could not be reviewed: .github/workflows/release.yml, .github/workflows/ci.yml, AGENTS.md, Cargo.toml, crates/tinyeventqueues-bus/Cargo.toml, crates/tinyeventqueues/Cargo.toml, crates/tinyeventqueues/src/cadence/mod.rs, crates/tinyeventqueues/src/coalesce/mod.rs, crates/tinyeventqueues-bus/src/config/mod.rs, crates/tinyeventqueues-bus/src/config/mod_tests.rs, crates/tinyeventqueues-bus/src/config/types.rs, crates/tinyeventqueues-bus/src/event/mod.rs, crates/tinyeventqueues-bus/src/event/mod_tests.rs, crates/tinyeventqueues-bus/src/event/types.rs, crates/tinyeventqueues-bus/src/host/mod.rs, crates/tinyeventqueues-bus/src/host/mod_tests.rs, crates/tinyeventqueues-bus/src/host/types.rs, crates/tinyeventqueues-bus/src/lib.rs, crates/tinyeventqueues-bus/src/names/mod.rs, crates/tinyeventqueues-bus/src/names/mod_tests.rs, crates/tinyeventqueues-bus/src/ops/mod.rs, crates/tinyeventqueues-bus/src/ops/mod_tests.rs, crates/tinyeventqueues-bus/src/ops/types.rs, crates/tinyeventqueues-bus/src/outcome/mod.rs, crates/tinyeventqueues-bus/src/outcome/mod_tests.rs, crates/tinyeventqueues-bus/src/outcome/types.rs, crates/tinyeventqueues-bus/src/version/mod.rs, crates/tinyeventqueues-bus/src/version/mod_tests.rs, crates/tinyeventqueues/src/cadence/mod_tests.rs, crates/tinyeventqueues/src/clock/mod.rs, crates/tinyeventqueues/src/clock/mod_tests.rs, crates/tinyeventqueues/src/coalesce/mod_tests.rs, crates/tinyeventqueues/src/coalesce/types.rs, crates/tinyeventqueues/src/config/mod.rs, crates/tinyeventqueues/src/config/mod_tests.rs, crates/tinyeventqueues/src/dead/mod.rs, crates/tinyeventqueues/src/dead/mod_tests.rs, crates/tinyeventqueues/src/digest/mod.rs, crates/tinyeventqueues/src/digest/mod_tests.rs, crates/tinyeventqueues/src/error/mod.rs, crates/tinyeventqueues/src/error/mod_tests.rs, crates/tinyeventqueues/src/gate/ambient.rs, crates/tinyeventqueues/src/gate/buckets.rs, crates/tinyeventqueues/src/gate/mod.rs, crates/tinyeventqueues/src/gate/mod_tests.rs, crates/tinyeventqueues/src/ingress/mod.rs, crates/tinyeventqueues/src/ingress/mod_tests.rs, crates/tinyeventqueues/src/lib.rs, crates/tinyeventqueues/src/observe/mod.rs, crates/tinyeventqueues/src/observe/mod_tests.rs, crates/tinyeventqueues/src/pipeline/builder.rs, crates/tinyeventqueues/src/pipeline/mod.rs, crates/tinyeventqueues/src/pipeline/mod_tests.rs, crates/tinyeventqueues/src/pipeline/pass.rs, crates/tinyeventqueues/src/pipeline/pass_tests.rs, crates/tinyeventqueues/src/salience/mod.rs, crates/tinyeventqueues/src/salience/mod_tests.rs, crates/tinyeventqueues/src/store/ledger.rs, crates/tinyeventqueues/src/store/mod.rs, crates/tinyeventqueues/src/store/mod_tests.rs, crates/tinyeventqueues/src/tinybus_module/mod.rs, crates/tinyeventqueues/src/tinybus_module/mod_tests.rs, crates/tinyeventqueues/src/turn/mod.rs, crates/tinyeventqueues/src/turn/mod_tests.rs, crates/tinyeventqueues/src/cadence/spec.rs, crates/tinyeventqueues/src/cadence/spec_tests.rs, crates/tinyeventqueues/src/test_support.rs, .github/ISSUE_TEMPLATE/config.yml, crates/tinyeventqueues/examples/basic.rs, crates/tinyeventqueues/examples/verify_github_release.rs, crates/tinyeventqueues/examples/verify_module.rs, crates/tinyeventqueues/src/config/types.rs, crates/tinyeventqueues/src/dead/types.rs, crates/tinyeventqueues/src/host/mod.rs, crates/tinyeventqueues/src/ingress/types.rs, crates/tinyeventqueues/src/pipeline/cadence_tests.rs, crates/tinyeventqueues/src/pipeline/dispatch.rs, crates/tinyeventqueues/src/pipeline/dispatch_tests.rs, crates/tinyeventqueues/src/pipeline/invariants_tests.rs, crates/tinyeventqueues/src/salience/simhash.rs, crates/tinyeventqueues/src/turn/threads.rs, crates/tinyeventqueues/src/turn/threads_tests.rs, deny.toml, pipeline.json, queues.json, schemas/pipeline.schema.json, crates/tinyeventqueues/tests/public_api.rs. 12 files were not security-reviewed: MODULE.md (prose or tabular data), README.md (prose or tabular data), ROADMAP.md (prose or tabular data), crates/tinyeventqueues-bus/README.md (prose or tabular data), crates/tinyeventqueues/src/tinybus_module/README.md (prose or tabular data), and 7 more.

tests

  • Conclusion: Neutral
  • Scope reviewed: incomplete; unanswered: tinysweeper/tests
  • Lane summary: No reviewer produced a usable response.

commits

  • Conclusion: Neutral
  • Scope reviewed: all assigned evidence
  • Lane summary: Nothing sensitive found in what this pull request commits.

description

  • Conclusion: Neutral
  • Scope reviewed: incomplete; unanswered: tinysweeper/description
  • Lane summary: No reviewer produced a usable response.
Evidence and run details
  • Models: ladder/vectors-oai3
  • Spend: $0.000098
  • Tokens: 0 input · 0 output · 0 cached · 751 embedding
  • Continuity: summary cache chain restarted at the storage ceiling.
Head State Pass summary
363925286168 incomplete 0 active finding(s), 0 resolved finding(s) (at 2026-10-19T17:22:29Z)

tinysweeper 0.1.2

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ⚠️ Failed 2026-10-19T17:21:34.283563Z 3639252 PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.
To continue using code reviews, add credits to your account and enable them for code reviews in your settings.

@tinysweeper tinysweeper Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

tinysweeper found nothing blocking, but could not review everything, so this is not an approval: .github/ISSUE_TEMPLATE/config.yml, .github/workflows/ci.yml, .github/workflows/release.yml, AGENTS.md, Cargo.toml, MODULE.md, README.md, ROADMAP.md and 93 more.

$0.0001 · 0 in / 0 out · 751 embedded · ladder/vectors-oai3

@senamakel
senamakel merged commit 4fd8bff into tinyhumansai:main Oct 19, 2026
9 of 10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant