voicerender 0.2.9__tar.gz → 0.2.11__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/data/ledgers/main/events/events.jsonl +12 -0
- voicerender-0.2.11/.ledger/releaseledger/data/ledgers/main/releases/v0.2.10/audit/commit-audit.yaml +36 -0
- voicerender-0.2.11/.ledger/releaseledger/data/ledgers/main/releases/v0.2.10/entries/entry-0001.md +30 -0
- voicerender-0.2.11/.ledger/releaseledger/data/ledgers/main/releases/v0.2.10/release.md +27 -0
- voicerender-0.2.11/.ledger/releaseledger/data/ledgers/main/releases/v0.2.11/audit/commit-audit.yaml +69 -0
- voicerender-0.2.11/.ledger/releaseledger/data/ledgers/main/releases/v0.2.11/entries/entry-0001.md +37 -0
- voicerender-0.2.11/.ledger/releaseledger/data/ledgers/main/releases/v0.2.11/release.md +27 -0
- voicerender-0.2.11/.ledger/releaseledger/work/v0.2.10/audit-decisions.yaml +13 -0
- voicerender-0.2.11/.ledger/releaseledger/work/v0.2.10/audit.yaml +30 -0
- voicerender-0.2.11/.ledger/releaseledger/work/v0.2.10/entries.yaml +25 -0
- voicerender-0.2.11/.ledger/releaseledger/work/v0.2.10/evidence/4828dad.patch +92 -0
- voicerender-0.2.11/.ledger/releaseledger/work/v0.2.10/evidence/manifest.json +23 -0
- voicerender-0.2.11/.ledger/releaseledger/work/v0.2.10/range.json +13 -0
- voicerender-0.2.11/.ledger/releaseledger/work/v0.2.11/audit-decisions.yaml +28 -0
- voicerender-0.2.11/.ledger/releaseledger/work/v0.2.11/audit.yaml +45 -0
- voicerender-0.2.11/.ledger/releaseledger/work/v0.2.11/entries.yaml +32 -0
- voicerender-0.2.11/.ledger/releaseledger/work/v0.2.11/evidence/805445a.patch +1176 -0
- voicerender-0.2.11/.ledger/releaseledger/work/v0.2.11/evidence/manifest.json +41 -0
- voicerender-0.2.11/.ledger/releaseledger/work/v0.2.11/range.json +13 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/PKG-INFO +4 -5
- {voicerender-0.2.9 → voicerender-0.2.11}/README.md +3 -3
- {voicerender-0.2.9 → voicerender-0.2.11}/docs/changelog.md +16 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/docs/renderprofile.md +4 -4
- {voicerender-0.2.9 → voicerender-0.2.11}/pyproject.toml +0 -1
- voicerender-0.2.11/tests/test_audio_artifact_imports.py +37 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/tests/test_bundle_inspect.py +3 -2
- {voicerender-0.2.9 → voicerender-0.2.11}/tests/test_document_contract.py +2 -2
- {voicerender-0.2.9 → voicerender-0.2.11}/tests/test_profile_roles_cli.py +3 -3
- {voicerender-0.2.9 → voicerender-0.2.11}/tests/test_render_book.py +4 -3
- {voicerender-0.2.9 → voicerender-0.2.11}/tests/test_renderer.py +51 -21
- {voicerender-0.2.9 → voicerender-0.2.11}/tests/test_renderplan_render.py +31 -31
- {voicerender-0.2.9 → voicerender-0.2.11}/tests/test_voice_descriptors.py +48 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/voicerender/_version.py +3 -3
- voicerender-0.2.11/voicerender/audio_artifacts.py +1 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/voicerender/bundle_render_inspect.py +5 -5
- {voicerender-0.2.9 → voicerender-0.2.11}/voicerender/cli.py +7 -4
- {voicerender-0.2.9 → voicerender-0.2.11}/voicerender/render.py +11 -34
- {voicerender-0.2.9 → voicerender-0.2.11}/voicerender/renderplan_render.py +33 -58
- {voicerender-0.2.9 → voicerender-0.2.11}/voicerender/voices_api.py +2 -5
- {voicerender-0.2.9 → voicerender-0.2.11}/voicerender.egg-info/PKG-INFO +4 -5
- {voicerender-0.2.9 → voicerender-0.2.11}/voicerender.egg-info/SOURCES.txt +20 -2
- {voicerender-0.2.9 → voicerender-0.2.11}/voicerender.egg-info/requires.txt +0 -1
- {voicerender-0.2.9 → voicerender-0.2.11}/voicerender.egg-info/scm_file_list.json +20 -2
- voicerender-0.2.11/voicerender.egg-info/scm_version.json +8 -0
- voicerender-0.2.9/tests/test_audio_boundaries.py +0 -107
- voicerender-0.2.9/voicerender/audio_boundaries.py +0 -93
- voicerender-0.2.9/voicerender.egg-info/scm_version.json +0 -8
- {voicerender-0.2.9 → voicerender-0.2.11}/.codecrate.toml +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.github/workflows/codecov.yml +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.github/workflows/pre-commit.yml +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.github/workflows/python-publish.yml +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.github/workflows/tests.yml +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.gitignore +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/ledger.toml +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/.ledger-project.toml +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/config.toml +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/data/.ledger-project.toml +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/data/ledgers/main/releases/0.1.1/audit/commit-audit.yaml +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/data/ledgers/main/releases/0.1.1/entries/entry-0001.md +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/data/ledgers/main/releases/0.1.1/release.md +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/data/ledgers/main/releases/0.2.0/audit/commit-audit.yaml +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/data/ledgers/main/releases/0.2.0/entries/entry-0001.md +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/data/ledgers/main/releases/0.2.0/entries/entry-0002.md +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/data/ledgers/main/releases/0.2.0/entries/entry-0003.md +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/data/ledgers/main/releases/0.2.0/entries/entry-0004.md +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/data/ledgers/main/releases/0.2.0/entries/entry-0005.md +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/data/ledgers/main/releases/0.2.0/entries/entry-0006.md +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/data/ledgers/main/releases/0.2.0/entries/entry-0007.md +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/data/ledgers/main/releases/0.2.0/release.md +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/data/ledgers/main/releases/0.2.1/audit/commit-audit.yaml +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/data/ledgers/main/releases/0.2.1/entries/entry-0001.md +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/data/ledgers/main/releases/0.2.1/entries/entry-0002.md +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/data/ledgers/main/releases/0.2.1/entries/entry-0003.md +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/data/ledgers/main/releases/0.2.1/entries/entry-0004.md +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/data/ledgers/main/releases/0.2.1/entries/entry-0005.md +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/data/ledgers/main/releases/0.2.1/entries/entry-0006.md +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/data/ledgers/main/releases/0.2.1/entries/entry-0007.md +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/data/ledgers/main/releases/0.2.1/entries/entry-0008.md +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/data/ledgers/main/releases/0.2.1/entries/entry-0009.md +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/data/ledgers/main/releases/0.2.1/entries/entry-0010.md +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/data/ledgers/main/releases/0.2.1/release.md +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/data/ledgers/main/releases/0.2.2/audit/commit-audit.yaml +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/data/ledgers/main/releases/0.2.2/entries/entry-0001.md +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/data/ledgers/main/releases/0.2.2/entries/entry-0002.md +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/data/ledgers/main/releases/0.2.2/entries/entry-0003.md +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/data/ledgers/main/releases/0.2.2/entries/entry-0004.md +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/data/ledgers/main/releases/0.2.2/release.md +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/data/ledgers/main/releases/0.2.3/audit/commit-audit.yaml +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/data/ledgers/main/releases/0.2.3/entries/entry-0001.md +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/data/ledgers/main/releases/0.2.3/entries/entry-0002.md +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/data/ledgers/main/releases/0.2.3/release.md +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/data/ledgers/main/releases/0.2.4/audit/commit-audit.yaml +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/data/ledgers/main/releases/0.2.4/entries/entry-0001.md +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/data/ledgers/main/releases/0.2.4/entries/entry-0002.md +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/data/ledgers/main/releases/0.2.4/entries/entry-0003.md +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/data/ledgers/main/releases/0.2.4/entries/entry-0004.md +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/data/ledgers/main/releases/0.2.4/entries/entry-0005.md +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/data/ledgers/main/releases/0.2.4/release.md +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/data/ledgers/main/releases/0.2.5/audit/commit-audit.yaml +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/data/ledgers/main/releases/0.2.5/entries/entry-0001.md +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/data/ledgers/main/releases/0.2.5/release.md +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/data/ledgers/main/releases/0.2.6/audit/commit-audit.yaml +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/data/ledgers/main/releases/0.2.6/entries/entry-0001.md +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/data/ledgers/main/releases/0.2.6/entries/entry-0002.md +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/data/ledgers/main/releases/0.2.6/entries/entry-0003.md +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/data/ledgers/main/releases/0.2.6/entries/entry-0004.md +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/data/ledgers/main/releases/0.2.6/entries/entry-0005.md +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/data/ledgers/main/releases/0.2.6/entries/entry-0006.md +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/data/ledgers/main/releases/0.2.6/release.md +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/data/ledgers/main/releases/0.2.7/audit/commit-audit.yaml +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/data/ledgers/main/releases/0.2.7/entries/entry-0001.md +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/data/ledgers/main/releases/0.2.7/entries/entry-0002.md +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/data/ledgers/main/releases/0.2.7/entries/entry-0003.md +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/data/ledgers/main/releases/0.2.7/entries/entry-0004.md +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/data/ledgers/main/releases/0.2.7/release.md +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/data/ledgers/main/releases/v0.1.0/audit/commit-audit.yaml +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/data/ledgers/main/releases/v0.1.0/entries/entry-0001.md +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/data/ledgers/main/releases/v0.1.0/entries/entry-0002.md +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/data/ledgers/main/releases/v0.1.0/entries/entry-0003.md +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/data/ledgers/main/releases/v0.1.0/entries/entry-0004.md +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/data/ledgers/main/releases/v0.1.0/entries/entry-0005.md +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/data/ledgers/main/releases/v0.1.0/release.md +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/data/ledgers/main/releases/v0.2.8/audit/commit-audit.yaml +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/data/ledgers/main/releases/v0.2.8/entries/entry-0001.md +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/data/ledgers/main/releases/v0.2.8/entries/entry-0002.md +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/data/ledgers/main/releases/v0.2.8/entries/entry-0003.md +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/data/ledgers/main/releases/v0.2.8/entries/entry-0004.md +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/data/ledgers/main/releases/v0.2.8/entries/entry-0005.md +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/data/ledgers/main/releases/v0.2.8/entries/entry-0006.md +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/data/ledgers/main/releases/v0.2.8/entries/entry-0007.md +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/data/ledgers/main/releases/v0.2.8/entries/entry-0008.md +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/data/ledgers/main/releases/v0.2.8/entries/entry-0009.md +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/data/ledgers/main/releases/v0.2.8/entries/entry-0010.md +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/data/ledgers/main/releases/v0.2.8/entries/entry-0011.md +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/data/ledgers/main/releases/v0.2.8/release.md +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/data/ledgers/main/releases/v0.2.9/audit/commit-audit.yaml +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/data/ledgers/main/releases/v0.2.9/entries/entry-0001.md +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/data/ledgers/main/releases/v0.2.9/entries/entry-0002.md +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/data/ledgers/main/releases/v0.2.9/entries/entry-0003.md +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/data/ledgers/main/releases/v0.2.9/entries/entry-0004.md +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/data/ledgers/main/releases/v0.2.9/entries/entry-0005.md +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/data/ledgers/main/releases/v0.2.9/entries/entry-0006.md +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/data/ledgers/main/releases/v0.2.9/entries/entry-0007.md +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/data/ledgers/main/releases/v0.2.9/entries/entry-0008.md +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/data/ledgers/main/releases/v0.2.9/entries/entry-0009.md +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/data/ledgers/main/releases/v0.2.9/release.md +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/work/0.1.1/audit-decisions.yaml +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/work/0.1.1/entries.yaml +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/work/0.2.0/audit-decisions.yaml +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/work/0.2.0/audit.yaml +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/work/0.2.0/entries.yaml +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/work/0.2.0/evidence/19f5b06.patch +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/work/0.2.0/evidence/245ca9f.patch +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/work/0.2.0/evidence/42a90e3.patch +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/work/0.2.0/evidence/480cbea.patch +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/work/0.2.0/evidence/4eb3c28.patch +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/work/0.2.0/evidence/50f298e.patch +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/work/0.2.0/evidence/56ae327.patch +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/work/0.2.0/evidence/57f1e24.patch +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/work/0.2.0/evidence/6dae2b6.patch +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/work/0.2.0/evidence/84f29db.patch +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/work/0.2.0/evidence/a390661.patch +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/work/0.2.0/evidence/a431dfa.patch +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/work/0.2.0/evidence/c2be7b3.patch +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/work/0.2.0/evidence/da15247.patch +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/work/0.2.0/evidence/ede34ea.patch +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/work/0.2.0/evidence/manifest.json +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/work/0.2.0/range.json +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/work/0.2.1/audit-decisions.yaml +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/work/0.2.1/audit.yaml +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/work/0.2.1/entries.yaml +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/work/0.2.1/evidence/3342e15.patch +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/work/0.2.1/evidence/3c82349.patch +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/work/0.2.1/evidence/7f466cc.patch +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/work/0.2.1/evidence/84f629e.patch +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/work/0.2.1/evidence/b7e1917.patch +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/work/0.2.1/evidence/manifest.json +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/work/0.2.1/range.json +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/work/0.2.2/audit-decisions.yaml +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/work/0.2.2/audit.yaml +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/work/0.2.2/entries.yaml +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/work/0.2.2/evidence/6510540.patch +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/work/0.2.2/evidence/8861791.patch +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/work/0.2.2/evidence/f093d36.patch +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/work/0.2.2/evidence/fdb106d.patch +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/work/0.2.2/evidence/manifest.json +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/work/0.2.2/range.json +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/work/0.2.3/audit-decisions.yaml +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/work/0.2.3/audit.yaml +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/work/0.2.3/entries.yaml +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/work/0.2.3/evidence/67e4d8e.patch +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/work/0.2.3/evidence/b17f1a9.patch +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/work/0.2.3/evidence/manifest.json +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/work/0.2.3/range.json +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/work/0.2.4/audit-decisions.yaml +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/work/0.2.4/audit.yaml +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/work/0.2.4/entries.yaml +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/work/0.2.4/evidence/304b84d.patch +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/work/0.2.4/evidence/3d486d5.patch +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/work/0.2.4/evidence/5ffdff4.patch +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/work/0.2.4/evidence/ccd30d2.patch +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/work/0.2.4/evidence/efe4f37.patch +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/work/0.2.4/evidence/manifest.json +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/work/0.2.4/range.json +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/work/0.2.5/audit-decisions.yaml +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/work/0.2.5/audit.yaml +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/work/0.2.5/entries.yaml +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/work/0.2.5/evidence/0ab4075.patch +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/work/0.2.5/evidence/manifest.json +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/work/0.2.5/range.json +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/work/0.2.6/audit-decisions.yaml +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/work/0.2.6/audit.yaml +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/work/0.2.6/entries.yaml +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/work/0.2.6/evidence/4ab4750.patch +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/work/0.2.6/evidence/5d929c9.patch +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/work/0.2.6/evidence/9a323b2.patch +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/work/0.2.6/evidence/ade44bc.patch +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/work/0.2.6/evidence/bc7551a.patch +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/work/0.2.6/evidence/fdfe8ca.patch +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/work/0.2.6/evidence/manifest.json +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/work/0.2.6/range.json +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/work/0.2.7/audit-decisions.yaml +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/work/0.2.7/audit.yaml +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/work/0.2.7/entries.yaml +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/work/0.2.7/evidence/009bc2f.patch +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/work/0.2.7/evidence/01ebf18.patch +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/work/0.2.7/evidence/1132f5f.patch +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/work/0.2.7/evidence/1ba5920.patch +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/work/0.2.7/evidence/4b52e71.patch +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/work/0.2.7/evidence/636402c.patch +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/work/0.2.7/evidence/6a21eef.patch +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/work/0.2.7/evidence/7f6f053.patch +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/work/0.2.7/evidence/88a2bde.patch +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/work/0.2.7/evidence/8f7b701.patch +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/work/0.2.7/evidence/9fa235e.patch +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/work/0.2.7/evidence/a8df404.patch +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/work/0.2.7/evidence/b089c79.patch +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/work/0.2.7/evidence/c384d1e.patch +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/work/0.2.7/evidence/d124fff.patch +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/work/0.2.7/evidence/e5e6839.patch +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/work/0.2.7/evidence/ed53140.patch +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/work/0.2.7/evidence/f74ce00.patch +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/work/0.2.7/evidence/manifest.json +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/work/0.2.7/range.json +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/work/v0.1.0/audit-decisions.yaml +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/work/v0.1.0/entries.yaml +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/work/v0.1.0/evidence/264eb9b.patch +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/work/v0.1.0/evidence/774f6f2.patch +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/work/v0.1.0/evidence/9e71e84.patch +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/work/v0.1.0/evidence/c4a2872.patch +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/work/v0.1.0/evidence/fb7faaf.patch +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/work/v0.1.0/evidence/manifest.json +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/work/v0.2.8/audit-decisions.yaml +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/work/v0.2.8/audit.yaml +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/work/v0.2.8/entries.yaml +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/work/v0.2.8/evidence/01e1ff8.patch +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/work/v0.2.8/evidence/05451ee.patch +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/work/v0.2.8/evidence/0eedac5.patch +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/work/v0.2.8/evidence/1eac844.patch +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/work/v0.2.8/evidence/3bad4f0.patch +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/work/v0.2.8/evidence/4baf17e.patch +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/work/v0.2.8/evidence/5089184.patch +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/work/v0.2.8/evidence/58f64e9.patch +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/work/v0.2.8/evidence/5b4f1f2.patch +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/work/v0.2.8/evidence/72676e0.patch +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/work/v0.2.8/evidence/7875994.patch +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/work/v0.2.8/evidence/a37bba8.patch +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/work/v0.2.8/evidence/a47820e.patch +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/work/v0.2.8/evidence/a48ba9b.patch +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/work/v0.2.8/evidence/a561679.patch +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/work/v0.2.8/evidence/a61d829.patch +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/work/v0.2.8/evidence/a929bbd.patch +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/work/v0.2.8/evidence/db46ed5.patch +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/work/v0.2.8/evidence/e1011f0.patch +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/work/v0.2.8/evidence/f41ea26.patch +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/work/v0.2.8/evidence/f9e1660.patch +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/work/v0.2.8/evidence/facf152.patch +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/work/v0.2.8/evidence/fd8b266.patch +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/work/v0.2.8/evidence/fecfbff.patch +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/work/v0.2.8/evidence/manifest.json +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/work/v0.2.8/range.json +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/work/v0.2.9/audit-decisions.yaml +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/work/v0.2.9/audit.yaml +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/work/v0.2.9/entries.yaml +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/work/v0.2.9/evidence/0581372.patch +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/work/v0.2.9/evidence/05e2511.patch +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/work/v0.2.9/evidence/0b951e4.patch +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/work/v0.2.9/evidence/16913d4.patch +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/work/v0.2.9/evidence/3819783.patch +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/work/v0.2.9/evidence/7c59333.patch +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/work/v0.2.9/evidence/81f5f51.patch +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/work/v0.2.9/evidence/d72b779.patch +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/work/v0.2.9/evidence/f3679d3.patch +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/work/v0.2.9/evidence/manifest.json +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/work/v0.2.9/range.json +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/write.lock +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/taskledger/.ledger-project.toml +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.ledger/taskledger/config.toml +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/.pre-commit-config.yaml +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/LICENSE +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/MANIFEST.in +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/docs/Makefile +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/docs/conf.py +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/docs/index.md +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/docs/make.bat +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/docs/make.py +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/docs/requirements.txt +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/examples/README.md +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/examples/plans/chapter.renderplan.toml +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/examples/plans/chapter.voiceplan.toml +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/examples/voices/narration.renderprofile.toml +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/examples/voices/piper.toml +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/examples/voices/pocket-reference.toml +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/setup.cfg +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/tests/test_backends.py +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/tests/test_bundle_batch_render.py +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/tests/test_bundle_contract.py +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/tests/test_bundle_render.py +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/tests/test_bundle_roles.py +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/tests/test_capacity.py +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/tests/test_chatterboxsynth_engine.py +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/tests/test_cli.py +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/tests/test_control_surface_exports.py +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/tests/test_engine_contracts.py +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/tests/test_engine_options.py +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/tests/test_engine_registry.py +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/tests/test_error_diagnostics.py +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/tests/test_inflectsynth_engine.py +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/tests/test_jsonutil.py +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/tests/test_kittensynth_engine.py +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/tests/test_kittensynth_pronunciation.py +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/tests/test_kokoro_reference.py +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/tests/test_lexicons_cli.py +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/tests/test_managed_voices.py +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/tests/test_model_management_api.py +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/tests/test_model_management_cli.py +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/tests/test_package_metadata.py +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/tests/test_phononsynth_engine.py +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/tests/test_pocketsynth_managed.py +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/tests/test_preflight.py +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/tests/test_profile_reidentify.py +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/tests/test_profile_roles.py +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/tests/test_progress.py +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/tests/test_qwen3_voice_design.py +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/tests/test_qwen3synth_engine.py +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/tests/test_render_lock.py +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/tests/test_renderplan_input.py +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/tests/test_renderprofile.py +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/tests/test_runtime.py +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/tests/test_runtime_cli.py +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/tests/test_session_pool.py +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/tests/test_sopro_release_compatibility.py +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/tests/test_soprosynth_engine.py +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/tests/test_storage.py +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/tests/test_supertonicsynth_engine.py +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/tests/test_variants.py +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/tests/test_voice_clone.py +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/tests/test_voice_clone_cli.py +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/tests/test_voice_source_cli.py +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/tests/test_voice_source_codec.py +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/tests/test_voice_sources.py +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/tests/wheel_smoke.py +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/voicerender/__init__.py +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/voicerender/__main__.py +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/voicerender/book.py +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/voicerender/book_contract.py +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/voicerender/book_layout.py +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/voicerender/bundle.py +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/voicerender/bundle_batch.py +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/voicerender/bundle_contract.py +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/voicerender/bundle_inspect.py +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/voicerender/bundle_roles.py +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/voicerender/capacity.py +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/voicerender/document.py +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/voicerender/document_contract.py +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/voicerender/engines/__init__.py +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/voicerender/engines/api_probe.py +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/voicerender/engines/assets.py +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/voicerender/engines/base.py +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/voicerender/engines/catalog.py +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/voicerender/engines/chatterbox_assets.py +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/voicerender/engines/chatterboxsynth.py +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/voicerender/engines/inflectsynth.py +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/voicerender/engines/kittensynth.py +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/voicerender/engines/kokoro.py +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/voicerender/engines/metadata.py +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/voicerender/engines/options.py +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/voicerender/engines/phononsynth.py +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/voicerender/engines/piper.py +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/voicerender/engines/pipersynth.py +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/voicerender/engines/pocket.py +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/voicerender/engines/pocketsynth.py +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/voicerender/engines/profiles.py +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/voicerender/engines/qwen3synth.py +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/voicerender/engines/registry.py +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/voicerender/engines/selection.py +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/voicerender/engines/soprosynth.py +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/voicerender/engines/supertonicsynth.py +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/voicerender/error_diagnostics.py +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/voicerender/errors.py +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/voicerender/estimates.py +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/voicerender/events.py +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/voicerender/jsonutil.py +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/voicerender/lexicons.py +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/voicerender/managed_voices.py +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/voicerender/models.py +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/voicerender/models_api.py +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/voicerender/preflight.py +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/voicerender/profile_roles.py +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/voicerender/progress.py +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/voicerender/py.typed +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/voicerender/render_lock.py +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/voicerender/renderplan_input.py +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/voicerender/renderprofile.py +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/voicerender/report_contract.py +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/voicerender/role_bindings.py +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/voicerender/runtime.py +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/voicerender/session_pool.py +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/voicerender/storage.py +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/voicerender/variants.py +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/voicerender/voice_clone.py +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/voicerender/voice_design.py +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/voicerender/voice_source_codec.py +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/voicerender/voice_sources.py +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/voicerender.egg-info/dependency_links.txt +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/voicerender.egg-info/entry_points.txt +0 -0
- {voicerender-0.2.9 → voicerender-0.2.11}/voicerender.egg-info/top_level.txt +0 -0
{voicerender-0.2.9 → voicerender-0.2.11}/.ledger/releaseledger/data/ledgers/main/events/events.jsonl
RENAMED
|
@@ -74,3 +74,15 @@
|
|
|
74
74
|
{"data":{"updated_rows":9},"event":"audit.updated","event_id":"event-0074","record_revisions":{"commit_audit_sheet":2},"release_version":"v0.2.9","schema_version":2}
|
|
75
75
|
{"data":{"entry_ids":["entry-0001","entry-0002","entry-0003","entry-0004","entry-0005","entry-0006","entry-0007","entry-0008","entry-0009"],"synced_audit_rows":9},"event":"entry.batch_added","event_id":"event-0075","record_revisions":{"commit_audit_sheet":3,"entry:v0.2.9/entry-0001":1,"entry:v0.2.9/entry-0002":1,"entry:v0.2.9/entry-0003":1,"entry:v0.2.9/entry-0004":1,"entry:v0.2.9/entry-0005":1,"entry:v0.2.9/entry-0006":1,"entry:v0.2.9/entry-0007":1,"entry:v0.2.9/entry-0008":1,"entry:v0.2.9/entry-0009":1,"release:v0.2.9":3},"release_version":"v0.2.9","schema_version":2}
|
|
76
76
|
{"data":{"released_at":"2026-11-06"},"event":"release.finalized","event_id":"event-0076","record_revisions":{"release:v0.2.9":4},"release_version":"v0.2.9","schema_version":2}
|
|
77
|
+
{"data":{"status":"planned"},"event":"release.created","event_id":"event-0077","record_revisions":{"release:v0.2.10":1},"release_version":"v0.2.10","schema_version":2}
|
|
78
|
+
{"data":{"fields":["git_base_ref","git_base_sha","git_commit_count","git_head_ref","git_head_sha","git_range"]},"event":"release.updated","event_id":"event-0078","record_revisions":{"release:v0.2.10":2},"release_version":"v0.2.10","schema_version":2}
|
|
79
|
+
{"data":{"row_count":1},"event":"audit.created","event_id":"event-0079","record_revisions":{"commit_audit_sheet":1},"release_version":"v0.2.10","schema_version":2}
|
|
80
|
+
{"data":{"updated_rows":1},"event":"audit.updated","event_id":"event-0080","record_revisions":{"commit_audit_sheet":2},"release_version":"v0.2.10","schema_version":2}
|
|
81
|
+
{"data":{"entry_ids":["entry-0001"],"synced_audit_rows":1},"event":"entry.batch_added","event_id":"event-0081","record_revisions":{"commit_audit_sheet":3,"entry:v0.2.10/entry-0001":1,"release:v0.2.10":3},"release_version":"v0.2.10","schema_version":2}
|
|
82
|
+
{"data":{"released_at":"2026-11-11"},"event":"release.finalized","event_id":"event-0082","record_revisions":{"release:v0.2.10":4},"release_version":"v0.2.10","schema_version":2}
|
|
83
|
+
{"data":{"status":"planned"},"event":"release.created","event_id":"event-0083","record_revisions":{"release:v0.2.11":1},"release_version":"v0.2.11","schema_version":2}
|
|
84
|
+
{"data":{"fields":["git_base_ref","git_base_sha","git_commit_count","git_head_ref","git_head_sha","git_range"]},"event":"release.updated","event_id":"event-0084","record_revisions":{"release:v0.2.11":2},"release_version":"v0.2.11","schema_version":2}
|
|
85
|
+
{"data":{"row_count":1},"event":"audit.created","event_id":"event-0085","record_revisions":{"commit_audit_sheet":1},"release_version":"v0.2.11","schema_version":2}
|
|
86
|
+
{"data":{"updated_rows":1},"event":"audit.updated","event_id":"event-0086","record_revisions":{"commit_audit_sheet":2},"release_version":"v0.2.11","schema_version":2}
|
|
87
|
+
{"data":{"entry_ids":["entry-0001"],"synced_audit_rows":1},"event":"entry.batch_added","event_id":"event-0087","record_revisions":{"commit_audit_sheet":3,"entry:v0.2.11/entry-0001":1,"release:v0.2.11":3},"release_version":"v0.2.11","schema_version":2}
|
|
88
|
+
{"data":{"released_at":"2026-11-11"},"event":"release.finalized","event_id":"event-0088","record_revisions":{"release:v0.2.11":4},"release_version":"v0.2.11","schema_version":2}
|
voicerender-0.2.11/.ledger/releaseledger/data/ledgers/main/releases/v0.2.10/audit/commit-audit.yaml
ADDED
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
schema_version: 1
|
|
2
|
+
object_type: commit_audit_sheet
|
|
3
|
+
versioning:
|
|
4
|
+
schema_version: 1
|
|
5
|
+
revision: 3
|
|
6
|
+
release_version: v0.2.10
|
|
7
|
+
git_base_ref: v0.2.9
|
|
8
|
+
git_base_sha: e9d4d179d03c7cdb048a80682c1acb82b9282b1b
|
|
9
|
+
git_head_ref: HEAD
|
|
10
|
+
git_head_sha: 4828dadb8361678818718635c4765d64eb185a27
|
|
11
|
+
git_range: e9d4d179d03c7cdb048a80682c1acb82b9282b1b..4828dadb8361678818718635c4765d64eb185a27
|
|
12
|
+
commit_count: 1
|
|
13
|
+
rows:
|
|
14
|
+
- sha: 4828dadb8361678818718635c4765d64eb185a27
|
|
15
|
+
source_ref: git:4828dadb8361678818718635c4765d64eb185a27
|
|
16
|
+
short_sha: 4828dad
|
|
17
|
+
changed_paths:
|
|
18
|
+
- tests/test_voice_descriptors.py
|
|
19
|
+
- voicerender/voices_api.py
|
|
20
|
+
stats:
|
|
21
|
+
files_changed: 2
|
|
22
|
+
insertions: 50
|
|
23
|
+
deletions: 3
|
|
24
|
+
inspected: true
|
|
25
|
+
inspected_paths:
|
|
26
|
+
- tests/test_voice_descriptors.py
|
|
27
|
+
- voicerender/voices_api.py
|
|
28
|
+
observed_behavior:
|
|
29
|
+
Voice discovery now matches regional requests to compatible base-language
|
|
30
|
+
voice metadata while retaining language scoping.
|
|
31
|
+
public_impact: public
|
|
32
|
+
decision: accepted
|
|
33
|
+
stale: false
|
|
34
|
+
evidence_subject: Fix regional voice language filtering
|
|
35
|
+
target_entry_id: entry-0001
|
|
36
|
+
notes: ""
|
voicerender-0.2.11/.ledger/releaseledger/data/ledgers/main/releases/v0.2.10/entries/entry-0001.md
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
---
|
|
2
|
+
schema_version: 2
|
|
3
|
+
object_type: release_entry
|
|
4
|
+
versioning:
|
|
5
|
+
schema_version: 1
|
|
6
|
+
revision: 1
|
|
7
|
+
entry_id: entry-0001
|
|
8
|
+
release_version: v0.2.10
|
|
9
|
+
kind: fixed
|
|
10
|
+
summary:
|
|
11
|
+
Fixed regional voice discovery to include voices with compatible base-language
|
|
12
|
+
metadata
|
|
13
|
+
status: accepted
|
|
14
|
+
audience: null
|
|
15
|
+
scopes: []
|
|
16
|
+
source_refs:
|
|
17
|
+
- git:4828dadb8361678818718635c4765d64eb185a27
|
|
18
|
+
paths:
|
|
19
|
+
- tests/test_voice_descriptors.py
|
|
20
|
+
- voicerender/voices_api.py
|
|
21
|
+
issues: []
|
|
22
|
+
prs: []
|
|
23
|
+
sources:
|
|
24
|
+
- git:4828dadb8361678818718635c4765d64eb185a27
|
|
25
|
+
contributors:
|
|
26
|
+
- "@holgern"
|
|
27
|
+
breaking: false
|
|
28
|
+
internal: false
|
|
29
|
+
order: 1
|
|
30
|
+
---
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
---
|
|
2
|
+
schema_version: 2
|
|
3
|
+
object_type: release
|
|
4
|
+
versioning:
|
|
5
|
+
schema_version: 1
|
|
6
|
+
revision: 4
|
|
7
|
+
version: v0.2.10
|
|
8
|
+
status: released
|
|
9
|
+
history_state: curated
|
|
10
|
+
title: null
|
|
11
|
+
released_at: "2026-11-11"
|
|
12
|
+
previous_version: v0.2.9
|
|
13
|
+
cancel_reason: null
|
|
14
|
+
superseded_by: null
|
|
15
|
+
changelog_file: docs/changelog.md
|
|
16
|
+
boundary_ref: null
|
|
17
|
+
source_refs: []
|
|
18
|
+
source_count: null
|
|
19
|
+
entry_count: 1
|
|
20
|
+
artifact_count: 0
|
|
21
|
+
git_base_ref: v0.2.9
|
|
22
|
+
git_base_sha: e9d4d179d03c7cdb048a80682c1acb82b9282b1b
|
|
23
|
+
git_head_ref: HEAD
|
|
24
|
+
git_head_sha: 4828dadb8361678818718635c4765d64eb185a27
|
|
25
|
+
git_range: e9d4d179d03c7cdb048a80682c1acb82b9282b1b..4828dadb8361678818718635c4765d64eb185a27
|
|
26
|
+
git_commit_count: 1
|
|
27
|
+
---
|
voicerender-0.2.11/.ledger/releaseledger/data/ledgers/main/releases/v0.2.11/audit/commit-audit.yaml
ADDED
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
schema_version: 1
|
|
2
|
+
object_type: commit_audit_sheet
|
|
3
|
+
versioning:
|
|
4
|
+
schema_version: 1
|
|
5
|
+
revision: 3
|
|
6
|
+
release_version: v0.2.11
|
|
7
|
+
git_base_ref: v0.2.10
|
|
8
|
+
git_base_sha: bfbcf0cd7f0e6e1d514ed87bf5745fa7a2ef9b48
|
|
9
|
+
git_head_ref: HEAD
|
|
10
|
+
git_head_sha: 805445a6d246ce5d06a43eb2b2d099d13fed0ac9
|
|
11
|
+
git_range: bfbcf0cd7f0e6e1d514ed87bf5745fa7a2ef9b48..805445a6d246ce5d06a43eb2b2d099d13fed0ac9
|
|
12
|
+
commit_count: 1
|
|
13
|
+
rows:
|
|
14
|
+
- sha: 805445a6d246ce5d06a43eb2b2d099d13fed0ac9
|
|
15
|
+
source_ref: git:805445a6d246ce5d06a43eb2b2d099d13fed0ac9
|
|
16
|
+
short_sha: 805445a
|
|
17
|
+
changed_paths:
|
|
18
|
+
- README.md
|
|
19
|
+
- docs/renderprofile.md
|
|
20
|
+
- pyproject.toml
|
|
21
|
+
- tests/test_audio_artifact_imports.py
|
|
22
|
+
- tests/test_audio_boundaries.py
|
|
23
|
+
- tests/test_bundle_inspect.py
|
|
24
|
+
- tests/test_document_contract.py
|
|
25
|
+
- tests/test_profile_roles_cli.py
|
|
26
|
+
- tests/test_render_book.py
|
|
27
|
+
- tests/test_renderer.py
|
|
28
|
+
- tests/test_renderplan_render.py
|
|
29
|
+
- voicerender/audio_artifacts.py
|
|
30
|
+
- voicerender/audio_boundaries.py
|
|
31
|
+
- voicerender/bundle_render_inspect.py
|
|
32
|
+
- voicerender/cli.py
|
|
33
|
+
- voicerender/render.py
|
|
34
|
+
- voicerender/renderplan_render.py
|
|
35
|
+
stats:
|
|
36
|
+
files_changed: 17
|
|
37
|
+
insertions: 186
|
|
38
|
+
deletions: 372
|
|
39
|
+
inspected: true
|
|
40
|
+
inspected_paths:
|
|
41
|
+
- README.md
|
|
42
|
+
- docs/renderprofile.md
|
|
43
|
+
- pyproject.toml
|
|
44
|
+
- tests/test_audio_artifact_imports.py
|
|
45
|
+
- tests/test_audio_boundaries.py
|
|
46
|
+
- tests/test_bundle_inspect.py
|
|
47
|
+
- tests/test_document_contract.py
|
|
48
|
+
- tests/test_profile_roles_cli.py
|
|
49
|
+
- tests/test_render_book.py
|
|
50
|
+
- tests/test_renderer.py
|
|
51
|
+
- tests/test_renderplan_render.py
|
|
52
|
+
- voicerender/audio_artifacts.py
|
|
53
|
+
- voicerender/audio_boundaries.py
|
|
54
|
+
- voicerender/bundle_render_inspect.py
|
|
55
|
+
- voicerender/cli.py
|
|
56
|
+
- voicerender/render.py
|
|
57
|
+
- voicerender/renderplan_render.py
|
|
58
|
+
observed_behavior:
|
|
59
|
+
Renderer and RenderPlan now persist the complete validated synthesis
|
|
60
|
+
waveform without trimming trailing silence. Cache identity uses a raw-synthesis
|
|
61
|
+
artifact policy, invalidating output from the former boundary-trimming policy.
|
|
62
|
+
Documentation assigns speech-boundary conditioning and explicit pause realization
|
|
63
|
+
to AudioCompose; tests verify raw waveform persistence and cache invalidation.
|
|
64
|
+
public_impact: public
|
|
65
|
+
decision: accepted
|
|
66
|
+
stale: false
|
|
67
|
+
evidence_subject: "feat: remove audio boundaries modification"
|
|
68
|
+
target_entry_id: entry-0001
|
|
69
|
+
notes: ""
|
voicerender-0.2.11/.ledger/releaseledger/data/ledgers/main/releases/v0.2.11/entries/entry-0001.md
ADDED
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
---
|
|
2
|
+
schema_version: 2
|
|
3
|
+
object_type: release_entry
|
|
4
|
+
versioning:
|
|
5
|
+
schema_version: 1
|
|
6
|
+
revision: 1
|
|
7
|
+
entry_id: entry-0001
|
|
8
|
+
release_version: v0.2.11
|
|
9
|
+
kind: changed
|
|
10
|
+
summary:
|
|
11
|
+
Changed VoiceRender to preserve full synthesis waveforms and delegate boundary
|
|
12
|
+
conditioning and pauses to AudioCompose
|
|
13
|
+
status: accepted
|
|
14
|
+
audience: null
|
|
15
|
+
scopes: []
|
|
16
|
+
source_refs:
|
|
17
|
+
- git:805445a6d246ce5d06a43eb2b2d099d13fed0ac9
|
|
18
|
+
paths:
|
|
19
|
+
- README.md
|
|
20
|
+
- docs/renderprofile.md
|
|
21
|
+
- pyproject.toml
|
|
22
|
+
- voicerender/audio_artifacts.py
|
|
23
|
+
- voicerender/audio_boundaries.py
|
|
24
|
+
- voicerender/bundle_render_inspect.py
|
|
25
|
+
- voicerender/cli.py
|
|
26
|
+
- voicerender/render.py
|
|
27
|
+
- voicerender/renderplan_render.py
|
|
28
|
+
issues: []
|
|
29
|
+
prs: []
|
|
30
|
+
sources:
|
|
31
|
+
- git:805445a6d246ce5d06a43eb2b2d099d13fed0ac9
|
|
32
|
+
contributors:
|
|
33
|
+
- "@holgern"
|
|
34
|
+
breaking: false
|
|
35
|
+
internal: false
|
|
36
|
+
order: 1
|
|
37
|
+
---
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
---
|
|
2
|
+
schema_version: 2
|
|
3
|
+
object_type: release
|
|
4
|
+
versioning:
|
|
5
|
+
schema_version: 1
|
|
6
|
+
revision: 4
|
|
7
|
+
version: v0.2.11
|
|
8
|
+
status: released
|
|
9
|
+
history_state: curated
|
|
10
|
+
title: null
|
|
11
|
+
released_at: "2026-11-11"
|
|
12
|
+
previous_version: v0.2.10
|
|
13
|
+
cancel_reason: null
|
|
14
|
+
superseded_by: null
|
|
15
|
+
changelog_file: docs/changelog.md
|
|
16
|
+
boundary_ref: null
|
|
17
|
+
source_refs: []
|
|
18
|
+
source_count: null
|
|
19
|
+
entry_count: 1
|
|
20
|
+
artifact_count: 0
|
|
21
|
+
git_base_ref: v0.2.10
|
|
22
|
+
git_base_sha: bfbcf0cd7f0e6e1d514ed87bf5745fa7a2ef9b48
|
|
23
|
+
git_head_ref: HEAD
|
|
24
|
+
git_head_sha: 805445a6d246ce5d06a43eb2b2d099d13fed0ac9
|
|
25
|
+
git_range: bfbcf0cd7f0e6e1d514ed87bf5745fa7a2ef9b48..805445a6d246ce5d06a43eb2b2d099d13fed0ac9
|
|
26
|
+
git_commit_count: 1
|
|
27
|
+
---
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
rows:
|
|
2
|
+
- sha: 4828dadb8361678818718635c4765d64eb185a27
|
|
3
|
+
inspected: true
|
|
4
|
+
inspected_paths:
|
|
5
|
+
- tests/test_voice_descriptors.py
|
|
6
|
+
- voicerender/voices_api.py
|
|
7
|
+
observed_behavior: "Voice discovery now matches regional requests to compatible base-language voice metadata while retaining language scoping."
|
|
8
|
+
public_impact: public
|
|
9
|
+
decision: accepted
|
|
10
|
+
target_entry_key: null
|
|
11
|
+
target_entry_id: null
|
|
12
|
+
notes: ""
|
|
13
|
+
stale: false
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
schema_version: 1
|
|
2
|
+
object_type: commit_audit_sheet
|
|
3
|
+
versioning:
|
|
4
|
+
schema_version: 1
|
|
5
|
+
revision: 1
|
|
6
|
+
release_version: v0.2.10
|
|
7
|
+
git_base_ref: v0.2.9
|
|
8
|
+
git_base_sha: e9d4d179d03c7cdb048a80682c1acb82b9282b1b
|
|
9
|
+
git_head_ref: HEAD
|
|
10
|
+
git_head_sha: 4828dadb8361678818718635c4765d64eb185a27
|
|
11
|
+
git_range: e9d4d179d03c7cdb048a80682c1acb82b9282b1b..4828dadb8361678818718635c4765d64eb185a27
|
|
12
|
+
commit_count: 1
|
|
13
|
+
rows:
|
|
14
|
+
- sha: 4828dadb8361678818718635c4765d64eb185a27
|
|
15
|
+
source_ref: git:4828dadb8361678818718635c4765d64eb185a27
|
|
16
|
+
short_sha: 4828dad
|
|
17
|
+
changed_paths:
|
|
18
|
+
- tests/test_voice_descriptors.py
|
|
19
|
+
- voicerender/voices_api.py
|
|
20
|
+
stats:
|
|
21
|
+
files_changed: 2
|
|
22
|
+
insertions: 50
|
|
23
|
+
deletions: 3
|
|
24
|
+
inspected: false
|
|
25
|
+
inspected_paths: []
|
|
26
|
+
observed_behavior: ""
|
|
27
|
+
public_impact: unknown
|
|
28
|
+
decision: needs_review
|
|
29
|
+
stale: false
|
|
30
|
+
evidence_subject: Fix regional voice language filtering
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
schema: releaseledger.entry-batch.v1
|
|
2
|
+
operation: create
|
|
3
|
+
schema_version: 1
|
|
4
|
+
object_type: release_entry_batch
|
|
5
|
+
release_version: v0.2.10
|
|
6
|
+
git_base_ref: e9d4d179d03c7cdb048a80682c1acb82b9282b1b
|
|
7
|
+
git_base_sha: e9d4d179d03c7cdb048a80682c1acb82b9282b1b
|
|
8
|
+
git_head_ref: 4828dadb8361678818718635c4765d64eb185a27
|
|
9
|
+
git_head_sha: 4828dadb8361678818718635c4765d64eb185a27
|
|
10
|
+
include_merges: nontrivial
|
|
11
|
+
entries:
|
|
12
|
+
- kind: fixed
|
|
13
|
+
summary: "Fixed regional voice discovery to include voices with compatible base-language metadata"
|
|
14
|
+
status: accepted
|
|
15
|
+
source_refs:
|
|
16
|
+
- git:4828dadb8361678818718635c4765d64eb185a27
|
|
17
|
+
paths:
|
|
18
|
+
- tests/test_voice_descriptors.py
|
|
19
|
+
- voicerender/voices_api.py
|
|
20
|
+
sources:
|
|
21
|
+
- git:4828dadb8361678818718635c4765d64eb185a27
|
|
22
|
+
prs: []
|
|
23
|
+
issues: []
|
|
24
|
+
contributors:
|
|
25
|
+
- "@holgern"
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
tests/test_voice_descriptors.py | 48 +++++++++++++++++++++++++++++++++++++++++
|
|
2
|
+
voicerender/voices_api.py | 5 ++---
|
|
3
|
+
2 files changed, 50 insertions(+), 3 deletions(-)
|
|
4
|
+
|
|
5
|
+
diff --git a/tests/test_voice_descriptors.py b/tests/test_voice_descriptors.py
|
|
6
|
+
index 83101e0..f80346b 100644
|
|
7
|
+
--- a/tests/test_voice_descriptors.py
|
|
8
|
+
+++ b/tests/test_voice_descriptors.py
|
|
9
|
+
@@ -87,6 +87,31 @@ def _multilingual_target() -> SynthesisTarget:
|
|
10
|
+
)
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
+def _base_language_target() -> SynthesisTarget:
|
|
14
|
+
+ return SynthesisTarget(
|
|
15
|
+
+ engine="kokoro",
|
|
16
|
+
+ id="base-lang-target",
|
|
17
|
+
+ display_name="Base language target",
|
|
18
|
+
+ languages=("en", "de"),
|
|
19
|
+
+ runtime_available=True,
|
|
20
|
+
+ voices=("voice-en", "voice-de"),
|
|
21
|
+
+ voice_details=(
|
|
22
|
+
+ TargetVoice(
|
|
23
|
+
+ id="voice-en",
|
|
24
|
+
+ language="en",
|
|
25
|
+
+ locale="en",
|
|
26
|
+
+ languages=("en",),
|
|
27
|
+
+ ),
|
|
28
|
+
+ TargetVoice(
|
|
29
|
+
+ id="voice-de",
|
|
30
|
+
+ language="de",
|
|
31
|
+
+ locale="de",
|
|
32
|
+
+ languages=("de",),
|
|
33
|
+
+ ),
|
|
34
|
+
+ ),
|
|
35
|
+
+ )
|
|
36
|
+
+
|
|
37
|
+
+
|
|
38
|
+
def test_multilingual_voice_filtering_is_language_scoped_and_normalized(
|
|
39
|
+
monkeypatch,
|
|
40
|
+
) -> None:
|
|
41
|
+
@@ -108,6 +133,29 @@ def test_multilingual_voice_filtering_is_language_scoped_and_normalized(
|
|
42
|
+
assert all(item.languages == ("de", "de-de", "de-at", "de-ch") for item in german)
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
+def test_base_language_voice_filtering_matches_regional_requests(
|
|
46
|
+
+ monkeypatch,
|
|
47
|
+
+) -> None:
|
|
48
|
+
+ target = _base_language_target()
|
|
49
|
+
+ monkeypatch.setattr(
|
|
50
|
+
+ "voicerender.voices_api.discover_targets", lambda *a, **k: (target,)
|
|
51
|
+
+ )
|
|
52
|
+
+
|
|
53
|
+
+ english = list_voices(engine="kokoro", target_id=target.id, language="en-US")
|
|
54
|
+
+ german = list_voices(engine="kokoro", target_id=target.id, language="de-DE")
|
|
55
|
+
+ german_underscore = list_voices(
|
|
56
|
+
+ engine="kokoro", target_id=target.id, language="de_AT"
|
|
57
|
+
+ )
|
|
58
|
+
+ unrelated = list_voices(engine="kokoro", target_id=target.id, language="fr-FR")
|
|
59
|
+
+
|
|
60
|
+
+ assert {item.voice for item in english} == {"voice-en"}
|
|
61
|
+
+ assert {item.voice for item in german} == {"voice-de"}
|
|
62
|
+
+ assert {item.voice for item in german_underscore} == {"voice-de"}
|
|
63
|
+
+ assert unrelated == ()
|
|
64
|
+
+ assert {item.languages for item in english} == {("en",)}
|
|
65
|
+
+ assert {item.languages for item in german} == {("de",)}
|
|
66
|
+
+
|
|
67
|
+
+
|
|
68
|
+
def test_voice_selectors_list_inspect_and_round_trip(monkeypatch) -> None:
|
|
69
|
+
target = _target()
|
|
70
|
+
monkeypatch.setattr(
|
|
71
|
+
diff --git a/voicerender/voices_api.py b/voicerender/voices_api.py
|
|
72
|
+
index 795fe1e..e1fa53b 100644
|
|
73
|
+
--- a/voicerender/voices_api.py
|
|
74
|
+
+++ b/voicerender/voices_api.py
|
|
75
|
+
@@ -6,7 +6,7 @@ from collections.abc import Mapping
|
|
76
|
+
from dataclasses import dataclass, field
|
|
77
|
+
from typing import Any, Literal
|
|
78
|
+
|
|
79
|
+
-from .engines.metadata import normalize_language_key
|
|
80
|
+
+from .engines.metadata import language_tags_match
|
|
81
|
+
from .engines.registry import discover_targets, list_engines, normalize_engine_id
|
|
82
|
+
from .errors import ProfileError
|
|
83
|
+
from .jsonutil import json_value
|
|
84
|
+
@@ -131,9 +131,8 @@ def _descriptor(
|
|
85
|
+
def _language_matches(descriptor: VoiceDescriptor, language: str | None) -> bool:
|
|
86
|
+
if language is None:
|
|
87
|
+
return True
|
|
88
|
+
- expected = normalize_language_key(language)
|
|
89
|
+
return any(
|
|
90
|
+
- normalize_language_key(item) == expected for item in descriptor.languages
|
|
91
|
+
+ language_tags_match(language, item) for item in descriptor.languages
|
|
92
|
+
)
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
{
|
|
2
|
+
"candidate_count": 1,
|
|
3
|
+
"candidates": [
|
|
4
|
+
{
|
|
5
|
+
"additions": 50,
|
|
6
|
+
"deletions": 3,
|
|
7
|
+
"patch_file": "4828dad.patch",
|
|
8
|
+
"patch_sha256": "bb488349b5aa8bb1b65fd0f0c917103bcd636ae9b77608ecb527c1f6313d92e3",
|
|
9
|
+
"paths": ["tests/test_voice_descriptors.py", "voicerender/voices_api.py"],
|
|
10
|
+
"sha": "4828dadb8361678818718635c4765d64eb185a27",
|
|
11
|
+
"short_sha": "4828dad",
|
|
12
|
+
"source_ref": "git:4828dadb8361678818718635c4765d64eb185a27"
|
|
13
|
+
}
|
|
14
|
+
],
|
|
15
|
+
"git_base_ref": "e9d4d179d03c7cdb048a80682c1acb82b9282b1b",
|
|
16
|
+
"git_base_sha": "e9d4d179d03c7cdb048a80682c1acb82b9282b1b",
|
|
17
|
+
"git_head_ref": "4828dadb8361678818718635c4765d64eb185a27",
|
|
18
|
+
"git_head_sha": "4828dadb8361678818718635c4765d64eb185a27",
|
|
19
|
+
"include_merges": "nontrivial",
|
|
20
|
+
"object_type": "git_evidence_manifest",
|
|
21
|
+
"release_version": "v0.2.10",
|
|
22
|
+
"schema_version": 1
|
|
23
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
{
|
|
2
|
+
"base_ref": "e9d4d179d03c7cdb048a80682c1acb82b9282b1b",
|
|
3
|
+
"base_sha": "e9d4d179d03c7cdb048a80682c1acb82b9282b1b",
|
|
4
|
+
"candidate_count": 1,
|
|
5
|
+
"commit_count": 1,
|
|
6
|
+
"head_ref": "4828dadb8361678818718635c4765d64eb185a27",
|
|
7
|
+
"head_sha": "4828dadb8361678818718635c4765d64eb185a27",
|
|
8
|
+
"include_merges": "nontrivial",
|
|
9
|
+
"kind": "git_range_summary",
|
|
10
|
+
"merge_commit_count": 0,
|
|
11
|
+
"merge_commits_skipped": 0,
|
|
12
|
+
"range": "e9d4d179d03c7cdb048a80682c1acb82b9282b1b..4828dadb8361678818718635c4765d64eb185a27"
|
|
13
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
rows:
|
|
2
|
+
- sha: 805445a6d246ce5d06a43eb2b2d099d13fed0ac9
|
|
3
|
+
inspected: true
|
|
4
|
+
inspected_paths:
|
|
5
|
+
- README.md
|
|
6
|
+
- docs/renderprofile.md
|
|
7
|
+
- pyproject.toml
|
|
8
|
+
- tests/test_audio_artifact_imports.py
|
|
9
|
+
- tests/test_audio_boundaries.py
|
|
10
|
+
- tests/test_bundle_inspect.py
|
|
11
|
+
- tests/test_document_contract.py
|
|
12
|
+
- tests/test_profile_roles_cli.py
|
|
13
|
+
- tests/test_render_book.py
|
|
14
|
+
- tests/test_renderer.py
|
|
15
|
+
- tests/test_renderplan_render.py
|
|
16
|
+
- voicerender/audio_artifacts.py
|
|
17
|
+
- voicerender/audio_boundaries.py
|
|
18
|
+
- voicerender/bundle_render_inspect.py
|
|
19
|
+
- voicerender/cli.py
|
|
20
|
+
- voicerender/render.py
|
|
21
|
+
- voicerender/renderplan_render.py
|
|
22
|
+
observed_behavior: "Renderer and RenderPlan now persist the complete validated synthesis waveform without trimming trailing silence. Cache identity uses a raw-synthesis artifact policy, invalidating output from the former boundary-trimming policy. Documentation assigns speech-boundary conditioning and explicit pause realization to AudioCompose; tests verify raw waveform persistence and cache invalidation."
|
|
23
|
+
public_impact: public
|
|
24
|
+
decision: accepted
|
|
25
|
+
target_entry_key: null
|
|
26
|
+
target_entry_id: null
|
|
27
|
+
notes: ""
|
|
28
|
+
stale: false
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
schema_version: 1
|
|
2
|
+
object_type: commit_audit_sheet
|
|
3
|
+
versioning:
|
|
4
|
+
schema_version: 1
|
|
5
|
+
revision: 1
|
|
6
|
+
release_version: v0.2.11
|
|
7
|
+
git_base_ref: v0.2.10
|
|
8
|
+
git_base_sha: bfbcf0cd7f0e6e1d514ed87bf5745fa7a2ef9b48
|
|
9
|
+
git_head_ref: HEAD
|
|
10
|
+
git_head_sha: 805445a6d246ce5d06a43eb2b2d099d13fed0ac9
|
|
11
|
+
git_range: bfbcf0cd7f0e6e1d514ed87bf5745fa7a2ef9b48..805445a6d246ce5d06a43eb2b2d099d13fed0ac9
|
|
12
|
+
commit_count: 1
|
|
13
|
+
rows:
|
|
14
|
+
- sha: 805445a6d246ce5d06a43eb2b2d099d13fed0ac9
|
|
15
|
+
source_ref: git:805445a6d246ce5d06a43eb2b2d099d13fed0ac9
|
|
16
|
+
short_sha: 805445a
|
|
17
|
+
changed_paths:
|
|
18
|
+
- README.md
|
|
19
|
+
- docs/renderprofile.md
|
|
20
|
+
- pyproject.toml
|
|
21
|
+
- tests/test_audio_artifact_imports.py
|
|
22
|
+
- tests/test_audio_boundaries.py
|
|
23
|
+
- tests/test_bundle_inspect.py
|
|
24
|
+
- tests/test_document_contract.py
|
|
25
|
+
- tests/test_profile_roles_cli.py
|
|
26
|
+
- tests/test_render_book.py
|
|
27
|
+
- tests/test_renderer.py
|
|
28
|
+
- tests/test_renderplan_render.py
|
|
29
|
+
- voicerender/audio_artifacts.py
|
|
30
|
+
- voicerender/audio_boundaries.py
|
|
31
|
+
- voicerender/bundle_render_inspect.py
|
|
32
|
+
- voicerender/cli.py
|
|
33
|
+
- voicerender/render.py
|
|
34
|
+
- voicerender/renderplan_render.py
|
|
35
|
+
stats:
|
|
36
|
+
files_changed: 17
|
|
37
|
+
insertions: 186
|
|
38
|
+
deletions: 372
|
|
39
|
+
inspected: false
|
|
40
|
+
inspected_paths: []
|
|
41
|
+
observed_behavior: ""
|
|
42
|
+
public_impact: unknown
|
|
43
|
+
decision: needs_review
|
|
44
|
+
stale: false
|
|
45
|
+
evidence_subject: "feat: remove audio boundaries modification"
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
schema: releaseledger.entry-batch.v1
|
|
2
|
+
operation: create
|
|
3
|
+
schema_version: 1
|
|
4
|
+
object_type: release_entry_batch
|
|
5
|
+
release_version: v0.2.11
|
|
6
|
+
git_base_ref: bfbcf0cd7f0e6e1d514ed87bf5745fa7a2ef9b48
|
|
7
|
+
git_base_sha: bfbcf0cd7f0e6e1d514ed87bf5745fa7a2ef9b48
|
|
8
|
+
git_head_ref: 805445a6d246ce5d06a43eb2b2d099d13fed0ac9
|
|
9
|
+
git_head_sha: 805445a6d246ce5d06a43eb2b2d099d13fed0ac9
|
|
10
|
+
include_merges: nontrivial
|
|
11
|
+
entries:
|
|
12
|
+
- kind: changed
|
|
13
|
+
summary: "Changed VoiceRender to preserve full synthesis waveforms and delegate boundary conditioning and pauses to AudioCompose"
|
|
14
|
+
status: accepted
|
|
15
|
+
source_refs:
|
|
16
|
+
- git:805445a6d246ce5d06a43eb2b2d099d13fed0ac9
|
|
17
|
+
paths:
|
|
18
|
+
- README.md
|
|
19
|
+
- docs/renderprofile.md
|
|
20
|
+
- pyproject.toml
|
|
21
|
+
- voicerender/audio_artifacts.py
|
|
22
|
+
- voicerender/audio_boundaries.py
|
|
23
|
+
- voicerender/bundle_render_inspect.py
|
|
24
|
+
- voicerender/cli.py
|
|
25
|
+
- voicerender/render.py
|
|
26
|
+
- voicerender/renderplan_render.py
|
|
27
|
+
sources:
|
|
28
|
+
- git:805445a6d246ce5d06a43eb2b2d099d13fed0ac9
|
|
29
|
+
prs: []
|
|
30
|
+
issues: []
|
|
31
|
+
contributors:
|
|
32
|
+
- "@holgern"
|