feat(grzctl): Introduce "backfill" command to re-read metadata from the archive#559
Merged
Conversation
tedil
requested changes
May 7, 2026
tedil
reviewed
May 8, 2026
tedil
reviewed
May 8, 2026
virag-compbio
pushed a commit
that referenced
this pull request
May 11, 2026
…he archive (#559) Co-authored-by: Till Hartmann <till.hartmann@bih-charite.de>
github-merge-queue Bot
pushed a commit
that referenced
this pull request
May 12, 2026
## grz-tools release (2026-05-11) This release updates multiple packages in the `grz-tools` monorepo. See the full changelog and per-package details linked below. ### Versions - `grzctl` `2.0.0` (from `1.4.0`) - `grz-db` `2.0.0` (from `1.2.0`) - `grz-common` `2.0.0` (from `1.6.1`) - `grz-cli` `1.6.0` (from `1.5.1`) - `grz-pydantic-models` `2.6.0` (from `2.5.0`) - `grz-check` `0.3.0` (from `0.2.1`) --- ##⚠️ Breaking / behavior changes - `grzctl` now automatically updates submission state in the DB on subcommand invocation (default `--update-db`; use `--no-update-db` to disable). The DB state enum adds `REPORTING`. (#501) - `grzctl pruefbericht submit` now requires `--submission-id` so the submission can be updated consistently in the DB. (#525) - `grz-cli` enforces a version policy via S3 `version.json` for `upload` / `submit` operations. (#477) - Added `selected_for_qc` column and QC workflow version recording; tools now require/record QC workflow version and log `grzctl` runtime version. (#531, #561) - `grzctl db submission populate-qc` now requires `--qc-workflow-version` (or `GRZCTL_QC_WORKFLOW_VERSION`) to be provided so the QC workflow version can be recorded in the DB. (#561) - `grzctl` introduces `backfill` to re-read metadata from archives and other state/reporting improvements (impacting automation that reads/writes the submission DB). (#559) - Dropped the Python dependency `pysam` from `grz-cli`, `grzctl`, and `grz-common` (installs are lighter; environments that relied on it being installed transitively must install it explicitly). (#565) --- ## Highlights ### grz-cli (`1.6.0`) - Version policy checks for `upload` and `submit` via S3 `version.json` (#477) - Multiple config files are merged into one effective configuration (#490) - `upload` now prints the generated submission ID to stdout (can affect scripts that parse command output). (#556) ### grzctl (`2.0.0`) - `db list`: state-based filtering, with “latest” view by default (#523) - `db submission show`: `--json` output (#510) - Prüfbericht generation using submission ID from database (#525) - `report`: makes `identifiers.le` optional (#488) - `report` supports `--with-submission-ids`. (#539) - Improved redaction during archival. (#517) - Add `selected_for_qc` column to the submission database (#531) - `populate-qc`: accept `THRESHOLD NOT MET` as valid QC status (#529) - Fix displayed QC stats (#508) - Introduce `backfill` to re-read metadata from the archive (#559) - Require and record QC workflow version; log `grzctl` runtime versions (#561) - `db tui`: add `--quarter`/`--year` selection for the “Detailed QC by LE” overview. (#541) ### grz-pydantic-models (`2.6.0`) - Enforce differing checksums for sequencing data (#496) - Fix MII consent period to use datetime instead of date (#491) - Change `minReadLength` default from `0` to `-1` (#506) ### grz-check (`0.3.0`) - Python bindings now power checksum validation across the stack (#554) - Checksum calculation is now exposed correctly in the Python API (#5dce167) - `grz-check` is now built and published as a Python package via `pyproject.toml`/maturin. (#543) ### Maintenance - Dependency updates (#498) - Python crypto dependency updates: `pynacl` and `crypt4gh` --- ## Rollout notes (ops) - Apply the submission DB migrations before using this release. The schema changes include `selected_for_qc`, QC workflow version logging, `grzctl` runtime version logging, and the new `REPORTING` state. - Submission DB migrations in this release also include the `qc_queue` table and additional `submissions` fields (`submission_size`, `submission_metadata`)—make sure your DB is migrated to `head` before running the updated tools. - Update any automation that calls `grzctl pruefbericht submit` to pass `--submission-id`. - If you enforce LE uploads via S3, deploy the `version.json` policy for `grz-cli`. - Deploy the matching `grz-check` Python bindings where Python-based checksum validation is used. --- ## Full details - Full changelog: [changes.md](changes.md) - Per-package changelogs: - [packages/grz-cli/CHANGELOG.md](packages/grz-cli/CHANGELOG.md) - [packages/grzctl/CHANGELOG.md](packages/grzctl/CHANGELOG.md) - [packages/grz-common/CHANGELOG.md](packages/grz-common/CHANGELOG.md) - [packages/grz-db/CHANGELOG.md](packages/grz-db/CHANGELOG.md) - [packages/grz-pydantic-models/CHANGELOG.md](packages/grz-pydantic-models/CHANGELOG.md) - [packages/grz-check/CHANGELOG.md](packages/grz-check/CHANGELOG.md)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.