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