Repository navigation
A packaging and documentation release. No result, number, figure, or gate changes from v1.0.0 — the curriculum, the claim ledger, and every audit are identical.
Archive: 10.5281/zenodo.21865644 still archives the v1.0.0 manuscript and remains the correct citation. This release revises none of the science, so it does not warrant a new deposit.
Read the artifacts without installing anything
Generated outputs now ship with the repository. You can open the manuscript, every figure, the SkillTree export, and each audit record straight from GitHub:
| What | Where |
|---|---|
| Archived manuscript, exactly as deposited | Active_Skillference_v1.0.0_DOI-10.5281-zenodo.21865644.pdf |
| Current build of the manuscript | output/pdf/ |
| Figures and their registry | output/figures/ |
| SkillTree export, claim ledger, audits | output/data/ |
| Web, DOCX, EPUB, slide builds | output/ |
Committing them does not soften the regenerability claim: the kernels rebuild every artifact from source, and validate_rendered_freshness.py fails if a committed artifact drifts from what the current source produces. Only renderer logs and LaTeX intermediates stay out, since they churn on every build and carry nothing to read.
The two PDFs are deliberately different
The root PDF is pinned byte-identical to the Zenodo deposit (MD5 7e43004d…), fetched back from the archive rather than re-derived, so the filename's claim about that DOI stays true no matter how the source moves on. output/pdf/ holds the current build, which differs whenever the manuscript has changed since the deposit. A file asserting a DOI whose archive holds something else is exactly the failure this project exists to prevent.
Also in this release
- README rewritten for a public reader: badges, a one-command start up front, a table linking every committed artifact, an explicit statement of what CI does and does not cover, and a contributing section naming the invariants and pre-PR commands.
- Metadata follows the archive. The deposit's title and abstract were updated to the paper's, so
CITATION.cff,codemeta.json, and.zenodo.jsonnow carry the record's wording. This also stops a future reservation from re-submitting the older text. - Version 1.0.1 across the citation, CodeMeta, Zenodo, and Python metadata and on the manuscript cover.
- The untracked-surface contract was inverted. It previously asserted that deliverables were ignored, which became the opposite of the policy; it now guards only renderer detritus and credential-bearing local state, with the test flipped so a deliverable reappearing there fails.
Verification at this tag
954 tests · ≥90% src/ coverage gate · ruff and mypy clean · all 11 offline validators exit 0 · release-readiness inventory valid.
CI runs the offline gate set only. Docker, a seeded SkillTree, raw FORM login, and the browser console check need a daemon and a real browser, so they stay local and are never simulated: a green badge means the offline gates passed and nothing more. Full live dependency parity has been proven locally against skills-service 4.6.0.
Two boundaries unchanged: SkillTree's NSA-origin provenance is cited for platform context and is not an endorsement, and this release makes no claim of learner efficacy — the learner-pilot contract is protocol-only.