Repository navigation
fix(tinyhumans): build the backend-error classifier without the voice feature - #8526
Conversation
… feature inference/backend_error_code.rs referenced crate::voice::reply_speech::HOSTED_VOICE_UNAVAILABLE_USER_MESSAGE, but the voice module is cfg(feature = "voice") and voice is not a default feature, so openhuman-tinyhumans failed to compile without it (E0433), including the coverage suite's --features storage-sqlite run. Move the constant next to the classifier, which is not gated, and re-export it from reply_speech so its path and callers are unchanged.
Tiny Sweeper reviewReviewed head: Verdict: Ready for maintainer review · Priority: none Diagnostics and supporting detailsFull summaryPull request purpose (title): fix(tinyhumans): build the backend-error classifier without the voice feature. Tiny Sweeper completed its review; deterministic results follow. Review snapshot
Completeness: Complete What changed`HOSTED_VOICE_UNAVAILABLE_USER_MESSAGE` moves from the `voice`-gated `voice/reply_speech.rs` into `inference/backend_error_code.rs` alongside the classifier that matches on it. `inference/mod.rs` re-exports it (`pub use backend_error_code::HOSTED_VOICE_UNAVAILABLE_USER_MESSAGE`), and `voice/reply_speech.rs` re-exports it from `inference`, keeping its public path stable. Internal references in `is_hosted_voice_unavailable_copy` and the classifier test now resolve locally via `super::`/module scope rather than through `crate::voice`. The message string and classification semantics are unchanged. Features
TestsNo supported feature-to-test mapping was produced. Test execution is not inferred. FindingsNo active actionable findings. Before mergeNone. Agent review detailscritique
security
tests
commits
description
Evidence and run details
|
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. |
Brings in tinyhumansai#8510 (cron live_agents), tinyhumansai#8520 and tinyhumansai#8526 (voice const).
Summary
openhuman-tinyhumansfails to compile onmainunless thevoicefeature is on. This PR makes it build withoutvoiceagain.HOSTED_VOICE_UNAVAILABLE_USER_MESSAGEmoves fromvoice/reply_speech.rs, which only exists withvoice, toinference/backend_error_code.rs, the backend-error classifier, which always exists.voice::reply_speechre-exports the constant, so its public path and callers stay the same. The message text and classification behaviour don't change.Problem
f05c2c1, kept by1b7c03c) madeinference/backend_error_code.rsreferencecrate::voice::reply_speech::HOSTED_VOICE_UNAVAILABLE_USER_MESSAGEunconditionally. The reference is inis_hosted_voice_unavailable_copyand in its test.lib.rsdeclarespub mod voiceunder#[cfg(feature = "voice")], andvoiceis not a default feature (default = ["openhuman-embed/default", "jev", "media"]).openhuman-tinyhumanswithoutvoicefails witherror[E0433]: cannot find voice in the crate rootatbackend_error_code.rs:143, plus the same error atbackend_error_code_tests.rs:295and its knock-on E0277s. That includes the coverage suite's-p openhuman-tinyhumans --features storage-sqliterun (scripts/ci/rust-coverage.sh).Solution
inferencere-exports it withpub use backend_error_code::HOSTED_VOICE_UNAVAILABLE_USER_MESSAGE, andvoice::reply_speechre-exports it from there withpub use crate::inference::HOSTED_VOICE_UNAVAILABLE_USER_MESSAGE.map_hosted_voice_errorandreply_speech_testsstill read it assuper::HOSTED_VOICE_UNAVAILABLE_USER_MESSAGE.super::HOSTED_VOICE_UNAVAILABLE_USER_MESSAGEinstead of going throughcrate::voice.Submission Checklist
hosted_voice_unavailable_copy_is_backend_owned_and_not_reported_againtest covers the moved constant and now also compiles withoutvoiceImpact
openhuman-tinyhumanscompiles again without thevoicefeature, as in the coverage suite's--features storage-sqliterun. Builds withvoiceare unchanged.Related
f05c2c1,1b7c03c)AI Authored PR Metadata (required for Codex/Linear PRs)
Linear Issue
Commit & Branch
fix/tinyhumans-voice-const-ungated132f444025667b19ffed94b126bccc338229ab92Validation Run
pnpm --filter openhuman-app format:check, because no app files changedpnpm typecheck, because no TypeScript changedcargo check -p openhuman-tinyhumans --lib --tests:--features storage-sqlite6 errors (this bug),--features storage-sqlite,voice0 errors. The check with this fix is pending.Validation Blocked
command:cargo checkon baremainerror:maindoes not compile until chore: finish upstream module roll-up integration #8512's vendor pins land, so the type-check runs onmainmerged with chore: finish upstream module roll-up integration #8512impact:none for this diff, which touches onlyopenhuman-tinyhumansBehavior Changes
Parity Contract
voice::reply_speech::HOSTED_VOICE_UNAVAILABLE_USER_MESSAGEis kept through the re-export, and classification is unchanged.Duplicate / Superseded PR Handling