Skip to content

feat: update reporting process for qc reads and assembly pipelines#28

Draft
emilylm wants to merge 26 commits into
mainfrom
update-reporting-process
Draft

feat: update reporting process for qc reads and assembly pipelines#28
emilylm wants to merge 26 commits into
mainfrom
update-reporting-process

Conversation

@emilylm

@emilylm emilylm commented Jun 4, 2026

Copy link
Copy Markdown
Collaborator

📌 Summary

This PR updates the assembly reporting workflow to better match the current assembly pipeline process.

It introduces explicit assembly_run records for repo/commit-scoped pipeline invocations, links stage results to those runs, adds assembly-scoped QC read reporting, removes assembly-level status tracking, and aligns the QC-read model with the latest reporting contract by storing source_read_file_checksums and validating them against the experiment resolved from bpa_package_id.


🔄 Type of Change

  • 🐛 Bug fix (non-breaking change that fixes an issue)
  • ✨ New feature (non-breaking change that adds functionality)
  • 💥 Breaking change (fix or feature that would cause existing functionality to change)
  • 📚 Documentation update

🧩 Key Changes

  • Added assembly_run as the explicit pipeline invocation model (assembly_id + github_repo + git_commit) and linked assembly_stage_run records to assembly_run_id instead of directly to assembly_id.
  • Added assembly-scoped QC read reporting via POST /api/v1/assemblies/{assembly_id}/qc-reads/report, including qc_read_assembly, source_read_file_checksums, updated QC file classification, and ENA prepared payload generation.
  • Removed assembly.status, updated manifest retrieval behaviour, added forward migrations for the schema changes, and updated docs/tests/Postman examples to match the new API shape.

✅ Checklist

  • Tests are passing locally / in CI
  • New tests have been added for new or changed functionality
  • Self-review completed
  • Documentation updated (if needed)
  • No sensitive data or secrets included

🔍 Review Notes

  • This PR includes breaking API and schema changes:
    • stage-run routes are now nested under /assemblies/{assembly_id}/runs/{run_id}/stage-runs
    • QC reporting moved to the assembly-scoped route
    • assembly.status has been removed
    • QC provenance now uses source_read_file_checksums rather than source BPA resource IDs
  • Please review the Alembic migration chain closely, especially:
    • 0003_assembly_run_github
    • 0004_qc_reads_assembly_refs
    • 0005_remove_assembly_status
  • QC reporting now validates:
    • bpa_package_id resolves to an existing experiment
    • the resolved experiment belongs to the target assembly specimen lineage
    • the resolved experiment is present in the target assembly manifest inputs
    • each submitted source_read_file_checksums value matches a read.file_checksum for that experiment

📎 Related Issues / Tickets

  • Closes #
  • Related to #

@emilylm emilylm force-pushed the update-reporting-process branch from 8c91fe3 to c35022c Compare June 8, 2026 08:41
@emilylm emilylm marked this pull request as ready for review June 8, 2026 09:00
@emilylm emilylm marked this pull request as draft June 9, 2026 01:38
@emilylm emilylm closed this Jun 9, 2026
@emilylm emilylm deleted the update-reporting-process branch June 9, 2026 06:16
@emilylm emilylm restored the update-reporting-process branch June 9, 2026 06:18
@emilylm emilylm reopened this Jun 9, 2026
emilylm added 22 commits June 9, 2026 16:59
@emilylm emilylm force-pushed the update-reporting-process branch from c35022c to 4e6d791 Compare June 9, 2026 07:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant