StudyManifest v1 machine-readable examples¶
These ten sanitized JSON fixtures make representative complete-lifecycle
contract states and failures reviewable ahead of their owning roadmap slices. They are validated by
tests/docs/test_study_manifest_contract.py.
The implemented create/load slice also has a compact production recipe set in
study_manifest_core_examples.json.
tests/docs/test_study_manifest_core_examples.py runs every recipe through the
public creator/loader, so the emitted examples use the exact production
canonical bytes, identities, hashes, relative paths, and initial layout. The
recipes include empty, one-task, multi-task, relocated, duplicate-key,
future-schema, and task-ID-mismatch cases without committing large generated
trees or environment-specific resolved backend versions.
Each file is a documentation envelope with identity
vamos.study-contract-example version 1.0.0. The envelope is not a supported
persistence document. Its canonical_files array models a relocatable virtual
study tree: every entry contains a root-relative POSIX path, its JSON document,
and the exact byte length and SHA-256 of the sorted, compact, UTF-8 canonical
form. Every document also carries its semantic self-hash, calculated before the
integrity member is added.
Compact vamos.run-manifest entries intentionally omit RunManifest-owned
specifications and artifact bodies. Their fixture_compaction marker delegates
those details to the independently tested run-artifact
contract; the study examples exercise only the
frozen reference identity, path, byte, file-hash, and semantic-hash boundary.
Operational lock/lease paths, when relevant, appear separately and are not
canonical scientific files.
| Fixture | Contract state or failure |
|---|---|
01-empty-created.json |
Valid atomically created empty study. |
02-running.json |
Valid running task and attempt with an operational lease. |
03-succeeded.json |
Valid selected run and completed study. |
04-completed-with-failures.json |
Valid continue-policy terminal partial study. |
05-fail-fast-paused.json |
Valid failed task, pending task, and paused study. |
06-interrupted-attempt.json |
Valid reconciled interrupted attempt. |
07-retried-task.json |
Valid immutable failed attempt followed by success. |
08-relocated.json |
Valid completed tree whose IDs survive relocation. |
09-invalid-transition.json |
Valid completed tree plus a requested forbidden transition; expects exactly INVALID_STATE_TRANSITION. |
10-corrupt-run-reference.json |
One deliberately wrong referenced RunManifest file hash; expects exactly RUN_MANIFEST_HASH_MISMATCH. |
The invalid-transition fixture is structurally sound before its declared operation. The corrupt-reference fixture recomputes every surrounding document and inventory hash after inserting the one bad reference, so it cannot pass or fail for an incidental second reason.