Releases
0.1.5
Changed
- The README is a front door, with its detail in
docs/. Seven pages hold what moved out, from key concepts and working with the data to status, releasing, layout, Neo4j and for-the-curious, and a Read on table links them. - The sidecar has its
knowledge_bundledoorway, a link to.lokf/knowledgeat the root, and the linters skip it..lokf/.gitignore,justfileandqueries.httpcatch up with the current templates: Obsidian’s workspace folder is ignored,just lokf-linkrestores the doorway, and two queries list the concepts nobody has confirmed and those past review.
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 23 concepts here that had drifted, in place of the short summaries the indexes carried. Rule 13 fails a change to a confirmed concept that does not move itsgeneratedstamp past the confirmation. The scripts’ comments read plainer..lokf/.gitignoreignores the patch file,.lokf/README.mdnames the new scripts andquestions.md, andSECURITY.mdnames the new path and checks. No application change.
0.1.4
Security
- Releases carry the docent as a Microsoft 365 Copilot skill. The new
.lokf/m365/, copied from thev0.27.0templates, holds its instructions,ktl-docent-m365.md, andknowledge-m365.sh, which builds it from a snapshot of the bundle.knowledge-release.yamlattaches it asktl-docent-m365-<tag>-<repository>.zipbeside the bundle zip; without the folder it attached the bundle alone.CONTRIBUTING.mdandSECURITY.mdcount.lokf/m365/among the copies that move with the pin.
Fixed
- 0.1.3 installed the librarian skill from
v0.27.0and carried its copies, notv0.26.0as its entry says. The entry was written before the sync moved the pin.
0.1.3
Fixed
- The scheduled librarian installs its skill from
v0.26.0. The old pin,v0.19.7, has noskills/ktl-librarian, so every weekly run failed.
Security
- The sidecar copies match the
v0.26.0templates.knowledge-feedback.shlets ktl-docent record a reader’s gap without openingfeedback.md(Snyk W011).knowledge-release.yamlattaches the bundle zip to a release, dispatched by the release job onceKNOWLEDGE_RELEASE_ENABLEDistrue. The librarian hands its agent one credential, under the nameAGENT_API_KEY_ENVgives, and validates with--check-refsbefore opening a pull request. Conventions rule 11 rejects anat:later than the commit that recorded it, and a bundle path with a byte above 0x7f is read rather than skipped.
0.1.2
Changed
- This repository follows the skills repository’s renames.
lokf-agent-skillsis nowknowledge-trust-ladder(a third-party repository named after the format read as LOKF’s official home), and its skills and plugins carry thektl-prefix. Every link, bothnpx skills addlines, the librarian workflow, the sidecar scripts and theTRUST_LADDER_SKILLS_REPO/TRUST_LADDER_SKILLS_REFvariables (formerlyLOKF_SKILLS_*) follow; GitHub redirects the old paths. The workflow’s pin must move to the first skills release that carries the new names. - The scheduled librarian installs
v0.19.7, up fromv0.19.2, so it runs the current skill rather than one five releases behind. - The signing-guide link pointed at a heading that no longer exists (
CONTRIBUTING.md#signing-your-commits); the guide has its own page now,docs/signing-commits.md. - The README, docs, CONTRIBUTING and workflow comments are restyled for the reader: shorter sentences and plain statements;
docs/cli-examples.mdas headed code blocks with its recurring flags glossed; CONTRIBUTING back under its word budget, with the release rationale linked to the README.
0.1.1
Fixed
- Retitling a pull request re-runs the release checks. The title check told the author to retitle, but the workflow listened only for the default pull-request types, so a title change fired nothing and the check stayed red whatever the author did. The trigger now names
edited.
Security
- The sidecar’s scheduled-agent wrapper restores
.git/configand.git/hooks/on every exit. The copy here predated theEXITtrap, so an agent that poisonedcore.hooksPathand then failed, or a cancelled job, left it for the workflow’s later steps to read. - The registrar gate reads a confirmation whole, not its
by:line. Re-dating an existinghuman:event, moving itsrevisionor writing it in flow style added noby: human:line and so passed the old gate unseen. The gate also refuses ahuman:id it cannot look up, resolves a commit-shapedrevisionagainst the tree, and now runs under a top-levelpermissions: {}with no checkout credential on disk.
Added
-
The bundle gets the conventions gate it never had,
knowledge-conventions.shand its Python half, checking the ten ruleslokf validatecannot see. The sidecar also gainsknowledge-preflight.sh,knowledge-provenance.shand.lokf/.gitattributes, keeping the bundle on LF so a Windows checkout gives CI’s verdict. -
A pull request that would release is held to its release notes and its title. The
planjob refuses an empty## [Unreleased], which semantic-release itself skips on a pull-request event, and refuses a title with no releasing type, since a squash merge takes its commit subject from the title. -
Semantic release. The version is computed from Conventional Commits on
main; this file’s## [Unreleased]section is promoted into a dated heading and used as the release notes,pyproject.tomlanduv.lockare bumped to match, and a GitHub Release is published from it - behind thereleaseEnvironment, so a person approves each one. -
SECURITY.md: the reporting route, and what the unauthenticated write endpoints do and do not promise.