Add reproducible assay handoff bundles - #75
Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: e35776b706
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| { | ||
| "role": role, | ||
| "declared_path": declared, | ||
| "sha256": _sha256_file(path), |
There was a problem hiding this comment.
Record input hashes during the assay run
If a target table or FASTQ is replaced or edited between assay run and assay handoff, this hashes the post-run bytes and records them as the declared inputs even though the copied counts and reports were produced from the earlier bytes. The resulting bundle looks internally valid but cannot establish which data produced the results; capture the hashes in the run manifest and have handoff reuse or verify those run-time hashes.
Useful? React with 👍 / 👎.
| "counts", | ||
| "sample_qc", | ||
| "summary", |
There was a problem hiding this comment.
Include pair-count artifacts in handoff bundles
For mode = "pair-count", _compile_pair registers the primary artifacts under pair_counts and pair_summary, but this allowlist only looks for counts and summary. Consequently a successful pair-count handoff silently omits both pair_counts.tsv and pair_summary.json from review/ and review_files, leaving the review bundle without its primary result.
Useful? React with 👍 / 👎.
Summary
Adds
dotmatch assay handoff assay.tomlfor completed AssaySpec runs. The command creates a review-sized bundle containing configuration, reports, QC outputs, methods, citation material, and SHA-256 records for declared inputs and copied outputs. It deliberately excludes raw FASTQ files.Adds a lab evaluation guide and documents the command from the README, getting-started path, first-run tutorial, AssaySpec reference, and command reference.
The package verifier now exercises the handoff command from clean sdist and wheel installs and verifies each copied review-file checksum.
Validation
PYTHONPATH=python python3 -m pytest python/tests/test_assayspec.py python/tests/test_public_language_guardrail.py -q(69 passed)make repository-readymake python-package-testgit diff --check