No reviewers
Labels
No labels
area: build
area: ci
area: compare
area: data
area: engine
area: model
area: provenance
area: rite
area: validation
backport
blocked
breaking
confirmed
dependencies
duplicate
epic
github_actions
invalid
needs-info
needs-triage
php
priority: high
priority: low
priority: medium
regression
type: bug
type: chore
type: correction
type: docs
type: enhancement
type: feature
type: fix
type: perf
type: refactor
type: security
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
Directorium/Core!473
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "feature/237-citable-dataset"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
What & why
Epic #237 — citable & reproducible dataset: make the CC0 corpus something scholars and other engines can cite and verify. The corpus was already deterministic (
verify.mjsgates determinism + freshness); this hardens that into an enforced integrity check, a versioned checksummed release artifact, and DOI archival prep.#238 — manifest integrity (the check a consumer runs)
tools/generator/src/manifest.mjs—verifyManifest()recomputes every file's SHA-256 and asserts it matchesMANIFEST.json(+ no missing files).verify.mjsnow enforces three guarantees in CI (corpus-verifyrunsnpm run verify): determinism · freshness · integrity.#239 — versioned CC0 release artifact
tools/generator/src/package.mjs—prepareRelease()verifies the corpus against its manifest, then emitsSHA256SUMS(covering every file in the archive, including the CC0 schema files the manifest doesn't itself list) +release-metadata.json.release-please.yml— on a cut release, assembles a deterministic corpus tarball (--sort=name, fixed mtime/owner,gzip -n) and attaches it with its.sha256,SHA256SUMS, and metadata. The archive is named with thecorpusVersion(data-version, #54).#241 — citable / DOI
CITATION.cff— fixed the stale repo URL (Directorium/Core→DirectoriumApp/Core) and added aversionrelease-please keeps current..zenodo.json— metadata for per-release Zenodo DOI archival (AGPL engine / CC0 dataset split noted).docs/citable-dataset.md— how to cite, how to verify a download (sha256sum -c), the reproducibility guarantees, and the one-time maintainer step to enable the GitHub↔Zenodo integration.Verification
node --test✅ 40 tests (+8: manifest good/wrong-hash/missing, packaging incl. schema coverage + manifest-mismatch refusal).npm run verify✅ (determinism + freshness + integrity, 32 files) ·npm run packagedry-run ✅ (SHA256SUMS covers all 44 files incl. the 12 schemas). All JSON/YAML validated. No corpus/data bytes changed.SHA256SUMSnot covering the tarball's schema files (documented as "every file") — is fixed in this PR by walking the whole tree;release-metadata.jsonis now uploaded (was dead); a test locks the schema coverage.Closes #238, closes #239, closes #241.