Repository navigation
Cap rocrate below 0.16 - #253
Closed
tomcharnock-lightcone wants to merge 1 commit into
Closed
tomcharnock-lightcone wants to merge 1 commit into
tomcharnock-lightcone wants to merge 1 commit into
Conversation
rocrate 0.16.0 (2026-10-06) makes RO-Crate 1.3 the default context and no longer lists the Workflow RO-Crate profile in the metadata descriptor's conformsTo. The 1.3 context maps ComputationalWorkflow to https://bioschemas.org/terms/ComputationalWorkflow, which roc-validator 0.12.2's Workflow RO-Crate 1.0 profile does not recognise, so test_crate_smoke fails on every runner. The cap keeps the crate on the 1.2 context it is written for. Moving to 0.16 is a separate change I guess? Signed-off-by: Tom Charnock <tom@charnock.fr>
EiffL
added a commit
that referenced
this pull request
Oct 15, 2026
Fixes the `test_crate_smoke.py` failure every branch has hit since rocrate 0.16.0 shipped on Oct 6. `uv.lock` is not committed, so CI resolves the latest rocrate. Supersedes #253, which caps `rocrate<0.16`. ## What broke rocrate 0.16 changed two defaults: - **The default RO-Crate version moved from 1.2 to 1.3.** The 1.3 context maps `ComputationalWorkflow` to `https://bioschemas.org/terms/ComputationalWorkflow`. The Workflow RO-Crate 1.0 and Run Crate 0.5 shapes in `roc-validator` 0.12.2 (the latest release) key on `https://bioschemas.org/ComputationalWorkflow`. So `astra.yaml` stops reading as a workflow, which fails `workflow-ro-crate-1.0_2.1` and both `provenance-run-crate-0.5_4.1` step checks at REQUIRED. - **`add_workflow` now declares Workflow RO-Crate 1.1 instead of 1.0**, which adds one RECOMMENDED failure. ## The fix `ROCrate(version="1.1")` instead of the library default. The hand-set descriptor `conformsTo` goes away with it: it existed to claim a 1.2 context alongside the 1.1 validators key on, and rocrate now writes the correct claim itself (RO-Crate 1.1 + Workflow RO-Crate 1.0). Compared with today's crate, the only change is the context URL (`1.2/context` → `1.1/context`) and the dropped `ro/crate/1.2` claim. Every entity is unchanged. The output is byte-identical under rocrate 0.15.0 and 0.16.0, so CI no longer depends on which one it resolves, and the dependency stays `rocrate>=0.15`. Moving to 1.3 waits on `roc-validator` adopting the 1.3 terms in its workflow and provenance shapes. ## Tests - New pure test `test_the_crate_version_is_pinned_not_rocrates_default` checks the context and the descriptor's claims. It fails against `main`'s `crate.py` under both rocrate 0.15 and 0.16. - `test_crate_smoke.py` passes on rocrate 0.15.0 and 0.16.0 with `roc-validator` 0.12.2: REQUIRED clean, RECOMMENDED within the existing `_FLOOR`. - Full suite on rocrate 0.16.0: 1159 passed. ruff and mypy are clean. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
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.
rocrate 0.16.0 (2026-10-06) makes RO-Crate 1.3 the default context and no longer lists the Workflow RO-Crate profile in the metadata descriptor's conformsTo. The 1.3 context maps ComputationalWorkflow to https://bioschemas.org/terms/ComputationalWorkflow, which roc-validator 0.12.2's Workflow RO-Crate 1.0 profile does not recognise, so test_crate_smoke fails on every runner. The cap keeps the crate on the 1.2 context it is written for. Moving to 0.16 is a separate change I guess?