All versions since 1.1.4
1.1.4
Changed
- The scheduled librarian installs
v0.19.7, up fromv0.19.2, so it runs the current skill rather than one five releases behind. LOKF_SKILLS_REPO/LOKF_SKILLS_REFare nowTRUST_LADDER_SKILLS_REPO/TRUST_LADDER_SKILLS_REF, following the skills repository’s own rename: the names said “LOKF” for a repository now calledknowledge-trust-ladder. The skills keep theirlokf-*names.
1.1.5
Security
- The provenance gate reads a concept whatever its name. Synced from the skills repository’s v0.19.5 templates: both gates list paths with
core.quotePathoff and refuse a path git still has to quote, so ahuman:confirmation in a non-ASCII-named concept no longer passes unread.
1.1.6
Fixed
- An external
sourceordefinedByis no longer flagged as dangling. Both slots are documented as taking an off-site URL, but the audit reported any untyped IRI target as missing. Nothing in this bundle tripped it - every target happens to point at a concept. - The predicate list cannot go stale again. It had drifted against the schema, missing
holder,measures,memberOfand every reifiedrelationsentry;--check-refsreads the slots from the schema instead. - The scheduled librarian checks the relations it writes. Its validate step covered frontmatter shape only, leaving a fabricated target - an agent’s likeliest mistake - for the registrar gate to catch. It passes
--check-refsnow.
Changed
- The registrar gate validates once.
--check-refsrides on the existing validate step, replacing a secondlokf validaterun throughuvx --from rust-just just.
1.1.7
Fixed
- The scheduled librarian installs
v0.21.0, up fromv0.19.7, so it runs the current skill rather than two releases behind. - The publish job’s path check reads a concept named outside ASCII. It listed the patch’s paths with git’s default quoting, so such a path arrived C-quoted and was refused as outside the bundle. Synced from the skills repository’s template: it now lists with
core.quotePathoff.
1.1.8
Fixed
- The type-check survives a TypeScript 7 /
@types/node26 bump.moduleResolution: "bundler"drops the"node"package.json export condition by design; a newer@types/nodegates itsnode:fs/node:path/node:urlsubpaths on that condition, soscripts/smoke-test.ts’s plain-Node imports stopped resolving.customConditions: ["node"]intsconfig.jsonre-adds it.libmoves toES2022forArray.prototype.at(), already used in three files;esbuild.config.mjs’s own output target is unaffected.
1.1.9
Fixed
- The description fits Obsidian’s 250 characters and names LOKF. It was 260 and never said LOKF or OKF; it now calls the plugin the curator’s assistant. The manifest, the package and the community listing entry carry the same sentence.
1.2.0
Added
- A dark counterpart for all three diagrams,
*-dark.svgbeside each original. Same geometry and wording; only the palette differs, re-toned role for role from the light one. Shared byte-for-byte with the other repositories. - The README picks by theme. Each diagram is a
<picture>with aprefers-color-scheme: darksource over the existing file, so the light original stays the fallback and its path is unchanged.
Changed
- The ribbon and tab carry the trust ladder, not Lucide’s
gem: two rungs - a draft, then checked by automation - under the check mark a person puts on top. Line art at Lucide’s weight, incurrentColor, so it sits with Obsidian’s own icons and follows any theme. KTL Registrar’s is the same ladder without the check, since it never vouches for a record.
Fixed
- A dark copy carries no stale content credential. The originals embed a C2PA manifest that signs their own bytes; recolouring changes those, so the copies ship without one rather than with a signature that cannot verify.
1.3.0
Added
- A dimmed counterpart for all three diagrams,
*-dimmed.svgbeside each original: the same geometry on warm grey paper rather than a dark one. Shared byte-for-byte with the other repositories.
Changed
- The dark-mode source is the dimmed set. Each
prefers-color-scheme: darksource now points at*-dimmed.svg; the*-dark.svgfiles from 1.2.0 stay in.assets/but nothing references them.
Fixed
- The dimmed ink follows the dimmed paper. The light diagrams sit right on 4.5:1, so darkening only the backgrounds would have dropped every faint label under it.
- Three labels that never met 4.5:1 now do, on the greyed-out roles in the plugin card - the darker ink reaches them as well.
1.3.1
Changed
- The README and
docs/for-the-curious.mdare restyled for the reader: shorter sentences, plain statements, labels set off with a colon. The host-by-host layouts now live once in the skills’docs/obsidian.md; this repository keeps only what each layout means for the review card.
Fixed
- The scheduled librarian installs its skill from
v0.22.0, the first tag withskills/ktl-librarian; the weekly run had failed at that step since the plugin took the KTL name.
Security
- The sidecar carries
knowledge-feedback.sh. ktl-docent records a reader’s gap through it and never opensfeedback.md, so no other reader’s text enters its session (Snyk W011). It is copied from thektl-sidecartemplates ahead of the release that ships it, asknowledge-registrar.yamlwas.
1.3.2
Fixed
- The scheduled librarian installs its skill from
v0.23.0, the release that shipsknowledge-feedback.sh. 1.3.1 still pinnedv0.22.0, so the copied script matched no tag the pin named.
1.3.3
Security
- The sidecar’s preflight and skills pin match
v0.23.1. The preflight now compares a librarian workflow with the template’s apart fromTRUST_LADDER_SKILLS_REF, which each repository moves on its own schedule. This repository has no bareskills/directory for that check to compare against, so its output does not change; no plugin change.
1.3.4
Security
- The sidecar copies and the skills pin match
v0.25.0. The scheduled librarian installs its skill from that release.knowledge-release.yamlis new: it attaches the bundle to a release asknowledge-<tag>-<repository>.zipunless the bundle matches the last release’s, runs when dispatched by hand and on each published release onceKNOWLEDGE_RELEASE_ENABLEDistrue, and is otherwise inert. The librarian workflow and wrapper hand the agent its credential, theAGENT_API_KEYsecret or the job’s own token withAGENT_USE_JOB_TOKEN, under the nameAGENT_API_KEY_ENVgives and to nothing else; the job requestscopilot-requests: writefor Copilot CLI, idle until then, and sets up Node 22 for annpx-run agent.knowledge-preflight.shcompares the new workflow with its template.
1.3.5
Security
- The sidecar copies and the skills pin match
v0.26.0. Conventions rule 11 rejects anat:later than the commit that recorded it; the three librarian times in this bundle that broke it now carry that commit’s time.knowledge-librarian.yamlmatches its template apart from the pin. No plugin change.
1.3.6
Security
- The sidecar copies and the skills pin match
v0.27.0. Releases now carry the docent as a Microsoft 365 Copilot skill:knowledge-release.yamlattachesktl-docent-m365-<tag>-<repository>.zipbeside the bundle zip, checks each zip against its checksum and attests each one. The new.lokf/m365/holds that skill’s instructions,ktl-docent-m365.md, andknowledge-m365.sh, which builds it from a snapshot of the bundle;knowledge-preflight.shcompares both with their templates, andCONTRIBUTING.mdandSECURITY.mdcount them among the copies that move with the pin. The release workflow stays inert untilKNOWLEDGE_RELEASE_ENABLEDistrue. No plugin change.
1.3.7
Security
-
The sidecar copies and the skills pin match
v0.33.0. The scheduled librarian’s one output is now.lokf/patch.yaml.knowledge-apply.sh, new here, checks every operation in it and writes the bundle, and keeps an index in the shape a person gave it.publishreads each person’s event and note off the patched tree before it pushes, and the registrar gate asks the person behind a confirmation that a change removes, as it asks the one behind a confirmation it adds.knowledge-report.sh, also new, computes the health line and the record changes the pull request carries. A scheduled week with nothing waiting runs no agent, though a month’s first week always does. A handled feedback entry moves to.lokf/questions.md, and the librarian’s hand-off reaches the pull request in a code block. Release assets take their name fromKNOWLEDGE_RELEASE_NAMEwhen it is set, and a retrieval score runs only onceKNOWLEDGE_RETRIEVAListrue.Conventions rule 12 holds an index bullet equal to its concept’s title and description, so the apply script’s
reindexoperation re-derived the bullets of the eight concepts here that had drifted. Rule 13 fails a change to a confirmed concept that does not move itsgeneratedstamp past the confirmation. The scripts’ comments read plainer.SECURITY.mdnames the new path and checks, and says the workflow copy differs from its template only in the pin. No plugin change.
1.3.8
Security
-
The sidecar copies and the skills pin match
v0.34.0. The pin names the tag’s commit too, inTRUST_LADDER_SKILLS_SHA, and the librarian’s install step installs nothing unless the tag still names that commit. The librarian workflow has a third job,earlier, which reads the workflow’s earlier pull requests under a token that reads pull requests and nothing else. A scheduled run then opens no second pull request beside an open one, and does not propose again what a person declined. The pen refuses a patch that would change a person’s record, and writes each frontmatter value back as the file held it. The registrar gate and the release workflow install the toolkit withuv sync --locked, and the conventions script and the pen pin PyYAML. A week is quiet again once the librarian has asked about a source it cannot act on.CONTRIBUTING.mdsays the two pin values move together, and no longer says the librarian workflow carries local changes. No plugin change.
1.3.9
Security
- The sidecar copies and the skills pin match
v0.34.1. The Copilot docent’s instructions,.lokf/m365/ktl-docent-m365.md, label a concept as the report script does. A retired concept carries no other label, edited since a person last confirmed it takes the place of confirmed by a person, and an emptyverifiedlist reads as nobody has checked this yet. A Miss in its gap report starts with the reader’s question and says whether a concept looked relevant fromindex.md. No plugin change.
1.3.10
Fixed
- A concept whose
verifiedlist is empty reads as nobody has checked this yet. The plugin counted anyverifiedkey as a check, soverified: []or a bareverified:showed as checked by automation only in the concept’s label and the health line, and came later in the review queue than an unchecked concept. KTL’strust-fields.mdand its report script count events, not the key, and the plugin now does too.docs/for-the-curious.mdstates the rule the same way.
1.3.11
Security
- The sidecar copies and the skills pin match
v0.34.2. The preflight reads the CI variables by indirect expansion rather thaneval, so a scanner that searches forevalfinds none, and its output is unchanged. Whenknowledge-feedback.shorknowledge-report.shis missing, it names ktl-curator and an earlier ktl-docent as the skills that need it, since ktl-docent now runs its own copies. The scheduled librarian installs a ktl-librarian that reads LOKF’s schema from a commit rather than a tag (Snyk W012). No plugin change.
1.3.12
Fixed
- “N other concepts rely on this” counts a Metric’s
measuresand a Role’smemberOfandholder, counts each relying concept once, and leaves retired concepts out. The LOKF schema ranges thirteen slots overConceptand the plugin’s list had the first ten. The list now comes from the pinned schema manifest, as the classes do, with the hard-coded list as the fallback, and the smoke test holds both to the manifest. A concept that named one target through two fields counted twice, and a retired concept counted and was counted; ktl-curator’s trust-fields.md says once and neither, and the sidecar’sknowledge-report.shapplies that rule, so the card and the report now agree.scripts/build-vocab.mjskeeps each slot’s range and cardinality in the manifest.
1.3.13
Security
- The sidecar copies and the skills pin match
v0.37.1. The provenance gate reads averifiedorgeneratedevent that spans lines, or that sits behind a byte order mark or CRLF line endings, so a forged confirmation cannot hide in either. The unattended check follows a renamed concept. The pen refuses a provenance key in any letter case, and keeps a curator’s send-back. The report reads every timestamp and event layout, names a retired concept’s successor, marks a concept a reader disputed, and counts reliance through all thirteen relation fields, as this plugin now does. Conventions rule 14 refuses a commit that records a person’s confirmation and also changes what the concept says. No plugin change.
1.3.14
Changed
- The sidecar’s README links OKF’s specification in its own repository. Google moved the Open Knowledge Format to
GoogleCloudPlatform/open-knowledge-formatand froze the copy underknowledge-catalog/okf/.
Security
- The sidecar copies and the skills pin match
v0.38.2. The registrar, librarian and release workflows run the justfile’slokf-check-refsrecipe, and their actions move to newer pinned releases. The docent’s Copilot instructions prefer a retelling for a younger reader, and give the adult concept’s label with it. The pen no longer adds a second “edited since” note to a log line that already has one. The scheduled librarian installs a ktl-librarian that retells a confirmed concept for younger readers when the curation policy declares a band. No plugin change.
1.3.15
Security
- The sidecar copies and the skills pin match
v0.39.0. The preflight looks for ktl-website among the installed skills. The librarian and release workflows say their variables go under Repository variables, never on an environment, which neither job can read, and the scheduled librarian installs a ktl-librarian whose setup page says the same. No plugin change.
1.3.16
Changed
- The architecture and for-the-curious pages lose their dead sentences. The host-by-host section and the independence paragraph say each fact once, and link what the skills’ pages already record. No plugin change.
- The README is a doorway, in the style of Knowledge Trust Ladder’s. It keeps the poem, the opening paragraph and the agents note, and links the quick start, the architecture and the usage pages. What a bundle is, the two vaults, which folder is the bundle, privacy, the development layout and the credits moved to
docs/architecture.md; the quick start and the install routes todocs/install.md; the panel, the review card and its five verbs, the commands and the settings todocs/using.md. No plugin change.
1.3.17
Security
- The sidecar copies and the skills pin match
v0.41.0. The scheduled librarian takes an agent that wants its prompt somewhere other than after-p, named by the repository variableAGENT_PROMPT_FLAG. It writes its patch with the agent’s own file tool, so an agent refused a shell write no longer gives up. Both came with thev0.40.0copies, which 1.3.16 included without an entry;v0.41.0changes only ktl-website, which this repository does not use. No plugin change.
1.3.18
Security
- The sidecar copies and the skills pin match
v0.42.0. Conventions rule 13 no longer reads a move of the bundle’sbase_irias an edit of every confirmed concept. No plugin change.
1.3.19
Security
- The skills pin matches
v0.43.0. The release changed none of the sidecar copies this repository carries. No plugin change.
1.3.20
Fixed
.lokf/justfiletakes a domain schema as one variable. It was the copy from before ktl-sidecarv0.38.0, which the sidecar sync never carried. No plugin change.
1.3.21
Security
- The skills pin matches
v0.43.1. The release changed none of the sidecar copies this repository carries. No plugin change.
1.4.0
Added
- A website for the knowledge bundle.
website/builds an Astro Starlight site from.lokf/knowledge, the README,docs/and this changelog, with a trust label on every concept page;knowledge-website.yamlpublishes it to GitHub Pages onceKNOWLEDGE_WEBSITE_ENABLEDistrue. No plugin change.
1.4.1
Fixed
- The website’s link check reads an address in a code span without its closing backtick. A concept that named the site’s address in backticks failed the build with a broken link in
llms.txt. The script matches ktl-website’s fixed template. No plugin change.
1.5.0
Changed
- The knowledge bundle’s namespace is
https://w3id.org/ktl/curator/knowledge/. It was the placeholderhttps://ktl-curator.example/knowledge/, and every concept’s id moved with it, so the bundle can join the KTL federation. No plugin change.
1.5.1
Security
- The skills pin matches
v0.44.0. The release changed none of the sidecar copies this repository carries. No plugin change.
1.6.0
Changed
- A confirmed concept that a question put back to draft reads Confirmed, with the handoff “Reopened - a question waits for the curator”. It read “Draft - not yet curated”, as if no person had ever checked it. The review card and the queue say “reopened” too, the words ktl-curator’s report uses from Knowledge Trust Ladder 0.45.0.
1.6.1
Security
- The sidecar copies and the skills pin match
v0.45.0. The release changed.lokf/scripts/knowledge-report.sh,.lokf/m365/ktl-docent-m365.md,website/scripts/sync.mjs,website/src/components/ConceptCard.astro,website/src/content.config.tsandwebsite/src/styles/catalogue.csshere; its changelog says how.
1.6.2
Security
- The sidecar copies and the skills pin match
v0.45.1. The release changed.lokf/scripts/knowledge-apply.pyand.lokf/scripts/knowledge-federate.pyhere; its changelog says how.
1.6.3
Security
- The sidecar copies and the skills pin match
v0.46.0. The release changed.github/workflows/knowledge-release.yaml,.lokf/scripts/knowledge-federate.py,website/package-lock.jsonandwebsite/package.jsonhere; its changelog says how.
1.6.4
Security
- The sidecar copies and the skills pin are at Knowledge Trust Ladder v0.47.0. The release changed
.lokf/scripts/knowledge-preflight.sh,.github/workflows/knowledge-sync.yaml,.github/PULL_REQUEST_TEMPLATE/knowledge-sync.mdand.lokf/scripts/knowledge-sync.shhere. No plugin change.
1.6.5
Security
- The sidecar copies and the skills pin are at Knowledge Trust Ladder v0.52.0. The release changed
.github/workflows/knowledge-registrar.yaml,.github/PULL_REQUEST_TEMPLATE/knowledge-sync.md,.lokf/scripts/knowledge-conventions.sh,.lokf/scripts/knowledge-conventions.py,.lokf/scripts/knowledge-preflight.sh,.lokf/scripts/knowledge-report.shand.lokf/scripts/knowledge-sync.shhere. No plugin change.
1.6.6
As it stood at this release: the repository · the docs · the knowledge bundle · the release
Security
- The sidecar copies and the skills pin are at Knowledge Trust Ladder v0.53.0. The release changed
.github/workflows/knowledge-librarian.yaml,.github/workflows/knowledge-sync.yaml,.github/PULL_REQUEST_TEMPLATE/knowledge-sync.md,.lokf/scripts/knowledge-librarian.sh,.lokf/scripts/knowledge-apply.py,.lokf/scripts/knowledge-sync.sh,.lokf/.gitignore,website/scripts/config.mjs,website/scripts/markdown-ktl.mjs,website/scripts/sync.mjs,website/src/components/KnowledgeGraph.astro,website/src/pages/graph.astro,.github/workflows/knowledge-website.yamlandwebsite/scripts/raw-html.mjshere. No plugin change.
1.6.7
As it stood at this release: the repository · the docs · the knowledge bundle · the release
Security
- The sidecar copies and the skills pin are at Knowledge Trust Ladder v0.55.0. The release changed
.github/workflows/knowledge-registrar.yaml,.github/workflows/knowledge-release.yaml,.github/workflows/knowledge-sync.yaml,.lokf/scripts/knowledge-librarian.sh,.lokf/scripts/knowledge-conventions.sh,.lokf/scripts/knowledge-conventions.py,.lokf/scripts/knowledge-preflight.sh,.lokf/scripts/knowledge-provenance.sh,.lokf/scripts/knowledge-feedback.sh,.lokf/scripts/knowledge-apply.sh,.lokf/scripts/knowledge-apply.py,.lokf/scripts/knowledge-report.sh,.lokf/scripts/knowledge-sync.sh,.lokf/.gitignore,.lokf/justfileandwebsite/src/components/KnowledgeGraph.astrohere. No plugin change.
1.6.8
As it stood at this release: the repository · the docs · the knowledge bundle · the release
Security
- The sidecar copies and the skills pin are at Knowledge Trust Ladder v0.55.2. The release changed
.lokf/scripts/knowledge-preflight.shand.lokf/scripts/knowledge-sync.shhere.
1.6.9
As it stood at this release: the repository · the docs · the knowledge bundle · the release
Security
- The sidecar copies and the skills pin are at Knowledge Trust Ladder v0.56.1. The release changed
.github/workflows/knowledge-registrar.yaml,.github/workflows/knowledge-librarian.yaml,.github/workflows/knowledge-release.yaml,.github/workflows/knowledge-sync.yaml,.lokf/scripts/knowledge-preflight.sh,.lokf/scripts/knowledge-sync.sh,website/astro.config.mjs,website/scripts/check-links.mjs,website/scripts/config.mjs,website/scripts/markdown-ktl.mjs,website/scripts/raw-html.mjs,website/scripts/routes.mjs,website/scripts/sync.mjs,website/src/components/ConceptCard.astro,website/src/components/ConceptPreviews.astro,website/src/components/KnowledgeGraph.astro,website/src/components/Mermaid.astro,website/src/components/Neighbourhood.astro,website/src/components/TrustChart.astro,website/src/content.config.ts,website/src/pages/og/[...route].ts,website/src/styles/catalogue.cssand.github/workflows/knowledge-website.yamlhere. No plugin change.
1.6.10
As it stood at this release: the repository · the docs · the knowledge bundle · the release
Security
- The sidecar copies and the skills pin are at Knowledge Trust Ladder v0.56.2. The release changed
.lokf/.gitignorehere. No plugin change.
1.6.11
As it stood at this release: the repository · the docs · the knowledge bundle · the release
Fixed
- A
!after the type marks a breaking change..releaserc.jsonnames the Conventional Commits preset, so afeat!:commit releases a new major version instead of nothing. No plugin change.
1.6.12
As it stood at this release: the repository · the docs · the knowledge bundle · the release
Security
- The sidecar copies and the skills pin are at Knowledge Trust Ladder v0.57.0. The release changed
.github/workflows/knowledge-registrar.yaml,.github/workflows/knowledge-librarian.yaml,.github/workflows/knowledge-release.yaml,.github/workflows/knowledge-sync.yaml,.lokf/scripts/knowledge-preflight.sh,.lokf/scripts/knowledge-apply.py,website/package-lock.json,website/package.json,website/scripts/config.mjsand.github/workflows/knowledge-website.yamlhere. No plugin change.
1.6.13 Latest
As it stood at this release: the repository · the docs · the knowledge bundle · the release
Security
- The sidecar copies and the skills pin are at Knowledge Trust Ladder v0.59.0. The release changed
.github/workflows/knowledge-registrar.yaml,.github/workflows/knowledge-librarian.yaml,.github/workflows/knowledge-release.yaml,.github/workflows/knowledge-sync.yaml,.lokf/scripts/knowledge-conventions.sh,.lokf/scripts/knowledge-conventions.py,.lokf/scripts/knowledge-preflight.sh,.lokf/scripts/knowledge-apply.sh,.lokf/scripts/knowledge-apply.py,.lokf/scripts/knowledge-report.sh,.lokf/m365/ktl-docent-m365.md,website/package-lock.json,website/package.json,website/scripts/config.mjsand.github/workflows/knowledge-website.yamlhere. No plugin change.