Skip to content

fix(module): adopt published TinyBus SDK 0.3.3 - #50

Merged
senamakel merged 19 commits into
tinyhumansai:epic/8056-modules-wiringfrom
senamakel:epic-8056-tinyvoice-client-source
Oct 18, 2026
Merged

senamakel merged 19 commits into
tinyhumansai:epic/8056-modules-wiringfrom
senamakel:epic-8056-tinyvoice-client-source

Conversation

@senamakel

@senamakel senamakel commented Oct 18, 2026 •

Copy link
Copy Markdown
Member

TinyVoice's client and native module now use the published TinyBus 0.3.3 SDK, which fixes stream completion ordering. The normal SDK dependencies use one canonical Git source with compatible >=0.3.3, <0.4.0 bounds; both standalone workspaces patch all SDK crates to the pinned vendor checkout. This lets a host unify its SDK dependency while keeping the module built with the known 0.3.3 release. The normal client remains free of loader features.

The typed client is explicitly Git/path-only (publish = false). Its README describes source consumption and why a registry-normalized SDK dependency would defeat the host's canonical Git patch strategy. A regression guard requires this policy and documentation.

Prepares native module 0.3.3 and refreshes the two lockfiles. Release guards verify the SDK minimum, parent gitlink and nonrecursive checkout behavior. The existing ordinary release delegate is preserved, and the reviewed-epic path uses the corrected shared publication workflow.

Validation:

  • Static source-identity regressions fail against the old manifests and pass after the change; initialized/nonrecursive SDK and release checks pass.
  • Local Rust 1.99 strict Clippy, feature/default/all-feature tests, builds and Rust 1.88 checks completed successfully. The client suite covers 13 real in-memory broker cases; the separate native archive verifier exercises the compiled module through raw TinyBus proxy calls.
  • Independently checked the coverage JSON: all 24 governed root files meet 90%; the six live and two relay runtime files also meet 90% in the macOS equivalent. The stock aggregate coverage command returned 1 on macOS at its Linux .so path; the real instrumented .dylib passed the equivalent verifier and thresholds. Linux's unchanged stock coverage job remains required in CI.
  • The staged macOS ARM archive and its real library match their recorded SHA-256 values and modules.toml. Local console evidence is retained as excerpts rather than full persistent logs; hosted Linux/macOS/Windows checks must pass before merge. Windows/PowerShell execution is not claimed locally.

No Rust API or runtime behavior changes. The full OpenHuman normal/desktop SDK graph and host integration remain separate epic work.

Refs senamakel#1. Part of tinyhumansai/openhuman#8056.

Updates the client and module manifests, the vendored gitlink, and the
release workflow's reusable workflow pins to TinyBus 0.3.3. The new
release publishes a streamed call's terminal verdict before reader EOF,
so successful completion and remote failure stay distinguishable when a
host consumes a stream.

Auto-committed-on: macbook
The regex matching the indexed submodule commit was updated to reflect the current git ls-files output format, where the commit hash is followed by a stage number rather than a tab. This keeps the SDK version check working against current git versions.

Auto-committed-on: macbook
Delete the cached cpython-313 bytecode for test-sdk-version so generated artifacts stay out of version control.

Auto-committed-on: macbook
Adds the SDK version test to the feature test script so its checks run
alongside the other version and portability tests.

Auto-committed-on: macbook
The guard now inspects the gitlink recorded in the HEAD tree instead of
comparing staged and unstaged pointer states. This keeps the check
runnable in a clean nonrecursive checkout while still asserting the
pinned TinyBus commit.

Auto-committed-on: macbook
Extend the SDK version test to check that the tinyvoice client test fixtures declare version 0.3.3, so the fixtures stay in step with the published crate version.

Auto-committed-on: macbook
Update the release record fixtures in the client tests to report version 0.3.3 so they match the current crate version.

Auto-committed-on: macbook
The release workflow now pins two distinct reusable workflow commits, one for ordinary module releases and one for reviewed epic releases. The test was updated to expect both pins instead of the previous single shared commit.

