KTL Curator Knowledge Bundle
A LOKF knowledge base for KTL Curator. Every Markdown file under knowledge/ is one concept; together they form a queryable knowledge graph, derived from this repository’s code and docs.
| The root file declares | |
|---|---|
| Base IRI | https://w3id.org/ktl/curator/knowledge/ |
| JSON-LD context | https://w3id.org/lokf/context.jsonld |
| Licence | CC BY 4.0 |
| Publisher | Noel McLoughlin |
| Concepts | 22 |
How far it has been checked
Section titled “How far it has been checked”The bundle health page gives each concept’s label. The counts, computed from frontmatter when the site was built:
- Confirmed by a person: 0 of 22
- Checked by automation only: 22
- Nobody has checked: 0
- Drafts: 21
- Reopened: 0
- Past review date: 0
- Edited since confirmed: 0
- Retired: 0
- concepts.jsonld: every concept’s frontmatter and body under one JSON-LD context.
- graph.nt: the whole bundle as N-Triples.
- graph.json: the typed relations as cytoscape.js elements, which the knowledge graph draws.
- datasets.jsonld: a schema.org Dataset description for each Dataset or Table concept.
- index.md: the bundle’s root file, which declares the header above.
- log.xml: the bundle log as an Atom feed, its newest 20 days.
- previews.json: each concept’s title, type, genre, trust label and definition, which a link to the concept shows before it is followed.
- Each concept page links the concept’s own Markdown file and its JSON-LD, at the concept’s path with
.mdor.jsonldadded. - The bundle as it stood at each release is a zip on the releases page.
Contents
Section titled “Contents”Services
Section titled “Services”- KTL Curator plugin - The Obsidian plugin entry point - scans configured bundle roots via metadataCache, computes and caches a trust report per bundle, owns the one-concept-at-a-time review session (curator-id modal, the five verdict verbs, the mtime guard on “corrected”), and exposes the Step 3 commands. With no bundle root configured or detected, and the break-glass “treat vault root as bundle” setting off, the vault has no bundle at all - no report, no queue, nothing written.
- Trust engine - Pure, import-free modules computing one concept’s trust record, the bundle’s seven health counts, and the ranked “worth ten minutes today” queue from already-parsed frontmatter and headings.
- Edits engine - Pure string and object transforms for every write the review session makes: the five verbs’ frontmatter and body edits, the log.md Curation and Deprecation lines, the repeated send-back hint, and the two Step-3 templates.
- Curator side panel - The “Curate” ItemView - the read-only trust report (health chips, ranked queue, open questions, active-note card) and the one-concept-at-a-time review card (evidence-first: source, claim, current trust, then the question).
- Settings tab - The declarative Obsidian settings tab (1.13+): curator id, the two in-editor toggles, bundle scope, the known type vocabulary, review intervals, queue size, and the feedback file path.
- In-editor aids - Three Settings → In-editor conveniences while a curator hand-edits a concept’s raw frontmatter - a searchable “Look up a LOKF field” command, a live trust-tier badge on the frontmatter (Source mode only), and autocomplete for the values a curator hand-types (the human:<id> actor, status, and at/stale_after dates) - plus the shared trust-tier label vocabulary they and the status bar all render identically.
References
Section titled “References”- LOKF specification - The Linked Open Knowledge Format specification - the semantic profile of OKF this plugin’s trust labels and typed relations are defined against.
- OKF v0.2 specification - The Open Knowledge Format specification LOKF profiles - one concept per Markdown file, provenance/trust/lifecycle fields, permissive consumption.
- lokf toolkit (PyPI) - The Python package that this repository’s own .lokf/ sidecar uses to validate the bundle, check its relation targets and convert it to RDF. The plugin never uses it at runtime, and only the scripts/build-vocab.mjs maintenance step reads its schema.
- Obsidian plugin developer guidelines
- Trust fields (ktl-curator skill) - The exact rule for each plain-language trust label: the spec of record that trust-engine.md implements, and the source that the health-line chips in docs/using.md and the label table in docs/for-the-curious.md summarize.
- Review session (ktl-curator skill) - The exact frontmatter/body edit for each of the five verbs, the log.md line format, and the curation-policy and missing-placeholder templates - the spec of record edits-engine.md implements.
Glossary
Section titled “Glossary”- OKF - What OKF, the Open Knowledge Format, means: a folder of Markdown files, one concept to a file, each with YAML frontmatter whose only required key is type. LOKF profiles it.
- LOKF - What LOKF, the Linked Open Knowledge Format, means: a semantic profile of OKF that binds every field and relationship to a public vocabulary, so a bundle turns into a knowledge graph that SPARQL can query.
- Diátaxis genre - What the optional LOKF genre field means: the Diátaxis mode (tutorial, how-to, reference or explanation) that says how a concept’s body serves the reader, separate from its type.
Policies
Section titled “Policies”- No network access, no telemetry - The plugin makes no network requests and has no telemetry, remote code or external services: it reads the Markdown in the open vault and writes only through the five review verbs and the two file-creating commands, each on a button press.
Explanation
Section titled “Explanation”- Why KTL Curator exists - Where this plugin sits on the four-tier trust model, and why it is the sibling of ktl-registrar rather than a superset or a dependency of it.
Playbooks
Section titled “Playbooks”- Knowledge sources - Where this bundle’s concepts are derived from, and how to re-check each source on a later librarian run.
- Releasing a new version - Semantic-release computes the version and promotes CHANGELOG.md on a merge to main, behind the release Environment; release.yml then builds, attests and opens a draft release, from semantic-release’s call, a hand-pushed tag, or a hand-run dispatch.
- Contributing to the plugin - Development setup, npm run check (build, lint and smoke test, the same three steps CI’s build.yml runs), the seven pure modules the smoke test covers, and the pull-request checklist: verb write limits, the changelog line, sibling links, the vocab refresh, releasing pull request titles, and the skills pin, which knowledge-sync.yaml and knowledge-sync.sh move with every template the release’s knowledge-sync.manifest lists.
- Knowledge registrar gate - The knowledge-registrar.yaml workflow: validates the bundle and its relation targets on every pull request that touches it, and ties every human: confirmation a pull request adds, changes or removes to that person’s approval of the pull request or their verified signature on the commit, with an environment reviewer’s attestation as the fallback.
- Knowledge website - The website/ folder and the knowledge-website.yaml workflow: an Astro Starlight site built from the bundle, the README, docs/ and the changelog, with a trust label on every concept page, built on pull requests and published to GitHub Pages at
https://noelmcloughlin.github.io/obsidian-ktl-curator/once the repository variable KNOWLEDGE_WEBSITE_ENABLED is true.