Carry a license holder and validate/enrich CC licenses #11
No reviewers
Labels
No labels
Compat/Breaking
Kind/Bug
Kind/Documentation
Kind/Enhancement
Kind/Feature
Kind/Security
Kind/Testing
Priority/Critical
Priority/High
Priority/Low
Priority/Medium
Reviewed/Confirmed
Reviewed/Duplicate
Reviewed/Invalid
Reviewed/Won't Fix
Status/Abandoned
Status/Blocked
Status/Need More Info
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
project-halkyon/halkyon-curator!11
Loading…
Reference in a new issue
No description provided.
Delete branch "refs/pull/11/head"
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?
Grammar lessons can declare a license_holder (e.g. "Tae Kim"), which flows to the emitted studyset's license_holder field (additive archive field — no version bump).
A new creative_commons module parses a CC license structurally (BY/NC/SA/ND + version + optional jurisdiction port), so older/ported licenses like "CC BY-NC-SA 3.0 US" resolve to a canonical id, deed URL, human name, and conditions. validateCcLicense confirms the deed resolves on creativecommons.org (HTTP 200; injectable client for tests, degrades to unverified on error).
The grammar CLI resolves the lessons file's license through it: a recognised CC license is stamped in canonical form and its deed woven into the description; a non-CC or unverifiable license is left as-is with a warning. The pure curate() transform stays network-free.
Pairs with the halkyon-learn license-holder PR. Tests: parsing + MockClient-backed validation, plus grammar-curator holder/enrich coverage (69 pass).