| name | vocal2midi-rs-dep-bootstrap |
| description | Prepare dependency, asset, tensor-interface, seam, and rollback evidence for one named Vocal2Midi Linux model unit under the py2rs control plane. |
Vocal2Midi Model Dependency Bootstrap
Prepare exactly one unit in exactly one named model manifest. This is a
prompt-mode decision skill: it explains capability and seam choices, while
repository scripts validate deterministic structure.
Required Context
Read:
rewrite-in-rust/models/control-plane.yaml;
- the selected model manifest only;
rewrite-in-rust/models/README.md, resources.md, notes.md, and glossary;
- the unit's Python entrypoint, tests, assets, existing dependency record,
bootstrap note, and historical records;
pyproject.toml, Rust manifests, lockfiles, and vendored source indexes as
relevant to the selected capability.
Do not read the closed backend manifest or other model manifests.
Dependency Gate
The unit must record dependency_recon before writer work:
agent: run fresh-context py2rs-crate-recon for each observable capability;
manual: require user-supplied registry, feature, dependency-path, and
rejection evidence;
disabled: require the explicit risk acknowledgement in notes.md.
Check rewrite-in-rust/dependencies/shared-dependencies.yaml before adding or
hand-writing a shared capability. A blocked canonical path stops dependent
implementation; do not create a second copy under /tmp, an agent directory,
or another model shard.
Use the standard ladder: direct crate coverage when fixtures prove it,
partial coverage plus a semantic-delta adapter when the Python source explains
the gap, and narrow hand-written Rust only for uncovered or safer bounded
behavior. Record why a full hand-written replacement is smaller or safer.
Model Evidence
For model_evidence units, prove:
- exact asset provenance, format, config, tokenizer, and license metadata;
- import/load success and every accepted tensor name, rank, shape, and dtype;
- representative empty/short/batched input handling where applicable;
- structured load and execution errors;
- cancellation, repeated calls, cleanup, and resource lifecycle;
- production handoff and legacy rollback.
Do not create model-output value-parity fixtures for the explicit same-weights
exception. This does not exempt preprocessing, adapters, public payloads,
errors, lifecycle, or routing units from exact legacy-seam evidence.
Re-cut Rules
Split or defer the selected unit when it mixes separately verifiable
capabilities, lacks a stable public seam, needs an unowned shared data
structure, or has no rollback route. Keep the selected model's other shards
untouched.
Durable Output
Update only the selected manifest and its unit-scoped dependency/bootstrap
artifacts when implementation work is authorized. Record:
- capability list and source paths;
- applied rewrite profile and deviations;
- crate-recon report/status;
- canonical shared dependency ids and owners;
- asset/tensor/seam smoke commands;
- behavior-verification mode and observations;
- inventory impact (
confirmed, split, merged, deferred, or replaced);
- rollback route and concrete blockers.
Do not mark a unit reimplemented or verified here. The writer owns
implementation state; independent review owns verification.
Checks
uv run python scripts/check_model_manifests.py
Run focused import/load and tensor-interface checks only when their canonical
Rust source exists. If Cargo metadata fails because the declared shared model
foundation is absent, report that blocker without changing Cargo files.
Completion Response
Name the selected model/unit, capability decisions, recon mode/report, shared
dependency status, seam, evidence commands, inventory impact, blockers, and
rollback route.