readio 0.2.3__tar.gz → 0.2.4__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.
- {readio-0.2.3 → readio-0.2.4}/.github/workflows/codecov.yml +1 -1
- {readio-0.2.3 → readio-0.2.4}/.github/workflows/tests.yml +26 -4
- {readio-0.2.3 → readio-0.2.4}/.ledger/releaseledger/data/ledgers/main/events/events.jsonl +18 -0
- {readio-0.2.3 → readio-0.2.4}/.ledger/releaseledger/data/ledgers/main/releases/v0.2.3/entries/entry-0001.md +3 -3
- {readio-0.2.3 → readio-0.2.4}/.ledger/releaseledger/data/ledgers/main/releases/v0.2.3/entries/entry-0002.md +2 -2
- {readio-0.2.3 → readio-0.2.4}/.ledger/releaseledger/data/ledgers/main/releases/v0.2.3/entries/entry-0003.md +2 -4
- {readio-0.2.3 → readio-0.2.4}/.ledger/releaseledger/data/ledgers/main/releases/v0.2.3/entries/entry-0004.md +2 -2
- readio-0.2.4/.ledger/releaseledger/data/ledgers/main/releases/v0.2.3/entries/entry-0005.md +31 -0
- readio-0.2.4/.ledger/releaseledger/data/ledgers/main/releases/v0.2.3/entries/entry-0006.md +29 -0
- {readio-0.2.3 → readio-0.2.4}/.ledger/releaseledger/data/ledgers/main/releases/v0.2.3/release.md +4 -4
- readio-0.2.4/.ledger/releaseledger/data/ledgers/main/releases/v0.2.4/audit/commit-audit.yaml +212 -0
- readio-0.2.4/.ledger/releaseledger/data/ledgers/main/releases/v0.2.4/entries/entry-0001.md +46 -0
- readio-0.2.4/.ledger/releaseledger/data/ledgers/main/releases/v0.2.4/entries/entry-0002.md +66 -0
- readio-0.2.4/.ledger/releaseledger/data/ledgers/main/releases/v0.2.4/entries/entry-0003.md +51 -0
- readio-0.2.4/.ledger/releaseledger/data/ledgers/main/releases/v0.2.4/entries/entry-0004.md +47 -0
- readio-0.2.4/.ledger/releaseledger/data/ledgers/main/releases/v0.2.4/release.md +27 -0
- readio-0.2.4/.ledger/releaseledger/work/v0.2.4/audit-decisions.yaml +65 -0
- readio-0.2.4/.ledger/releaseledger/work/v0.2.4/audit.yaml +171 -0
- readio-0.2.4/.ledger/releaseledger/work/v0.2.4/entries.yaml +157 -0
- readio-0.2.4/.ledger/releaseledger/work/v0.2.4/evidence/18d1765.patch +1713 -0
- readio-0.2.4/.ledger/releaseledger/work/v0.2.4/evidence/2c5e221.patch +781 -0
- readio-0.2.4/.ledger/releaseledger/work/v0.2.4/evidence/4791e70.patch +828 -0
- readio-0.2.4/.ledger/releaseledger/work/v0.2.4/evidence/5840ad5.patch +2691 -0
- readio-0.2.4/.ledger/releaseledger/work/v0.2.4/evidence/manifest.json +155 -0
- readio-0.2.4/.ledger/releaseledger/work/v0.2.4/range.json +13 -0
- {readio-0.2.3/readio.egg-info → readio-0.2.4}/PKG-INFO +21 -6
- {readio-0.2.3 → readio-0.2.4}/README.md +19 -4
- {readio-0.2.3 → readio-0.2.4}/docs/changelog.md +20 -4
- {readio-0.2.3 → readio-0.2.4}/docs/index.md +20 -12
- {readio-0.2.3 → readio-0.2.4}/llm-guides/README.md +1 -1
- {readio-0.2.3 → readio-0.2.4}/llm-guides/ssmd/audio-drama.md +1 -1
- {readio-0.2.3 → readio-0.2.4}/llm-guides/ssmd/debate-pro-con.md +1 -1
- {readio-0.2.3 → readio-0.2.4}/llm-guides/ssmd/document-summary.md +1 -1
- {readio-0.2.3 → readio-0.2.4}/llm-guides/ssmd/dramatic-story.md +1 -1
- {readio-0.2.3 → readio-0.2.4}/llm-guides/ssmd/educational-explainer.md +1 -1
- {readio-0.2.3 → readio-0.2.4}/llm-guides/ssmd/funny-story.md +1 -1
- {readio-0.2.3 → readio-0.2.4}/llm-guides/ssmd/general-narration.md +1 -1
- {readio-0.2.3 → readio-0.2.4}/llm-guides/ssmd/guided-meditation.md +1 -1
- {readio-0.2.3 → readio-0.2.4}/llm-guides/ssmd/kids-story.md +1 -1
- {readio-0.2.3 → readio-0.2.4}/llm-guides/ssmd/language-learning.md +1 -1
- {readio-0.2.3 → readio-0.2.4}/llm-guides/ssmd/news-briefing.md +1 -1
- {readio-0.2.3 → readio-0.2.4}/llm-guides/ssmd/podcast-interview.md +1 -1
- {readio-0.2.3 → readio-0.2.4}/llm-guides/ssmd/podcast-roundtable.md +1 -1
- {readio-0.2.3 → readio-0.2.4}/llm-guides/ssmd/podcast-solo.md +1 -1
- {readio-0.2.3 → readio-0.2.4}/llm-guides/ssmd/quiz-trivia.md +1 -1
- {readio-0.2.3 → readio-0.2.4}/pyproject.toml +1 -1
- {readio-0.2.3 → readio-0.2.4}/readio/audio.py +4 -8
- readio-0.2.4/readio/backends/__init__.py +15 -0
- readio-0.2.4/readio/backends/base.py +122 -0
- readio-0.2.4/readio/backends/pykokoro.py +409 -0
- readio-0.2.4/readio/backends/registry.py +39 -0
- {readio-0.2.3 → readio-0.2.4}/readio/cli.py +367 -122
- {readio-0.2.3 → readio-0.2.4}/readio/config.py +57 -11
- readio-0.2.4/readio/lexicons.py +147 -0
- {readio-0.2.3 → readio-0.2.4}/readio/models.py +107 -4
- {readio-0.2.3 → readio-0.2.4}/readio/plan.py +106 -135
- {readio-0.2.3 → readio-0.2.4}/readio/reader.py +96 -131
- {readio-0.2.3 → readio-0.2.4}/readio/ssmd.py +10 -12
- {readio-0.2.3 → readio-0.2.4}/readio/synthesis.py +53 -8
- readio-0.2.4/readio/voices.py +351 -0
- {readio-0.2.3 → readio-0.2.4/readio.egg-info}/PKG-INFO +21 -6
- {readio-0.2.3 → readio-0.2.4}/readio.egg-info/SOURCES.txt +29 -0
- {readio-0.2.3 → readio-0.2.4}/readio.egg-info/requires.txt +1 -1
- {readio-0.2.3 → readio-0.2.4}/readio.egg-info/scm_file_list.json +29 -0
- readio-0.2.4/readio.egg-info/scm_version.json +8 -0
- {readio-0.2.3 → readio-0.2.4}/skill/readio/SKILL.md +9 -5
- {readio-0.2.3 → readio-0.2.4}/skill/readio/references/cli.md +22 -9
- {readio-0.2.3 → readio-0.2.4}/skill/readio/references/ssmd.md +1 -1
- {readio-0.2.3 → readio-0.2.4}/skill/readio/references/troubleshooting.md +9 -1
- readio-0.2.4/tests/test_backend_config.py +27 -0
- readio-0.2.4/tests/test_backend_dispatch.py +76 -0
- readio-0.2.4/tests/test_backends.py +24 -0
- {readio-0.2.3 → readio-0.2.4}/tests/test_cli.py +6 -0
- {readio-0.2.3 → readio-0.2.4}/tests/test_config.py +33 -0
- readio-0.2.4/tests/test_lexicon_catalog.py +60 -0
- readio-0.2.4/tests/test_lexicons_cli.py +98 -0
- {readio-0.2.3 → readio-0.2.4}/tests/test_llm_guides.py +1 -1
- {readio-0.2.3 → readio-0.2.4}/tests/test_packaging_metadata.py +2 -2
- {readio-0.2.3 → readio-0.2.4}/tests/test_plan.py +47 -0
- {readio-0.2.3 → readio-0.2.4}/tests/test_plan_no_tts_load.py +8 -0
- {readio-0.2.3 → readio-0.2.4}/tests/test_pykokoro_09_contract.py +2 -2
- {readio-0.2.3 → readio-0.2.4}/tests/test_pykokoro_09_regressions.py +23 -10
- readio-0.2.4/tests/test_reader_synthesis.py +134 -0
- {readio-0.2.3 → readio-0.2.4}/tests/test_render_from_plan.py +35 -4
- {readio-0.2.3 → readio-0.2.4}/tests/test_synthesis.py +5 -0
- readio-0.2.4/tests/test_voice_catalog.py +125 -0
- readio-0.2.4/tests/test_voices_cli.py +96 -0
- readio-0.2.3/readio.egg-info/scm_version.json +0 -8
- readio-0.2.3/tests/test_reader_synthesis.py +0 -60
- readio-0.2.3/tests/test_voices_cli.py +0 -60
- {readio-0.2.3 → readio-0.2.4}/.codecrate.toml +0 -0
- {readio-0.2.3 → readio-0.2.4}/.github/workflows/pre-commit.yml +0 -0
- {readio-0.2.3 → readio-0.2.4}/.github/workflows/python-publish.yml +0 -0
- {readio-0.2.3 → readio-0.2.4}/.gitignore +0 -0
- {readio-0.2.3 → readio-0.2.4}/.ledger/documentledger/.ledger-project.toml +0 -0
- {readio-0.2.3 → readio-0.2.4}/.ledger/documentledger/config.toml +0 -0
- {readio-0.2.3 → readio-0.2.4}/.ledger/documentledger/data/.ledger-project.toml +0 -0
- {readio-0.2.3 → readio-0.2.4}/.ledger/documentledger/data/docs/docs-changelog-md-77f023b9.yaml +0 -0
- {readio-0.2.3 → readio-0.2.4}/.ledger/documentledger/data/docs/docs-index-md-b4d68dc8.yaml +0 -0
- {readio-0.2.3 → readio-0.2.4}/.ledger/documentledger/data/docs/readme-md-b3356305.yaml +0 -0
- {readio-0.2.3 → readio-0.2.4}/.ledger/documentledger/data/scan.yaml +0 -0
- {readio-0.2.3 → readio-0.2.4}/.ledger/documentledger/data/source-index.json +0 -0
- {readio-0.2.3 → readio-0.2.4}/.ledger/documentledger/data/storage.yaml +0 -0
- {readio-0.2.3 → readio-0.2.4}/.ledger/ledger.toml +0 -0
- {readio-0.2.3 → readio-0.2.4}/.ledger/releaseledger/.ledger-project.toml +0 -0
- {readio-0.2.3 → readio-0.2.4}/.ledger/releaseledger/config.toml +0 -0
- {readio-0.2.3 → readio-0.2.4}/.ledger/releaseledger/data/.ledger-project.toml +0 -0
- {readio-0.2.3 → readio-0.2.4}/.ledger/releaseledger/data/ledgers/main/releases/v0.1.0/audit/commit-audit.yaml +0 -0
- {readio-0.2.3 → readio-0.2.4}/.ledger/releaseledger/data/ledgers/main/releases/v0.1.0/entries/entry-0001.md +0 -0
- {readio-0.2.3 → readio-0.2.4}/.ledger/releaseledger/data/ledgers/main/releases/v0.1.0/entries/entry-0002.md +0 -0
- {readio-0.2.3 → readio-0.2.4}/.ledger/releaseledger/data/ledgers/main/releases/v0.1.0/entries/entry-0003.md +0 -0
- {readio-0.2.3 → readio-0.2.4}/.ledger/releaseledger/data/ledgers/main/releases/v0.1.0/entries/entry-0004.md +0 -0
- {readio-0.2.3 → readio-0.2.4}/.ledger/releaseledger/data/ledgers/main/releases/v0.1.0/entries/entry-0005.md +0 -0
- {readio-0.2.3 → readio-0.2.4}/.ledger/releaseledger/data/ledgers/main/releases/v0.1.0/release.md +0 -0
- {readio-0.2.3 → readio-0.2.4}/.ledger/releaseledger/data/ledgers/main/releases/v0.1.1/audit/commit-audit.yaml +0 -0
- {readio-0.2.3 → readio-0.2.4}/.ledger/releaseledger/data/ledgers/main/releases/v0.1.1/entries/entry-0001.md +0 -0
- {readio-0.2.3 → readio-0.2.4}/.ledger/releaseledger/data/ledgers/main/releases/v0.1.1/release.md +0 -0
- {readio-0.2.3 → readio-0.2.4}/.ledger/releaseledger/data/ledgers/main/releases/v0.1.2/audit/commit-audit.yaml +0 -0
- {readio-0.2.3 → readio-0.2.4}/.ledger/releaseledger/data/ledgers/main/releases/v0.1.2/entries/entry-0001.md +0 -0
- {readio-0.2.3 → readio-0.2.4}/.ledger/releaseledger/data/ledgers/main/releases/v0.1.2/entries/entry-0002.md +0 -0
- {readio-0.2.3 → readio-0.2.4}/.ledger/releaseledger/data/ledgers/main/releases/v0.1.2/entries/entry-0003.md +0 -0
- {readio-0.2.3 → readio-0.2.4}/.ledger/releaseledger/data/ledgers/main/releases/v0.1.2/entries/entry-0004.md +0 -0
- {readio-0.2.3 → readio-0.2.4}/.ledger/releaseledger/data/ledgers/main/releases/v0.1.2/release.md +0 -0
- {readio-0.2.3 → readio-0.2.4}/.ledger/releaseledger/data/ledgers/main/releases/v0.1.3/audit/commit-audit.yaml +0 -0
- {readio-0.2.3 → readio-0.2.4}/.ledger/releaseledger/data/ledgers/main/releases/v0.1.3/entries/entry-0001.md +0 -0
- {readio-0.2.3 → readio-0.2.4}/.ledger/releaseledger/data/ledgers/main/releases/v0.1.3/entries/entry-0002.md +0 -0
- {readio-0.2.3 → readio-0.2.4}/.ledger/releaseledger/data/ledgers/main/releases/v0.1.3/release.md +0 -0
- {readio-0.2.3 → readio-0.2.4}/.ledger/releaseledger/data/ledgers/main/releases/v0.2.0/audit/commit-audit.yaml +0 -0
- {readio-0.2.3 → readio-0.2.4}/.ledger/releaseledger/data/ledgers/main/releases/v0.2.0/entries/entry-0001.md +0 -0
- {readio-0.2.3 → readio-0.2.4}/.ledger/releaseledger/data/ledgers/main/releases/v0.2.0/entries/entry-0002.md +0 -0
- {readio-0.2.3 → readio-0.2.4}/.ledger/releaseledger/data/ledgers/main/releases/v0.2.0/entries/entry-0003.md +0 -0
- {readio-0.2.3 → readio-0.2.4}/.ledger/releaseledger/data/ledgers/main/releases/v0.2.0/entries/entry-0004.md +0 -0
- {readio-0.2.3 → readio-0.2.4}/.ledger/releaseledger/data/ledgers/main/releases/v0.2.0/entries/entry-0005.md +0 -0
- {readio-0.2.3 → readio-0.2.4}/.ledger/releaseledger/data/ledgers/main/releases/v0.2.0/entries/entry-0006.md +0 -0
- {readio-0.2.3 → readio-0.2.4}/.ledger/releaseledger/data/ledgers/main/releases/v0.2.0/release.md +0 -0
- {readio-0.2.3 → readio-0.2.4}/.ledger/releaseledger/data/ledgers/main/releases/v0.2.1/audit/commit-audit.yaml +0 -0
- {readio-0.2.3 → readio-0.2.4}/.ledger/releaseledger/data/ledgers/main/releases/v0.2.1/entries/entry-0001.md +0 -0
- {readio-0.2.3 → readio-0.2.4}/.ledger/releaseledger/data/ledgers/main/releases/v0.2.1/release.md +0 -0
- {readio-0.2.3 → readio-0.2.4}/.ledger/releaseledger/data/ledgers/main/releases/v0.2.2/audit/commit-audit.yaml +0 -0
- {readio-0.2.3 → readio-0.2.4}/.ledger/releaseledger/data/ledgers/main/releases/v0.2.2/entries/entry-0001.md +0 -0
- {readio-0.2.3 → readio-0.2.4}/.ledger/releaseledger/data/ledgers/main/releases/v0.2.2/entries/entry-0002.md +0 -0
- {readio-0.2.3 → readio-0.2.4}/.ledger/releaseledger/data/ledgers/main/releases/v0.2.2/entries/entry-0003.md +0 -0
- {readio-0.2.3 → readio-0.2.4}/.ledger/releaseledger/data/ledgers/main/releases/v0.2.2/entries/entry-0004.md +0 -0
- {readio-0.2.3 → readio-0.2.4}/.ledger/releaseledger/data/ledgers/main/releases/v0.2.2/entries/entry-0005.md +0 -0
- {readio-0.2.3 → readio-0.2.4}/.ledger/releaseledger/data/ledgers/main/releases/v0.2.2/entries/entry-0006.md +0 -0
- {readio-0.2.3 → readio-0.2.4}/.ledger/releaseledger/data/ledgers/main/releases/v0.2.2/entries/entry-0007.md +0 -0
- {readio-0.2.3 → readio-0.2.4}/.ledger/releaseledger/data/ledgers/main/releases/v0.2.2/release.md +0 -0
- {readio-0.2.3 → readio-0.2.4}/.ledger/releaseledger/work/v0.2.0/audit-decisions.yaml +0 -0
- {readio-0.2.3 → readio-0.2.4}/.ledger/releaseledger/work/v0.2.0/audit.yaml +0 -0
- {readio-0.2.3 → readio-0.2.4}/.ledger/releaseledger/work/v0.2.0/entries.yaml +0 -0
- {readio-0.2.3 → readio-0.2.4}/.ledger/releaseledger/work/v0.2.0/evidence/4ecf165.patch +0 -0
- {readio-0.2.3 → readio-0.2.4}/.ledger/releaseledger/work/v0.2.0/evidence/manifest.json +0 -0
- {readio-0.2.3 → readio-0.2.4}/.ledger/releaseledger/work/v0.2.0/range.json +0 -0
- {readio-0.2.3 → readio-0.2.4}/.ledger/releaseledger/write.lock +0 -0
- {readio-0.2.3 → readio-0.2.4}/.ledger/taskledger/.ledger-project.toml +0 -0
- {readio-0.2.3 → readio-0.2.4}/.ledger/taskledger/config.toml +0 -0
- {readio-0.2.3 → readio-0.2.4}/.pre-commit-config.yaml +0 -0
- {readio-0.2.3 → readio-0.2.4}/LICENSE +0 -0
- {readio-0.2.3 → readio-0.2.4}/docs/conf.py +0 -0
- {readio-0.2.3 → readio-0.2.4}/docs/make.py +0 -0
- {readio-0.2.3 → readio-0.2.4}/docs/requirements.txt +0 -0
- {readio-0.2.3 → readio-0.2.4}/examples/README.md +0 -0
- {readio-0.2.3 → readio-0.2.4}/examples/readio-podcast.ssmd +0 -0
- {readio-0.2.3 → readio-0.2.4}/examples/readio-prosody.ssmd +0 -0
- {readio-0.2.3 → readio-0.2.4}/readio/__init__.py +0 -0
- {readio-0.2.3 → readio-0.2.4}/readio/__main__.py +0 -0
- {readio-0.2.3 → readio-0.2.4}/readio/document.py +0 -0
- {readio-0.2.3 → readio-0.2.4}/readio/errors.py +0 -0
- {readio-0.2.3 → readio-0.2.4}/readio/formats.py +0 -0
- {readio-0.2.3 → readio-0.2.4}/readio/ingest.py +0 -0
- {readio-0.2.3 → readio-0.2.4}/readio/jsonutil.py +0 -0
- {readio-0.2.3 → readio-0.2.4}/readio/logging_config.py +0 -0
- {readio-0.2.3 → readio-0.2.4}/readio/manifest.py +0 -0
- {readio-0.2.3 → readio-0.2.4}/readio/markdown.py +0 -0
- {readio-0.2.3 → readio-0.2.4}/readio/paths.py +0 -0
- {readio-0.2.3 → readio-0.2.4}/readio/progress.py +0 -0
- {readio-0.2.3 → readio-0.2.4}/readio/resources/__init__.py +0 -0
- {readio-0.2.3 → readio-0.2.4}/readio/resources/templates/__init__.py +0 -0
- {readio-0.2.3 → readio-0.2.4}/readio/resources/templates/briefing.ssmd +0 -0
- {readio-0.2.3 → readio-0.2.4}/readio/resources/templates/dialogue.ssmd +0 -0
- {readio-0.2.3 → readio-0.2.4}/readio/resources/templates/podcast.ssmd +0 -0
- {readio-0.2.3 → readio-0.2.4}/readio/spotify.py +0 -0
- {readio-0.2.3 → readio-0.2.4}/readio/spotify_cli.py +0 -0
- {readio-0.2.3 → readio-0.2.4}/readio/ssmd_authoring.py +0 -0
- {readio-0.2.3 → readio-0.2.4}/readio/templates.py +0 -0
- {readio-0.2.3 → readio-0.2.4}/readio/text.py +0 -0
- {readio-0.2.3 → readio-0.2.4}/readio/wave.py +0 -0
- {readio-0.2.3 → readio-0.2.4}/readio.egg-info/dependency_links.txt +0 -0
- {readio-0.2.3 → readio-0.2.4}/readio.egg-info/entry_points.txt +0 -0
- {readio-0.2.3 → readio-0.2.4}/readio.egg-info/top_level.txt +0 -0
- {readio-0.2.3 → readio-0.2.4}/setup.cfg +0 -0
- {readio-0.2.3 → readio-0.2.4}/skill/readio/references/input-formats.md +0 -0
- {readio-0.2.3 → readio-0.2.4}/skill/readio/references/spotify.md +0 -0
- {readio-0.2.3 → readio-0.2.4}/tests/conftest.py +0 -0
- {readio-0.2.3 → readio-0.2.4}/tests/fixtures/architecture-review.ssmd +0 -0
- {readio-0.2.3 → readio-0.2.4}/tests/fixtures/markdown/all-elements.md +0 -0
- {readio-0.2.3 → readio-0.2.4}/tests/fixtures/markdown/all-elements.txt +0 -0
- {readio-0.2.3 → readio-0.2.4}/tests/test_audio.py +0 -0
- {readio-0.2.3 → readio-0.2.4}/tests/test_audio_formats.py +0 -0
- {readio-0.2.3 → readio-0.2.4}/tests/test_chapters.py +0 -0
- {readio-0.2.3 → readio-0.2.4}/tests/test_defaults_cli.py +0 -0
- {readio-0.2.3 → readio-0.2.4}/tests/test_doctor.py +0 -0
- {readio-0.2.3 → readio-0.2.4}/tests/test_document.py +0 -0
- {readio-0.2.3 → readio-0.2.4}/tests/test_examples.py +0 -0
- {readio-0.2.3 → readio-0.2.4}/tests/test_ffmpeg_sink.py +0 -0
- {readio-0.2.3 → readio-0.2.4}/tests/test_ingest.py +0 -0
- {readio-0.2.3 → readio-0.2.4}/tests/test_language_defaults_config.py +0 -0
- {readio-0.2.3 → readio-0.2.4}/tests/test_logging_cli.py +0 -0
- {readio-0.2.3 → readio-0.2.4}/tests/test_manifest.py +0 -0
- {readio-0.2.3 → readio-0.2.4}/tests/test_markdown.py +0 -0
- {readio-0.2.3 → readio-0.2.4}/tests/test_model_source_preference.py +0 -0
- {readio-0.2.3 → readio-0.2.4}/tests/test_models_cli.py +0 -0
- {readio-0.2.3 → readio-0.2.4}/tests/test_package_resources.py +0 -0
- {readio-0.2.3 → readio-0.2.4}/tests/test_paths.py +0 -0
- {readio-0.2.3 → readio-0.2.4}/tests/test_plan_cli.py +0 -0
- {readio-0.2.3 → readio-0.2.4}/tests/test_plan_validation.py +0 -0
- {readio-0.2.3 → readio-0.2.4}/tests/test_progress.py +0 -0
- {readio-0.2.3 → readio-0.2.4}/tests/test_pykokoro_09_support.py +0 -0
- {readio-0.2.3 → readio-0.2.4}/tests/test_reader_markdown.py +0 -0
- {readio-0.2.3 → readio-0.2.4}/tests/test_reader_selection.py +0 -0
- {readio-0.2.3 → readio-0.2.4}/tests/test_reader_ssmd.py +0 -0
- {readio-0.2.3 → readio-0.2.4}/tests/test_render_manifest_cli.py +0 -0
- {readio-0.2.3 → readio-0.2.4}/tests/test_skill_integrity.py +0 -0
- {readio-0.2.3 → readio-0.2.4}/tests/test_spotify.py +0 -0
- {readio-0.2.3 → readio-0.2.4}/tests/test_spotify_cli.py +0 -0
- {readio-0.2.3 → readio-0.2.4}/tests/test_spotify_lifecycle.py +0 -0
- {readio-0.2.3 → readio-0.2.4}/tests/test_ssmd_cli.py +0 -0
- {readio-0.2.3 → readio-0.2.4}/tests/test_ssmd_integration.py +0 -0
- {readio-0.2.3 → readio-0.2.4}/tests/test_ssmd_model_roster.py +0 -0
- {readio-0.2.3 → readio-0.2.4}/tests/test_ssmd_preflight.py +0 -0
- {readio-0.2.3 → readio-0.2.4}/tests/test_ssmd_single_source.py +0 -0
- {readio-0.2.3 → readio-0.2.4}/tests/test_template_validate.py +0 -0
- {readio-0.2.3 → readio-0.2.4}/tests/test_templates.py +0 -0
- {readio-0.2.3 → readio-0.2.4}/tests/test_text.py +0 -0
- {readio-0.2.3 → readio-0.2.4}/tests/test_voice_resolution_workflow.py +0 -0
- {readio-0.2.3 → readio-0.2.4}/tests/test_wave.py +0 -0
|
@@ -16,7 +16,7 @@ jobs:
|
|
|
16
16
|
cache: pip
|
|
17
17
|
- name: Install Readio runtime dependencies
|
|
18
18
|
run: |
|
|
19
|
-
python -m pip install "pykokoro[playback]==0.9.
|
|
19
|
+
python -m pip install "pykokoro[playback]==0.9.9"
|
|
20
20
|
- name: Install project and coverage tools
|
|
21
21
|
run: |
|
|
22
22
|
python -m pip install --upgrade pip
|
|
@@ -25,7 +25,7 @@ jobs:
|
|
|
25
25
|
cache: pip
|
|
26
26
|
- name: Install Readio runtime dependencies
|
|
27
27
|
run: |
|
|
28
|
-
python -m pip install "pykokoro[playback]==0.9.
|
|
28
|
+
python -m pip install "pykokoro[playback]==0.9.9"
|
|
29
29
|
- name: Install project and test tools
|
|
30
30
|
run: |
|
|
31
31
|
python -m pip install --upgrade pip
|
|
@@ -47,13 +47,35 @@ jobs:
|
|
|
47
47
|
python-version: "3.10"
|
|
48
48
|
cache: pip
|
|
49
49
|
- name: Install minimum PyKokoro runtime
|
|
50
|
-
run: python -m pip install "pykokoro[playback]==0.9.
|
|
50
|
+
run: python -m pip install "pykokoro[playback]==0.9.9"
|
|
51
51
|
- name: Install project and test tools
|
|
52
52
|
run: |
|
|
53
53
|
python -m pip install --upgrade pip
|
|
54
54
|
python -m pip install -e ".[dev]"
|
|
55
55
|
- name: Run minimum-version test suite
|
|
56
56
|
run: python -m pytest -q
|
|
57
|
+
current-compatibility:
|
|
58
|
+
name: Current PyKokoro compatibility (Ubuntu, Python 3.13)
|
|
59
|
+
runs-on: ubuntu-latest
|
|
60
|
+
steps:
|
|
61
|
+
- uses: actions/checkout@v4
|
|
62
|
+
- name: Install PortAudio
|
|
63
|
+
run: sudo apt-get update && sudo apt-get install --yes portaudio19-dev
|
|
64
|
+
- name: Set up Python
|
|
65
|
+
uses: actions/setup-python@v5
|
|
66
|
+
with:
|
|
67
|
+
python-version: "3.13"
|
|
68
|
+
cache: pip
|
|
69
|
+
- name: Install current supported PyKokoro range
|
|
70
|
+
run: python -m pip install "pykokoro[playback]>=0.9.9,<0.10"
|
|
71
|
+
- name: Show installed PyKokoro version
|
|
72
|
+
run: python -c "import importlib.metadata; print('PyKokoro', importlib.metadata.version('pykokoro'))"
|
|
73
|
+
- name: Install project and test tools
|
|
74
|
+
run: |
|
|
75
|
+
python -m pip install --upgrade pip
|
|
76
|
+
python -m pip install -e ".[dev]"
|
|
77
|
+
- name: Run current-range test suite
|
|
78
|
+
run: python -m pytest -q
|
|
57
79
|
quality:
|
|
58
80
|
name: Static quality checks
|
|
59
81
|
runs-on: ubuntu-latest
|
|
@@ -68,7 +90,7 @@ jobs:
|
|
|
68
90
|
cache: pip
|
|
69
91
|
- name: Install Readio runtime dependencies
|
|
70
92
|
run: |
|
|
71
|
-
python -m pip install "pykokoro[playback]==0.9.
|
|
93
|
+
python -m pip install "pykokoro[playback]==0.9.9"
|
|
72
94
|
- name: Install development tools
|
|
73
95
|
run: python -m pip install -e ".[dev]"
|
|
74
96
|
- name: Ruff lint
|
|
@@ -100,7 +122,7 @@ jobs:
|
|
|
100
122
|
shell: bash
|
|
101
123
|
run: |
|
|
102
124
|
python -m venv "${RUNNER_TEMP}/readio-wheel-smoke"
|
|
103
|
-
"${RUNNER_TEMP}/readio-wheel-smoke/bin/python" -m pip install "pykokoro[playback]==0.9.
|
|
125
|
+
"${RUNNER_TEMP}/readio-wheel-smoke/bin/python" -m pip install "pykokoro[playback]==0.9.9"
|
|
104
126
|
"${RUNNER_TEMP}/readio-wheel-smoke/bin/python" -m pip install dist/*.whl
|
|
105
127
|
"${RUNNER_TEMP}/readio-wheel-smoke/bin/python" -m pip check
|
|
106
128
|
cd "${RUNNER_TEMP}"
|
|
@@ -60,3 +60,21 @@
|
|
|
60
60
|
{"data":{"kind":"quality","status":"accepted"},"entry_id":"entry-0002","event":"entry.added","event_id":"event-0060","record_revisions":{"entry:v0.2.3/entry-0002":1,"release:v0.2.3":3},"release_version":"v0.2.3","schema_version":2}
|
|
61
61
|
{"data":{"kind":"changed","status":"accepted"},"entry_id":"entry-0003","event":"entry.added","event_id":"event-0061","record_revisions":{"entry:v0.2.3/entry-0003":1,"release:v0.2.3":4},"release_version":"v0.2.3","schema_version":2}
|
|
62
62
|
{"data":{"kind":"docs","status":"accepted"},"entry_id":"entry-0004","event":"entry.added","event_id":"event-0062","record_revisions":{"entry:v0.2.3/entry-0004":1,"release:v0.2.3":5},"release_version":"v0.2.3","schema_version":2}
|
|
63
|
+
{"data":{"kind":"changed","status":"accepted"},"entry_id":"entry-0005","event":"entry.added","event_id":"event-0063","record_revisions":{"entry:v0.2.3/entry-0005":1,"release:v0.2.3":6},"release_version":"v0.2.3","schema_version":2}
|
|
64
|
+
{"data":{"added_source_refs":[],"fields":["summary"],"removed_source_refs":[],"source_refs_mode":"unchanged"},"entry_id":"entry-0005","event":"entry.updated","event_id":"event-0064","record_revisions":{"entry:v0.2.3/entry-0005":2},"release_version":"v0.2.3","schema_version":2}
|
|
65
|
+
{"data":{"added_source_refs":[],"fields":["summary"],"reason":"Correct stale tested PyKokoro version to the supported 0.9.5 floor.","removed_source_refs":[],"source_refs_mode":"unchanged"},"entry_id":"entry-0001","event":"entry.updated","event_id":"event-0065","record_revisions":{"entry:v0.2.3/entry-0001":2},"release_version":"v0.2.3","schema_version":2}
|
|
66
|
+
{"data":{"added_source_refs":[],"fields":["summary"],"reason":"Correct stale tested PyKokoro version to the supported 0.9.5 floor.","removed_source_refs":[],"source_refs_mode":"unchanged"},"entry_id":"entry-0004","event":"entry.updated","event_id":"event-0066","record_revisions":{"entry:v0.2.3/entry-0004":2},"release_version":"v0.2.3","schema_version":2}
|
|
67
|
+
{"data":{"kind":"changed","status":"accepted"},"entry_id":"entry-0006","event":"entry.added","event_id":"event-0067","record_revisions":{"entry:v0.2.3/entry-0006":1,"release:v0.2.3":7},"release_version":"v0.2.3","schema_version":2}
|
|
68
|
+
{"data":{"added_source_refs":[],"fields":["summary"],"reason":"Align the changed entry wording with its kind and supported dependency floor.","removed_source_refs":[],"source_refs_mode":"unchanged"},"entry_id":"entry-0001","event":"entry.updated","event_id":"event-0068","record_revisions":{"entry:v0.2.3/entry-0001":3},"release_version":"v0.2.3","schema_version":2}
|
|
69
|
+
{"data":{"added_source_refs":[],"fields":["summary"],"reason":"Align the quality entry wording with its kind.","removed_source_refs":[],"source_refs_mode":"unchanged"},"entry_id":"entry-0002","event":"entry.updated","event_id":"event-0069","record_revisions":{"entry:v0.2.3/entry-0002":2},"release_version":"v0.2.3","schema_version":2}
|
|
70
|
+
{"data":{"added_source_refs":[],"fields":["summary"],"reason":"Align the changed entry wording with its kind.","removed_source_refs":[],"source_refs_mode":"unchanged"},"entry_id":"entry-0003","event":"entry.updated","event_id":"event-0070","record_revisions":{"entry:v0.2.3/entry-0003":2},"release_version":"v0.2.3","schema_version":2}
|
|
71
|
+
{"data":{"added_source_refs":[],"fields":["summary"],"reason":"Align the changed entry wording with its kind and recommended summary length.","removed_source_refs":[],"source_refs_mode":"unchanged"},"entry_id":"entry-0005","event":"entry.updated","event_id":"event-0071","record_revisions":{"entry:v0.2.3/entry-0005":3},"release_version":"v0.2.3","schema_version":2}
|
|
72
|
+
{"data":{"added_source_refs":[],"fields":["summary"],"reason":"Shorten the new user-facing entry while retaining its behavior.","removed_source_refs":[],"source_refs_mode":"unchanged"},"entry_id":"entry-0006","event":"entry.updated","event_id":"event-0072","record_revisions":{"entry:v0.2.3/entry-0006":2},"release_version":"v0.2.3","schema_version":2}
|
|
73
|
+
{"data":{"released_at":"2026-09-11"},"event":"release.finalized","event_id":"event-0073","record_revisions":{"release:v0.2.3":8},"release_version":"v0.2.3","schema_version":2}
|
|
74
|
+
{"data":{"status":"planned"},"event":"release.created","event_id":"event-0074","record_revisions":{"release:v0.2.4":1},"release_version":"v0.2.4","schema_version":2}
|
|
75
|
+
{"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-0075","record_revisions":{"release:v0.2.4":2},"release_version":"v0.2.4","schema_version":2}
|
|
76
|
+
{"data":{"row_count":4},"event":"audit.created","event_id":"event-0076","record_revisions":{"commit_audit_sheet":1},"release_version":"v0.2.4","schema_version":2}
|
|
77
|
+
{"data":{"updated_rows":4},"event":"audit.updated","event_id":"event-0077","record_revisions":{"commit_audit_sheet":2},"release_version":"v0.2.4","schema_version":2}
|
|
78
|
+
{"data":{"entry_ids":["entry-0001","entry-0002","entry-0003","entry-0004"],"synced_audit_rows":4},"event":"entry.batch_added","event_id":"event-0078","record_revisions":{"commit_audit_sheet":3,"entry:v0.2.4/entry-0001":1,"entry:v0.2.4/entry-0002":1,"entry:v0.2.4/entry-0003":1,"entry:v0.2.4/entry-0004":1,"release:v0.2.4":3},"release_version":"v0.2.4","schema_version":2}
|
|
79
|
+
{"data":{"released_at":"2026-09-14"},"event":"release.finalized","event_id":"event-0079","record_revisions":{"release:v0.2.4":4},"release_version":"v0.2.4","schema_version":2}
|
|
80
|
+
{"data":{"fields":["released_at"]},"event":"release.updated","event_id":"event-0080","record_revisions":{"release:v0.2.4":5},"release_version":"v0.2.4","schema_version":2}
|
|
@@ -3,13 +3,13 @@ schema_version: 2
|
|
|
3
3
|
object_type: release_entry
|
|
4
4
|
versioning:
|
|
5
5
|
schema_version: 1
|
|
6
|
-
revision:
|
|
6
|
+
revision: 3
|
|
7
7
|
entry_id: entry-0001
|
|
8
8
|
release_version: v0.2.3
|
|
9
9
|
kind: changed
|
|
10
10
|
summary:
|
|
11
|
-
|
|
12
|
-
|
|
11
|
+
Changed Readio dependency metadata and CI to use PyKokoro 0.9.5 and SSMD
|
|
12
|
+
0.8.7+
|
|
13
13
|
status: accepted
|
|
14
14
|
audience: null
|
|
15
15
|
scopes: []
|
|
@@ -3,11 +3,11 @@ schema_version: 2
|
|
|
3
3
|
object_type: release_entry
|
|
4
4
|
versioning:
|
|
5
5
|
schema_version: 1
|
|
6
|
-
revision:
|
|
6
|
+
revision: 2
|
|
7
7
|
entry_id: entry-0002
|
|
8
8
|
release_version: v0.2.3
|
|
9
9
|
kind: quality
|
|
10
|
-
summary:
|
|
10
|
+
summary: Improved PyKokoro compatibility and package metadata regression coverage
|
|
11
11
|
status: accepted
|
|
12
12
|
audience: null
|
|
13
13
|
scopes: []
|
|
@@ -3,13 +3,11 @@ schema_version: 2
|
|
|
3
3
|
object_type: release_entry
|
|
4
4
|
versioning:
|
|
5
5
|
schema_version: 1
|
|
6
|
-
revision:
|
|
6
|
+
revision: 2
|
|
7
7
|
entry_id: entry-0003
|
|
8
8
|
release_version: v0.2.3
|
|
9
9
|
kind: changed
|
|
10
|
-
summary:
|
|
11
|
-
Hardened package publishing with artifact checks and release-tag version
|
|
12
|
-
validation
|
|
10
|
+
summary: Changed package publishing with artifact checks and release-tag version validation
|
|
13
11
|
status: accepted
|
|
14
12
|
audience: null
|
|
15
13
|
scopes: []
|
|
@@ -3,12 +3,12 @@ schema_version: 2
|
|
|
3
3
|
object_type: release_entry
|
|
4
4
|
versioning:
|
|
5
5
|
schema_version: 1
|
|
6
|
-
revision:
|
|
6
|
+
revision: 2
|
|
7
7
|
entry_id: entry-0004
|
|
8
8
|
release_version: v0.2.3
|
|
9
9
|
kind: docs
|
|
10
10
|
summary:
|
|
11
|
-
Documented the PyKokoro support floor, 0.9.
|
|
11
|
+
Documented the PyKokoro support floor, 0.9.5 tested target, and supported
|
|
12
12
|
SSMD API
|
|
13
13
|
status: accepted
|
|
14
14
|
audience: null
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
---
|
|
2
|
+
schema_version: 2
|
|
3
|
+
object_type: release_entry
|
|
4
|
+
versioning:
|
|
5
|
+
schema_version: 1
|
|
6
|
+
revision: 3
|
|
7
|
+
entry_id: entry-0005
|
|
8
|
+
release_version: v0.2.3
|
|
9
|
+
kind: changed
|
|
10
|
+
summary:
|
|
11
|
+
Changed spaCy model-size and short-sentence synthesis controls, including
|
|
12
|
+
reader configuration migration
|
|
13
|
+
status: accepted
|
|
14
|
+
audience: null
|
|
15
|
+
scopes: []
|
|
16
|
+
source_refs:
|
|
17
|
+
- tl:task-0021
|
|
18
|
+
paths:
|
|
19
|
+
- readio/config.py
|
|
20
|
+
- readio/cli.py
|
|
21
|
+
- readio/plan.py
|
|
22
|
+
- readio/reader.py
|
|
23
|
+
- readio/synthesis.py
|
|
24
|
+
issues: []
|
|
25
|
+
prs: []
|
|
26
|
+
sources: []
|
|
27
|
+
contributors: []
|
|
28
|
+
breaking: false
|
|
29
|
+
internal: false
|
|
30
|
+
order: 5
|
|
31
|
+
---
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
---
|
|
2
|
+
schema_version: 2
|
|
3
|
+
object_type: release_entry
|
|
4
|
+
versioning:
|
|
5
|
+
schema_version: 1
|
|
6
|
+
revision: 2
|
|
7
|
+
entry_id: entry-0006
|
|
8
|
+
release_version: v0.2.3
|
|
9
|
+
kind: changed
|
|
10
|
+
summary:
|
|
11
|
+
Changed Readio's speak/render pause default from tts to auto while preserving
|
|
12
|
+
config and CLI overrides
|
|
13
|
+
status: accepted
|
|
14
|
+
audience: null
|
|
15
|
+
scopes: []
|
|
16
|
+
source_refs:
|
|
17
|
+
- tl:task-0025
|
|
18
|
+
paths:
|
|
19
|
+
- readio/config.py
|
|
20
|
+
- readio/plan.py
|
|
21
|
+
- readio/synthesis.py
|
|
22
|
+
issues: []
|
|
23
|
+
prs: []
|
|
24
|
+
sources: []
|
|
25
|
+
contributors: []
|
|
26
|
+
breaking: false
|
|
27
|
+
internal: false
|
|
28
|
+
order: 6
|
|
29
|
+
---
|
{readio-0.2.3 → readio-0.2.4}/.ledger/releaseledger/data/ledgers/main/releases/v0.2.3/release.md
RENAMED
|
@@ -3,12 +3,12 @@ schema_version: 2
|
|
|
3
3
|
object_type: release
|
|
4
4
|
versioning:
|
|
5
5
|
schema_version: 1
|
|
6
|
-
revision:
|
|
6
|
+
revision: 8
|
|
7
7
|
version: v0.2.3
|
|
8
|
-
status:
|
|
8
|
+
status: released
|
|
9
9
|
history_state: curated
|
|
10
10
|
title: Readio v0.2.3
|
|
11
|
-
released_at:
|
|
11
|
+
released_at: "2026-09-11"
|
|
12
12
|
previous_version: v0.2.2
|
|
13
13
|
cancel_reason: null
|
|
14
14
|
superseded_by: null
|
|
@@ -16,7 +16,7 @@ changelog_file: null
|
|
|
16
16
|
boundary_ref: null
|
|
17
17
|
source_refs: []
|
|
18
18
|
source_count: null
|
|
19
|
-
entry_count:
|
|
19
|
+
entry_count: 6
|
|
20
20
|
artifact_count: 0
|
|
21
21
|
git_base_ref: null
|
|
22
22
|
git_base_sha: null
|
|
@@ -0,0 +1,212 @@
|
|
|
1
|
+
schema_version: 1
|
|
2
|
+
object_type: commit_audit_sheet
|
|
3
|
+
versioning:
|
|
4
|
+
schema_version: 1
|
|
5
|
+
revision: 3
|
|
6
|
+
release_version: v0.2.4
|
|
7
|
+
git_base_ref: v0.2.3
|
|
8
|
+
git_base_sha: 9b264c5a7b09096c299b90d2f8fe6fb30a2a96d0
|
|
9
|
+
git_head_ref: HEAD
|
|
10
|
+
git_head_sha: 2c5e221eab0f4047a8157dcacb85e5d31c956d3a
|
|
11
|
+
git_range: 9b264c5a7b09096c299b90d2f8fe6fb30a2a96d0..2c5e221eab0f4047a8157dcacb85e5d31c956d3a
|
|
12
|
+
commit_count: 4
|
|
13
|
+
rows:
|
|
14
|
+
- sha: 4791e709a5f940404c7e40f04333f0996931453d
|
|
15
|
+
source_ref: git:4791e709a5f940404c7e40f04333f0996931453d
|
|
16
|
+
short_sha: 4791e70
|
|
17
|
+
changed_paths:
|
|
18
|
+
- .ledger/releaseledger/data/ledgers/main/events/events.jsonl
|
|
19
|
+
- .ledger/releaseledger/data/ledgers/main/releases/v0.2.3/entries/entry-0005.md
|
|
20
|
+
- .ledger/releaseledger/data/ledgers/main/releases/v0.2.3/release.md
|
|
21
|
+
- README.md
|
|
22
|
+
- docs/changelog.md
|
|
23
|
+
- docs/index.md
|
|
24
|
+
- readio/cli.py
|
|
25
|
+
- readio/config.py
|
|
26
|
+
- readio/plan.py
|
|
27
|
+
- readio/reader.py
|
|
28
|
+
- readio/synthesis.py
|
|
29
|
+
- skill/readio/references/cli.md
|
|
30
|
+
- skill/readio/references/troubleshooting.md
|
|
31
|
+
- tests/test_config.py
|
|
32
|
+
- tests/test_plan.py
|
|
33
|
+
- tests/test_plan_no_tts_load.py
|
|
34
|
+
- tests/test_reader_synthesis.py
|
|
35
|
+
- tests/test_render_from_plan.py
|
|
36
|
+
stats:
|
|
37
|
+
files_changed: 0
|
|
38
|
+
insertions: 369
|
|
39
|
+
deletions: 26
|
|
40
|
+
inspected: true
|
|
41
|
+
inspected_paths:
|
|
42
|
+
- readio/config.py
|
|
43
|
+
- readio/plan.py
|
|
44
|
+
- readio/reader.py
|
|
45
|
+
- readio/synthesis.py
|
|
46
|
+
- tests/test_config.py
|
|
47
|
+
- tests/test_plan.py
|
|
48
|
+
- tests/test_reader_synthesis.py
|
|
49
|
+
observed_behavior:
|
|
50
|
+
Reader synthesis planning now supports explicit spaCy tiers and
|
|
51
|
+
configurable short-sentence handling, with legacy required values normalized to
|
|
52
|
+
sm.
|
|
53
|
+
public_impact: public
|
|
54
|
+
decision: accepted
|
|
55
|
+
stale: false
|
|
56
|
+
evidence_subject: "feat: add spacy policy and parameter for short sentences"
|
|
57
|
+
target_entry_id: entry-0001
|
|
58
|
+
notes: ""
|
|
59
|
+
- sha: 18d17658338164cf7a62f805eece4802de217394
|
|
60
|
+
source_ref: git:18d17658338164cf7a62f805eece4802de217394
|
|
61
|
+
short_sha: 18d1765
|
|
62
|
+
changed_paths:
|
|
63
|
+
- .github/workflows/codecov.yml
|
|
64
|
+
- .github/workflows/tests.yml
|
|
65
|
+
- README.md
|
|
66
|
+
- docs/index.md
|
|
67
|
+
- llm-guides/README.md
|
|
68
|
+
- llm-guides/ssmd/audio-drama.md
|
|
69
|
+
- llm-guides/ssmd/debate-pro-con.md
|
|
70
|
+
- llm-guides/ssmd/document-summary.md
|
|
71
|
+
- llm-guides/ssmd/dramatic-story.md
|
|
72
|
+
- llm-guides/ssmd/educational-explainer.md
|
|
73
|
+
- llm-guides/ssmd/funny-story.md
|
|
74
|
+
- llm-guides/ssmd/general-narration.md
|
|
75
|
+
- llm-guides/ssmd/guided-meditation.md
|
|
76
|
+
- llm-guides/ssmd/kids-story.md
|
|
77
|
+
- llm-guides/ssmd/language-learning.md
|
|
78
|
+
- llm-guides/ssmd/news-briefing.md
|
|
79
|
+
- llm-guides/ssmd/podcast-interview.md
|
|
80
|
+
- llm-guides/ssmd/podcast-roundtable.md
|
|
81
|
+
- llm-guides/ssmd/podcast-solo.md
|
|
82
|
+
- llm-guides/ssmd/quiz-trivia.md
|
|
83
|
+
- pyproject.toml
|
|
84
|
+
- readio/cli.py
|
|
85
|
+
- readio/config.py
|
|
86
|
+
- readio/models.py
|
|
87
|
+
- readio/plan.py
|
|
88
|
+
- readio/ssmd.py
|
|
89
|
+
- readio/synthesis.py
|
|
90
|
+
- readio/voices.py
|
|
91
|
+
- skill/readio/SKILL.md
|
|
92
|
+
- skill/readio/references/cli.md
|
|
93
|
+
- skill/readio/references/ssmd.md
|
|
94
|
+
- skill/readio/references/troubleshooting.md
|
|
95
|
+
- tests/test_llm_guides.py
|
|
96
|
+
- tests/test_packaging_metadata.py
|
|
97
|
+
- tests/test_pykokoro_09_contract.py
|
|
98
|
+
- tests/test_pykokoro_09_regressions.py
|
|
99
|
+
- tests/test_voice_catalog.py
|
|
100
|
+
- tests/test_voices_cli.py
|
|
101
|
+
stats:
|
|
102
|
+
files_changed: 0
|
|
103
|
+
insertions: 817
|
|
104
|
+
deletions: 200
|
|
105
|
+
inspected: true
|
|
106
|
+
inspected_paths:
|
|
107
|
+
- readio/voices.py
|
|
108
|
+
- readio/cli.py
|
|
109
|
+
- readio/models.py
|
|
110
|
+
- tests/test_voice_catalog.py
|
|
111
|
+
- tests/test_voices_cli.py
|
|
112
|
+
observed_behavior:
|
|
113
|
+
Voice discovery now exposes stable locale-number selectors, metadata
|
|
114
|
+
filtering, selector inspection, and selector-aware role/default resolution.
|
|
115
|
+
public_impact: public
|
|
116
|
+
decision: accepted
|
|
117
|
+
stale: false
|
|
118
|
+
evidence_subject: "feat: short form for voice selection and new voices command"
|
|
119
|
+
target_entry_id: entry-0002
|
|
120
|
+
notes: ""
|
|
121
|
+
- sha: 5840ad53704ab4efd000346c048638c9b2271eb7
|
|
122
|
+
source_ref: git:5840ad53704ab4efd000346c048638c9b2271eb7
|
|
123
|
+
short_sha: 5840ad5
|
|
124
|
+
changed_paths:
|
|
125
|
+
- README.md
|
|
126
|
+
- docs/index.md
|
|
127
|
+
- readio/audio.py
|
|
128
|
+
- readio/backends/__init__.py
|
|
129
|
+
- readio/backends/base.py
|
|
130
|
+
- readio/backends/pykokoro.py
|
|
131
|
+
- readio/backends/registry.py
|
|
132
|
+
- readio/cli.py
|
|
133
|
+
- readio/config.py
|
|
134
|
+
- readio/lexicons.py
|
|
135
|
+
- readio/models.py
|
|
136
|
+
- readio/plan.py
|
|
137
|
+
- readio/reader.py
|
|
138
|
+
- readio/ssmd.py
|
|
139
|
+
- readio/synthesis.py
|
|
140
|
+
- readio/voices.py
|
|
141
|
+
- skill/readio/SKILL.md
|
|
142
|
+
- skill/readio/references/cli.md
|
|
143
|
+
- tests/test_backend_config.py
|
|
144
|
+
- tests/test_backend_dispatch.py
|
|
145
|
+
- tests/test_backends.py
|
|
146
|
+
- tests/test_lexicon_catalog.py
|
|
147
|
+
- tests/test_lexicons_cli.py
|
|
148
|
+
stats:
|
|
149
|
+
files_changed: 0
|
|
150
|
+
insertions: 1508
|
|
151
|
+
deletions: 366
|
|
152
|
+
inspected: true
|
|
153
|
+
inspected_paths:
|
|
154
|
+
- readio/backends/base.py
|
|
155
|
+
- readio/backends/pykokoro.py
|
|
156
|
+
- readio/lexicons.py
|
|
157
|
+
- readio/cli.py
|
|
158
|
+
- tests/test_lexicon_catalog.py
|
|
159
|
+
- tests/test_lexicons_cli.py
|
|
160
|
+
observed_behavior:
|
|
161
|
+
Synthesis backend contracts and the PyKokoro adapter now expose
|
|
162
|
+
backend-neutral lexicon discovery, filtering, inspection, and runtime option plumbing.
|
|
163
|
+
public_impact: public
|
|
164
|
+
decision: accepted
|
|
165
|
+
stale: false
|
|
166
|
+
evidence_subject: "feat: lexicon command to view lexicons"
|
|
167
|
+
target_entry_id: entry-0003
|
|
168
|
+
notes: ""
|
|
169
|
+
- sha: 2c5e221eab0f4047a8157dcacb85e5d31c956d3a
|
|
170
|
+
source_ref: git:2c5e221eab0f4047a8157dcacb85e5d31c956d3a
|
|
171
|
+
short_sha: 2c5e221
|
|
172
|
+
changed_paths:
|
|
173
|
+
- README.md
|
|
174
|
+
- docs/index.md
|
|
175
|
+
- readio/audio.py
|
|
176
|
+
- readio/backends/base.py
|
|
177
|
+
- readio/backends/pykokoro.py
|
|
178
|
+
- readio/cli.py
|
|
179
|
+
- readio/lexicons.py
|
|
180
|
+
- readio/models.py
|
|
181
|
+
- readio/plan.py
|
|
182
|
+
- readio/reader.py
|
|
183
|
+
- readio/ssmd.py
|
|
184
|
+
- readio/synthesis.py
|
|
185
|
+
- readio/voices.py
|
|
186
|
+
- skill/readio/SKILL.md
|
|
187
|
+
- skill/readio/references/cli.md
|
|
188
|
+
- tests/test_backend_dispatch.py
|
|
189
|
+
- tests/test_lexicons_cli.py
|
|
190
|
+
- tests/test_voice_catalog.py
|
|
191
|
+
- tests/test_voices_cli.py
|
|
192
|
+
stats:
|
|
193
|
+
files_changed: 0
|
|
194
|
+
insertions: 128
|
|
195
|
+
deletions: 88
|
|
196
|
+
inspected: true
|
|
197
|
+
inspected_paths:
|
|
198
|
+
- readio/lexicons.py
|
|
199
|
+
- readio/voices.py
|
|
200
|
+
- readio/cli.py
|
|
201
|
+
- tests/test_lexicons_cli.py
|
|
202
|
+
- tests/test_voice_catalog.py
|
|
203
|
+
- tests/test_voices_cli.py
|
|
204
|
+
observed_behavior:
|
|
205
|
+
Lexicon listing remains usable without a language filter and
|
|
206
|
+
backend-aware voice and lexicon selection is formatted and validated consistently.
|
|
207
|
+
public_impact: public
|
|
208
|
+
decision: accepted
|
|
209
|
+
stale: false
|
|
210
|
+
evidence_subject: "fix: lexicons list"
|
|
211
|
+
target_entry_id: entry-0004
|
|
212
|
+
notes: ""
|
|
@@ -0,0 +1,46 @@
|
|
|
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.4
|
|
9
|
+
kind: added
|
|
10
|
+
summary:
|
|
11
|
+
Added explicit spaCy model tiers and configurable short-sentence synthesis
|
|
12
|
+
policies
|
|
13
|
+
status: accepted
|
|
14
|
+
audience: null
|
|
15
|
+
scopes: []
|
|
16
|
+
source_refs:
|
|
17
|
+
- git:4791e709a5f940404c7e40f04333f0996931453d
|
|
18
|
+
paths:
|
|
19
|
+
- .ledger/releaseledger/data/ledgers/main/events/events.jsonl
|
|
20
|
+
- .ledger/releaseledger/data/ledgers/main/releases/v0.2.3/entries/entry-0005.md
|
|
21
|
+
- .ledger/releaseledger/data/ledgers/main/releases/v0.2.3/release.md
|
|
22
|
+
- README.md
|
|
23
|
+
- docs/changelog.md
|
|
24
|
+
- docs/index.md
|
|
25
|
+
- readio/cli.py
|
|
26
|
+
- readio/config.py
|
|
27
|
+
- readio/plan.py
|
|
28
|
+
- readio/reader.py
|
|
29
|
+
- readio/synthesis.py
|
|
30
|
+
- skill/readio/references/cli.md
|
|
31
|
+
- skill/readio/references/troubleshooting.md
|
|
32
|
+
- tests/test_config.py
|
|
33
|
+
- tests/test_plan.py
|
|
34
|
+
- tests/test_plan_no_tts_load.py
|
|
35
|
+
- tests/test_reader_synthesis.py
|
|
36
|
+
- tests/test_render_from_plan.py
|
|
37
|
+
issues: []
|
|
38
|
+
prs: []
|
|
39
|
+
sources:
|
|
40
|
+
- git:4791e709a5f940404c7e40f04333f0996931453d
|
|
41
|
+
contributors:
|
|
42
|
+
- "@holgern"
|
|
43
|
+
breaking: false
|
|
44
|
+
internal: false
|
|
45
|
+
order: 1
|
|
46
|
+
---
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
---
|
|
2
|
+
schema_version: 2
|
|
3
|
+
object_type: release_entry
|
|
4
|
+
versioning:
|
|
5
|
+
schema_version: 1
|
|
6
|
+
revision: 1
|
|
7
|
+
entry_id: entry-0002
|
|
8
|
+
release_version: v0.2.4
|
|
9
|
+
kind: added
|
|
10
|
+
summary:
|
|
11
|
+
Added stable locale-number voice selectors with catalog discovery, filtering,
|
|
12
|
+
and selector-aware resolution
|
|
13
|
+
status: accepted
|
|
14
|
+
audience: null
|
|
15
|
+
scopes: []
|
|
16
|
+
source_refs:
|
|
17
|
+
- git:18d17658338164cf7a62f805eece4802de217394
|
|
18
|
+
paths:
|
|
19
|
+
- .github/workflows/codecov.yml
|
|
20
|
+
- .github/workflows/tests.yml
|
|
21
|
+
- README.md
|
|
22
|
+
- docs/index.md
|
|
23
|
+
- llm-guides/README.md
|
|
24
|
+
- llm-guides/ssmd/audio-drama.md
|
|
25
|
+
- llm-guides/ssmd/debate-pro-con.md
|
|
26
|
+
- llm-guides/ssmd/document-summary.md
|
|
27
|
+
- llm-guides/ssmd/dramatic-story.md
|
|
28
|
+
- llm-guides/ssmd/educational-explainer.md
|
|
29
|
+
- llm-guides/ssmd/funny-story.md
|
|
30
|
+
- llm-guides/ssmd/general-narration.md
|
|
31
|
+
- llm-guides/ssmd/guided-meditation.md
|
|
32
|
+
- llm-guides/ssmd/kids-story.md
|
|
33
|
+
- llm-guides/ssmd/language-learning.md
|
|
34
|
+
- llm-guides/ssmd/news-briefing.md
|
|
35
|
+
- llm-guides/ssmd/podcast-interview.md
|
|
36
|
+
- llm-guides/ssmd/podcast-roundtable.md
|
|
37
|
+
- llm-guides/ssmd/podcast-solo.md
|
|
38
|
+
- llm-guides/ssmd/quiz-trivia.md
|
|
39
|
+
- pyproject.toml
|
|
40
|
+
- readio/cli.py
|
|
41
|
+
- readio/config.py
|
|
42
|
+
- readio/models.py
|
|
43
|
+
- readio/plan.py
|
|
44
|
+
- readio/ssmd.py
|
|
45
|
+
- readio/synthesis.py
|
|
46
|
+
- readio/voices.py
|
|
47
|
+
- skill/readio/SKILL.md
|
|
48
|
+
- skill/readio/references/cli.md
|
|
49
|
+
- skill/readio/references/ssmd.md
|
|
50
|
+
- skill/readio/references/troubleshooting.md
|
|
51
|
+
- tests/test_llm_guides.py
|
|
52
|
+
- tests/test_packaging_metadata.py
|
|
53
|
+
- tests/test_pykokoro_09_contract.py
|
|
54
|
+
- tests/test_pykokoro_09_regressions.py
|
|
55
|
+
- tests/test_voice_catalog.py
|
|
56
|
+
- tests/test_voices_cli.py
|
|
57
|
+
issues: []
|
|
58
|
+
prs: []
|
|
59
|
+
sources:
|
|
60
|
+
- git:18d17658338164cf7a62f805eece4802de217394
|
|
61
|
+
contributors:
|
|
62
|
+
- "@holgern"
|
|
63
|
+
breaking: false
|
|
64
|
+
internal: false
|
|
65
|
+
order: 2
|
|
66
|
+
---
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
---
|
|
2
|
+
schema_version: 2
|
|
3
|
+
object_type: release_entry
|
|
4
|
+
versioning:
|
|
5
|
+
schema_version: 1
|
|
6
|
+
revision: 1
|
|
7
|
+
entry_id: entry-0003
|
|
8
|
+
release_version: v0.2.4
|
|
9
|
+
kind: added
|
|
10
|
+
summary:
|
|
11
|
+
Added backend-neutral lexicon discovery and CLI inspection with language,
|
|
12
|
+
model, and engine filters
|
|
13
|
+
status: accepted
|
|
14
|
+
audience: null
|
|
15
|
+
scopes: []
|
|
16
|
+
source_refs:
|
|
17
|
+
- git:5840ad53704ab4efd000346c048638c9b2271eb7
|
|
18
|
+
paths:
|
|
19
|
+
- README.md
|
|
20
|
+
- docs/index.md
|
|
21
|
+
- readio/audio.py
|
|
22
|
+
- readio/backends/__init__.py
|
|
23
|
+
- readio/backends/base.py
|
|
24
|
+
- readio/backends/pykokoro.py
|
|
25
|
+
- readio/backends/registry.py
|
|
26
|
+
- readio/cli.py
|
|
27
|
+
- readio/config.py
|
|
28
|
+
- readio/lexicons.py
|
|
29
|
+
- readio/models.py
|
|
30
|
+
- readio/plan.py
|
|
31
|
+
- readio/reader.py
|
|
32
|
+
- readio/ssmd.py
|
|
33
|
+
- readio/synthesis.py
|
|
34
|
+
- readio/voices.py
|
|
35
|
+
- skill/readio/SKILL.md
|
|
36
|
+
- skill/readio/references/cli.md
|
|
37
|
+
- tests/test_backend_config.py
|
|
38
|
+
- tests/test_backend_dispatch.py
|
|
39
|
+
- tests/test_backends.py
|
|
40
|
+
- tests/test_lexicon_catalog.py
|
|
41
|
+
- tests/test_lexicons_cli.py
|
|
42
|
+
issues: []
|
|
43
|
+
prs: []
|
|
44
|
+
sources:
|
|
45
|
+
- git:5840ad53704ab4efd000346c048638c9b2271eb7
|
|
46
|
+
contributors:
|
|
47
|
+
- "@holgern"
|
|
48
|
+
breaking: false
|
|
49
|
+
internal: false
|
|
50
|
+
order: 3
|
|
51
|
+
---
|