Cleanup
This commit is contained in:
@@ -1,31 +1,13 @@
|
||||
# Independent-input and reproducibility evidence
|
||||
# Independent inputs
|
||||
|
||||
The normal dependency is `original source → immutable SourceAnalysis → generate_role(role, settings, data) → assembly`. No pairwise winner selection, generated foreground prediction, responsive comping or other-role grip reuse was introduced. Acoustic/electric accompaniment remains canonical by source form position. Source-defined windows suppress a guitar's accompaniment while that same guitar solos and protect the returning vocal pickup before construction.
|
||||
The preserved contract is `original source + relevant data + own role/settings + algorithm → part`. Six roles use a bounded spawn-process pool, normally two workers. No pairwise selection, generated-solo-responsive comping or other-role grip reuse exists in the active path.
|
||||
|
||||
`generator.input_audit.composition` installs a scoped Python audit hook. Composition reads are restricted to production data, generator code, Python runtime and that role's cache directory. Read/write handles do not bypass the rule. Reads of optional references, audition snapshots, previously published scores or another role's concrete cache are rejected. Original source content is supplied explicitly as immutable canonical analysis, before this scope. Rendering/assembly legitimately consume finished assets outside the scope.
|
||||
The scoped `input_audit.composition` guard checks actual reads. References, previous output and other-role concrete caches are prohibited composition inputs. Source analysis is supplied explicitly; assembly/rendering legitimately consume finished roles afterward.
|
||||
|
||||
This is an internal dependency guard, not a hostile-code security sandbox. Provenance review is still needed: a runtime deletion test alone would not detect target-derived material already copied into production data. All newly authored rules were reviewed as general operations; no target score contents were consulted during production authoring.
|
||||
New per-Harmony caches include exact timing/pitches/roles, continuation, profile, fixed endpoints, obligations and ending constraints. Only caller IDs/provenance are normalized for reuse, then restored. Focused tests compare uncached/cached proposals and complete routes. Pure rhythm validity and fret-position feasibility use bounded memoization.
|
||||
|
||||
Command actually run through the repository Python runner:
|
||||
The optional dependency command tests all six roles alone, reversed, cold/warm, in two processes, with invalid targets present/deleted, and after an electric-only setting change. Actual reads and document hashes accompany equality assertions. This is a one-bar independent fixture with real catalogs, not a whole-song quality test.
|
||||
|
||||
```
|
||||
-m audition.dependency_check --output build/composer_repair/405066e/dependency
|
||||
```
|
||||
Current evidence lives in `build/solo_reference_comparison/dependency/`. The implementation report lists actual completed checks. Full output traces live in `generated_assets/analysis/*.roles`.
|
||||
|
||||
`dependency/dependency.json` records actual read paths and canonical hashes for six roles using an independently authored one-bar C7 source and **real production catalogs**. All roles matched across standalone cold builds, reversed warm builds, reversed two-process cold builds, deliberately invalid optional target files present, targets deleted, and generation after an electric-only setting change. This is a dependency test, not a claim of whole-chorus artistic equivalence.
|
||||
|
||||
| Role | Stable document SHA-256 |
|
||||
|---|---|
|
||||
| Acoustic accompaniment | `2c3cc9efe4c6fbe7c1f8206d57e7f7d3a66bdadc9dbc2c657ea3d2d600425741` |
|
||||
| Electric accompaniment | `b89eedfd82fcfe83475c13cdf461c7123a8c99137bb0452875e3d2509267e183` |
|
||||
| Electric melody | `b8d18ef6fd65b204bd2fc2b69e660068890cb30aea6db827c3f3b506284ea2a1` |
|
||||
| Vocal melody | `e3348117b9c63771cfa0439f276bdadf0d26dd6e560c9676c97e12a4a713737b` |
|
||||
| Acoustic solo | `2d91f4f14615f6aa65c8f46ff0c8d858da1e808d8d132723c37342c20ea13e5b` |
|
||||
| Electric solo | `78640b8c8776735638141f1d34cf820a737b2891cae4c4529b6907a448c272f3` |
|
||||
|
||||
Required tests also check irrelevant title/export-ID changes, changed original melody under unchanged harmony, unrelated song addition, role-specific settings, tuplets through assembly, and cache digest validation. Optional reference adapters remain under `audition/`; production rejects supplied reference objects. Performance measurements and observed read lists are excluded from stable asset reports, so timing variation does not make otherwise equal assets differ.
|
||||
|
||||
Cache identity covers source semantics/notation, relevant role data, shared musical resources, role settings, algorithm version and relevant code. Code edits can invalidate caches; instrumentation does not intentionally alter musical choice seeds. Concrete route caches retain sounding timing/endpoints/collection context, and phrase caches retain incoming history and theme. Process completion order only determines reporting order, never a musical winner.
|
||||
|
||||
|
||||
Full-song cold/warm evidence: the isolated warm two-process rebuild of both current songs matched **all twelve complete role documents and stable reports**, plus all four exported solo XML files, against the staged build with cold solo caches. [The proof and per-role hashes](../../build/composer_repair/405066e/warm-equivalence.json) record 12.045 seconds and twelve cache hits. The separate four-bar cold/profiled/warm role runs also match one canonical document hash; see [isolated role evidence](../../build/composer_repair/405066e/isolated-role-proof.json). These checks supplement the role-order/parallel/reference-presence exercise; the full-song warm check by itself does not exercise every role-order permutation cold.
|
||||
References informed general rule reasoning under the current authorization, but production never reads them. A deletion test cannot detect an embedded phrase bank; provenance and the small explicit resource diff supply that separate check.
|
||||
|
||||
Reference in New Issue
Block a user