{"explanation/why-ktl-curator":{"title":"Why KTL Curator exists","type":"Explanation","genre":"explanation","label":"checked by automation only, still a draft","tone":"automation","definition":"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."},"glossary/diataxis-genre":{"title":"Diátaxis genre","type":"Glossary term","genre":"reference","label":"checked by automation only, still a draft","tone":"automation","definition":"An optional LOKF facet (tutorial | how-to | reference | explanation) tagging how a concept's prose serves the reader - orthogonal to type, one mode per concept."},"glossary/lokf":{"title":"LOKF","type":"Glossary term","label":"checked by automation only, still a draft","tone":"automation","definition":"Linked Open Knowledge Format - a semantic profile of OKF where every field and relationship is bound to a public vocabulary (schema.org / DCAT / PROV-O), so a bundle can be losslessly turned into a knowledge graph and queried with SPARQL."},"glossary/okf":{"title":"OKF","type":"Glossary term","label":"checked by automation only, still a draft","tone":"automation","definition":"Open Knowledge Format - a folder of Markdown files, one idea per file, each starting with a small YAML frontmatter block whose only strict requirement is a type. Permissive by design; missing optional fields never cause rejection."},"playbooks/contributing":{"title":"Contributing to the plugin","type":"Playbook","genre":"how-to","label":"checked by automation only, still a draft","tone":"automation","definition":"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."},"playbooks/knowledge-registrar-gate":{"title":"Knowledge registrar gate","type":"Playbook","genre":"how-to","label":"checked by automation only, still a draft","tone":"automation","definition":"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."},"playbooks/knowledge-sources":{"title":"Knowledge sources","type":"Playbook","genre":"how-to","label":"checked by automation only, still a draft","tone":"automation","definition":"Where this bundle's concepts are derived from, and how to re-check each source on a later librarian run."},"playbooks/knowledge-website":{"title":"Knowledge website","type":"Playbook","genre":"how-to","label":"checked by automation only, still a draft","tone":"automation","definition":"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."},"playbooks/releasing":{"title":"Releasing a new version","type":"Playbook","genre":"how-to","label":"checked by automation only","tone":"automation","definition":"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."},"policies/no-telemetry":{"title":"No network access, no telemetry","type":"Policy","label":"checked by automation only, still a draft","tone":"automation","definition":"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."},"references/lokf-specification":{"title":"LOKF specification","type":"Reference","genre":"reference","label":"checked by automation only, still a draft","tone":"automation","definition":"The Linked Open Knowledge Format specification - the semantic profile of OKF this plugin's trust labels and typed relations are defined against."},"references/lokf-toolkit":{"title":"lokf toolkit (PyPI)","type":"Reference","genre":"reference","label":"checked by automation only, still a draft","tone":"automation","definition":"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."},"references/obsidian-plugin-guidelines":{"title":"Obsidian plugin developer guidelines","type":"Reference","genre":"reference","label":"checked by automation only, still a draft","tone":"automation","definition":"The platform API surface and review guidelines this plugin is built against - declarative settings (1.13+), processFrontMatter, metadataCache, and the eslint-plugin-obsidianmd ruleset that encodes them."},"references/okf-specification":{"title":"OKF v0.2 specification","type":"Reference","genre":"reference","label":"checked by automation only, still a draft","tone":"automation","definition":"The Open Knowledge Format specification LOKF profiles - one concept per Markdown file, provenance/trust/lifecycle fields, permissive consumption."},"references/review-session":{"title":"Review session (ktl-curator skill)","type":"Reference","genre":"reference","label":"checked by automation only, still a draft","tone":"automation","definition":"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."},"references/trust-fields":{"title":"Trust fields (ktl-curator skill)","type":"Reference","genre":"reference","label":"checked by automation only, still a draft","tone":"automation","definition":"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."},"services/curator-view":{"title":"Curator side panel","type":"Service","label":"checked by automation only, still a draft","tone":"automation","definition":"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)."},"services/edits-engine":{"title":"Edits engine","type":"Service","label":"checked by automation only, still a draft","tone":"automation","definition":"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."},"services/in-editor-aids":{"title":"In-editor aids","type":"Service","label":"checked by automation only, still a draft","tone":"automation","definition":"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."},"services/ktl-curator-plugin":{"title":"KTL Curator plugin","type":"Service","label":"checked by automation only, still a draft","tone":"automation","definition":"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."},"services/settings-tab":{"title":"Settings tab","type":"Service","label":"checked by automation only, still a draft","tone":"automation","definition":"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."},"services/trust-engine":{"title":"Trust engine","type":"Service","label":"checked by automation only, still a draft","tone":"automation","definition":"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."}}
