Decouple from upstream fork: rename to computer, Forgejo Packages releases, fix stale tests #1

Open
troed wants to merge 10 commits from devel into main
Owner

Summary

Decouple computer from the upstream huggingface/speech-to-speech fork and switch releases to our own Forgejo Package registry.

  • Rename importable module speech_to_speech -> computer across src/, tests/, scripts/, configs and docs (zero tracked references remain)
  • Forgejo Actions: move workflows to .forgejo/workflows/; publish.yml now builds with uv build, checks with twine check --strict, and uploads to the PyPI-compatible registry at https://git.sync.wtf/api/packages/troed/pypi using the COMPUTER_PACKAGE secret
  • pyproject.toml: package name computer, computer/computer-client console scripts, openwakeword promoted to a core dependency
  • AGENTS.md: rewritten for the devel/main branch workflow and Forgejo Packages release flow
  • Cleanup: removed GitHub-only artifacts (star-history workflow, dependabot), unused Dockerfiles, demo/, archive/
  • Test fixes: 30 previously failing tests fixed (stale _setup_faster mock signatures missing quant, missing interrupt/barge-in attrs in the speculative-turns VAD test factory)

Test Plan

  • uv run pytest — 741 passed, 16 warnings (2 pre-existing errors from standalone scripts/test_live*.py requiring runtime --host/--port)
  • uv build + uvx twine check --strict pass
  • ruff/mypy clean on changed files (pre-existing issues unchanged)
## Summary Decouple `computer` from the upstream `huggingface/speech-to-speech` fork and switch releases to our own Forgejo Package registry. - **Rename importable module** `speech_to_speech` -> `computer` across `src/`, `tests/`, `scripts/`, configs and docs (zero tracked references remain) - **Forgejo Actions**: move workflows to `.forgejo/workflows/`; `publish.yml` now builds with `uv build`, checks with `twine check --strict`, and uploads to the PyPI-compatible registry at `https://git.sync.wtf/api/packages/troed/pypi` using the `COMPUTER_PACKAGE` secret - **pyproject.toml**: package name `computer`, `computer`/`computer-client` console scripts, `openwakeword` promoted to a core dependency - **AGENTS.md**: rewritten for the devel/main branch workflow and Forgejo Packages release flow - **Cleanup**: removed GitHub-only artifacts (star-history workflow, dependabot), unused Dockerfiles, `demo/`, `archive/` - **Test fixes**: 30 previously failing tests fixed (stale `_setup_faster` mock signatures missing `quant`, missing interrupt/barge-in attrs in the speculative-turns VAD test factory) ## Test Plan - [x] `uv run pytest` — 741 passed, 16 warnings (2 pre-existing errors from standalone `scripts/test_live*.py` requiring runtime `--host/--port`) - [x] `uv build` + `uvx twine check --strict` pass - [x] ruff/mypy clean on changed files (pre-existing issues unchanged)
When --stt native-llm is used, transcript is empty but audio_bytes are present.
The _on_transcription_completed condition was 'if transcript' which skipped
adding a user message, causing:
  1. Audio injected into wrong message or not at all → stale responses
  2. Consecutive assistant messages at end of history → llama-server 400 error

Fix: use placeholder text '[audio]' when audio is present but transcript empty.
The _serialize() method then finds the user message and injects the input_audio
content part correctly.
llama-server requires a valid WAV file for input_audio, not bare int16 PCM
samples. Added _pcm_to_wav() helper that writes a RIFF/WAV header around the
raw PCM bytes (16kHz mono int16).
Decouple from upstream fork, rename to computer, publish via Forgejo Packages
Some checks failed
CI / ruff (pull_request) Has been cancelled
CI / mypy (pull_request) Has been cancelled
CI / pytest (pull_request) Has been cancelled
CI / package (pull_request) Has been cancelled
CI / Install smoke (linux) (pull_request) Has been cancelled
CI / Install smoke (macos-arm64) (pull_request) Has been cancelled
e32e134d1b
- Rename importable module speech_to_speech -> computer (all src, tests, scripts, docs)
- Move workflows to .forgejo/ (Forgejo Actions), publish PyPI-compatible package to
  git.sync.wtf package registry instead of PyPI; drop GitHub-only artifacts
- Rewrite AGENTS.md for devel/main branch workflow + Forgejo Packages releases
- Remove unused files: Dockerfiles, demo/, archive/, star-history assets
- Make openwakeword a core dependency (wake word is core functionality)
- Fix 30 stale tests (qwen3 _setup_faster quant param, speculative-turns interrupt attrs)
chore: remove .DS_Store from repo, add to .gitignore
Some checks failed
CI / ruff (pull_request) Has been cancelled
CI / mypy (pull_request) Has been cancelled
CI / pytest (pull_request) Has been cancelled
CI / package (pull_request) Has been cancelled
CI / Install smoke (linux) (pull_request) Has been cancelled
CI / Install smoke (macos-arm64) (pull_request) Has been cancelled
aeef6d21a5
ci: simplify to single ubuntu-latest sanity job
Some checks failed
CI / Sanity check (ubuntu-latest) (pull_request) Failing after 33s
cb08dadb7f
ci: retrigger sanity job
Some checks failed
CI / Sanity check (ubuntu-latest) (pull_request) Failing after 0s
f789cf6cd0
ci: retrigger after runner URL fix
Some checks failed
CI / Sanity check (ubuntu-latest) (pull_request) Failing after 2s
f17f351caa
ci: install uv via curl, drop setup-uv action (node incompat)
Some checks failed
CI / Sanity check (ubuntu-latest) (pull_request) Failing after 3s
3264f90b61
ci: retrigger with node:24-trixie image
Some checks failed
CI / Sanity check (ubuntu-latest) (pull_request) Failing after 2m34s
78a00315ee
Some checks failed
CI / Sanity check (ubuntu-latest) (pull_request) Failing after 2m34s
This pull request has changes conflicting with the target branch.
  • tests/test_native_llm_stt.py
View command line instructions

Manual merge helper

Use this merge commit message when completing the merge manually.

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin devel:devel
git switch devel

Merge

Merge the changes and update on Forgejo.

Warning: The "Autodetect manual merge" setting is not enabled for this repository, you will have to mark this pull request as manually merged afterwards.

git switch main
git merge --no-ff devel
git switch devel
git rebase main
git switch main
git merge --ff-only devel
git switch devel
git rebase main
git switch main
git merge --no-ff devel
git switch main
git merge --squash devel
git switch main
git merge --ff-only devel
git switch main
git merge devel
git push origin main
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
troed/computer!1
No description provided.