Skip to content

Construct legacy Dataset IDs from selected roots without changing coverage - #4676

Merged
realmarcin merged 5 commits into
mainfrom
fix/4594-legacy-root-identity
Oct 8, 2026
Merged

realmarcin merged 5 commits into
mainfrom
fix/4594-legacy-root-identity

Conversation

@realmarcin

Copy link
Copy Markdown
Collaborator

Default legacy construction omitted required Dataset.id even when the selected
RO-Crate root supplied an identifier. Add one explicit root_identifier_v1 TSV
route, shared by both legacy implementations: scalar root identifier, then
root @id; recognized DOI prefixes become doi: while preserving the complete
suffix. Ambiguous and non-text assertions refuse, and custom unmarked mappings
retain their prior behavior.

Merged identity comes only from the configured primary; secondary identities
remain evidence in the existing report. The construction row is excluded from
informativeness and source-coverage calculations so ranking and automatic
primary selection keep their original basis. Existing reverse DOI lookup,
mandatory schema validation, source inputs and historical artifacts remain
preserved. Other default mapping errors still refuse publication.

Validation: 570 focused tests passed. Both implementations replayed five pinned
inputs in original and reversed graph order (20 runs per arm). Full records
changed only by ID; each error list lost only the missing-ID failure. The actual
publication gate still refused 16/20 candidate drafts; only the four equivalent
VOICE provenance runs passed. Complete score/rank results and primary selections
matched, with eight software-only merge comparisons per arm retaining every
non-ID field and provenance entry. Both complete checkout content inventories
matched before/after replay, including hidden and ignored files outside .git.
Independent adversarial review and final verification of all compact evidence passed.
See notes/legacy_root_identity_2026-10-08/README.md and validation.json.

This change is based on tested DOI successor
1a98255bb28451500d4864876a16d9c6c2f6b435; PR #4673 must merge first.

Closes #4672.
Closes #4674.

Parent #4594 and #2915 remain open. This does not claim improved scientific
coverage, semantic exactness, or completion of the five-input publication
obligations.

@realmarcin
realmarcin merged commit 59d23ce into main Oct 8, 2026
14 checks passed
@realmarcin
realmarcin deleted the fix/4594-legacy-root-identity branch October 8, 2026 10:02
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.

Exclude construction-only root ID from legacy API and CLI source coverage Add an explicit root identifier route to the default legacy Dataset mapping

1 participant