Skip to content

[inference-out] upstream: LocalAiService ensure_ready/status overlay and file-level STT/TTS helpers in tinyinference-local/-voice #4

Closed

Description

@senamakel

Add:

  • In tinyinference-local/src/service/:
    • LocalAiService::ensure_ready(&runtime), a single-flight bootstrap-if-not-ready;
    • status_with_provider(&runtime), the provider overlay OpenHuman patches in by hand.
  • In tinyinference-voice:
    • piper::synthesize_to_file(…, output_path, length_scale). Upstream always writes a temp file and hard-codes --length-scale 1.15.
    • transcribe_file(path, provider) and transcribe_bytes(bytes, ext, provider), covering mime lookup, temp file, extension sanitising and cleanup.

Host rows unblocked (H13): host_runtime/ops/runtime_ops.rs (191) and host_runtime/service/speech.rs (155).

Blocked by

None.

Definition of done

The listed APIs exist upstream with tests, are released/tagged, and the matching host-adoption leaf can pin them. Gates: the repo's own cargo test, cargo clippy -D warnings and CI.

Agent brief

  • Files to consider: the rows above; the epic's Evaluation section has each row's reason.
  • Research: the gaps listed above. Read the cited upstream symbols before writing code.
  • Workflow: one implementing-an-epic step. Follow OpenHuman's .claude/skills/migrate-to-submodule: upstream PR to the canonical tinyhumansai/<repo>, then tag/release; the OpenHuman gitlink bump and host deletion happen in the matching host-adoption leaf. tinyinference must not depend on tinyagents or OpenHuman.
  • Subagent: tdd-implementer.

Parent: tinyhumansai/openhuman#8092

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions