phononsynth 0.1.0__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.
Files changed (67) hide show
  1. phononsynth-0.1.0/.codecrate.toml +24 -0
  2. phononsynth-0.1.0/.github/workflows/codecov.yml +35 -0
  3. phononsynth-0.1.0/.github/workflows/pre-commit.yml +23 -0
  4. phononsynth-0.1.0/.github/workflows/python-publish.yml +71 -0
  5. phononsynth-0.1.0/.github/workflows/tests.yml +43 -0
  6. phononsynth-0.1.0/.gitignore +222 -0
  7. phononsynth-0.1.0/.ledger/ledger.toml +24 -0
  8. phononsynth-0.1.0/.ledger/releaseledger/.ledger-project.toml +6 -0
  9. phononsynth-0.1.0/.ledger/releaseledger/config.toml +57 -0
  10. phononsynth-0.1.0/.ledger/releaseledger/data/.ledger-project.toml +6 -0
  11. phononsynth-0.1.0/.ledger/releaseledger/data/ledgers/main/events/events.jsonl +6 -0
  12. phononsynth-0.1.0/.ledger/releaseledger/data/ledgers/main/releases/v0.1.0/audit/commit-audit.yaml +171 -0
  13. phononsynth-0.1.0/.ledger/releaseledger/data/ledgers/main/releases/v0.1.0/entries/entry-0001.md +33 -0
  14. phononsynth-0.1.0/.ledger/releaseledger/data/ledgers/main/releases/v0.1.0/entries/entry-0002.md +33 -0
  15. phononsynth-0.1.0/.ledger/releaseledger/data/ledgers/main/releases/v0.1.0/entries/entry-0003.md +30 -0
  16. phononsynth-0.1.0/.ledger/releaseledger/data/ledgers/main/releases/v0.1.0/release.md +27 -0
  17. phononsynth-0.1.0/.ledger/releaseledger/work/v0.1.0/audit-decisions.yaml +68 -0
  18. phononsynth-0.1.0/.ledger/releaseledger/work/v0.1.0/audit.yaml +126 -0
  19. phononsynth-0.1.0/.ledger/releaseledger/work/v0.1.0/entries.yaml +61 -0
  20. phononsynth-0.1.0/.ledger/releaseledger/work/v0.1.0/evidence/66cf052.patch +1864 -0
  21. phononsynth-0.1.0/.ledger/releaseledger/work/v0.1.0/evidence/8f57be3.patch +1072 -0
  22. phononsynth-0.1.0/.ledger/releaseledger/work/v0.1.0/evidence/9fb09bf.patch +202 -0
  23. phononsynth-0.1.0/.ledger/releaseledger/work/v0.1.0/evidence/c86735e.patch +213 -0
  24. phononsynth-0.1.0/.ledger/releaseledger/work/v0.1.0/evidence/manifest.json +110 -0
  25. phononsynth-0.1.0/.ledger/releaseledger/work/v0.1.0/range.json +13 -0
  26. phononsynth-0.1.0/.ledger/releaseledger/write.lock +0 -0
  27. phononsynth-0.1.0/.ledger/taskledger/.ledger-project.toml +6 -0
  28. phononsynth-0.1.0/.ledger/taskledger/config.toml +7 -0
  29. phononsynth-0.1.0/.pre-commit-config.yaml +64 -0
  30. phononsynth-0.1.0/LICENSE +201 -0
  31. phononsynth-0.1.0/NOTICE.md +5 -0
  32. phononsynth-0.1.0/PKG-INFO +116 -0
  33. phononsynth-0.1.0/README.md +86 -0
  34. phononsynth-0.1.0/SOURCE_NOTES.md +11 -0
  35. phononsynth-0.1.0/docs/architecture.md +23 -0
  36. phononsynth-0.1.0/docs/changelog.md +14 -0
  37. phononsynth-0.1.0/examples/basic.py +5 -0
  38. phononsynth-0.1.0/phononsynth/__init__.py +54 -0
  39. phononsynth-0.1.0/phononsynth/__main__.py +85 -0
  40. phononsynth-0.1.0/phononsynth/_onnxvoice.py +280 -0
  41. phononsynth-0.1.0/phononsynth/_tokenizer.py +41 -0
  42. phononsynth-0.1.0/phononsynth/api_contract.py +23 -0
  43. phononsynth-0.1.0/phononsynth/config.py +69 -0
  44. phononsynth-0.1.0/phononsynth/discovery.py +178 -0
  45. phononsynth-0.1.0/phononsynth/errors.py +38 -0
  46. phononsynth-0.1.0/phononsynth/identity.py +20 -0
  47. phononsynth-0.1.0/phononsynth/py.typed +0 -0
  48. phononsynth-0.1.0/phononsynth/types.py +87 -0
  49. phononsynth-0.1.0/phononsynth/voice.py +408 -0
  50. phononsynth-0.1.0/phononsynth.egg-info/PKG-INFO +116 -0
  51. phononsynth-0.1.0/phononsynth.egg-info/SOURCES.txt +65 -0
  52. phononsynth-0.1.0/phononsynth.egg-info/dependency_links.txt +1 -0
  53. phononsynth-0.1.0/phononsynth.egg-info/entry_points.txt +2 -0
  54. phononsynth-0.1.0/phononsynth.egg-info/requires.txt +18 -0
  55. phononsynth-0.1.0/phononsynth.egg-info/scm_file_list.json +61 -0
  56. phononsynth-0.1.0/phononsynth.egg-info/scm_version.json +8 -0
  57. phononsynth-0.1.0/phononsynth.egg-info/top_level.txt +1 -0
  58. phononsynth-0.1.0/pyproject.toml +54 -0
  59. phononsynth-0.1.0/setup.cfg +4 -0
  60. phononsynth-0.1.0/tests/test_api.py +18 -0
  61. phononsynth-0.1.0/tests/test_config.py +23 -0
  62. phononsynth-0.1.0/tests/test_discovery.py +65 -0
  63. phononsynth-0.1.0/tests/test_local.py +120 -0
  64. phononsynth-0.1.0/tests/test_managed.py +70 -0
  65. phononsynth-0.1.0/tests/test_phonon_acceptance.py +75 -0
  66. phononsynth-0.1.0/tests/test_versioning.py +12 -0
  67. phononsynth-0.1.0/tests/test_voice.py +228 -0
@@ -0,0 +1,24 @@
1
+ [codecrate]
2
+ output = "context_phononsynth.md"
3
+ keep_docstrings = true
4
+ dedupe = true
5
+ respect_gitignore = true
6
+ exclude = ["*/.venv/*", "context_phononsynth.*"]
7
+ include = [
8
+ "**/*.py",
9
+ "**/*.json",
10
+ "**/*.toml",
11
+ "**/*.rst",
12
+ "**/*.md",
13
+ "**/*.yaml",
14
+ "**/*.yml",
15
+ "**/py.typed",
16
+ "**/NOTICE",
17
+ "**/NOTICE.*",
18
+ "**/MANIFEST.in",
19
+ "LICENSE*",
20
+ ]
21
+ split_max_chars = 2500000
22
+ layout = "full"
23
+ profile = "portable-agent"
24
+ emit_standalone_unpacker = true
@@ -0,0 +1,35 @@
1
+ name: Coverage
2
+
3
+ on:
4
+ push:
5
+ pull_request:
6
+
7
+ permissions:
8
+ contents: read
9
+
10
+ jobs:
11
+ coverage:
12
+ runs-on: ubuntu-latest
13
+ steps:
14
+ - uses: actions/checkout@v4
15
+ - name: Set up Python
16
+ uses: actions/setup-python@v5
17
+ with:
18
+ python-version: "3.12"
19
+ - name: Install dependencies
20
+ run: |
21
+ python -m pip install --upgrade pip
22
+ python -m pip install -e ".[dev]" pytest-cov
23
+ - name: Generate coverage report
24
+ run: >-
25
+ python -m pytest
26
+ --cov=phononsynth
27
+ --cov-branch
28
+ --cov-report=term-missing
29
+ --cov-report=xml
30
+ --cov-fail-under=70
31
+ - name: Upload to Codecov
32
+ uses: codecov/codecov-action@v5
33
+ with:
34
+ token: ${{ secrets.CODECOV_TOKEN }}
35
+ files: ./coverage.xml
@@ -0,0 +1,23 @@
1
+ name: Pre-commit
2
+
3
+ on:
4
+ push:
5
+ pull_request:
6
+
7
+ permissions:
8
+ contents: read
9
+
10
+ jobs:
11
+ pre-commit:
12
+ runs-on: ubuntu-latest
13
+ steps:
14
+ - uses: actions/checkout@v4
15
+ - name: Set up Python
16
+ uses: actions/setup-python@v5
17
+ with:
18
+ python-version: "3.13"
19
+ - name: Install project tools
20
+ run: |
21
+ python -m pip install --upgrade pip
22
+ python -m pip install -e ".[dev]"
23
+ - uses: pre-commit/action@v3.0.1
@@ -0,0 +1,71 @@
1
+ # Build and publish the Python package when a GitHub release is published.
2
+
3
+ name: Publish Python package
4
+
5
+ on:
6
+ release:
7
+ types: [published]
8
+
9
+ permissions:
10
+ contents: read
11
+
12
+ jobs:
13
+ deploy:
14
+ runs-on: ubuntu-latest
15
+ steps:
16
+ - uses: actions/checkout@v4
17
+ with:
18
+ fetch-depth: 0
19
+ - name: Set up Python
20
+ uses: actions/setup-python@v5
21
+ with:
22
+ python-version: "3.x"
23
+ - name: Resolve expected release version
24
+ shell: bash
25
+ run: |
26
+ tag="${{ github.event.release.tag_name }}"
27
+ if [[ "$tag" == v* ]]; then
28
+ tag="${tag#v}"
29
+ fi
30
+ echo "EXPECTED_VERSION=$tag" >> "$GITHUB_ENV"
31
+ - name: Install build and test tools
32
+ run: |
33
+ python -m pip install --upgrade pip
34
+ python -m pip install -e ".[dev]" pytest-cov twine
35
+ - name: Run the release quality gate
36
+ run: |
37
+ python -m pytest
38
+ python -m pytest \
39
+ --cov=phononsynth \
40
+ --cov-branch \
41
+ --cov-report=term-missing \
42
+ --cov-fail-under=70
43
+ python -m ruff check .
44
+ python -m ruff format --check .
45
+ - name: Build and validate distributions
46
+ run: |
47
+ rm -rf dist build
48
+ python -m build
49
+ python -m twine check dist/*
50
+ - name: Smoke test wheel in a clean environment
51
+ shell: bash
52
+ run: |
53
+ smoke_dir="$RUNNER_TEMP/phononsynth-release-smoke"
54
+ python -m venv "$smoke_dir/venv"
55
+ "$smoke_dir/venv/bin/python" -m pip install --upgrade pip
56
+ "$smoke_dir/venv/bin/python" -m pip install dist/*.whl
57
+ "$smoke_dir/venv/bin/python" - <<'PY'
58
+ import os
59
+ from importlib.metadata import version
60
+
61
+ expected = os.environ["EXPECTED_VERSION"]
62
+ actual = version("phononsynth")
63
+ assert actual == expected and actual != "0+unknown", (expected, actual)
64
+ print(actual)
65
+ PY
66
+ "$smoke_dir/venv/bin/phononsynth" --help
67
+ - name: Publish package
68
+ uses: pypa/gh-action-pypi-publish@v1.13.0
69
+ with:
70
+ user: __token__
71
+ password: ${{ secrets.PYPI_API_TOKEN }}
@@ -0,0 +1,43 @@
1
+ name: Tests
2
+
3
+ on:
4
+ push:
5
+ pull_request:
6
+
7
+ permissions:
8
+ contents: read
9
+
10
+ jobs:
11
+ test:
12
+ runs-on: ${{ matrix.os }}
13
+ strategy:
14
+ fail-fast: false
15
+ matrix:
16
+ os: [ubuntu-latest, windows-latest, macos-latest]
17
+ python-version: ["3.10", "3.11", "3.12", "3.13"]
18
+ steps:
19
+ - uses: actions/checkout@v4
20
+ - name: Set up Python
21
+ uses: actions/setup-python@v5
22
+ with:
23
+ python-version: ${{ matrix.python-version }}
24
+ - name: Install package and development tools
25
+ run: |
26
+ python -m pip install --upgrade pip
27
+ python -m pip install -e ".[dev]"
28
+ - name: Build distribution
29
+ run: python -m build
30
+ - name: Run tests
31
+ if: runner.os != 'Windows'
32
+ run: python -m pytest
33
+ - name: Run tests on Windows
34
+ if: runner.os == 'Windows'
35
+ timeout-minutes: 60
36
+ env:
37
+ PYTHONFAULTHANDLER: "1"
38
+ run: python -X faulthandler -m pytest -vv
39
+ - name: Run quality checks
40
+ if: runner.os == 'Linux' && matrix.python-version == '3.10'
41
+ run: |
42
+ python -m ruff check .
43
+ python -m ruff format --check .
@@ -0,0 +1,222 @@
1
+ # Byte-compiled / optimized / DLL files
2
+ __pycache__/
3
+ *.py[codz]
4
+ *$py.class
5
+
6
+ # C extensions
7
+ *.so
8
+
9
+ # Distribution / packaging
10
+ .Python
11
+ build/
12
+ develop-eggs/
13
+ dist/
14
+ downloads/
15
+ eggs/
16
+ .eggs/
17
+ lib/
18
+ lib64/
19
+ parts/
20
+ sdist/
21
+ var/
22
+ wheels/
23
+ share/python-wheels/
24
+ *.egg-info/
25
+ .installed.cfg
26
+ *.egg
27
+ MANIFEST
28
+
29
+ # PyInstaller
30
+ # Usually these files are written by a python script from a template
31
+ # before PyInstaller builds the exe, so as to inject date/other infos into it.
32
+ *.manifest
33
+ *.spec
34
+
35
+ # Installer logs
36
+ pip-log.txt
37
+ pip-delete-this-directory.txt
38
+
39
+ # Unit test / coverage reports
40
+ htmlcov/
41
+ .tox/
42
+ .nox/
43
+ .coverage
44
+ .coverage.*
45
+ .cache
46
+ nosetests.xml
47
+ coverage.xml
48
+ *.cover
49
+ *.py.cover
50
+ *.lcov
51
+ .hypothesis/
52
+ .pytest_cache/
53
+ cover/
54
+
55
+ # Translations
56
+ *.mo
57
+ *.pot
58
+
59
+ # Django stuff:
60
+ *.log
61
+ local_settings.py
62
+ db.sqlite3
63
+ db.sqlite3-journal
64
+
65
+ # Flask stuff:
66
+ instance/
67
+ .webassets-cache
68
+
69
+ # Scrapy stuff:
70
+ .scrapy
71
+
72
+ # Sphinx documentation
73
+ docs/_build/
74
+
75
+ # PyBuilder
76
+ .pybuilder/
77
+ target/
78
+
79
+ # Jupyter Notebook
80
+ .ipynb_checkpoints
81
+
82
+ # IPython
83
+ profile_default/
84
+ ipython_config.py
85
+
86
+ # pyenv
87
+ # For a library or package, you might want to ignore these files since the code is
88
+ # intended to run in multiple environments; otherwise, check them in:
89
+ # .python-version
90
+
91
+ # pipenv
92
+ # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
93
+ # However, in case of collaboration, if having platform-specific dependencies or dependencies
94
+ # having no cross-platform support, pipenv may install dependencies that don't work, or not
95
+ # install all needed dependencies.
96
+ # Pipfile.lock
97
+
98
+ # uv
99
+ # Similar to Pipfile.lock, it is generally recommended to include uv.lock in version control.
100
+ # This is especially recommended for binary packages to ensure reproducibility, and is more
101
+ # commonly ignored for libraries.
102
+ # uv.lock
103
+
104
+ # poetry
105
+ # Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
106
+ # This is especially recommended for binary packages to ensure reproducibility, and is more
107
+ # commonly ignored for libraries.
108
+ # https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
109
+ # poetry.lock
110
+ # poetry.toml
111
+
112
+ # pdm
113
+ # Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
114
+ # pdm recommends including project-wide configuration in pdm.toml, but excluding .pdm-python.
115
+ # https://pdm-project.org/en/latest/usage/project/#working-with-version-control
116
+ # pdm.lock
117
+ # pdm.toml
118
+ .pdm-python
119
+ .pdm-build/
120
+
121
+ # pixi
122
+ # Similar to Pipfile.lock, it is generally recommended to include pixi.lock in version control.
123
+ # pixi.lock
124
+ # Pixi creates a virtual environment in the .pixi directory, just like venv module creates one
125
+ # in the .venv directory. It is recommended not to include this directory in version control.
126
+ .pixi/*
127
+ !.pixi/config.toml
128
+
129
+ # PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
130
+ __pypackages__/
131
+
132
+ # Celery stuff
133
+ celerybeat-schedule*
134
+ celerybeat.pid
135
+
136
+ # Redis
137
+ *.rdb
138
+ *.aof
139
+ *.pid
140
+
141
+ # RabbitMQ
142
+ mnesia/
143
+ rabbitmq/
144
+ rabbitmq-data/
145
+
146
+ # ActiveMQ
147
+ activemq-data/
148
+
149
+ # SageMath parsed files
150
+ *.sage.py
151
+
152
+ # Environments
153
+ .env
154
+ .envrc
155
+ .venv
156
+ env/
157
+ venv/
158
+ ENV/
159
+ env.bak/
160
+ venv.bak/
161
+
162
+ # Spyder project settings
163
+ .spyderproject
164
+ .spyproject
165
+
166
+ # Rope project settings
167
+ .ropeproject
168
+
169
+ # mkdocs/Zensical documentation
170
+ /site
171
+
172
+ # mypy
173
+ .mypy_cache/
174
+ .dmypy.json
175
+ dmypy.json
176
+
177
+ # Pyre type checker
178
+ .pyre/
179
+
180
+ # pytype static type analyzer
181
+ .pytype/
182
+
183
+ # Cython debug symbols
184
+ cython_debug/
185
+
186
+ # PyCharm
187
+ # JetBrains specific template is maintained in a separate JetBrains.gitignore that can
188
+ # be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
189
+ # and can be added to the global gitignore or merged into this file. For a more nuclear
190
+ # option (not recommended) you can uncomment the following to ignore the entire idea folder.
191
+ # .idea/
192
+
193
+ # Abstra
194
+ # Abstra is an AI-powered process automation framework.
195
+ # Ignore directories containing user credentials, local state, and settings.
196
+ # Learn more at https://abstra.io/docs
197
+ .abstra/
198
+
199
+ # Visual Studio Code
200
+ # Visual Studio Code specific template is maintained in a separate VisualStudioCode.gitignore that
201
+ # can be found at https://github.com/github/gitignore/blob/main/Global/VisualStudioCode.gitignore
202
+ # and can be added to the global gitignore or merged into this file. However, if you prefer, you
203
+ # could uncomment the following to ignore the entire vscode folder
204
+ # .vscode/
205
+ # Temporary file for partial code execution
206
+ tempCodeRunnerFile.py
207
+
208
+ # Ruff stuff:
209
+ .ruff_cache/
210
+
211
+ # PyPI configuration file
212
+ .pypirc
213
+
214
+ # Marimo
215
+ marimo/_static/
216
+ marimo/_lsp/
217
+ __marimo__/
218
+
219
+ # Streamlit
220
+ .streamlit/secrets.toml
221
+ phononsynth/_version.py
222
+ context_phononsynth*.*
@@ -0,0 +1,24 @@
1
+ schema_version = 3
2
+
3
+ [project]
4
+ uuid = "390e08f9-aa71-4e9b-b2fc-6b3f1cf3d22f"
5
+ name = "phononsynth"
6
+
7
+ [ledgers.taskledger.mounts.data]
8
+ storage = "external"
9
+ root = "../ledger"
10
+
11
+ [ledgers.taskledger.mounts.runtime]
12
+ storage = "user-data"
13
+
14
+ [ledgers.taskledger.mounts.logs]
15
+ storage = "user-data"
16
+
17
+ [ledgers.taskledger.mounts.indexes]
18
+ storage = "cache"
19
+
20
+ [ledgers.releaseledger.mounts.data]
21
+ storage = "project"
22
+
23
+ [ledgers.releaseledger.mounts.indexes]
24
+ storage = "cache"
@@ -0,0 +1,6 @@
1
+ schema_version = 1
2
+ layout_version = 3
3
+ project_uuid = "390e08f9-aa71-4e9b-b2fc-6b3f1cf3d22f"
4
+ tool = "releaseledger"
5
+ mount = "config"
6
+ storage = "project"
@@ -0,0 +1,57 @@
1
+ config_version = 2
2
+ # Branch-scoped release state. This block is safe to commit.
3
+ ledger_ref = "main"
4
+ ledger_parent_ref = ""
5
+ ledger_branch_guard = "off"
6
+ # Cross-ledger identity. Local record IDs stay unchanged.
7
+
8
+ [ledger]
9
+ code = "rl"
10
+ # Release defaults.
11
+
12
+ [release]
13
+ default_changelog = "CHANGELOG.md"
14
+ default_status = "planned"
15
+ allow_dirty_worktree = true
16
+ # Changelog build defaults.
17
+
18
+ [changelog]
19
+ output = "docs/changelog.md"
20
+ header = ""
21
+ body = """## {% if release.date %}[{{ release.version }}] - {{ release.date }}{% else %}[{{ release.version }}] - Unreleased{% endif %}
22
+
23
+ {% for group in groups %}
24
+ ### {{ group.title }}
25
+ {% for entry in group.entries %}
26
+ - {% if entry.breaking %}**BREAKING:** {% endif %}{{ entry.summary }}
27
+ {% endfor %}
28
+
29
+ {% endfor %}
30
+ """
31
+ footer = "<!-- generated by releaseledger -->"
32
+ trim = true
33
+ render_always = false
34
+ postprocessors = []
35
+ standard = ""
36
+ group_mode = "extended"
37
+ link_references = false
38
+ repository_url = ""
39
+ tag_prefix = "v"
40
+ compare_url_template = ""
41
+ release_url_template = ""
42
+ preamble = ""
43
+ semver = false
44
+ unreleased = true
45
+ # Git-first release evidence.
46
+
47
+ [git]
48
+ enabled = true
49
+ tag_creation = "local"
50
+ default_base = "previous_release_tag"
51
+ default_head = "HEAD"
52
+ previous_tag_patterns = ["v{version}", "{version}"]
53
+ include_merges = "nontrivial"
54
+ require_clean_worktree = false
55
+ max_commits = 500
56
+ max_diff_chars_per_commit = 12000
57
+ candidate_status = "draft"
@@ -0,0 +1,6 @@
1
+ schema_version = 1
2
+ layout_version = 3
3
+ project_uuid = "390e08f9-aa71-4e9b-b2fc-6b3f1cf3d22f"
4
+ tool = "releaseledger"
5
+ mount = "data"
6
+ storage = "project"
@@ -0,0 +1,6 @@
1
+ {"data":{"status":"planned"},"event":"release.created","event_id":"event-0001","record_revisions":{"release:v0.1.0":1},"release_version":"v0.1.0","schema_version":2}
2
+ {"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-0002","record_revisions":{"release:v0.1.0":2},"release_version":"v0.1.0","schema_version":2}
3
+ {"data":{"row_count":4},"event":"audit.created","event_id":"event-0003","record_revisions":{"commit_audit_sheet":1},"release_version":"v0.1.0","schema_version":2}
4
+ {"data":{"updated_rows":4},"event":"audit.updated","event_id":"event-0004","record_revisions":{"commit_audit_sheet":2},"release_version":"v0.1.0","schema_version":2}
5
+ {"data":{"entry_ids":["entry-0001","entry-0002","entry-0003"],"synced_audit_rows":3},"event":"entry.batch_added","event_id":"event-0005","record_revisions":{"commit_audit_sheet":3,"entry:v0.1.0/entry-0001":1,"entry:v0.1.0/entry-0002":1,"entry:v0.1.0/entry-0003":1,"release:v0.1.0":3},"release_version":"v0.1.0","schema_version":2}
6
+ {"data":{"released_at":"2026-11-03"},"event":"release.finalized","event_id":"event-0006","record_revisions":{"release:v0.1.0":4},"release_version":"v0.1.0","schema_version":2}
@@ -0,0 +1,171 @@
1
+ schema_version: 1
2
+ object_type: commit_audit_sheet
3
+ versioning:
4
+ schema_version: 1
5
+ revision: 3
6
+ release_version: v0.1.0
7
+ git_base_ref: b017615
8
+ git_base_sha: b0176154de751b99430065308b5556aa66beb472
9
+ git_head_ref: HEAD
10
+ git_head_sha: c86735ecf7618c82d89e7d4415b02c2112d4e263
11
+ git_range: b0176154de751b99430065308b5556aa66beb472..c86735ecf7618c82d89e7d4415b02c2112d4e263
12
+ commit_count: 4
13
+ rows:
14
+ - sha: 66cf052fb4b264f563e8c13c4a04d6f3447b9a5b
15
+ source_ref: git:66cf052fb4b264f563e8c13c4a04d6f3447b9a5b
16
+ short_sha: 66cf052
17
+ changed_paths:
18
+ - .codecrate.toml
19
+ - .gitignore
20
+ - .ledger/ledger.toml
21
+ - .ledger/releaseledger/.ledger-project.toml
22
+ - .ledger/releaseledger/config.toml
23
+ - .ledger/releaseledger/data/.ledger-project.toml
24
+ - .ledger/taskledger/.ledger-project.toml
25
+ - .ledger/taskledger/config.toml
26
+ - .pre-commit-config.yaml
27
+ - NOTICE.md
28
+ - README.md
29
+ - SOURCE_NOTES.md
30
+ - docs/architecture.md
31
+ - examples/basic.py
32
+ - phononsynth/__init__.py
33
+ - phononsynth/__main__.py
34
+ - phononsynth/_onnxvoice.py
35
+ - phononsynth/_tokenizer.py
36
+ - phononsynth/api_contract.py
37
+ - phononsynth/config.py
38
+ - phononsynth/discovery.py
39
+ - phononsynth/errors.py
40
+ - phononsynth/identity.py
41
+ - phononsynth/py.typed
42
+ - phononsynth/types.py
43
+ - phononsynth/voice.py
44
+ - pyproject.toml
45
+ - tests/test_api.py
46
+ - tests/test_config.py
47
+ - tests/test_local.py
48
+ - tests/test_voice.py
49
+ stats:
50
+ files_changed: 31
51
+ insertions: 1645
52
+ deletions: 1
53
+ inspected: true
54
+ inspected_paths:
55
+ - README.md
56
+ - docs/architecture.md
57
+ - examples/basic.py
58
+ - phononsynth/__init__.py
59
+ - phononsynth/__main__.py
60
+ - phononsynth/_onnxvoice.py
61
+ - phononsynth/discovery.py
62
+ - phononsynth/voice.py
63
+ observed_behavior:
64
+ Added Python and command-line interfaces for Phonon synthesis,
65
+ including catalog discovery, managed and local models, streaming, and WAV output
66
+ public_impact: public
67
+ decision: accepted
68
+ stale: false
69
+ evidence_subject: "feat: initial version"
70
+ target_entry_id: entry-0001
71
+ notes: ""
72
+ - sha: 8f57be3ebbb78ee45d1e2c10b7df3b1749c51998
73
+ source_ref: git:8f57be3ebbb78ee45d1e2c10b7df3b1749c51998
74
+ short_sha: 8f57be3
75
+ changed_paths:
76
+ - README.md
77
+ - phononsynth/__main__.py
78
+ - phononsynth/_onnxvoice.py
79
+ - phononsynth/discovery.py
80
+ - phononsynth/errors.py
81
+ - phononsynth/voice.py
82
+ - pyproject.toml
83
+ - tests/test_discovery.py
84
+ - tests/test_local.py
85
+ - tests/test_managed.py
86
+ - tests/test_phonon_acceptance.py
87
+ - tests/test_versioning.py
88
+ - tests/test_voice.py
89
+ stats:
90
+ files_changed: 13
91
+ insertions: 639
92
+ deletions: 105
93
+ inspected: true
94
+ inspected_paths:
95
+ - README.md
96
+ - phononsynth/_onnxvoice.py
97
+ - phononsynth/discovery.py
98
+ - phononsynth/errors.py
99
+ - phononsynth/voice.py
100
+ - pyproject.toml
101
+ - tests/test_discovery.py
102
+ - tests/test_local.py
103
+ - tests/test_managed.py
104
+ - tests/test_voice.py
105
+ observed_behavior:
106
+ Added catalog-provided release and source provenance, accepted
107
+ live quality profiles, validated local voice declarations, and aligned calls with
108
+ the current OnnxVoice Phonon contract
109
+ public_impact: public
110
+ decision: accepted
111
+ stale: false
112
+ evidence_subject: "feat: prepare first release"
113
+ target_entry_id: entry-0002
114
+ notes: ""
115
+ - sha: 9fb09bf337ed0748796143a95a87b6b5aaff3700
116
+ source_ref: git:9fb09bf337ed0748796143a95a87b6b5aaff3700
117
+ short_sha: 9fb09bf
118
+ changed_paths:
119
+ - .github/workflows/codecov.yml
120
+ - .github/workflows/pre-commit.yml
121
+ - .github/workflows/python-publish.yml
122
+ - .github/workflows/tests.yml
123
+ stats:
124
+ files_changed: 4
125
+ insertions: 172
126
+ deletions: 0
127
+ inspected: true
128
+ inspected_paths:
129
+ - .github/workflows/codecov.yml
130
+ - .github/workflows/pre-commit.yml
131
+ - .github/workflows/python-publish.yml
132
+ - .github/workflows/tests.yml
133
+ observed_behavior:
134
+ Added automated cross-platform tests, coverage and lint checks,
135
+ and package publishing on GitHub release publication
136
+ public_impact: internal
137
+ decision: internal
138
+ stale: false
139
+ evidence_subject: "chore: ci"
140
+ notes:
141
+ CI and package release automation do not directly change user-facing product
142
+ behavior
143
+ - sha: c86735ecf7618c82d89e7d4415b02c2112d4e263
144
+ source_ref: git:c86735ecf7618c82d89e7d4415b02c2112d4e263
145
+ short_sha: c86735e
146
+ changed_paths:
147
+ - README.md
148
+ - docs/architecture.md
149
+ - phononsynth/config.py
150
+ - phononsynth/voice.py
151
+ - tests/test_voice.py
152
+ stats:
153
+ files_changed: 5
154
+ insertions: 102
155
+ deletions: 7
156
+ inspected: true
157
+ inspected_paths:
158
+ - README.md
159
+ - docs/architecture.md
160
+ - phononsynth/config.py
161
+ - phononsynth/voice.py
162
+ - tests/test_voice.py
163
+ observed_behavior:
164
+ Uses declared bundle generation defaults when available and Phonon-compatible
165
+ fallbacks for omitted controls
166
+ public_impact: public
167
+ decision: accepted
168
+ stale: false
169
+ evidence_subject: "feat: fix voice"
170
+ target_entry_id: entry-0003
171
+ notes: ""