Regenerate and test after a schema change
playbooks/regenerate-and-testNobody has checked this yet
still a draft
Written 2026-10-30 by ktl-librarian (automation).
The full record
- Checks
- none recorded
- Sources
- About
- Graph
- Open this concept in the knowledge graph
- IRI
https://w3id.org/lmodel/cis-controls/knowledge/playbooks/regenerate-and-test- Licence
- CC BY 4.0
- Files
- MarkdownJSON-LDSource on GitHubHistory on GitHub
Regenerate and test after a schema change
Section titled “Regenerate and test after a schema change”- Install the toolchain once: Python 3.10 or later,
uvandjust, thenuv sync --group devin the clone.1 - Edit
src/cis_controls/schema/cis_controls.yaml. It is the one file to write by hand.project/,src/cis_controls/datamodel/,docs/schema/and.lokf/cis-controls.yamlare generated from it. Put no CIS text in it, name elements by number, and say in the pull request which part of CIS’s guide a new or changed element renders. - Run
just lint, which runslinkml-lint --ignore-warningsunder.linkmllint.yaml.2 - Run
just gen-projectandjust gen-doc, thenjust lokf-adapt, which rewrites the adapt copy with the two roots.3 Commit the output. - Add an example under
tests/data/valid/for a new class and a counter-example undertests/data/invalid/for a new constraint, namedClassName-suffix.yaml, with a first line# Fails at: <pointer>, then runjust test. - Run the pre-commit hooks on what you staged (
uvx pre-commit run), and write a changelog entry under## [Unreleased]when the change alters behaviour.
CI runs the same: main.yaml runs just lint, just test and just lokf-adapt-check, and fails when the adapt copy is stale.