Skip to content

Knowledge sources

Playbookhow-toplaybooks/knowledge-sources

Checked by automation only

still a draft

Written 2026-10-27 by ktl-librarian (automation). Last checked 2026-10-19 by ktl-librarian (automation).

The full record
Checks
  • 2026-10-19 by ktl-librarian (automation)
Sources
Pointed to by
Graph
Open this concept in the knowledge graph
IRI
https://w3id.org/ktl/curator/knowledge/playbooks/knowledge-sources
Licence
CC BY 4.0
Files
MarkdownJSON-LDSource on GitHubHistory on GitHub

This map lists where the bundle’s concepts come from, and how a later librarian run re-checks each source. Re-check each row by re-reading the paths it lists. When a path no longer exists, remove the concepts it fed and log the removal.

Source Yields Class(es) Re-check by
package.json, manifest.json, versions.json plugin identity, id, version, dependencies Service reading name, version, description and devDependencies
src/main.ts plugin lifecycle, commands, the review session, the five verbs’ write paths Service reading the exported class KtlCuratorPlugin and its public methods
src/bundle.ts, src/trust.ts, src/settings-model.ts bundle-root resolution, the trust-record model, health counts, the ranked queue, and the settings shape, defaults and merge rule Service reading the exported functions and their doc comments
src/edits.ts the five verbs’ exact frontmatter and body transforms, the log.md upsert Service reading the exported functions
src/curator-view.ts the “Curate” side panel: report, review card, the “no bundle” message and the panel icon Service reading the KtlCuratorView class
src/settings.ts the declarative settings tab, its groups, and the break-glass “Treat the vault root as the bundle” toggle Service reading KtlCuratorSettingTab.getSettingDefinitions(); the known-types list keeps the same shape and rule as KTL Registrar’s
src/fields.ts, src/field-modal.ts, src/inline.ts, src/suggest.ts, src/suggest-context.ts, src/trust-label.ts, src/lokf-vocab.json the in-editor aids: field lookup, the inline trust badge, and frontmatter autocomplete Service reading the exported classes and functions in each file against services/in-editor-aids.md
the ktl-curator skill’s references/trust-fields.md and references/review-session.md, published under https://github.com/noelmcloughlin/knowledge-trust-ladder/tree/main/skills/ktl-curator/references the spec of record this plugin implements Reference re-reading both pages for drift against src/trust.ts and src/edits.ts
SECURITY.md the plugin’s promises (no network, writes only on request), reporting, supported versions, and the table of what holds each automation surface; the design lives in the skills repository’s docs/threat-model.md Policy (no-telemetry.md), Playbook (knowledge-registrar-gate.md) re-reading “The plugin” section for a changed write surface, and the table for a changed workflow
docs/architecture.md what a bundle is, the plugin’s role, the two-vaults layout, the Privacy section and the src/ layout Policy (no-telemetry.md) re-reading Privacy for a changed write surface
docs/for-the-curious.md the trust labels and their fields, the four-tier trust model and where this plugin sits on it, and what it leaves to others Explanation re-reading for a changed relationship to KTL Registrar
README.md, docs/install.md, docs/using.md the doorway, whose links now lead to the user guide’s pages on the website, and the user guide: install, the panel, the review card, the in-editor aids, the commands and the settings covered by the services/ concepts re-reading for a feature no service concept describes
website/README.md, website/site.config.mjs, .github/workflows/knowledge-website.yaml the knowledge website: what each page is built from, the site’s settings, and the build and GitHub Pages deployment Playbook (knowledge-website.md) re-reading the README’s page list and “What to edit”, and diffing the workflow’s jobs and their if: conditions against playbooks/knowledge-website.md; the rest of website/ is the ktl-website skill’s code and has no concept of its own
.github/workflows/knowledge-registrar.yaml, .lokf/curators/ the gate a human: confirmation must pass before it merges, and the curator keys its second signature check reads Playbook (knowledge-registrar-gate.md) diffing the three jobs (validate, provenance, attestation) against the ktl-sidecar template; SECURITY.md says the copy keeps the template’s jobs unchanged, so any other difference is drift to report, not fix
.github/workflows/knowledge-librarian.yaml, .github/workflows/knowledge-release.yaml, .lokf/scripts/, .lokf/m365/ the scheduled librarian, the bundle release and the sidecar’s scripts; no concept of their own, since the design is the ktl-sidecar template’s and SECURITY.md links to it none diffing each against its template the same way
.github/workflows/knowledge-sync.yaml, .github/PULL_REQUEST_TEMPLATE/knowledge-sync.md, .lokf/scripts/knowledge-sync.sh the weekly sync that keeps the sidecar’s copies and the skills pin at the newest release of Knowledge Trust Ladder, and the template for the pull request it opens; the design is the ktl-sidecar template’s, so the concept says only what a pin move copies Playbook (contributing.md) diffing each against its template the same way, and re-reading the sync script’s header and the workflow’s against playbooks/contributing.md
CONTRIBUTING.md development setup, the checklist before a pull request (npm run check) and the pure-module rule Playbook (contributing.md) re-reading the module sentence against scripts/smoke-test.ts’s own imports
.github/workflows/build.yml, .github/workflows/lint-and-docs.yaml, eslint.config.mts CI’s mirror of npm run check, shell and workflow lint, the pinned-action check, Markdown and link lint, and the lint rules raised to errors Playbook (contributing.md) diffing each job’s steps against playbooks/contributing.md
.github/workflows/semantic-release.yml, .github/workflows/release.yml, .releaserc.json, .github/scripts/changelog-release.mjs the release pipeline: the version from Conventional Commits, CHANGELOG.md promoted, the draft GitHub release built and attested Playbook (releasing.md) reading the workflows and the release config
.github/pull_request_template.md the pull request checklist, which CONTRIBUTING.md calls “the short form of this list” Playbook (contributing.md) re-reading for a checklist item playbooks/contributing.md does not cover
.assets/*.svg the card and two-vaults pictures, and the shared logo mark none decorative and left out as concepts on purpose; re-check only if an image starts carrying a claim the docs do not
https://lokf.nolan-nichols.com/specification/ the LOKF specification itself Reference re-fetching the spec page for a version bump
https://github.com/GoogleCloudPlatform/open-knowledge-format/blob/main/SPEC.md the OKF v0.2 specification LOKF profiles Reference re-fetching for a version bump
https://pypi.org/project/lokf/, scripts/build-vocab.mjs the lokf toolkit this bundle’s pyproject.toml depends on, and the maintenance step that reads its schema into src/lokf-vocab.json Reference (lokf-toolkit.md) uvx --from pip pip index versions lokf, and re-reading the header of build-vocab.mjs
Obsidian’s plugin developer docs (https://docs.obsidian.md/Plugins) the platform API this plugin is built against (processFrontMatter, metadataCache, declarative settings) Reference re-reading for a breaking API change
glossary terms recurring across src/, the skill and the specs (OKF, LOKF, Diátaxis genre) vocabulary GlossaryTerm re-reading their defining source

Start from bash .lokf/scripts/knowledge-report.sh worklist, which names the concepts whose sources moved since they were derived or last checked.

When a src/ module is added or its testability changes, check CONTRIBUTING.md’s module sentence and checklist against scripts/smoke-test.ts, not only against the concept. A concept written ahead of its source hides the drift instead of showing it.

Check a sidecar copy (a knowledge-*.yaml workflow, or a file under .lokf/scripts/ or .lokf/m365/) against the ktl-sidecar templates at the release TRUST_LADDER_SKILLS_REF names. knowledge-preflight.sh reports drift on its copies line.

  • edits.ts’s verb transforms and trust.ts’s label rules are covered at module level (services/trust-engine.md, services/edits-engine.md), not one concept per function. Revisit only if a single function becomes independently significant, for example by gaining its own external consumers.
  • docs/install.md and docs/using.md, the user guide, are covered through the service concepts they describe.
  • AI_COVENANT.md, the rules for AI-assisted contributions, has no concept yet.
  • Left out on purpose: the build and editor configuration (esbuild.config.mjs, tsconfig.json, .editorconfig, .npmrc, package-lock.json, .gitignore, styles.css, version-bump.mjs, .github/dependabot.yml), the community files (CODE_OF_CONDUCT.md, LICENSE, NOTICE, .github/ISSUE_TEMPLATE/), community-plugin-entry.json, CHANGELOG.md, llms.txt, the smoke test’s fixtures under scripts/fixtures/, and the sidecar’s .lokf/README.md and .lokf/queries.http. Add a concept for one of them only when it carries a claim that no mapped source makes.