Auto-committed-on: macbook
Updates the pinned commit for the shared module-release workflow to the
latest revision so releases pick up its current behavior.

Auto-committed-on: macbook
…ates/tinyvoice-module/Cargo.tom

Auto-committed-on: macbook
Updates the locked tinybus version from 0.3.2 to 0.3.3 and records the
tinybus-macros and tinybus-module patch entries as unused. The lockfile
was regenerated after the dependency bump.

Auto-committed-on: macbook
Updates the lockfile to tinybus 0.3.3 along with its macros and module crates, and pins getrandom back to 0.3.4 to match the dependency graph.

Auto-committed-on: macbook
@tinysweeper

tinysweeper Bot commented Oct 18, 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: a7498a9d129a
Updated: 2026-10-18T22:29:54Z

Review snapshot

Change surface Files Review signal Count
Production 0 Active findings 0
Tests 4 Noted findings 0
Documentation 1 Resolved findings 0
Configuration 4 Pending checks/questions 19

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/workflows/release.yml, Cargo.toml, crates/tinyvoice-client/Cargo.toml, crates/tinyvoice-client/README.md, crates/tinyvoice-client/src/lib_ownership_tests.rs, crates/tinyvoice-client/src/lib_tests.rs, crates/tinyvoice-module/Cargo.toml, scripts/test-features.sh, scripts/test-sdk-version.py, tinysweeper/description, tinysweeper/tests

Before merge

  • Complete the critique review for .github/workflows/release.yml, Cargo.toml, crates/tinyvoice-client/Cargo.toml, crates/tinyvoice-client/README.md, crates/tinyvoice-client/src/lib_ownership_tests.rs, crates/tinyvoice-client/src/lib_tests.rs, crates/tinyvoice-module/Cargo.toml, scripts/test-features.sh, scripts/test-sdk-version.py.
  • Complete the security review for .github/workflows/release.yml, Cargo.toml, crates/tinyvoice-client/Cargo.toml, crates/tinyvoice-module/Cargo.toml, crates/tinyvoice-client/src/lib_ownership_tests.rs, crates/tinyvoice-client/src/lib_tests.rs, scripts/test-sdk-version.py, scripts/test-features.sh.
  • Complete the tests review for tinysweeper/tests.
  • Complete the description review for tinysweeper/description.

How this fits together

flowchart LR
  n0["close"]:::impacted
  n1["fixture"]:::impacted
  n2["handoff_fixture"]:::impacted
  n3["move_public_alias_to_b"]:::impacted
  n4["...ces_fail_closed_after_their_peer_detaches"]:::impacted
  n5["..._each_operation_and_close_only_explicitly"]:::impacted
  n4 -->|calls| n0
  n4 -->|tests| n0
  n4 -->|calls| n2
  n4 -->|tests| n2
  n4 -->|calls| n3
  n4 -->|tests| n3
  n5 -->|calls| n0
  n5 -->|tests| n0
  n5 -->|calls| n1
  n5 -->|tests| n1
  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
Loading
Agent review details

critique

  • Conclusion: Neutral
  • Scope reviewed: incomplete; unanswered: .github/workflows/release.yml, Cargo.toml, crates/tinyvoice-client/Cargo.toml, crates/tinyvoice-client/README.md, crates/tinyvoice-client/src/lib_ownership_tests.rs, crates/tinyvoice-client/src/lib_tests.rs, crates/tinyvoice-module/Cargo.toml, scripts/test-features.sh, scripts/test-sdk-version.py
  • Lane summary: Reviewed 0 files; 0 findings. 9 files could not be reviewed: .github/workflows/release.yml, Cargo.toml, crates/tinyvoice-client/Cargo.toml, crates/tinyvoice-client/README.md, crates/tinyvoice-client/src/lib_ownership_tests.rs, crates/tinyvoice-client/src/lib_tests.rs, crates/tinyvoice-module/Cargo.toml, scripts/test-features.sh, scripts/test-sdk-version.py.

