Repository navigation
Conversation
Add a test-only hook that runs after a stream is sealed during Close, letting tests pause the close path and observe what a reader sees at that moment. New tests use it to assert that a complete close publishes a clean EOF and a truncated close publishes an abort before the reader observes end of stream. Auto-committed-on: macbook
Adjust the assertion in the close verdict test to compare against an explicit byte slice, keeping the comparison types consistent. Auto-committed-on: macbook
Move the completion or abort outcome ahead of sealing so the stream is finalised before it becomes visible as sealed, and reuse the truncation check for the error path. Auto-committed-on: macbook
Release 0.3.3 fixes a race where a reader that had drained a stream's payload could observe the wrong end state, because the reader channel was closed before the completion or truncation verdict was published. The verdict is now published first so drained readers see the correct end. Auto-committed-on: macbook
Update the module identity versions used by the pinned client tests to 0.3.3 so the fixtures match the current release. Auto-committed-on: macbook
Update the locked versions of tinybus, tinybus-macros, and tinybus-module from 0.3.2 to 0.3.3. Auto-committed-on: macbook
Update the example lockfile to pick up tinybus and tinybus-macros 0.3.3, keeping the examples in sync with the released version. Auto-committed-on: macbook
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configuration
You can disable this status message by setting the Use the checkbox below for a quick retry:
Comment |
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
Auto-committed-on: macbook
Adds the compiled Python bytecode for the coverage check test module, generated by the interpreter when the test was run. Auto-committed-on: macbook
Delete the cached .pyc file for the coverage test script so it is no longer tracked in version control. Auto-committed-on: macbook
The coverage script only looked for .so example modules, so it failed to locate them on macOS where they are built as .dylib. The remaining lookups now also accept the .dylib extension. Auto-committed-on: macbook
Auto-committed-on: macbook
Add a test that parses scripts/test-features.sh and checks the fake-Cargo coverage invocation only runs in the POSIX branch of the runner-OS case statement, never on Windows. It also pins the exact set of cargo commands so the harness cannot silently drift. Auto-committed-on: macbook
The feature test runner now skips the coverage script on Windows while still running it on Linux and macOS, and the accompanying platform tests were adjusted to match the new case structure and verify the Windows branch is empty. Auto-committed-on: macbook
The test now checks the lines between the Windows branch and the closing esac instead of the range before the branch, so the assertion actually inspects the Windows case body. Auto-committed-on: macbook
207a9a7
into
tinyhumansai:epic/8056-modules-wiring
Tiny Sweeper reviewTiny 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 Review snapshot
Completeness: Incomplete FeaturesNone identified with supported citations. TestsNo supported feature-to-test mapping was produced. Test execution is not inferred.
FindingsNo active actionable findings. Could not review: CHANGELOG.md, Cargo.toml, crates/tinybus/src/module/client_pinned_tests.rs, crates/tinybus/src/stream/mod.rs, crates/tinybus/src/stream/stream_tests.rs, scripts/check-coverage.sh, scripts/test-features.sh, scripts/test_check_coverage.py, tinysweeper/description, tinysweeper/tests Before merge
How this fits togetherflowchart LR
n0["...lared_length_is_an_error_not_a_short_read<br/>changed"]:::changed
n1["payload<br/>changed"]:::changed
n2["bus"]:::impacted
n3["new"]:::impacted
n4["open_stream"]:::impacted
n5["stream_ref"]:::impacted
n6["with_len"]:::impacted
n0 -->|calls| n1
n0 -->|tests| n1
n0 -->|calls| n2
n0 -->|tests| n2
n0 -->|calls| n3
n0 -->|tests| n3
n0 -->|calls| n4
n0 -->|tests| n4
n0 -->|calls| n5
n0 -->|tests| n5
n0 -->|calls| n6
n0 -->|tests| n6
n2 -->|calls| n3
classDef changed fill:#0d4429,stroke:#238636,color:#e6edf3
classDef impacted fill:#161b22,stroke:#6e7681,color:#c9d1d9
classDef flagged fill:#5a1e02,stroke:#d93f0b,color:#ffffff
classDef blocking fill:#67060c,stroke:#f85149,color:#ffffff
Agent review detailscritique
security
tests
commits
description
Evidence and run details
|
There was a problem hiding this comment.
tinysweeper found nothing blocking, but could not review everything, so this is not an approval: Cargo.toml, crates/tinybus/src/module/client_pinned_tests.rs, crates/tinybus/src/stream/mod.rs, crates/tinybus/src/stream/stream_tests.rs, scripts/check-coverage.sh, scripts/test-features.sh, scripts/test_check_coverage.py, tinysweeper/description and 1 more.
$0.0490 · 348,180 in / 74,846 out · 52,062 cached (15%) · ladder/vectors-oai3, deepseek-v4.1-flash, · 716 embedded
critique: $0.0489 · 348,180 in / 74,846 out · 52,062 cached (15%) · deepseek-v4.1-flash,
There was a problem hiding this comment.
tinysweeper found nothing blocking, but could not review everything, so this is not an approval: CHANGELOG.md, Cargo.toml, crates/tinybus/src/module/client_pinned_tests.rs, crates/tinybus/src/stream/mod.rs, crates/tinybus/src/stream/stream_tests.rs, scripts/check-coverage.sh, scripts/test-features.sh, scripts/test_check_coverage.py and 2 more.
$0.0001 · 0 in / 0 out · 716 embedded · ladder/vectors-oai3
There was a problem hiding this comment.
tinysweeper found nothing blocking, but could not review everything, so this is not an approval: CHANGELOG.md, Cargo.toml, crates/tinybus/src/module/client_pinned_tests.rs, crates/tinybus/src/stream/mod.rs, crates/tinybus/src/stream/stream_tests.rs, scripts/check-coverage.sh, scripts/test-features.sh, scripts/test_check_coverage.py and 2 more.
$0.0001 · 0 in / 0 out · 716 embedded · ladder/vectors-oai3
There was a problem hiding this comment.
tinysweeper found nothing blocking, but could not review everything, so this is not an approval: CHANGELOG.md, Cargo.toml, crates/tinybus/src/module/client_pinned_tests.rs, crates/tinybus/src/stream/mod.rs, crates/tinybus/src/stream/stream_tests.rs, scripts/check-coverage.sh, scripts/test-features.sh, scripts/test_check_coverage.py and 2 more.
$0.0001 · 0 in / 0 out · 716 embedded · ladder/vectors-oai3
A stream reader could receive every byte and still report
connection closed mid-stream:Closedropped the channel sender before recording its completion verdict. A reader awakened between those operations observed a closed channel with no verdict. Truncated streams could similarly lose their specific abort reason.Publish the completion or truncation outcome before sealing the channel. Two deterministic regression tests pause the real registry Close path at the former race window, drain the payload, and inspect terminal state before releasing and joining Close. Both failed with the false connection-closed result before the fix and pass afterward. The hook is per registry and compiled only for tests.
Prepares SDK 0.3.3 with matching workspace, lockfile, example, and pinned-version fixture updates. The coverage script also discovers macOS dylibs for all eight native fixtures; a regression executes the real script with isolated fake-Cargo fixtures for Linux and macOS, checks the unchanged coverage rules, and confines that Unix harness to POSIX feature lanes. Existing Windows feature commands remain intact.
Validation completed locally: Rust 1.99 locked check, all-target/all-feature Clippy, formatting, all 41 stream tests, and excluded examples check; native module gate including ten isolated terminal scenarios; unchanged 90% per-file coverage gate (54 files, minimum 90.06%, total 94.68%); and all three script regressions. Independent source and script reviews passed. The scoped slim tests, exact workspace/no-default/macros feature command, rustdoc with warnings denied, actual Rust 1.85.0 workspace/all-target/all-feature check, and current/relocated locked example metadata also pass. Publication waits for hosted CI and review.
Part of tinyhumansai/openhuman#8056. TinyStorageDrivers #61 exposed the race; its assertions and timeouts are preserved.