Skip to content

Releases

1.5.5

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.yaml attaches ktl-docent-m365-<tag>-<repository>.zip beside 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, and knowledge-m365.sh, which builds it from a snapshot of the bundle; knowledge-preflight.sh compares both with their templates, and CONTRIBUTING.md and SECURITY.md count them among the copies that move with the pin. The release workflow stays inert until KNOWLEDGE_RELEASE_ENABLED is true. No plugin change.

1.5.4

Security

  • The sidecar copies and the skills pin match v0.26.0. Conventions rule 11 rejects an at: later than the commit that recorded it; the six librarian times in this bundle that broke it now carry that commit’s time. knowledge-librarian.yaml matches its template apart from the pin. No plugin change.

1.5.3

Security

  • The sidecar copies and the skills pin match v0.25.0. The scheduled librarian installs its skill from that release. knowledge-release.yaml is new: it attaches the bundle to a release as knowledge-<tag>-<repository>.zip unless the bundle matches the last release’s, runs when dispatched by hand and on each published release once KNOWLEDGE_RELEASE_ENABLED is true, and is otherwise inert. The librarian workflow and wrapper hand the agent its credential, the AGENT_API_KEY secret or the job’s own token with AGENT_USE_JOB_TOKEN, under the name AGENT_API_KEY_ENV gives and to nothing else; the job requests copilot-requests: write for Copilot CLI, idle until then, and sets up Node 22 for an npx-run agent. knowledge-preflight.sh compares the new workflow with its template.

1.5.2

Security

  • The sidecar’s preflight and skills pin match v0.23.1. The preflight now compares a librarian workflow with the template’s apart from TRUST_LADDER_SKILLS_REF, which each repository moves on its own schedule. This repository has no bare skills/ directory for that check to compare against, so its output does not change; no plugin change.

1.5.1

Changed

  • The README and docs/for-the-curious.md are restyled for the reader: shorter sentences, plain statements, labels set off with a colon, the OKF base layer as a table. The section Philosophy: warnings, not errors, almost everywhere is now Why almost everything is a warning, and the host-by-host layouts live once in the skills’ docs/obsidian.md.

Fixed

  • The scheduled librarian installs its skill from v0.23.0. The pin still named v0.21.0, which has no skills/ktl-librarian, so 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 opens feedback.md, so no other reader’s text enters its session (Snyk W011). It comes from the v0.23.0 templates, the release the pin now names.

1.5.0

Added

  • A dimmed counterpart for all three diagrams, *-dimmed.svg beside each original: the same geometry on warm grey paper rather than a dark one. The two shared diagrams are byte-for-byte with the other repositories; the logo keeps this repository’s own ladder, which stops at the amber rung.

Changed

  • The dark-mode source is the dimmed set. Each prefers-color-scheme: dark source now points at *-dimmed.svg; the *-dark.svg files from 1.3.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.4.1

Fixed

  • The description names the role as the project does. LOKF is “a semantic profile of OKF”, and the registrar keeps a vault well-formed. The manifest, the package and the community listing entry carry the same sentence.

1.4.0

Changed

  • The ribbon and tab carry the trust ladder, not Lucide’s shield-half. No check mark on top: this plugin keeps every record well-formed and never vouches for one, so the check belongs to KTL Curator, whose icon is this ladder with it. Line art at Lucide’s weight, in currentColor, so it sits with Obsidian’s own icons and follows any theme.

1.3.0

Added

  • A dark counterpart for all three diagrams, *-dark.svg beside 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 a prefers-color-scheme: dark source over the existing file, so the light original stays the fallback and its path is unchanged.

Changed

  • The registrar’s logo has no check mark. Its ladder stops at the amber rung, checked by automation; the blue tick, a named person’s confirmation, is the curator’s alone. The logo is no longer shared byte-for-byte with the other repositories.

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.2.8

Fixed

  • The type-check survives a TypeScript 7 / @types/node 26 bump. moduleResolution: "bundler" drops the "node" package.json export condition by design; a newer @types/node gates its node:fs/node:path/node:url/node:module subpaths on that condition, so scripts/smoke-test.ts’s plain-Node imports stopped resolving. customConditions: ["node"] in tsconfig.json re-adds it. lib moves to ES2022 for Array.prototype.at() in src/main.ts; esbuild.config.mjs’s own output target is unaffected.