Repository contract
services/repository-contractChecked by automation only
still a draft
Written 2026-10-22 by ktl-librarian (automation). Last checked 2026-10-22 by ktl-librarian (automation).
The full record
- Checks
- 2026-10-22 by
ktl-librarian(automation)
- 2026-10-22 by
- Sources
- References
- Pointed to by
- Contributing (depends on)
- Graph
- Open this concept in the knowledge graph
- IRI
https://w3id.org/ktl/linkml-sidecar/knowledge/services/repository-contract- Licence
- CC BY 4.0
- Files
- MarkdownJSON-LDSource on GitHubHistory on GitHub
Overview
Section titled “Overview”scripts/validate-repository.sh is the repository contract. Its numbered checks are:
- exactly the intended skill directories exist;
- each
SKILL.mdexists with that exact filename; - each declared name matches its directory, each skill states
compatibility, and each description ends in aKeywords:list; - no duplicate
SKILL.mdunderskills/, and none undertemplates/; - relative references resolve from each linking file’s own directory;
- shell scripts pass ShellCheck, and Python scripts compile;
- word budgets, for each
SKILL.mdand forCONTRIBUTING.md; - the one template pin, held in the scaffold driver, and every other mention of it under
skills/anddocs/and inREADME.mdandCONTRIBUTING.md; - every action in the workflow templates and this repository’s own workflows is pinned to a commit, and an action a template shares with this repository’s workflows carries the same commit in both;
- every line the preflight can print as missing or a warning has a row in
prerequisites.md; CHANGELOG.mdnever carries two headings for one released version;- no tracked file holds a character a reader cannot see;
- the lokf fixture’s justfile is ktl-sidecar’s template, rendered.
Check 9 leaves the knowledge-*.yaml workflows out of the shared-pin comparison, because they are ktl-sidecar’s copies and carry the pinned KTL release’s pins. The Forgejo template names each action by its full address, so check 9 drops the host part before it compares.
The workflow
Section titled “The workflow”.github/workflows/validate.yml runs on every pull request, every push to main, weekly on Mondays at 06:00 UTC, and on demand. Each concern is its own job. One job runs the contract and the Agent Skills spec check (gh skill publish --dry-run). Others run the fast and slow tests, ShellCheck, actionlint and the install smoke test. The last runs markdownlint, lychee, a GitHub issue and pull request link check through the API, and codespell.