security

  • Conclusion: Neutral
  • Scope reviewed: incomplete; unanswered: .github/workflows/release.yml, Cargo.toml, crates/tinyvoice-client/Cargo.toml, crates/tinyvoice-module/Cargo.toml, crates/tinyvoice-client/src/lib_ownership_tests.rs, crates/tinyvoice-client/src/lib_tests.rs, scripts/test-sdk-version.py, scripts/test-features.sh
  • Lane summary: Reviewed 0 files; 0 findings. 8 files could not be reviewed: .github/workflows/release.yml, Cargo.toml, crates/tinyvoice-client/Cargo.toml, crates/tinyvoice-module/Cargo.toml, crates/tinyvoice-client/src/lib_ownership_tests.rs, crates/tinyvoice-client/src/lib_tests.rs, scripts/test-sdk-version.py, scripts/test-features.sh. 1 file was not security-reviewed: crates/tinyvoice-client/README.md (prose or tabular data).

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.000082
  • Tokens: 0 input · 0 output · 0 cached · 629 embedding
Head State Pass summary
f36049726397 incomplete 0 active finding(s), 0 resolved finding(s) (at 2026-10-18T22:04:39Z)
a7498a9d129a incomplete 0 active finding(s), 0 resolved finding(s) (at 2026-10-18T22:29:08Z)
a7498a9d129a incomplete 0 active finding(s), 0 resolved finding(s) (at 2026-10-18T22:29:54Z)

tinysweeper 0.1.2

@coderabbitai

coderabbitai Bot commented Oct 18, 2026 •

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration
  • Configuration used: Organization UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 8a92e1dc-24d9-4529-8b5d-f6740b7420f1

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Comment @coderabbitai help to get the list of available commands.

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 18, 2026 •

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 ✅ Completed 2026-10-18T22:34:04.978922Z a7498a9 New commits
ℹ️ 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.

@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/workflows/release.yml, Cargo.toml, crates/tinyvoice-client/Cargo.toml, crates/tinyvoice-client/README.md, crates/tinyvoice-client/src/lib_ownership_tests.rs, crates/tinyvoice-client/src/lib_tests.rs, crates/tinyvoice-module/Cargo.toml, scripts/test-features.sh and 3 more.

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

@tinysweeper tinysweeper Bot added the priority: p3 Whenever. Cosmetic, a nicety, or a cleanup with no user visible effect. label Oct 18, 2026

@chatgpt-codex-connector chatgpt-codex-connector 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.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: f360497263

ℹ️ 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".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread crates/tinyvoice-client/Cargo.toml
Add a test asserting the tinyvoice-client crate is marked as not
publishable and that its README documents the path dependency and git
checkout consumption model. This locks in the intent that the client is
consumed from source rather than published to crates.io.

Auto-committed-on: macbook
Set publish = false and document that the crate is consumed from source via a path or Git dependency. Registry packaging would drop the TinyBus Git revision and could yield a different Rust ModuleClient type than the linked host.

Auto-committed-on: macbook
The SDK version test expected the phrase "registry package" in the README, but the README now uses "Registry packaging", so the assertion was updated to keep the test passing.

Auto-committed-on: macbook

@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: crates/tinyvoice-client/Cargo.toml, crates/tinyvoice-client/README.md, scripts/test-sdk-version.py, tinysweeper/description, tinysweeper/tests.

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

@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/workflows/release.yml, Cargo.toml, crates/tinyvoice-client/Cargo.toml, crates/tinyvoice-client/README.md, crates/tinyvoice-client/src/lib_ownership_tests.rs, crates/tinyvoice-client/src/lib_tests.rs, crates/tinyvoice-module/Cargo.toml, scripts/test-features.sh and 3 more.

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

@senamakel
senamakel merged commit 82f96e9 into tinyhumansai:epic/8056-modules-wiring Oct 18, 2026
20 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

priority: p3 Whenever. Cosmetic, a nicety, or a cleanup with no user visible effect.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant