<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title>Knowledge Trust Ladder: bundle log</title>
  <subtitle>What changed in the knowledge bundle, a day to an entry, newest first.</subtitle>
  <link rel="self" type="application/atom+xml" href="https://noelmcloughlin.github.io/knowledge-trust-ladder/knowledge/log.xml"/>
  <link rel="alternate" type="text/html" href="https://noelmcloughlin.github.io/knowledge-trust-ladder/knowledge/log/"/>
  <link rel="alternate" type="text/markdown" href="https://noelmcloughlin.github.io/knowledge-trust-ladder/knowledge/log.md"/>
  <id>https://w3id.org/ktl/knowledge/log</id>
  <updated>2026-10-29T12:34:12Z</updated>
  <author><name>Noel McLoughlin</name></author>
  <rights>CC BY 4.0</rights>
  <link rel="license" href="https://creativecommons.org/licenses/by/4.0/"/>
  <entry>
    <title>2026-10-29 · Changed: 28 · Curation: 3 · Resolved: 1</title>
    <link rel="alternate" type="text/html" href="https://noelmcloughlin.github.io/knowledge-trust-ladder/knowledge/log/#2026-10-29"/>
    <id>https://w3id.org/ktl/knowledge/log#2026-10-29</id>
    <published>2026-10-29T01:45:55Z</published>
    <updated>2026-10-29T12:34:12Z</updated>
    <category term="Changed"/>
    <category term="Curation"/>
    <category term="Resolved"/>
    <content type="html">&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: ktl-curator, released to the librarian by the person who wrote its served-member sentences, gives the digest commands as &lt;code&gt;references/domain-bundle.md&lt;/code&gt; does, &lt;code&gt;shasum -a 256&lt;/code&gt; on macOS, and says the curator sets &lt;code&gt;sensitivity&lt;/code&gt; before confirming. Edited since a person confirmed it; the label says so until the curator looks again.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Domain schemas, released to the librarian by the person who wrote two of its sentences, opens its paragraph on a published vocabulary with the rule that a domain schema imports the copy &lt;code&gt;lokf adapt&lt;/code&gt; makes, as ktl-librarian's &lt;code&gt;references/domain-schema.md&lt;/code&gt; says, and its copy sentence reads in one voice. Edited since a person confirmed it; the label says so until the curator looks again.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Curation&lt;/strong&gt;: human:noelmcloughlin sent 2 back and released the text they wrote in both, the ktl-curator skill and Domain schemas, with the note &quot;rewrite as needed&quot;, so the librarian may rewrite each from its sources.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Curation&lt;/strong&gt;: human:noelmcloughlin rewrote sentences in 2 concepts, the ktl-curator skill and Domain schemas, confirmed neither, and cleared their &quot;correct facts&quot; notes on both. Both edits were to text the librarian re-derived the same day after a send-back.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: ktl-sidecar splits its paragraph on the preflight's lines in two, the warnings and the skills installed for one user, with no fact changed.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: ktl-sidecar names the preflight's new &lt;code&gt;core&lt;/code&gt; line, which warns when &lt;code&gt;.lokf/lokf.yaml&lt;/code&gt; is from another lokf release than &lt;code&gt;uv.lock&lt;/code&gt; pins, as &lt;code&gt;references/prerequisites.md&lt;/code&gt; lists it.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Domain schemas splits its paragraph on a published vocabulary in two, how it is imported and what it lacks, with no fact changed. Edited since a person confirmed it; the label says so until the curator looks again.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: ktl-curator compares a served member's file with its &lt;code&gt;checksum_value&lt;/code&gt; too, as &lt;code&gt;references/domain-bundle.md&lt;/code&gt; says; the earlier change of the same day fixed only the release check. Sent back by a person; the note waits for the curator. Edited since a person confirmed it; the label says so until the curator looks again.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Domain schemas says LinkML keeps the last definition, so a published vocabulary's &lt;code&gt;id&lt;/code&gt;, &lt;code&gt;type&lt;/code&gt;, &lt;code&gt;name&lt;/code&gt; or &lt;code&gt;Person&lt;/code&gt; would replace LOKF's, and that the pinned &lt;code&gt;lokf.yaml&lt;/code&gt; is copied again when the floor moves or the lock pins another release, as ktl-librarian's &lt;code&gt;references/domain-schema.md&lt;/code&gt; says. The undeclared-type projection keeps its &quot;from lokf 0.9.0&quot;. Sent back by a person; the note waits for the curator. Edited since a person confirmed it; the label says so until the curator looks again.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Curation&lt;/strong&gt;: human:noelmcloughlin confirmed none and sent 2 back, the ktl-curator skill and Domain schemas, each with the note &quot;correct facts&quot; on the librarian's edits of the same day. The same send-back twice in one session points at the librarian's instructions, not only at these two concepts.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Domain schemas splits its paragraph on the recipe into three, on the schema's place, the plugins and the pinned copy, with no fact changed. Edited since a person confirmed it; the label says so until the curator looks again.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: ktl-curator compares a release's &lt;code&gt;.sha256&lt;/code&gt; with a member's &lt;code&gt;checksum_value&lt;/code&gt;, as &lt;code&gt;references/domain-bundle.md&lt;/code&gt; says since the member checksum became LOKF core's &lt;code&gt;Checksum&lt;/code&gt;. Edited since a person confirmed it; the label says so until the curator looks again.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Domain schemas says the pinned &lt;code&gt;lokf.yaml&lt;/code&gt; follows the release &lt;code&gt;uv.lock&lt;/code&gt; pins, not the floor, as ktl-librarian's &lt;code&gt;references/domain-schema.md&lt;/code&gt; now says. Edited since a person confirmed it; the label says so until the curator looks again.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Curating a domain bundle names a member's checksum as LOKF core's &lt;code&gt;Checksum&lt;/code&gt;, sha256 alone, with a &lt;code&gt;checksum_value&lt;/code&gt;, and counts the domain schema's new &lt;code&gt;ReleaseChecksum&lt;/code&gt; among its five classes, as the curator's &lt;code&gt;references/domain-bundle.md&lt;/code&gt; and the sidecar's &lt;code&gt;templates/domain.yaml&lt;/code&gt; now say.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: ktl-sidecar: the release paragraph is split in two, and two long sentences are shortened, with no fact changed.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: ktl-docent widens along fourteen typed relations, &lt;code&gt;isReplacedBy&lt;/code&gt; among them, as &lt;code&gt;skills/ktl-docent/SKILL.md&lt;/code&gt; lists since 0.59.0. Edited since a person confirmed it; the label says so until the curator looks again.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: ktl-curator counts reliance through fourteen relation fields, and &lt;code&gt;revision&lt;/code&gt; is described as released in lokf 0.9.0, as &lt;code&gt;trust-fields.md&lt;/code&gt; and &lt;code&gt;review-session.md&lt;/code&gt; say. Edited since a person confirmed it; the label says so until the curator looks again.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: the three-lines page describes &lt;code&gt;revision&lt;/code&gt; as released in lokf 0.9.0, as &lt;code&gt;docs/three-lines.md&lt;/code&gt; says. Edited since a person confirmed it; the label says so until the curator looks again.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Trust label: &lt;code&gt;revision&lt;/code&gt; is described as released in lokf 0.9.0, as &lt;code&gt;trust-fields.md&lt;/code&gt; says. Edited since a person confirmed it; the label says so until the curator looks again.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Skills repositories: the excerpt field is released in lokf 0.9.0, and &lt;code&gt;docs/skills-repositories.md&lt;/code&gt; names &lt;code&gt;--check-excerpts&lt;/code&gt;. Edited since a person confirmed it; the label says so until the curator looks again.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: What KTL took from SkillWiki: &lt;code&gt;isReplacedBy&lt;/code&gt; and the excerpt check are released, as &lt;code&gt;CHANGELOG.md&lt;/code&gt; says for 0.59.0 and 0.60.0. Edited since a person confirmed it; the label says so until the curator looks again.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Domain schemas: the convert and serve recipes pass the schema too, &lt;code&gt;adapt&lt;/code&gt; is released in lokf 0.9.0, and a composite of adapt copies is released as one file. Edited since a person confirmed it; the label says so until the curator looks again.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: LOKF toolkit: 0.9.0 is the latest release and the floor, &lt;code&gt;--schema&lt;/code&gt; reaches convert, query, serve and export, and the check-refs recipe adds &lt;code&gt;--check-excerpts&lt;/code&gt;; the cited &lt;code&gt;cli.py&lt;/code&gt; and no-Python schema move to the v0.9.0 commit.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: ktl-librarian: the check-refs recipe adds &lt;code&gt;--check-excerpts&lt;/code&gt;, the W012 note names the v0.9.0 commit and wheel, &lt;code&gt;revision&lt;/code&gt; is released, and coverage counts &lt;code&gt;exclusions&lt;/code&gt; apart. Edited since a person confirmed it; the label says so until the curator looks again.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: ktl-sidecar: the variables paragraph gives &lt;code&gt;automation.md&lt;/code&gt;'s corrected reasons, the conventions count is eighteen, the release merges a composite schema, and the preflight's floor and schema warnings are described.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Resolved&lt;/strong&gt;: &lt;code&gt;automation.md&lt;/code&gt; now gives the job-&lt;code&gt;if:&lt;/code&gt; reason for &lt;code&gt;KNOWLEDGE_LIBRARIAN_ENABLED&lt;/code&gt; alone, and one place for every switch for the rest.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Releasing: since 0.59.0 a schema-only change packs again, and a composite schema is released with its local imports merged in.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Knowledge outside the repository: the example manifest is &lt;code&gt;.lokf/ingest.yaml.sample&lt;/code&gt;, as &lt;code&gt;docs/ingest.md&lt;/code&gt; says.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: ktl-librarian: all four schema recipes pass &lt;code&gt;--schema&lt;/code&gt;, and &lt;code&gt;lokf adapt&lt;/code&gt; is released in lokf 0.9.0, as &lt;code&gt;references/domain-schema.md&lt;/code&gt; says. Edited since a person confirmed it; the label says so until the curator looks again.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: ktl-sidecar: the preflight's &lt;code&gt;schema&lt;/code&gt; line follows the row 0.60.0 gives it: a recipe reads &lt;code&gt;[tool.lokf] schema&lt;/code&gt; when the justfile's line is empty, and the release, the website and the librarian read only that line.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: ktl-website: the sync's &lt;code&gt;lokf export&lt;/code&gt; runs under the justfile's domain schema, as &lt;code&gt;SKILL.md&lt;/code&gt; says since 0.60.0.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Domain bundle: a confirmation admits a member's explicit ids outside its namespace, as the curator's &lt;code&gt;domain-bundle.md&lt;/code&gt; says since 0.59.0.&lt;/li&gt;
&lt;/ul&gt;
</content>
  </entry>
  <entry>
    <title>2026-10-28 · Changed: 13 · Prose: 1 · Rewrite: 1</title>
    <link rel="alternate" type="text/html" href="https://noelmcloughlin.github.io/knowledge-trust-ladder/knowledge/log/#2026-10-28"/>
    <id>https://w3id.org/ktl/knowledge/log#2026-10-28</id>
    <published>2026-10-28T00:45:42Z</published>
    <updated>2026-10-28T00:45:42Z</updated>
    <category term="Changed"/>
    <category term="Prose"/>
    <category term="Rewrite"/>
    <content type="html">&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: the threat model concept follows &lt;code&gt;docs/threat-model.md&lt;/code&gt; as #292 and #294 left it: through a proxy the proxy resolves every name the federation build and the ingest fetch, and the ingest section gives the page's four findings, with the address rule for a &lt;code&gt;git&lt;/code&gt; entry, the script's user and why a command is trusted, what the lock never records, what leaves the job, and the force-push. It drops the link-local wording and the 0.56.1 date the page does not give. Edited since a person confirmed it; the label says so until the curator looks again.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Prose&lt;/strong&gt;: reworded 3 concept bodies in plain English. No fact, link, number or frontmatter changed.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: the ktl-curator skill concept says the report lists each retired concept whose successor no person has confirmed, and samples concepts checked by automation only when the curation policy sets &lt;code&gt;Automation re-check:&lt;/code&gt;, its fourth switch, as &lt;code&gt;SKILL.md&lt;/code&gt; and &lt;code&gt;references/review-session.md&lt;/code&gt; say since 0.58.0. Edited since a person confirmed it; the label says so until the curator looks again.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: ktl-librarian skill says that every concept names a &lt;code&gt;resource&lt;/code&gt; or a &lt;code&gt;sources&lt;/code&gt; entry, which conventions rule 15 checks since 0.58.0, and that the librarian cites a source by its &lt;code&gt;id&lt;/code&gt; in a footnote, which rule 16 checks (&lt;code&gt;SKILL.md&lt;/code&gt;, &lt;code&gt;CHANGELOG.md&lt;/code&gt;). It also says where a confidential ingest entry's items are recorded, as &lt;code&gt;references/ingest.md&lt;/code&gt; does. Edited since a person confirmed it; the label says so until the curator looks again.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: the ktl-sidecar skill concept says the federation workflow's &lt;code&gt;nudge&lt;/code&gt; job reads &lt;code&gt;KNOWLEDGE_LIBRARIAN_ENABLED&lt;/code&gt; in its own &lt;code&gt;if:&lt;/code&gt;, as a person's note says and &lt;code&gt;templates/github/knowledge-federation.yaml&lt;/code&gt; shows. It also carries the seventeen conventions of 0.58.0 from &lt;code&gt;references/gate.md&lt;/code&gt;, and the ingest's git versions and time limit of 0.57.0 from &lt;code&gt;references/prerequisites.md&lt;/code&gt; and &lt;code&gt;references/automation.md&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: the ktl-website skill concept says the home page offers a Schema button when the site shows the schema's pages, as &lt;code&gt;CHANGELOG.md&lt;/code&gt; records under 0.57.0 and &lt;code&gt;references/customising.md&lt;/code&gt; lists among the default buttons.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Repository validation names &lt;code&gt;tests/test_docent_holdout.py&lt;/code&gt; of 0.58.0, which checks that each concept the holdout expects is still in the bundle and that &lt;code&gt;evals/&lt;/code&gt; asks the same questions. It also carries what 0.57.0 added to the federation, ingest and website tests and to the website smoke test.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: the security policy concept lists &lt;code&gt;docent-eval.yml&lt;/code&gt; among this repository's workflows, with its own Environment and a read-only token, and adds a proxy's own egress to what the policy does not cover, as &lt;code&gt;SECURITY.md&lt;/code&gt; does since 0.58.0. Edited since a person confirmed it; the label says so until the curator looks again.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: the threat model concept follows &lt;code&gt;docs/threat-model.md&lt;/code&gt; since 0.57.0 and 0.58.0. It carries the ingest's limits in time and per file, its git version needs, its own home folder for git, the confidential lock and the proxy it hands git, adds the docent eval, and names the variation selector among the characters the hand-off loses. Edited since a person confirmed it; the label says so until the curator looks again.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: the versioning policy dates the Conventional Commits preset to 0.57.0, since &lt;code&gt;CHANGELOG.md&lt;/code&gt; folded the unreleased 0.56.3 entries into 0.57.0 and no v0.56.3 tag exists. Edited since a person confirmed it; the label says so until the curator looks again.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Releasing dates the Conventional Commits preset to 0.57.0, since &lt;code&gt;CHANGELOG.md&lt;/code&gt; folded the unreleased 0.56.3 entries into 0.57.0 and no v0.56.3 tag exists.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Knowledge outside the repository follows &lt;code&gt;docs/ingest.md&lt;/code&gt; and the manifest template since 0.57.0: a &lt;code&gt;git&lt;/code&gt; entry fetches only changed files and needs git 2.31, or 2.37 for a host name, file names are spelled for the workflow, the lock gains &lt;code&gt;skipped&lt;/code&gt;, a confidential entry's records stay in the ignored cache unless &lt;code&gt;lock_details&lt;/code&gt; is true, a run stops starting work after 25 minutes, and a proxy must refuse private addresses itself.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: the knowledge sources map gains a row for the docent holdout, consciously excluded as concepts so the docent never reads a question beside its answer, and the two website rows account for the site's build configuration, as &lt;code&gt;docs/repository-layout.md&lt;/code&gt; and &lt;code&gt;docs/threat-model.md&lt;/code&gt; describe them since 0.58.0. Both rows still exclude the whole of &lt;code&gt;src/&lt;/code&gt;, as a person's note asked. Edited since a person confirmed it; the label says so until the curator looks again.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Skills repositories says the ktl-librarian concept cites eighteen sources and that four of its confirmations were overtaken, as &lt;code&gt;docs/skills-repositories.md&lt;/code&gt; now counts them, and cites that page with a footnote. Edited since a person confirmed it; the label says so until the curator looks again.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Rewrite&lt;/strong&gt;: The pen for readers aged 13 to 18 now retells four things &lt;code&gt;glossary/the-pen.md&lt;/code&gt; says that it left out, as a person's note asked: the &lt;code&gt;lokf validate&lt;/code&gt; run, moving feedback into &lt;code&gt;.lokf/questions.md&lt;/code&gt;, the scheduled run's wrapper and &lt;code&gt;KNOWLEDGE_PEN_DRY_RUN_ONLY&lt;/code&gt;, and the &lt;code&gt;handoff&lt;/code&gt; lines.&lt;/li&gt;
&lt;/ul&gt;
</content>
  </entry>
  <entry>
    <title>2026-10-27 · Changed: 11 · Resolved: 3 · Curation: 2 · Rewrite: 1</title>
    <link rel="alternate" type="text/html" href="https://noelmcloughlin.github.io/knowledge-trust-ladder/knowledge/log/#2026-10-27"/>
    <id>https://w3id.org/ktl/knowledge/log#2026-10-27</id>
    <published>2026-10-27T00:40:50Z</published>
    <updated>2026-10-27T09:50:26Z</updated>
    <category term="Curation"/>
    <category term="Changed"/>
    <category term="Resolved"/>
    <category term="Rewrite"/>
    <content type="html">&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Curation&lt;/strong&gt;: human:noelmcloughlin confirmed none and sent 1 back, and cleared 4 of their own notes the librarian had answered, on the Threat model, the Versioning policy, the Security policy and the ktl-sidecar skill. The teen retelling of the pen went back for four things the adult page says and it leaves out, and the ktl-sidecar skill's question on &lt;code&gt;automation.md&lt;/code&gt;'s reason now carries the person's answer.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: the knowledge sources map's external-URLs row names the Conventional Commits preset's parser in place of the Angular preset pages, as &lt;code&gt;policies/versioning.md&lt;/code&gt; and &lt;code&gt;playbooks/releasing.md&lt;/code&gt; cite it since 0.56.3. Edited since a person confirmed it; the label says so until the curator looks again.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: the threat model concept counts seven workflow templates under the two template folders, as &lt;code&gt;docs/threat-model.md&lt;/code&gt; does since fc02830. Edited since a person confirmed it; the label says so until the curator looks again.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: the versioning policy says a &lt;code&gt;!&lt;/code&gt; after the type gives a major release, since &lt;code&gt;.releaserc.json&lt;/code&gt; names the Conventional Commits preset and &lt;code&gt;semantic-release.yml&lt;/code&gt; pins it (0.56.3). The preset's parser replaces the Angular parser among its sources. Edited since a person confirmed it; the label says so until the curator looks again.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Resolved&lt;/strong&gt;: the versioning question on &lt;code&gt;!&lt;/code&gt; is settled, since &lt;code&gt;.releaserc.json&lt;/code&gt; names the Conventional Commits preset from fc02830 on, the change a person's answer asked for.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Releasing says the analyzer reads commits with the Conventional Commits preset, so a &lt;code&gt;feat!:&lt;/code&gt; commit gives a major release, as &lt;code&gt;.releaserc.json&lt;/code&gt; and &lt;code&gt;semantic-release.yml&lt;/code&gt; set it up in 0.56.3. The preset's parser replaces the Angular parser among its sources.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: the federation and ingest paragraphs follow &lt;code&gt;docs/threat-model.md&lt;/code&gt; as the proxy-connect-check fix leaves it. Every address that is not public counts as private, a proxy must refuse a private address itself, and an ingest &lt;code&gt;git&lt;/code&gt; entry is held to its checked addresses, follows no redirect, and is refused when git's own configuration rewrites its address. Edited since a person confirmed it; the label says so until the curator looks again.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: the ktl-curator skill concept now says the report's last line either offers Step 2 or states the one stop (never elsewhere in the report), that a harness claiming the person cannot answer is a weaker sign the skill says in that line, and that Step 2 runs one item per turn, as &lt;code&gt;SKILL.md&lt;/code&gt; has carried since &lt;code&gt;references/review-session.md&lt;/code&gt; 0.56.2 (&lt;code&gt;CHANGELOG.md&lt;/code&gt;). Edited since a person confirmed it; the label says so until the curator looks again.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: the knowledge sources map's two website rows now say the whole of the site's &lt;code&gt;src/&lt;/code&gt; is consciously excluded as concepts, not only its components, styles and scripts; &lt;code&gt;website/src/&lt;/code&gt; and ktl-website's template copy both hold &lt;code&gt;pages/&lt;/code&gt;, &lt;code&gt;assets/&lt;/code&gt;, &lt;code&gt;content.config.ts&lt;/code&gt;, &lt;code&gt;routeData.ts&lt;/code&gt;, &lt;code&gt;socialCards.ts&lt;/code&gt; and &lt;code&gt;trust.ts&lt;/code&gt; alongside the components and styles, all site code rather than knowledge. &lt;code&gt;sources&lt;/code&gt; now names each &lt;code&gt;src/&lt;/code&gt; tree whole in place of its components and styles paths. Edited since a person confirmed it; the label says so until the curator looks again.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Resolved&lt;/strong&gt;: both website rows now say the whole of &lt;code&gt;src/&lt;/code&gt; is consciously excluded, checked against the working tree of &lt;code&gt;website/src/&lt;/code&gt; and &lt;code&gt;skills/ktl-website/templates/website/src/&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: the threat model concept splits its sync and ingest paragraphs where the topic changes, so each stays under the length the prose rules set. Edited since a person confirmed it; the label says so until the curator looks again.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: the threat model concept now carries each limit and check a person's note named as dropped from &lt;code&gt;docs/threat-model.md&lt;/code&gt;: the workflow write to &lt;code&gt;main&lt;/code&gt;, the ingest's limits, the sync's committer check, the wrapper's own limit, what &lt;code&gt;build&lt;/code&gt; decides, the pen's caps and what the page does not cover. It no longer names a commit that is not on &lt;code&gt;main&lt;/code&gt;. Edited since a person confirmed it; the label says so until the curator looks again.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Rewrite&lt;/strong&gt;: the security policy concept follows &lt;code&gt;SECURITY.md&lt;/code&gt; again, as a person's note asked: five surfaces instead of four, the website's templates and preflight among them, the sidecar's fourteen scripts and six workflows, and the Environment, federation and sync guards. Edited since a person confirmed it; the label says so until the curator looks again.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: the ktl-sidecar skill concept says the librarian workflow reads &lt;code&gt;KNOWLEDGE_LIBRARIAN_ENABLED&lt;/code&gt; in step conditions of the &lt;code&gt;refresh&lt;/code&gt; job, as a person's note and &lt;code&gt;.github/workflows/knowledge-librarian.yaml&lt;/code&gt; say, not in the job's own condition.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Resolved&lt;/strong&gt;: the question on the ktl-sidecar skill concept assumed the switch is read in a job's condition; the workflow reads it only in step conditions, so the question is asked again on that footing.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: the ktl-sidecar skill concept asks whether &lt;code&gt;automation.md&lt;/code&gt;'s reason for keeping the librarian's variables off an Environment holds when the workflow reads its switch in step conditions.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Curation&lt;/strong&gt;: human:noelmcloughlin confirmed none and sent 3 back, after reading each concept beside its sources, and cleared all 20 of their own notes. The ktl-sidecar skill and the Threat model went back with notes on where they part from their sources, and the Security policy went back with its text released to the librarian for a refresh from &lt;code&gt;SECURITY.md&lt;/code&gt;, its four librarian questions cleared. Two librarian questions now carry the person's answer: the release preset becomes &lt;code&gt;conventionalcommits&lt;/code&gt; (Versioning policy), and all of &lt;code&gt;website/src/&lt;/code&gt; is excluded as concepts (Knowledge sources).&lt;/li&gt;
&lt;/ul&gt;
</content>
  </entry>
  <entry>
    <title>2026-10-26 · Changed: 24 · Prose: 2 · From reader feedback: 2</title>
    <link rel="alternate" type="text/html" href="https://noelmcloughlin.github.io/knowledge-trust-ladder/knowledge/log/#2026-10-26"/>
    <id>https://w3id.org/ktl/knowledge/log#2026-10-26</id>
    <published>2026-10-27T00:40:50Z</published>
    <updated>2026-10-27T00:40:50Z</updated>
    <category term="Prose"/>
    <category term="Changed"/>
    <category term="From reader feedback"/>
    <content type="html">&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Prose&lt;/strong&gt;: reworded 15 concept bodies in plain English. No fact, link, number or frontmatter changed.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Context layer follows &lt;code&gt;docs/architecture.md&lt;/code&gt;'s wording since 62e1ac5: the next person or assistant does that work again.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Curator spells judgements as &lt;code&gt;docs/architecture.md&lt;/code&gt; does since 62e1ac5.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Desk says the pen refuses a change that would fake or remove a confirmation, as &lt;code&gt;docs/architecture.md&lt;/code&gt; puts it since 62e1ac5.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Domain schema says the curator flags concepts that no longer fit, as &lt;code&gt;docs/for-the-curious.md&lt;/code&gt; does since 62e1ac5, and names the linkml-sidecar skills for a schema that outgrows a few classes (&lt;code&gt;skills/ktl-curator/references/domain-schemas.md&lt;/code&gt;, 0.55.1).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Exhibition lists the two plugins' sites and KTL Federation's at their w3id addresses, as the README's Exhibitions section links them since 038c6ae.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Trust ladder attributes the quoted aim to OKF, as &lt;code&gt;docs/architecture.md&lt;/code&gt; does since 62e1ac5, with KTL as the runtime in which those fields are the rungs.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Domain schemas carries what the two domain-schema pages say since 0.55.1: the three layouts the &lt;code&gt;schema&lt;/code&gt; variable allows, &lt;code&gt;lokf adapt&lt;/code&gt; for a published vocabulary that cannot be imported as it is, and the linkml-sidecar skills for a schema that outgrows a few classes (&lt;code&gt;skills/ktl-librarian/references/domain-schema.md&lt;/code&gt;, &lt;code&gt;skills/ktl-curator/references/domain-schemas.md&lt;/code&gt;). Edited since a person confirmed it; the label says so until the curator looks again.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Hosts and doorways lists the package-mirror, proxy and old-python3 row of &lt;code&gt;skills/ktl-sidecar/references/portability.md&lt;/code&gt;, which 0.55.2 extended with the lock and the proxy's certificate. Edited since a person confirmed it; the label says so until the curator looks again.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Three lines of defence follows &lt;code&gt;docs/three-lines.md&lt;/code&gt; since 62e1ac5: the one logged exception is for a repository that cannot sign and has nobody else to approve, no KTL check runs the SHACL shapes yet, and the auditor's Copilot form is now a link to &lt;code&gt;docs/m365.md&lt;/code&gt;, which joins &lt;code&gt;sources&lt;/code&gt;. Edited since a person confirmed it; the label says so until the curator looks again.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Why the skills live in their own repository drops the sentence &lt;code&gt;docs/install.md&lt;/code&gt; cut in 62e1ac5, since the commands say their scope themselves.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: What KTL took from WikiSkill says why a run in a month's first seven days goes ahead, and that a person merges whatever the retrieval score, as &lt;code&gt;docs/for-the-curious.md&lt;/code&gt; puts both since 62e1ac5.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: The docent in Microsoft 365 Copilot names the two routes where it said either way, as &lt;code&gt;docs/m365.md&lt;/code&gt; does since 62e1ac5.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Knowledge outside the repository says the ingest checks the address each connection opens, against DNS rebinding, as &lt;code&gt;CHANGELOG.md&lt;/code&gt; records under 0.56.1.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Knowledge sources says the threat model's headings are deep-linked by ai-linkmo as well as the two plugins, since check 9 of &lt;code&gt;scripts/validate-repository.sh&lt;/code&gt; recorded two more anchors in 3114239. Edited since a person confirmed it; the label says so until the curator looks again.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: ktl-curator skill says a verdict is committed on its own, signed, never amended into the change it confirms, and how to run rule 14 before the push (0.55.1, &lt;code&gt;SKILL.md&lt;/code&gt;, &lt;code&gt;references/review-session.md&lt;/code&gt;); it carries a member's move to another namespace from &lt;code&gt;references/domain-bundle.md&lt;/code&gt;, and names the linkml-sidecar skills from &lt;code&gt;references/domain-schemas.md&lt;/code&gt;. Edited since a person confirmed it; the label says so until the curator looks again.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: ktl-prose skill follows 0.55.1: rule 10 cuts sentences too, the agent reads every file in scope whether the script cleared it or not, and the rules page names the dead sentence, either way with no alternatives, and the two cases only an author can settle (&lt;code&gt;SKILL.md&lt;/code&gt;, &lt;code&gt;references/rules.md&lt;/code&gt;, &lt;code&gt;CHANGELOG.md&lt;/code&gt;).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: ktl-website skill follows 0.56.0 and 0.56.1: the preflight's &lt;code&gt;mkdocs&lt;/code&gt; line, &lt;code&gt;REDIRECTS&lt;/code&gt; and &lt;code&gt;DOCS.exclude&lt;/code&gt;, Step 5b's retirement list, a docs page's Starlight address, the genre on cards and in search, a type worded as the bundle spells it, the lowercased host, the reload after a deploy, and the &lt;code&gt;just&lt;/code&gt; the lock pins (&lt;code&gt;SKILL.md&lt;/code&gt;, the four references, &lt;code&gt;CHANGELOG.md&lt;/code&gt;).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Releasing says the &lt;code&gt;plan&lt;/code&gt; job reads a pull request's commits from the merge-base, since &lt;code&gt;HEAD&lt;/code&gt; is GitHub's trial merge, as &lt;code&gt;.github/workflows/semantic-release.yml&lt;/code&gt; does since 373e27e.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Repository validation follows &lt;code&gt;validate.yml&lt;/code&gt;, &lt;code&gt;tests/&lt;/code&gt; and the smoke test since 0.55.1: the test matrix runs the &lt;code&gt;just&lt;/code&gt; the lock pins, &lt;code&gt;pypdf&lt;/code&gt; is 6.21.2, actionlint names &lt;code&gt;knowledge-ingest.yaml&lt;/code&gt;, the website smoke test covers an mkdocs site's redirects, and the federation, ingest, sync and website tests cover DNS rebinding, a namespace move, a bracketed route and the redirects.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Website says the build runs the &lt;code&gt;just&lt;/code&gt; the lock pins, that cards and search show a concept's genre, and that a page kept from before a deploy reloads once, as &lt;code&gt;knowledge-website.yaml&lt;/code&gt; and &lt;code&gt;CHANGELOG.md&lt;/code&gt; say under 0.56.1. Edited since a person confirmed it; the label says so until the curator looks again.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: ktl-librarian skill carries the three schema layouts and &lt;code&gt;lokf adapt&lt;/code&gt; from &lt;code&gt;references/domain-schema.md&lt;/code&gt; (0.55.1), the curator section of the hand-off with its separate verdict commit from &lt;code&gt;SKILL.md&lt;/code&gt;, and the &lt;code&gt;just&lt;/code&gt; the lock pins from &lt;code&gt;.github/workflows/knowledge-librarian.yaml&lt;/code&gt; (0.56.1). Edited since a person confirmed it; the label says so until the curator looks again.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;From reader feedback&lt;/strong&gt;: ktl-sidecar skill names the command that makes a Claude Code subscription token and the two names its credential takes, from &lt;code&gt;references/automation.md&lt;/code&gt;, and reads the variables sentence against the workflow. It also follows 0.55.1 to 0.56.1 and the federation changes on this branch: the preflight's index, lock and just-pin lines, the &lt;code&gt;rust-just&lt;/code&gt; pin, the sync's bracketed routes, the ingest's connection check, and the build and members script's temporary downloads, pruned-release day and namespace move (&lt;code&gt;references/portability.md&lt;/code&gt;, &lt;code&gt;references/prerequisites.md&lt;/code&gt;, &lt;code&gt;references/automation.md&lt;/code&gt;, &lt;code&gt;CHANGELOG.md&lt;/code&gt;).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;From reader feedback&lt;/strong&gt;: a reader reports that &lt;code&gt;references/automation.md&lt;/code&gt;'s reason for Repository variables is wider than the workflow bears out, since three of the variables are read in a step of the &lt;code&gt;refresh&lt;/code&gt; job, inside its Environment. The advice stands; the concept records both readings for the curator.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Threat model carries what &lt;code&gt;docs/threat-model.md&lt;/code&gt; says since 0.56.1: the federation build and the ingest check the address each connection opens, against DNS rebinding, with the proxy and &lt;code&gt;git&lt;/code&gt; exceptions; the sync's hardening bullet reads as the page now puts it; and check 9 records the sync and website headings too. Edited since a person confirmed it; the label says so until the curator looks again.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: LOKF toolkit says the sidecar's &lt;code&gt;pyproject.toml&lt;/code&gt; template pins &lt;code&gt;rust-just&lt;/code&gt; beside the toolkit since 0.56.1. PyPI still lists 0.8.0 as the latest &lt;code&gt;lokf&lt;/code&gt;, the floor the template names.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Curating a domain bundle says a release that names another namespace moves the member's &lt;code&gt;base_iri&lt;/code&gt;, as &lt;code&gt;skills/ktl-curator/references/domain-bundle.md&lt;/code&gt; says.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Prose&lt;/strong&gt;: reworded 1 concept body in plain English. No fact, link, number or frontmatter changed.&lt;/li&gt;
&lt;/ul&gt;
</content>
  </entry>
  <entry>
    <title>2026-10-25 · Changed: 3</title>
    <link rel="alternate" type="text/html" href="https://noelmcloughlin.github.io/knowledge-trust-ladder/knowledge/log/#2026-10-25"/>
    <id>https://w3id.org/ktl/knowledge/log#2026-10-25</id>
    <published>2026-10-26T01:49:58Z</published>
    <updated>2026-10-26T01:49:58Z</updated>
    <category term="Changed"/>
    <content type="html">&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: &lt;code&gt;docs/three-lines-critics.md&lt;/code&gt; is folded into &lt;code&gt;docs/three-lines.md&lt;/code&gt;, so the concepts that cited the critics page now cite the three lines page. &lt;code&gt;explanation/three-lines-of-defence.md&lt;/code&gt; was edited since a person confirmed it; the label says so until the curator looks again.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: &lt;code&gt;docs/three-lines-critics.md&lt;/code&gt; is folded into &lt;code&gt;docs/three-lines.md&lt;/code&gt;, so the concepts that cited the critics page now cite the three lines page. &lt;code&gt;explanation/why-four-roles.md&lt;/code&gt; was edited since a person confirmed it; the label says so until the curator looks again.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: &lt;code&gt;docs/three-lines-critics.md&lt;/code&gt; is folded into &lt;code&gt;docs/three-lines.md&lt;/code&gt;, so the concepts that cited the critics page now cite the three lines page. &lt;code&gt;playbooks/knowledge-sources.md&lt;/code&gt; was edited since a person confirmed it; the label says so until the curator looks again.&lt;/li&gt;
&lt;/ul&gt;
</content>
  </entry>
  <entry>
    <title>2026-10-20 · Changed: 9 · Prose: 1</title>
    <link rel="alternate" type="text/html" href="https://noelmcloughlin.github.io/knowledge-trust-ladder/knowledge/log/#2026-10-20"/>
    <id>https://w3id.org/ktl/knowledge/log#2026-10-20</id>
    <published>2026-10-21T00:02:23Z</published>
    <updated>2026-10-21T00:02:23Z</updated>
    <category term="Changed"/>
    <category term="Prose"/>
    <content type="html">&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: ktl-prose skill: the check reads a comment's layout, a table of options row by row and no command, and &lt;code&gt;--against&lt;/code&gt; compares a script as its comments (&lt;code&gt;references/other-files.md&lt;/code&gt;, &lt;code&gt;scripts/prose-check.py&lt;/code&gt;).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Prose&lt;/strong&gt;: reworded 6 concept bodies in plain English. No fact, link, number or frontmatter changed.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: ktl-prose skill: the check reads a script's comments and docstrings, reports a paragraph past eight sentences, lists &quot;outright&quot; and &quot;at all&quot;, and runs through &lt;code&gt;uv run&lt;/code&gt;; the rules page gains four methods (0.55.0, &lt;code&gt;CHANGELOG.md&lt;/code&gt;, &lt;code&gt;scripts/prose-check.py&lt;/code&gt;, &lt;code&gt;references/other-files.md&lt;/code&gt;).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: ktl-sidecar skill: the preflight runs from the repository's root and warns about an old python3, the scripts run with &lt;code&gt;.lokf/.venv&lt;/code&gt; before &lt;code&gt;uv run&lt;/code&gt; behind a package mirror, and the release attaches a schema from anywhere in the repository (0.55.0, &lt;code&gt;CHANGELOG.md&lt;/code&gt;, &lt;code&gt;references/portability.md&lt;/code&gt;, &lt;code&gt;references/automation.md&lt;/code&gt;).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: ktl-librarian skill: the pen validates every concept a patch would write against the schema when &lt;code&gt;.lokf/.venv&lt;/code&gt; holds the toolkit (0.55.0, &lt;code&gt;references/patch.md&lt;/code&gt;). Edited since a person confirmed it; the label says so until the curator looks again.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: The pen: it validates every concept a patch would write against the schema when &lt;code&gt;.lokf/.venv&lt;/code&gt; holds the toolkit (0.55.0, &lt;code&gt;references/patch.md&lt;/code&gt;).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Releasing: the &lt;code&gt;schema :=&lt;/code&gt; line may name any file in the repository since 0.55.0, and the released schema imports LOKF core as &lt;code&gt;lokf&lt;/code&gt; (&lt;code&gt;CHANGELOG.md&lt;/code&gt;, &lt;code&gt;knowledge-release.yaml&lt;/code&gt;).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: ktl-website skill: the graph page's full screen and filter controls (0.54.0, &lt;code&gt;CHANGELOG.md&lt;/code&gt;).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Website: the graph explorer's side panel and filter controls (0.54.0, &lt;code&gt;CHANGELOG.md&lt;/code&gt;). Edited since a person confirmed it; the label says so until the curator looks again.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: ktl-docent skill: &lt;code&gt;sources&lt;/code&gt; names the skill's own &lt;code&gt;scripts/&lt;/code&gt; folder, the copies of the report and feedback scripts the concept describes, which the coverage sweep found under no concept. Edited since a person confirmed it; the label says so until the curator looks again.&lt;/li&gt;
&lt;/ul&gt;
</content>
  </entry>
  <entry>
    <title>2026-10-19 · Changed: 54 · Resolved: 25 · Rewrite: 9 · Curation: 3 · Question: 2</title>
    <link rel="alternate" type="text/html" href="https://noelmcloughlin.github.io/knowledge-trust-ladder/knowledge/log/#2026-10-19"/>
    <id>https://w3id.org/ktl/knowledge/log#2026-10-19</id>
    <published>2026-10-19T12:46:42Z</published>
    <updated>2026-10-19T23:33:35Z</updated>
    <category term="Question"/>
    <category term="Changed"/>
    <category term="Rewrite"/>
    <category term="Resolved"/>
    <category term="Curation"/>
    <content type="html">&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Question&lt;/strong&gt;: &lt;code&gt;policies/security.md&lt;/code&gt; asks the curator to bring the person-written policy in line with &lt;code&gt;SECURITY.md&lt;/code&gt; as #253 left it, since the pen does not rewrite a person's text.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: the threat model concept now carries what &lt;code&gt;docs/threat-model.md&lt;/code&gt; says since #253: the sync's &lt;code&gt;--apply&lt;/code&gt; and held workflow changes, the federation build's address, attestation and file-name rules, the website section, and the ingest's joiner exception. A person asked for a fresh check against the sources, and these were the places where the concept had dropped or blurred what the page says. Edited since a person confirmed it; the label says so until the curator looks again.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: the ktl-sidecar playbook now says where each workflow's secrets go since 0.53.0, how the sync's &lt;code&gt;publish&lt;/code&gt; job applies a release and holds its workflow changes, and the federation build's new fetch and attestation rules, as &lt;code&gt;references/automation.md&lt;/code&gt; says. The points of the person's 2026-10-13 note were already carried and still match the sources.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: the ktl-website playbook now says the build installs packages with &lt;code&gt;npm ci --ignore-scripts&lt;/code&gt; and Astro's telemetry off, that &lt;code&gt;deploy&lt;/code&gt; also runs harden-runner, and how raw HTML and copied files are held since 0.53.0, as the skill's &lt;code&gt;deploy.md&lt;/code&gt; and &lt;code&gt;inputs.md&lt;/code&gt; say.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: the website playbook now gives &lt;code&gt;npm ci --ignore-scripts&lt;/code&gt; as &lt;code&gt;website/README.md&lt;/code&gt; does, says &lt;code&gt;deploy&lt;/code&gt; also runs harden-runner and &lt;code&gt;build&lt;/code&gt; runs the site's own code with telemetry off, and notes the 0.53.0 rules for copied files and raw HTML. A person asked for a refresh against the sources. Edited since a person confirmed it; the label says so until the curator looks again.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: the domain-bundle playbook now names the &lt;code&gt;Domain&lt;/code&gt; concept's fourth setting, &lt;code&gt;private_addresses&lt;/code&gt;, which &lt;code&gt;templates/domain.yaml&lt;/code&gt; added in #253.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: the ingest playbook now says each credential goes in the &lt;code&gt;knowledge-ingest&lt;/code&gt; Environment, as &lt;code&gt;docs/ingest.md&lt;/code&gt; says since #253.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: the validation playbook now lists what #253 added to &lt;code&gt;tests/test_federation.py&lt;/code&gt;, &lt;code&gt;tests/test_sync.py&lt;/code&gt; and &lt;code&gt;tests/test_website_template.py&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: the source map's ktl-website row names &lt;code&gt;scripts/raw-html.mjs&lt;/code&gt;, which #253 added under the template's and the site's &lt;code&gt;scripts/&lt;/code&gt;, folders the map already covers. Edited since a person confirmed it; the label says so until the curator looks again.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: the ktl-curator concept's checks before a member is confirmed now carry two steps &lt;code&gt;skills/ktl-curator/references/domain-bundle.md&lt;/code&gt; gives, the members script's own checks and the digest check for a member its site serves. The rest of the concept, the &lt;code&gt;MemberDomain&lt;/code&gt; sentence included, matches its sources at HEAD. Edited since a person confirmed it; the label says so until the curator looks again.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: the ktl-librarian concept now says the agent's secrets go in the &lt;code&gt;knowledge-librarian&lt;/code&gt; Environment limited to the default branch, as &lt;code&gt;scheduled-task.md&lt;/code&gt; and the sidecar's &lt;code&gt;automation.md&lt;/code&gt; say since 0b2911a. Its paragraph on sources outside the repository now carries &lt;code&gt;ingest.md&lt;/code&gt;'s qualifiers on a gone source's question and on &lt;code&gt;--prune&lt;/code&gt;. Edited since a person confirmed it; the label says so until the curator looks again.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: the Copilot docent concept was re-checked against its four sources and still matches them. A question records that the zip limit is settled in the text and that the toolkit's zip input still waits for a test.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: the releasing concept now says the sync's branch carries no workflow a release wrote, and the release's workflow changes wait for a person, as &lt;code&gt;CHANGELOG.md&lt;/code&gt; says under 0.53.0.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: the skills-repositories concept, refreshed against &lt;code&gt;docs/skills-repositories.md&lt;/code&gt; and ktl-librarian's &lt;code&gt;references/agent-skills.md&lt;/code&gt;, now says that five of the eight captured docent answers are about the skills, and that a scheduled run leaves an unclear project skill out and names it in the hand-off. Edited since a person confirmed it; the label says so until the curator looks again.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: the SkillWiki concept, refreshed against its sources, now says that &lt;code&gt;docs/for-the-curious.md&lt;/code&gt; holds what KTL took from the paper since 0.53.0, and that the concept stays the paper's record. The paper and its code at &lt;code&gt;050d540&lt;/code&gt; still bear out the rest. Edited since a person confirmed it; the label says so until the curator looks again.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: the lokf toolkit reference, refreshed against PyPI (0.8.0 still the latest), the pinned &lt;code&gt;cli.py&lt;/code&gt; and its other sources, now says that the federation build registers and exports each member release with the toolkit.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: the context-layer concept follows &lt;code&gt;docs/federation.md&lt;/code&gt; since 0b2911a: the build fetches members over http or https from public addresses only, checks each attestation against the member's own release workflow, refuses a zip with a link, a hidden file or a file a browser runs, and admits a local path only with &lt;code&gt;--allow-local&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Rewrite&lt;/strong&gt;: the knowledge bundle glossary entry, refreshed against the sidecar README, the architecture page, the Obsidian page and the librarian skill at HEAD, as a person's note asked. It now names the files that appear in the sidecar as needed, &lt;code&gt;diataxis.md&lt;/code&gt; as reserved, the missing-doorway cases and the Obsidian vault settings. Edited since a person confirmed it; the label says so until the curator looks again.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: the domain schema entry now lists &lt;code&gt;CHANGELOG.md&lt;/code&gt; among its sources, since only the changelog's 0.44.0 section states the version in which &lt;code&gt;domain.yaml&lt;/code&gt; was released with the sidecar.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: the health line entry now lists &lt;code&gt;CHANGELOG.md&lt;/code&gt; among its sources, since only the changelog's 0.45.0 section states the version in which the line began counting reopened concepts apart from drafts.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: the threat model now names ktl-website among the five skills that run the repository's scripts and the six skills that read content they did not author, counts six pinned workflow templates, carries the &lt;code&gt;KNOWLEDGE_FEDERATE_TOKEN&lt;/code&gt; control and the Environment-scoped secrets and federation-build measures, and adds the sync, website and ingest workflows and the mirror's prompt-injection guard, from &lt;code&gt;docs/threat-model.md&lt;/code&gt; at 0b2911a. Edited since a person confirmed it; the label says so until the curator looks again.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Resolved&lt;/strong&gt;: the concept now names ktl-website among the five skills, and the six skills that read content they did not author, as &lt;code&gt;docs/threat-model.md&lt;/code&gt; does.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Resolved&lt;/strong&gt;: the concept now says ktl-website's build also runs the commands &lt;code&gt;site.config.mjs&lt;/code&gt; names, or a &lt;code&gt;gen-doc&lt;/code&gt; recipe it finds, as repository code.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Resolved&lt;/strong&gt;: the concept now counts six pinned templates, says the release step moves the skill pin with &lt;code&gt;knowledge-sync.sh&lt;/code&gt; and its workflow, and adds the sync, website and ingest workflows and the mirror's input-path guard.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Resolved&lt;/strong&gt;: the agent-step bullet now carries the &lt;code&gt;KNOWLEDGE_FEDERATE_TOKEN&lt;/code&gt; control a domain host's members script uses.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Curation&lt;/strong&gt;: human:noelmcloughlin corrected 1 and sent 1 back. The Security policy's counts now match &lt;code&gt;SECURITY.md&lt;/code&gt;: four groups of surfaces, nine scripts and five workflows under the sidecar's templates, six skills' prose, and five skills that run &lt;code&gt;.lokf/scripts/&lt;/code&gt;. Three librarian questions on it stay open. The Threat model went back with its text released to the librarian, for a refresh from &lt;code&gt;docs/threat-model.md&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Rewrite&lt;/strong&gt;: the librarian playbook was re-derived from its sources at f86f5e4. The job token now serves Copilot CLI or a domain host's members script, as &lt;code&gt;scheduled-task.md&lt;/code&gt; step 4 says; &lt;code&gt;skills/ktl-sidecar/references/automation.md&lt;/code&gt; joins &lt;code&gt;sources&lt;/code&gt; for the file-writing-tool sentence; the &lt;code&gt;.agents/&lt;/code&gt; ignore check (0.53.0) and the ingest's &lt;code&gt;--prune&lt;/code&gt; are added, an unsourced &lt;code&gt;date -u&lt;/code&gt; claim and dated history asides are dropped, and the dashes and wrapped lines are gone. Edited since a person confirmed it; the label says so until the curator looks again.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: the scheduled agent writes its patch with its own file tool and never through the shell, as &lt;code&gt;skills/ktl-librarian/references/scheduled-task.md&lt;/code&gt; says since #251; the ingest prunes only a file an earlier run recorded, as &lt;code&gt;references/automation.md&lt;/code&gt; says. The skill install runs on every run, as &lt;code&gt;.github/workflows/knowledge-librarian.yaml&lt;/code&gt; says, and the thirteenth convention is named as the conventions script's.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Rewrite&lt;/strong&gt;: ktl-curator skill refreshed against its sources at f86f5e4, after a person's two notes asked for it. The MemberDomain sentence now carries what &lt;code&gt;skills/ktl-curator/references/domain-bundle.md&lt;/code&gt; says such a confirmation attests (that the domain belongs under the admission rule, and who answers for it), and the wrong version stamp on it is gone; the release of text a person wrote, the mirror, the gate check's conditions and the domain host's checks before confirming are carried from &lt;code&gt;SKILL.md&lt;/code&gt;, &lt;code&gt;references/review-session.md&lt;/code&gt; and &lt;code&gt;references/domain-bundle.md&lt;/code&gt;. Edited since a person confirmed it; the label says so until the curator looks again.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Rewrite&lt;/strong&gt;: ktl-docent skill refreshed against its sources at f86f5e4, after a person released the text and asked for it. It now carries the Reopened label, the mirror's header in the footer and the domain host's workspace with &lt;code&gt;MemberBundle&lt;/code&gt; and &lt;code&gt;MemberDomain&lt;/code&gt; members from &lt;code&gt;skills/ktl-docent/references/answering.md&lt;/code&gt;, and the Obsidian answer from &lt;code&gt;references/obsidian.md&lt;/code&gt;; &lt;code&gt;sources&lt;/code&gt; swaps &lt;code&gt;README.md&lt;/code&gt; and &lt;code&gt;CHANGELOG.md&lt;/code&gt; for &lt;code&gt;docs/architecture.md&lt;/code&gt; and &lt;code&gt;references/obsidian.md&lt;/code&gt;, and a claim about the preflight that no source makes is gone. Edited since a person confirmed it; the label says so until the curator looks again.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Resolved&lt;/strong&gt;: the docent concept's &lt;code&gt;sources&lt;/code&gt; now name &lt;code&gt;docs/architecture.md&lt;/code&gt;, whose table of roles holds the Runs column, in place of &lt;code&gt;README.md&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Resolved&lt;/strong&gt;: once the text was released to the librarian, the rewrite carried the Reopened label from &lt;code&gt;skills/ktl-docent/SKILL.md&lt;/code&gt; and the domain host's workspace from &lt;code&gt;references/answering.md&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Resolved&lt;/strong&gt;: once the text was released to the librarian, the rewrite carried the mirror's header in the footer and the &lt;code&gt;MemberDomain&lt;/code&gt; members from &lt;code&gt;skills/ktl-docent/references/answering.md&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Domain schemas quotes &lt;code&gt;docs/architecture.md&lt;/code&gt;, which now holds the fixed-taxonomy sentence, in place of the README, and names the &lt;code&gt;domain.yaml&lt;/code&gt; the sidecar ships for a bundle that federates other bundles, as both domain-schema references say. The title loses its dash. Edited since a person confirmed it; the label says so until the curator looks again.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Resolved&lt;/strong&gt;: the concept now quotes &lt;code&gt;docs/architecture.md&lt;/code&gt; and lists it in &lt;code&gt;sources&lt;/code&gt; in place of &lt;code&gt;README.md&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Resolved&lt;/strong&gt;: the concept now names &lt;code&gt;domain.yaml&lt;/code&gt; and the curator's &lt;code&gt;domain-bundle.md&lt;/code&gt;, as &lt;code&gt;skills/ktl-curator/references/domain-schemas.md&lt;/code&gt; and ktl-librarian's &lt;code&gt;references/domain-schema.md&lt;/code&gt; state.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Hosts and doorways follows &lt;code&gt;skills/ktl-sidecar/references/portability.md&lt;/code&gt;: Codeberg is named beside GitLab, Forgejo and Gitea, the GitHub Actions workflows (ktl-website's deploy included) are what those forges lose, and Copilot holds the docent and the auditor once it exists. It adds the many-hosts vault &lt;code&gt;docs/obsidian.md&lt;/code&gt; describes, and the title loses its dash. Edited since a person confirmed it; the label says so until the curator looks again.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Resolved&lt;/strong&gt;: the concept now says those forges lose the GitHub Actions workflows, ktl-website's deploy included, as the portability matrix states.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Resolved&lt;/strong&gt;: the concept no longer counts three workflows and names Codeberg beside GitLab, Forgejo and Gitea, as &lt;code&gt;skills/ktl-sidecar/references/portability.md&lt;/code&gt; and &lt;code&gt;CHANGELOG.md&lt;/code&gt; (0.48.0) do.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Rewrite&lt;/strong&gt;: Skills repositories follows &lt;code&gt;docs/skills-repositories.md&lt;/code&gt; as it stands: six skills, the ktl-librarian concept's eleven sources and three overtaken confirmations, how often &lt;code&gt;anthropics/skills&lt;/code&gt; changes, and what the docent answers from the bundle. The conservator's description the page no longer gives is gone. Edited since a person confirmed it; the label says so until the curator looks again.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Resolved&lt;/strong&gt;: the concept now says six skills, as &lt;code&gt;docs/skills-repositories.md&lt;/code&gt; does.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: What KTL took from SkillWiki carries the paper's own qualifiers (agent execution experience among its inputs, autonomous governance by default with user decisions first), rule 14 as &lt;code&gt;CHANGELOG.md&lt;/code&gt; states it, and the person's new note that reopens a declined proposal, from &lt;code&gt;docs/for-the-curious.md&lt;/code&gt;. That page now holds what KTL took from the paper and joins &lt;code&gt;sources&lt;/code&gt;. Edited since a person confirmed it; the label says so until the curator looks again.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Rewrite&lt;/strong&gt;: The registrar page was refreshed against &lt;code&gt;docs/architecture.md&lt;/code&gt;, which now holds the fifth-role section and becomes the resource. KTL Registrar does the registrar's work and KTL Curator assists the curator, as that page and &lt;code&gt;docs/obsidian.md&lt;/code&gt; say, and the plugin links use their w3id addresses. Edited since a person confirmed it; the label says so until the curator looks again.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Resolved&lt;/strong&gt;: The rewrite names &lt;code&gt;docs/architecture.md&lt;/code&gt; as the resource and gives each plugin the role that page and &lt;code&gt;docs/obsidian.md&lt;/code&gt; give it, which settles the question.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Rewrite&lt;/strong&gt;: The knowledge-bundle term was refreshed against the sidecar's README template, &lt;code&gt;docs/architecture.md&lt;/code&gt;, &lt;code&gt;docs/obsidian.md&lt;/code&gt; and the librarian skill. It now names the reserved &lt;code&gt;index.md&lt;/code&gt; header keys as Golden Rule 2 lists them, gives the arrangement that puts exhibits in a vault's index as &lt;code&gt;docs/obsidian.md&lt;/code&gt; describes it, and adds the template README to &lt;code&gt;sources&lt;/code&gt;. Edited since a person confirmed it; the label says so until the curator looks again.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Rewrite&lt;/strong&gt;: The website playbook was refreshed against &lt;code&gt;website/README.md&lt;/code&gt; and &lt;code&gt;knowledge-website.yaml&lt;/code&gt;. It now gives the weekly run and the full trigger paths, the Atom feed, the Markdown copies, the release links, the schema and data pages, the w3id address from &lt;code&gt;CHANGELOG.md&lt;/code&gt; 0.42.0, and every file &lt;code&gt;website/README.md&lt;/code&gt; names under What to edit. Edited since a person confirmed it; the label says so until the curator looks again.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Resolved&lt;/strong&gt;: The rewrite gives the weekly run and the full trigger paths as &lt;code&gt;knowledge-website.yaml&lt;/code&gt; lists them.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Resolved&lt;/strong&gt;: The rewrite says when a promoted release's changelog page appears, as &lt;code&gt;website/README.md&lt;/code&gt; does.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Resolved&lt;/strong&gt;: The rewrite's What to edit section names every file &lt;code&gt;website/README.md&lt;/code&gt; names, and &lt;code&gt;node scripts/config.mjs&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Resolved&lt;/strong&gt;: The rewrite gives the w3id address that &lt;code&gt;CHANGELOG.md&lt;/code&gt; 0.42.0 records.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Resolved&lt;/strong&gt;: The rewrite names the Atom feed, the Markdown copies, the release links and the two components that &lt;code&gt;website/README.md&lt;/code&gt; names.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: The toolkit reference now gives every &lt;code&gt;lokf convert&lt;/code&gt; and &lt;code&gt;lokf tables&lt;/code&gt; format that the pinned &lt;code&gt;cli.py&lt;/code&gt; accepts, where &lt;code&gt;validate&lt;/code&gt; finds its schema, and that &lt;code&gt;--check-refs&lt;/code&gt; leaves targets outside the bundle's namespace alone. PyPI still lists 0.8.0 as the latest release, with &lt;code&gt;[build]&lt;/code&gt; and &lt;code&gt;[tables]&lt;/code&gt; extras.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: A Disagreement line names the version the answer gave or says it gave both, as &lt;code&gt;skills/ktl-sidecar/templates/m365/ktl-docent-m365.md&lt;/code&gt; says. The 50 MB Agent Builder limit is already in the text, as &lt;code&gt;skills/ktl-sidecar/references/m365.md&lt;/code&gt; gives it.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Question&lt;/strong&gt;: &lt;code&gt;docs/threat-model.md&lt;/code&gt; now names how a domain host's members script holds &lt;code&gt;KNOWLEDGE_FEDERATE_TOKEN&lt;/code&gt;, which the threat model concept omits.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Curation&lt;/strong&gt;: human:noelmcloughlin confirmed 3 and sent 14 back. Trust label, Three lines of defence and Why four skill roles are confirmed, each due for review on 2027-10-19, and their notes are cleared. Knowledge bundle, What KTL took from SkillWiki, When the built-in vocabulary stops fitting, Hosts and doorways, Knowledge Trust Ladder in a skills repository, Why a registrar role, the ktl-docent skill and Build, preview and edit the website went back with their text released to the librarian. The ktl-librarian, ktl-curator and ktl-sidecar skills and the LOKF toolkit went back to the librarian. The Security policy and the Threat model went back for a fresh check against their sources, with their text kept. The same send-back came up thirteen times: refresh the concept against its sources, after the heavy development of 0.50.1 to 0.53.0.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Knowledge sources names the Archify companions in &lt;code&gt;.assets/companions/&lt;/code&gt; and &lt;code&gt;scripts/companion-diagrams.mjs&lt;/code&gt;, which draws them, in the &lt;code&gt;.assets&lt;/code&gt; row, as &lt;code&gt;docs/repository-layout.md&lt;/code&gt; lists them since 2026-10-19. The papers' row no longer cites &lt;code&gt;docs/wikiskill.md&lt;/code&gt; and &lt;code&gt;docs/skillwiki.md&lt;/code&gt;, which 0.53.0 removed, and the &lt;code&gt;docs/for-the-curious.md&lt;/code&gt; row says that page now holds what KTL took from both papers. Edited since a person confirmed it; the label says so until the curator looks again.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Desk now says, as &lt;code&gt;docs/architecture.md&lt;/code&gt; does, that the pen is the only way the librarian writes the bundle and refuses a change that would forge or remove a confirmation.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: The pen now says that in the agent's step of a scheduled run it only checks the patch, and a run without &lt;code&gt;--dry-run&lt;/code&gt; exits 2 and writes nothing, as &lt;code&gt;skills/ktl-librarian/references/patch.md&lt;/code&gt; says since 0.53.0.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Curator now says that a send-back can release text the person wrote to the librarian, through &lt;code&gt;generated.by: process:ktl-curator&lt;/code&gt;, as &lt;code&gt;skills/ktl-curator/SKILL.md&lt;/code&gt; says.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Trust ladder now says each label is a signal for the reader to weigh, never a score, as &lt;code&gt;docs/architecture.md&lt;/code&gt; says.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Work list now says, as the new section of &lt;code&gt;docs/for-the-curious.md&lt;/code&gt; on how readers and verdicts steer the next run does, that a run starts from the list and the list is ordered by history, never by a clock.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: What KTL took from WikiSkill now says a declined change makes work again when a person leaves a new note, as &lt;code&gt;skills/ktl-sidecar/references/automation.md&lt;/code&gt; says. Its sources now name &lt;code&gt;docs/for-the-curious.md&lt;/code&gt;, which holds what KTL took from the paper since &lt;code&gt;docs/wikiskill.md&lt;/code&gt; was removed in 0.53.0.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Three lines of defence now carries what &lt;code&gt;docs/three-lines.md&lt;/code&gt; says and the concept had left out: the librarian's &lt;code&gt;process:&lt;/code&gt; re-checks and open questions, the curator's five verdicts, what &lt;code&gt;revision&lt;/code&gt; holds for a file and a URL, the rule behind &lt;code&gt;stale_after&lt;/code&gt;, and the SPARQL projection. Edited since a person confirmed it; the label says so until the curator looks again.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Knowledge outside the repository says the script refuses a &lt;code&gt;confidential&lt;/code&gt; entry when git does not ignore &lt;code&gt;.lokf/.cache/mirror/&lt;/code&gt; or tracks a file there, and what a confidential copy costs, as &lt;code&gt;docs/ingest.md&lt;/code&gt; and &lt;code&gt;CHANGELOG.md&lt;/code&gt; (0.53.0) say. Its security line follows the page's shorter wording.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: ktl-librarian skill now says the pen only checks the patch in the agent's step of a scheduled run, under &lt;code&gt;KNOWLEDGE_PEN_DRY_RUN_ONLY&lt;/code&gt; (0.53.0, &lt;code&gt;references/patch.md&lt;/code&gt; and &lt;code&gt;CHANGELOG.md&lt;/code&gt;). Its paragraph on sources outside the repository now follows &lt;code&gt;references/ingest.md&lt;/code&gt;, and it says the source map holds no run account, as &lt;code&gt;SKILL.md&lt;/code&gt; does. The prompt-flag, file-writing-tool and pull-request-setting sentences already match &lt;code&gt;knowledge-librarian.sh&lt;/code&gt; and &lt;code&gt;scheduled-task.md&lt;/code&gt; steps 2 and 5. Edited since a person confirmed it; the label says so until the curator looks again.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: ktl-curator skill now covers the release of text a person wrote on a send-back (0.51.0, &lt;code&gt;references/review-session.md&lt;/code&gt;), the Reopened count in the health line, and the &lt;code&gt;domain.yaml&lt;/code&gt; schema the sidecar ships (&lt;code&gt;references/domain-schemas.md&lt;/code&gt;). That finishes the changes to &lt;code&gt;skills/ktl-curator/&lt;/code&gt; since 0c3ea0a. Edited since a person confirmed it; the label says so until the curator looks again.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: ktl-sidecar skill now says the wrapper sets &lt;code&gt;KNOWLEDGE_PEN_DRY_RUN_ONLY&lt;/code&gt; for the agent (0.53.0), and its domain-host part follows &lt;code&gt;references/automation.md&lt;/code&gt;: members a site serves, the &lt;code&gt;sensitivity&lt;/code&gt; gate, the gate on links to no concept of a member, what &lt;code&gt;--verify-only&lt;/code&gt; checks, and &lt;code&gt;diff&lt;/code&gt;. The points of the 2026-10-13 note were already carried.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: ktl-website skill now names the graph page's workspace view for a domain host and the &lt;code&gt;WORKSPACE&lt;/code&gt; option, added in 0.53.0 (&lt;code&gt;CHANGELOG.md&lt;/code&gt;, &lt;code&gt;references/customising.md&lt;/code&gt;).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: &lt;code&gt;sources&lt;/code&gt; now names the file the concept already describes, so &lt;code&gt;knowledge-report.sh coverage&lt;/code&gt; counts it as looked at.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Repository validation: &lt;code&gt;validate.yml&lt;/code&gt; now runs the tests as a two-part matrix (the federation tests, and the rest) with &lt;code&gt;pytest -n auto&lt;/code&gt;, and &lt;code&gt;tests/requirements.txt&lt;/code&gt; pins &lt;code&gt;pytest-xdist==3.8.0&lt;/code&gt;. &lt;code&gt;tests/test_federation.py&lt;/code&gt; now checks the in-process lokf run that 0.53.0 brought in, and makes the sidecar's environment once under a lock.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: the auditor's list now says apart whether a confirmation is tied to the named person and whether a person's record has been removed, as &lt;code&gt;docs/three-lines.md&lt;/code&gt;'s table does. Edited since a person confirmed it; the label says so until the curator looks again.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: ktl-curator skill now cites &lt;code&gt;docs/architecture.md&lt;/code&gt; for the Runs column, names the &lt;em&gt;Reopened&lt;/em&gt; label and how a person confirms a domain bundle's member, and the mirror sourcing the curator quotes since 0.49.0, following the human release of 2026-10-18 that allows this concept to be rewritten from its sources. Edited since a person confirmed it; the label says so until the curator looks again.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Resolved&lt;/strong&gt;: &lt;code&gt;sources&lt;/code&gt; now names &lt;code&gt;docs/architecture.md&lt;/code&gt; instead of &lt;code&gt;README.md&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Resolved&lt;/strong&gt;: the concept now names the &lt;em&gt;Reopened&lt;/em&gt; label and how a person confirms a domain bundle's member.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Resolved&lt;/strong&gt;: the concept now covers how the curator quotes a &lt;code&gt;.lokf/mirror/&lt;/code&gt; source, now that the human release of 2026-10-18 lets this concept be rewritten.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: the job-token sentence now says the job's own token is billed to the repository owner's seat, as &lt;code&gt;scheduled-task.md&lt;/code&gt; step 4 does. Edited since a person confirmed it; the label says so until the curator looks again.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: &lt;code&gt;sources&lt;/code&gt; now names &lt;code&gt;docs/context-layer.md&lt;/code&gt;, where the context layer the toolkit serves is described, beside the technology page already cited.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: the three lines figure is named with its dark counterpart once; &lt;code&gt;.assets/&lt;/code&gt; holds &lt;code&gt;ktl-three-lines.svg&lt;/code&gt; and &lt;code&gt;ktl-three-lines-dark.svg&lt;/code&gt;. Edited since a person confirmed it; the label says so until the curator looks again.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: the Reopened label and the Still-a-draft rule now name themselves, from &lt;code&gt;skills/ktl-curator/references/trust-fields.md&lt;/code&gt;, answering the open question a person left on 2026-10-18. Edited since a person confirmed it; the label says so until the curator looks again.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Resolved&lt;/strong&gt;: the Reopened label is now named, from &lt;code&gt;skills/ktl-curator/references/trust-fields.md&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: the fifth-role sentence now names &lt;code&gt;docs/architecture.md&lt;/code&gt;, the diagram note says dark rather than dimmed, and what remains to do now names fetching a federation member from a private repository, matching &lt;code&gt;docs/three-lines.md&lt;/code&gt; since its latest commit. Edited since a person confirmed it; the label says so until the curator looks again.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Resolved&lt;/strong&gt;: the sentence and the sources now name &lt;code&gt;docs/architecture.md&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Resolved&lt;/strong&gt;: the concept now says dark, matching &lt;code&gt;docs/three-lines.md&lt;/code&gt;'s &lt;code&gt;-dark&lt;/code&gt; source; &lt;code&gt;CHANGELOG.md&lt;/code&gt; confirms the &lt;code&gt;-dimmed&lt;/code&gt; set stays unreferenced.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Resolved&lt;/strong&gt;: &lt;code&gt;docs/three-lines.md&lt;/code&gt; no longer lists the MCP server there; it now names fetching a federation member from a private repository, which the concept follows.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: What KTL took from WikiSkill now cites the paper, &lt;code&gt;CHANGELOG.md&lt;/code&gt; and the skill files where each change lives, instead of &lt;code&gt;docs/wikiskill.md&lt;/code&gt;, so the concept no longer rests on that page.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Rewrite&lt;/strong&gt;: The curated context layer now summarises the three pages instead of mirroring each section, since 0.53.0 moved the whole federation design to &lt;code&gt;docs/federation.md&lt;/code&gt; and kept the technology survey to what KTL needs.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Context layer says a domain's owner confirms each bundle the domain admits, as &lt;code&gt;docs/context-layer.md&lt;/code&gt; puts it since 0.53.0.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: LOKF toolkit says what &lt;code&gt;convert&lt;/code&gt;, &lt;code&gt;export&lt;/code&gt;, &lt;code&gt;serve&lt;/code&gt;, &lt;code&gt;mcp&lt;/code&gt;, &lt;code&gt;tables&lt;/code&gt; and &lt;code&gt;registry&lt;/code&gt; write or serve, as &lt;code&gt;docs/context-layer-technology.md&lt;/code&gt; and &lt;code&gt;docs/federation.md&lt;/code&gt; list them, and cites the federation page, where the registry commands moved in 0.53.0.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Curating a domain bundle follows the curator's page after 0.53.0: the &lt;code&gt;sensitivity&lt;/code&gt; settings, a member a site serves by its &lt;code&gt;concepts.jsonld&lt;/code&gt;, and a gate that also refuses a link to no concept of a member. It now says when the build holds a member at its last good state, and how a reader loads the workspace lazily or for some members alone. A member that waits in a member domain joins at the release that domain's own build took.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Knowledge sources keeps its rows and standing notes, and drops the account of each past run, which git keeps. The rows follow 0.53.0's federation page, the two paper concepts and &lt;code&gt;.lokf/.gitignore&lt;/code&gt;, the sixteenth template this repository keeps a copy of, and each exclusion now gives its reason in its own row. Edited since a person confirmed it; the label says so until the curator looks again.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Repository validation names the five repositories whose links check 9 records, and says check 9a skips a domain host's ignored &lt;code&gt;snapshot/&lt;/code&gt; since 0.53.0.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Contributing no longer names only the two Obsidian plugins among the repositories that link into this one, since &lt;code&gt;CONTRIBUTING.md&lt;/code&gt; names none and check 9 now records five.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Curation&lt;/strong&gt;: human:noelmcloughlin corrected 1: What KTL took from SkillWiki now cites the paper, arXiv:2606.16523, its code at &lt;code&gt;050d540&lt;/code&gt; and &lt;code&gt;CHANGELOG.md&lt;/code&gt; instead of &lt;code&gt;docs/skillwiki.md&lt;/code&gt;, and is due for review on 2027-04-19.&lt;/li&gt;
&lt;/ul&gt;
</content>
  </entry>
  <entry>
    <title>2026-10-18 · Changed: 22 · Open question: 7 · Curation: 2 · Added: 2 · Resolved: 2 · Prose: 1 · Rewrite: 1</title>
    <link rel="alternate" type="text/html" href="https://noelmcloughlin.github.io/knowledge-trust-ladder/knowledge/log/#2026-10-18"/>
    <id>https://w3id.org/ktl/knowledge/log#2026-10-18</id>
    <published>2026-10-18T01:38:14Z</published>
    <updated>2026-10-18T23:43:31Z</updated>
    <category term="Changed"/>
    <category term="Open question"/>
    <category term="Curation"/>
    <category term="Prose"/>
    <category term="Added"/>
    <category term="Rewrite"/>
    <category term="Resolved"/>
    <content type="html">&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Curating a domain bundle says the diamond rule's stop lasts until both owners pin one release, as the curator's domain-bundle.md now does.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: the source map names the site's &lt;code&gt;src/components&lt;/code&gt; and &lt;code&gt;src/styles&lt;/code&gt; folders instead of all of &lt;code&gt;src/&lt;/code&gt;, in &lt;code&gt;website/&lt;/code&gt; and in ktl-website's template, since its rows exclude only the components, styles and scripts. Edited since a person confirmed it; the label says so until the curator looks again.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Open question&lt;/strong&gt;: Knowledge sources: The website rows exclude the site's components, styles and scripts. Is the rest of &lt;code&gt;src/&lt;/code&gt;, in &lt;code&gt;website/&lt;/code&gt; and in ktl-website's template, excluded too: its pages, &lt;code&gt;assets/&lt;/code&gt;, &lt;code&gt;content.config.ts&lt;/code&gt;, &lt;code&gt;routeData.ts&lt;/code&gt;, &lt;code&gt;socialCards.ts&lt;/code&gt; and &lt;code&gt;trust.ts&lt;/code&gt;? If not, &lt;code&gt;playbooks/website.md&lt;/code&gt; and &lt;code&gt;playbooks/ktl-website-skill.md&lt;/code&gt; should cite them.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: the source map now lists in &lt;code&gt;sources&lt;/code&gt; every path its rows consciously exclude, so &lt;code&gt;knowledge-report.sh coverage&lt;/code&gt; counts those files as looked at. Each row still gives the reason, and the site's components, styles and scripts are taken as its &lt;code&gt;src/&lt;/code&gt; and &lt;code&gt;scripts/&lt;/code&gt; folders. Edited since a person confirmed it; the label says so until the curator looks again.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Curation&lt;/strong&gt;: human:noelmcloughlin released 3 concepts they wrote, so the librarian may rewrite them from their sources: Trust label, ktl-curator skill and Three lines of defence, each sent back earlier today. Each keeps its confirmation and note, and stays a draft until a person confirms the new text.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Curation&lt;/strong&gt;: human:noelmcloughlin corrected 1 now and sent 4 back. Knowledge bundle now lists &lt;code&gt;docs/architecture.md&lt;/code&gt; as a source and says the bundle opens as a vault of its own, beside a person's vault and never inside it. The ktl-librarian skill, Trust label, ktl-curator skill and Three lines of defence went back for not following their sources' recent changes. The same send-back came up three times: Trust label, ktl-curator skill and Three lines of defence carry text a person wrote, which the pen does not let the librarian update when its sources change.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: The curated context layer: the workspace build takes each member and the domain's settings as a person last confirmed them, as &lt;code&gt;docs/federation.md&lt;/code&gt; says since 0.50.1.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: ktl-sidecar skill: the federation build takes each member as a person last confirmed it and leaves retired concepts out, as &lt;code&gt;references/automation.md&lt;/code&gt; says since 0.50.1.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Repository validation: the federation and sync tests cover what 0.50.1 fixed.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Knowledge sources: the thirty-fourth pass, after 0.50.1. Edited since a person confirmed it; the label says so until the curator looks again.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: the domain bundle playbook says which release a member joins at while a move waits, what a send-back and a removed confirmation do, and that the Domain concept's settings count as a person confirmed them, as domain-bundle.md now says.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Curating a domain bundle: the diamond rule gives its reason apart from what the two owners then do, as &lt;code&gt;docs/federation.md&lt;/code&gt; puts it, and a member leaves when the curator retires its concept, as the curator's &lt;code&gt;domain-bundle.md&lt;/code&gt; says.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Prose&lt;/strong&gt;: reworded 4 concept bodies in plain English. No fact, link, number or frontmatter changed.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Added&lt;/strong&gt;: Knowledge outside the repository, from &lt;code&gt;docs/ingest.md&lt;/code&gt; and the librarian's &lt;code&gt;references/ingest.md&lt;/code&gt;, which 0.49.0 and 0.50.0 brought; the coverage sweep found the guide under no concept.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Rewrite&lt;/strong&gt;: The curated context layer: since 0.48.0 &lt;code&gt;docs/federation.md&lt;/code&gt; holds the tiers of domains, the workspace, what exists and the decisions, which &lt;code&gt;docs/context-layer.md&lt;/code&gt; no longer carries. The concept now follows both pages, and lists one named graph per bundle, the &lt;code&gt;lokf-registry&lt;/code&gt; MCP server and the SPARQL endpoint as existing, with lazy loading still a design.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Resolved&lt;/strong&gt;: The curated context layer: the table in &lt;code&gt;docs/federation.md&lt;/code&gt; lists one named graph per bundle under &lt;code&gt;knowledge-federate.py build&lt;/code&gt; as existing, and lazy loading as a design; the MCP server now exists as &lt;code&gt;knowledge-federate.py mcp&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Open question&lt;/strong&gt;: Hosts and doorways: &lt;code&gt;skills/ktl-sidecar/SKILL.md&lt;/code&gt; now counts six workflow files and &lt;code&gt;CHANGELOG.md&lt;/code&gt; adds Codeberg to the forges, while the concept, which a person wrote, still says three workflows and three forges.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Open question&lt;/strong&gt;: Three lines of defence: &lt;code&gt;docs/three-lines.md&lt;/code&gt; now lists lazy loading, a &lt;code&gt;lokf-registry&lt;/code&gt; MCP server and remote harvesting as what remains of the context layer, where the concept says the domain tiers and the workspace; &lt;code&gt;docs/federation.md&lt;/code&gt; lists the MCP server as built.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Context layer: &lt;code&gt;docs/context-layer.md&lt;/code&gt; now says why KTL federates bundles through domains, and &lt;code&gt;docs/federation.md&lt;/code&gt; holds how a federation runs and what remains a design. The concept no longer cites a release date or a table that the context-layer page has dropped.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Health line: the definition said seven trust labels, while &lt;code&gt;knowledge-report.sh health&lt;/code&gt; prints eight, as the description and body already say.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: LOKF: &lt;code&gt;skills/ktl-librarian/SKILL.md&lt;/code&gt; no longer contrasts standard tooling with scripts that only work in the repository that grew them, and no other source says so, so the concept drops that contrast.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Registrar: &lt;code&gt;docs/for-the-curious.md&lt;/code&gt; now says that on another forge, or with none, &lt;code&gt;knowledge-provenance.sh&lt;/code&gt; checks each confirmation's signature against the keys under &lt;code&gt;.lokf/curators/&lt;/code&gt;, and the concept says so too.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Work list: &lt;code&gt;skills/ktl-librarian/SKILL.md&lt;/code&gt; now says only that history orders a source's last commit and the stamp, and no longer adds that no clock does.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Open question&lt;/strong&gt;: ktl-curator skill: since 0.49.0 &lt;code&gt;references/review-session.md&lt;/code&gt; says how the curator quotes a source mirrored under &lt;code&gt;.lokf/mirror/&lt;/code&gt;, and the concept, whose text a person wrote, does not say it.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Open question&lt;/strong&gt;: ktl-docent skill: since 0.49.0 &lt;code&gt;references/answering.md&lt;/code&gt; says how the docent cites a source mirrored under &lt;code&gt;.lokf/mirror/&lt;/code&gt;, and the concept, whose text a person wrote, does not say it.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: ktl-librarian skill: the concept now carries the mirror of sources outside the repository (&lt;code&gt;references/ingest.md&lt;/code&gt;, new in 0.49.0), the orphan sweep with &lt;code&gt;knowledge-report.sh coverage&lt;/code&gt; (&lt;code&gt;SKILL.md&lt;/code&gt;), one &lt;code&gt;log&lt;/code&gt; line for a whole patch (&lt;code&gt;references/patch.md&lt;/code&gt;), and the members script's use of the job token (&lt;code&gt;references/scheduled-task.md&lt;/code&gt;). Edited since a person confirmed it; the label says so until the curator looks again.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: ktl-sidecar skill: &lt;code&gt;skills/ktl-sidecar/SKILL.md&lt;/code&gt; and &lt;code&gt;references/automation.md&lt;/code&gt; now install the sync templates (0.47.0) and the ingest templates (0.49.0), the report script counts tracked files no concept names (0.48.0), and a domain follows member domains tier by tier (0.48.0). The concept now says so, and the points the note of 2026-10-13 names are carried as &lt;code&gt;SKILL.md&lt;/code&gt; states them.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: ktl-website skill: &lt;code&gt;CHANGELOG.md&lt;/code&gt; says since 0.48.0 the site's figures stay in the text column and open at full size on a click, which a host gets with its next website repair.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Contributing: &lt;code&gt;CONTRIBUTING.md&lt;/code&gt; now says each sibling's &lt;code&gt;knowledge-sync.yaml&lt;/code&gt; opens the sync pull request within a week, and &lt;code&gt;scripts/sync-sidecar.sh --pr&lt;/code&gt; and &lt;code&gt;--finish&lt;/code&gt; open and finish it by hand.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Releasing: &lt;code&gt;knowledge-release.yaml&lt;/code&gt; attaches the domain schema the justfile names since 0.46.0, &lt;code&gt;publish.yml&lt;/code&gt; asks the hosts in &lt;code&gt;KNOWLEDGE_SYNC_HOSTS&lt;/code&gt; to sync, and &lt;code&gt;docs/releasing.md&lt;/code&gt; and &lt;code&gt;scripts/sync-sidecar.sh&lt;/code&gt; say each sibling now syncs itself through &lt;code&gt;knowledge-sync.yaml&lt;/code&gt;, with &lt;code&gt;--pr&lt;/code&gt; and &lt;code&gt;--finish&lt;/code&gt; for the day of a release.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Repository validation: &lt;code&gt;scripts/validate-repository.sh&lt;/code&gt; check 9 now reads the site's w3id addresses, check 11 reads &lt;code&gt;knowledge-sync.manifest&lt;/code&gt; first, and check 15 names the sidecar's &lt;code&gt;knowledge-sync.sh&lt;/code&gt;; &lt;code&gt;validate.yml&lt;/code&gt; lints &lt;code&gt;knowledge-sync.yaml&lt;/code&gt;, and &lt;code&gt;tests/test_ingest.py&lt;/code&gt;, &lt;code&gt;tests/test_sync.py&lt;/code&gt; and the &lt;code&gt;pypdf&lt;/code&gt; pin are new.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Knowledge sources: a row each for the sync (0.47.0) and the ingest (0.49.0, 0.50.0), the templates row names the federation, sync and ingest templates, the README row KTL Federation's site, and the context-layer row &lt;code&gt;docs/federation.md&lt;/code&gt;. The map now lists under &lt;code&gt;sources&lt;/code&gt; the files its rows account for, so the coverage sweep counts them. Edited since a person confirmed it; the label says so until the curator looks again.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Resolved&lt;/strong&gt;: Knowledge sources: the templates row now names &lt;code&gt;domain.yaml&lt;/code&gt;, &lt;code&gt;knowledge-federate.py&lt;/code&gt; and &lt;code&gt;knowledge-federation.yaml&lt;/code&gt; from &lt;code&gt;skills/ktl-sidecar/templates/&lt;/code&gt;, the README row names KTL Federation's site, and the context-layer row names &lt;code&gt;docs/federation.md&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Open question&lt;/strong&gt;: Security policy: &lt;code&gt;SECURITY.md&lt;/code&gt; now counts nine scripts and five workflows in the sidecar's templates and covers the federation build and the sync, which the concept, written by a person, does not carry.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Open question&lt;/strong&gt;: Threat model: &lt;code&gt;docs/threat-model.md&lt;/code&gt; now covers the sync workflow, the federation build, the ingest workflow and the mirror, which the concept, written by a person, does not carry.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Added&lt;/strong&gt;: Curating a domain bundle, from &lt;code&gt;skills/ktl-curator/references/domain-bundle.md&lt;/code&gt; as &lt;code&gt;docs/domain-name&lt;/code&gt; leaves it, so a domain host can link the curator's page by its w3id IRI.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: the context layer explanation and the exhibition term no longer name a domain by its position. As &lt;code&gt;docs/context-layer.md&lt;/code&gt; and &lt;code&gt;README.md&lt;/code&gt; now say, the domain a build starts from bounds the workspace, and KTL Federation is the domain that federates member bundles.&lt;/li&gt;
&lt;/ul&gt;
</content>
  </entry>
  <entry>
    <title>2026-10-16 · Changed: 16 · Open question: 7 · Prose: 2</title>
    <link rel="alternate" type="text/html" href="https://noelmcloughlin.github.io/knowledge-trust-ladder/knowledge/log/#2026-10-16"/>
    <id>https://w3id.org/ktl/knowledge/log#2026-10-16</id>
    <published>2026-10-16T00:51:21Z</published>
    <updated>2026-10-17T00:48:28Z</updated>
    <category term="Prose"/>
    <category term="Changed"/>
    <category term="Open question"/>
    <content type="html">&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Prose&lt;/strong&gt;: reworded 8 concept bodies in plain English. No fact, link, number or frontmatter changed.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: The curated context layer follows &lt;code&gt;docs/context-layer.md&lt;/code&gt;, which says the domain tiers and the workspace were released on 2026-10-16 as the sidecar's federation templates, with ktl-federation as the first host. The concept no longer says the diagrams draw them dashed, and now carries the page's table of what exists and what remains a design.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Open question&lt;/strong&gt;: The curated context layer: one bundle, and a federation of bundles: &lt;code&gt;docs/context-layer.md&lt;/code&gt;'s table under What exists today lists one named graph per bundle as design, beside lazy loading and a &lt;code&gt;lokf-registry&lt;/code&gt; MCP server. Since 0.44.0 &lt;code&gt;knowledge-federate.py build&lt;/code&gt; loads each member's &lt;code&gt;graph.nt&lt;/code&gt; into a named graph named by its &lt;code&gt;base_iri&lt;/code&gt; and writes them all to &lt;code&gt;graph.nq&lt;/code&gt;, as &lt;code&gt;CHANGELOG.md&lt;/code&gt; and the description in &lt;code&gt;.assets/ktl-context-workspace.svg&lt;/code&gt; say. Is one named graph per bundle now built, with lazy loading and the MCP server still a design?&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Context layer: &lt;code&gt;docs/context-layer.md&lt;/code&gt; says the federation's domain tiers and workspace were released on 2026-10-16 as the sidecar's templates, so the term no longer calls them a design drawn dashed.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Health line: since 0.45.0 the line counts eight labels, with &lt;em&gt;Reopened&lt;/em&gt; for a confirmed concept a question put back to draft, as &lt;code&gt;knowledge-report.sh&lt;/code&gt; and the curator's &lt;code&gt;trust-fields.md&lt;/code&gt; now say.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Trust ladder: &lt;code&gt;docs/architecture.md&lt;/code&gt; and its ladder figure now say that a question after a confirmation reopens a concept without dropping its rung, and only an edit drops it.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Domain schema: the curator's &lt;code&gt;domain-schemas.md&lt;/code&gt; says since 0.44.0 that the sidecar ships one domain schema, &lt;code&gt;domain.yaml&lt;/code&gt;, for a bundle that federates other bundles.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Exhibition: the README's Exhibitions section lists KTL Federation since 0.44.0, so the term names five.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Why the skills live in their own repository: &lt;code&gt;docs/install.md&lt;/code&gt; now installs all six with one &lt;code&gt;gh skill install --all --agent&lt;/code&gt; line, says &lt;code&gt;npx skills&lt;/code&gt; can fail behind a proxy, and no longer records the old repository name, so the concept cites &lt;code&gt;CHANGELOG.md&lt;/code&gt; for the rename.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: gh skill: the manual's &lt;code&gt;--agent&lt;/code&gt;, &lt;code&gt;--scope&lt;/code&gt; and &lt;code&gt;--dir&lt;/code&gt; options and their defaults, which &lt;code&gt;docs/install.md&lt;/code&gt; now relies on.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: ktl-sidecar skill: the three files a domain host gets since 0.44.0, &lt;code&gt;domain.yaml&lt;/code&gt;, &lt;code&gt;knowledge-federate.py&lt;/code&gt; and &lt;code&gt;knowledge-federation.yaml&lt;/code&gt;, and what each does, as &lt;code&gt;SKILL.md&lt;/code&gt; and &lt;code&gt;references/automation.md&lt;/code&gt; now say.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: ktl-website skill: since 0.45.0 a concept's card shows its open questions beside the label, which reads &lt;em&gt;reopened&lt;/em&gt; for a confirmed concept a question put back to draft.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Releasing: since 0.45.0 &lt;code&gt;sync-sidecar.sh&lt;/code&gt; keeps a sibling's own &lt;code&gt;schema :=&lt;/code&gt; line, reports a failure of any check it runs, and writes the sibling's changelog entry in full.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Repository validation: check 9a skips a sibling's website build output, check 10a counts no table pipes, check 11 covers a domain host's three files, check 17a keeps every tracked &lt;code&gt;SKILL.md&lt;/code&gt; under &lt;code&gt;skills/ktl-*/&lt;/code&gt;, &lt;code&gt;actionlint&lt;/code&gt; reads five templates, and &lt;code&gt;test_federation.py&lt;/code&gt; joins the tests, as 0.44.0 and 0.45.0 brought them.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Open question&lt;/strong&gt;: When the built-in vocabulary stops fitting - domain schemas: Since 0.44.0 &lt;code&gt;skills/ktl-curator/references/domain-schemas.md&lt;/code&gt; says one domain schema ships with the sidecar, &lt;code&gt;domain.yaml&lt;/code&gt;, for a bundle that federates other bundles, and ktl-librarian's &lt;code&gt;references/domain-schema.md&lt;/code&gt; points a domain bundle at that template and at the curator's &lt;code&gt;domain-bundle.md&lt;/code&gt;. This concept does not say so.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Open question&lt;/strong&gt;: Trust label: Since 0.45.0 &lt;code&gt;skills/ktl-curator/references/trust-fields.md&lt;/code&gt; has a label &lt;em&gt;Reopened&lt;/em&gt;: &lt;code&gt;status: draft&lt;/code&gt; on a concept with a &lt;code&gt;human:&lt;/code&gt; &lt;code&gt;verified&lt;/code&gt; event, naming the earliest question asked on or after the confirmation's day, its asker and how many wait. A reopened concept still counts as confirmed, and &lt;em&gt;Still a draft&lt;/em&gt; now needs no &lt;code&gt;human:&lt;/code&gt; event. This concept does not name the label.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Open question&lt;/strong&gt;: ktl-curator skill: Since 0.45.0 the curator's label table reads &lt;em&gt;Still a draft / Reopened&lt;/em&gt;, and the health line counts &lt;em&gt;Reopened&lt;/em&gt;, a confirmed concept a question put back to draft, apart from &lt;em&gt;Drafts&lt;/em&gt; (&lt;code&gt;SKILL.md&lt;/code&gt;, &lt;code&gt;references/trust-fields.md&lt;/code&gt;). Since 0.44.0 &lt;code&gt;references/domain-bundle.md&lt;/code&gt; says how a person confirms a member of a domain bundle. This concept carries neither.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Open question&lt;/strong&gt;: ktl-docent skill: Since 0.45.0 the docent's label table reads &lt;em&gt;Still a draft / Reopened&lt;/em&gt;: for a confirmed concept a question put back to draft, the docent says the confirmation first, then when it was reopened, by whom and how many questions wait (&lt;code&gt;SKILL.md&lt;/code&gt;, &lt;code&gt;references/answering.md&lt;/code&gt;). Since 0.44.0 &lt;code&gt;references/answering.md&lt;/code&gt; also says how to answer on a domain host from the workspace under &lt;code&gt;snapshot/&lt;/code&gt;, labelling each concept with its bundle. This concept carries neither.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Open question&lt;/strong&gt;: Knowledge sources: Since 0.44.0 ktl-sidecar's templates also hold a domain host's &lt;code&gt;domain.yaml&lt;/code&gt;, &lt;code&gt;scripts/knowledge-federate.py&lt;/code&gt; and &lt;code&gt;github/knowledge-federation.yaml&lt;/code&gt;, which &lt;code&gt;sync-sidecar.sh&lt;/code&gt; carries and check 11 holds to their templates where a copy exists. The templates row counts nine scripts and three workflows and names none of them. The README's Exhibitions list KTL Federation since 2026-10-16, and &lt;code&gt;docs/context-layer.md&lt;/code&gt; says the federation design was released that day. The README row and the context-layer row say neither.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Prose&lt;/strong&gt;: reworded 4 concept bodies in plain English. No fact, link, number or frontmatter changed.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Exhibition names the four sites the README's Exhibitions section lists since 2026-10-16, the two Obsidian plugins' sites among them.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Knowledge sources says the README links the site's pages since 0.43.1 and lists the two Obsidian plugins' exhibitions since 2026-10-16, and records the thirty-second pass. Edited since a person confirmed it; the label says so until the curator looks again.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Releasing says &lt;code&gt;sync-sidecar.sh&lt;/code&gt; carries &lt;code&gt;.lokf/justfile&lt;/code&gt; since 0.43.1 and keeps the sibling's first line, which names the host, as &lt;code&gt;docs/releasing.md&lt;/code&gt; now says.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Repository validation says check 11 holds &lt;code&gt;.lokf/justfile&lt;/code&gt; to its template below the first line since 0.43.1.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Open question&lt;/strong&gt;: Three lines of defence - where each role sits, and what an auditor can check: Since 0.43.0 &lt;code&gt;docs/three-lines.md&lt;/code&gt; shows &lt;code&gt;.assets/ktl-three-lines-dark.svg&lt;/code&gt; in GitHub's dark theme, and &lt;code&gt;CHANGELOG.md&lt;/code&gt; says the &lt;code&gt;-dimmed&lt;/code&gt; set stays in &lt;code&gt;.assets/&lt;/code&gt; unreferenced. This concept says the diagram has a dimmed counterpart for dark mode.&lt;/li&gt;
&lt;/ul&gt;
</content>
  </entry>
  <entry>
    <title>2026-10-15 · Changed: 15 · Open question: 5</title>
    <link rel="alternate" type="text/html" href="https://noelmcloughlin.github.io/knowledge-trust-ladder/knowledge/log/#2026-10-15"/>
    <id>https://w3id.org/ktl/knowledge/log#2026-10-15</id>
    <published>2026-10-15T12:15:19Z</published>
    <updated>2026-10-15T12:15:19Z</updated>
    <category term="Changed"/>
    <category term="Open question"/>
    <content type="html">&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Why the skills live in their own repository: &lt;code&gt;docs/install.md&lt;/code&gt; no longer says one install serves every repository or that a repository needs no copy; it says a user install keeps the agent's instructions under the user's control.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Why four skill roles: ktl-website now builds the schema's pages and the data too, as &lt;code&gt;docs/architecture.md&lt;/code&gt; says since 0.41.0, and the concept no longer says the roles lose nothing without it, which the page says only of ktl-prose.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: ktl-website skill: what 0.43.0 added to the site (the full-text and Markdown files, the log feed, concept history and licence, hover previews, release links and reading levels), and the site's address; the architecture page does not say the roles lose nothing without it.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: ktl-sidecar skill: the scheduled librarian's &lt;code&gt;AGENT_PROMPT_FLAG&lt;/code&gt;, the five conditions for any other agent, the patch file written with the agent's own file tool, the pull-request setting the &lt;code&gt;publish&lt;/code&gt; job needs, and rule 13's &lt;code&gt;base_iri&lt;/code&gt; exception, as &lt;code&gt;references/automation.md&lt;/code&gt; and &lt;code&gt;references/gate.md&lt;/code&gt; now say.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: ktl-librarian skill: the scheduled run's prompt flag, the rule that the agent writes its patch with its own file tool, and the pull-request setting, as &lt;code&gt;knowledge-librarian.sh&lt;/code&gt; and &lt;code&gt;references/scheduled-task.md&lt;/code&gt; now say. Edited since a person confirmed it; the label says so until the curator looks again.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Releasing: &lt;code&gt;sync-sidecar.sh&lt;/code&gt; works on a &lt;code&gt;sync-&amp;lt;tag&amp;gt;&lt;/code&gt; branch in each sibling and sets its next steps apart, and the changelog fold lists each entry once, as 0.40.0 and 0.42.0 brought them.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Repository validation: check 11w also holds the website template's logos equal to &lt;code&gt;.assets/&lt;/code&gt;, check 14 proves the fold lists each entry once, and the website smoke test builds the schema's pages and the data, as &lt;code&gt;validate-repository.sh&lt;/code&gt; and &lt;code&gt;smoke-test-website.sh&lt;/code&gt; now do.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: The docent in Microsoft 365 Copilot: &lt;code&gt;docs/m365.md&lt;/code&gt; now says an auditor would be &lt;code&gt;ktl-auditor-m365.md&lt;/code&gt;, not that it is planned, and no longer says the identity record is held in reserve.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Accession: the quotation follows &lt;code&gt;docs/architecture.md&lt;/code&gt;, which now says the registrar &quot;keeps the records in order&quot;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Registrar: the quotation follows &lt;code&gt;docs/architecture.md&lt;/code&gt;, which now says the registrar &quot;keeps the records in order&quot;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Domain schema: &lt;code&gt;docs/architecture.md&lt;/code&gt; and &lt;code&gt;docs/for-the-curious.md&lt;/code&gt; no longer say &quot;not a looser bundle&quot;, so the term no longer does.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Doorway: &lt;code&gt;docs/obsidian.md&lt;/code&gt; no longer says to open the link itself and never the host root, so the term cites ktl-docent's &lt;code&gt;references/obsidian.md&lt;/code&gt;, which still does.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Workshop: &lt;code&gt;docs/obsidian.md&lt;/code&gt; no longer says what keeps the workshop clean, so the term cites ktl-docent's &lt;code&gt;references/obsidian.md&lt;/code&gt;, which still does.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Exhibition: the README's Exhibitions section, added in 0.42.0, lists the sites that show a repository's collection.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: The source map: the README's row names the Exhibitions and the site's address, and the thirty-first pass is recorded. Edited since a person confirmed it; the label says so until the curator looks again.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Open question&lt;/strong&gt;: Security policy: Since 0.41.0 the ktl-website row of &lt;code&gt;SECURITY.md&lt;/code&gt; says the build job also runs &lt;code&gt;just&lt;/code&gt; when the site builds a folder through a recipe, and that the sync runs the commands &lt;code&gt;site.config.mjs&lt;/code&gt; names to build the schema's pages and the data. Since 2026-10-14 &lt;code&gt;SECURITY.md&lt;/code&gt; also counts five surfaces, matching its table. This concept carries neither.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Open question&lt;/strong&gt;: Threat model: Since 0.41.0 &lt;code&gt;docs/threat-model.md&lt;/code&gt; says that ktl-website's build also runs the commands its &lt;code&gt;site.config.mjs&lt;/code&gt; names, or a &lt;code&gt;gen-doc&lt;/code&gt; recipe it finds, to build the schema's pages and the data, and that they are the repository's code too. This concept does not say so.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Open question&lt;/strong&gt;: Knowledge Trust Ladder in a skills repository: Since 2026-10-14 &lt;code&gt;docs/skills-repositories.md&lt;/code&gt; says each of this repository's six skills has a &lt;code&gt;Playbook&lt;/code&gt; concept. This concept still says five.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Open question&lt;/strong&gt;: Knowledge bundle: Since 2026-10-14 &lt;code&gt;docs/obsidian.md&lt;/code&gt; sends readers to each plugin's usage page, not its README, and says the plugins' architecture pages name the cost of putting exhibits in a vault's index. This concept says the plugin READMEs name the cost of a folder inside a vault. Which page names that cost now?&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Open question&lt;/strong&gt;: Build, preview and edit the website: Since 0.43.0 &lt;code&gt;website/README.md&lt;/code&gt; says the site also serves the bundle log as an Atom feed, &lt;code&gt;knowledge/log.xml&lt;/code&gt;, and the home, docs and extra pages as Markdown beside them, and that each release page links the repository, the docs and the bundle at the release's tag. It names &lt;code&gt;src/components/ReadingLevels.astro&lt;/code&gt; and &lt;code&gt;src/components/ConceptPreviews.astro&lt;/code&gt; for the reading levels and the hover preview. This concept names none of them.&lt;/li&gt;
&lt;/ul&gt;
</content>
  </entry>
  <entry>
    <title>2026-10-14 · Changed: 11 · Open question: 7 · Added: 1</title>
    <link rel="alternate" type="text/html" href="https://noelmcloughlin.github.io/knowledge-trust-ladder/knowledge/log/#2026-10-14"/>
    <id>https://w3id.org/ktl/knowledge/log#2026-10-14</id>
    <published>2026-10-14T00:48:53Z</published>
    <updated>2026-10-14T22:13:55Z</updated>
    <category term="Changed"/>
    <category term="Open question"/>
    <category term="Added"/>
    <content type="html">&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: ktl-website skill: the Schema topic, the data pages in Datasette Lite, the preflight's recipe and &lt;code&gt;just&lt;/code&gt; lines, the weekly run and its new triggers, and the smoke test's schema and data, as 0.41.0 and 0.42.0 brought them.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Open question&lt;/strong&gt;: Build, preview and edit the website: Since 0.41.0 (2026-10-14) &lt;code&gt;knowledge-website.yaml&lt;/code&gt; also runs every Monday at 05:23 UTC from the default branch, and on a change to &lt;code&gt;.linkml/&lt;/code&gt;, a justfile, a &lt;code&gt;pyproject.toml&lt;/code&gt; or a &lt;code&gt;uv.lock&lt;/code&gt;; the scheduled run deploys too. This concept lists the push and pull-request paths up to the workflow itself, and no weekly run.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Open question&lt;/strong&gt;: Build, preview and edit the website: &lt;code&gt;website/README.md&lt;/code&gt; now says a promoted release's changelog page appears with the next build, the workflow's weekly run at the latest, or a run by hand. This concept says the next build, or a run by hand.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Open question&lt;/strong&gt;: Build, preview and edit the website: &lt;code&gt;website/README.md&lt;/code&gt; now names &lt;code&gt;site.config.mjs&lt;/code&gt; for the site's values and options, &lt;code&gt;src/styles/custom.css&lt;/code&gt;, this repository's own, for its look, and &lt;code&gt;src/components/Mermaid.astro&lt;/code&gt; for how a diagram is drawn, and says &lt;code&gt;node scripts/config.mjs&lt;/code&gt; prints what the sync reads. This concept's What to edit section names none of them.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Open question&lt;/strong&gt;: Build, preview and edit the website: Since 0.42.0 (&lt;code&gt;CHANGELOG.md&lt;/code&gt;) the README and the architecture page link the site at its persistent address, &lt;code&gt;https://w3id.org/ktl/&lt;/code&gt;, which redirects to the GitHub Pages address this concept names.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: &lt;code&gt;base_iri&lt;/code&gt; moved from the &lt;code&gt;knowledge-trust-ladder.example&lt;/code&gt; placeholder to &lt;code&gt;https://w3id.org/ktl/knowledge/&lt;/code&gt;, now that the w3id rule resolves it. Every concept id, the publisher id and every typed-relation target moved with it; no &lt;code&gt;verified&lt;/code&gt; event changed.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Knowledge sources: &lt;code&gt;base_iri&lt;/code&gt; is now &lt;code&gt;https://w3id.org/ktl/knowledge/&lt;/code&gt;, no longer the &lt;code&gt;knowledge-trust-ladder.example&lt;/code&gt; placeholder. Edited since a person confirmed it; the label says so until the curator looks again.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Added&lt;/strong&gt;: ktl-website skill, from &lt;code&gt;skills/ktl-website/SKILL.md&lt;/code&gt; and its references, the sixth skill that 0.39.0 added.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Versioning policy: six skills under one tag, as &lt;code&gt;docs/architecture.md&lt;/code&gt; and &lt;code&gt;CONTRIBUTING.md&lt;/code&gt; now count since ktl-website. Edited since a person confirmed it; the label says so until the curator looks again.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Why the skills live in their own repository: six skills, as &lt;code&gt;docs/install.md&lt;/code&gt;, &lt;code&gt;plugin.json&lt;/code&gt; and &lt;code&gt;marketplace.json&lt;/code&gt; now count since ktl-website.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Contributing: only &lt;code&gt;website/&lt;/code&gt; builds, two helpers (&lt;code&gt;ktl-prose&lt;/code&gt; and &lt;code&gt;ktl-website&lt;/code&gt;) and six skills under one tag, check 11w among the template pairs, and the website's role boundary, as &lt;code&gt;CONTRIBUTING.md&lt;/code&gt; now says.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Repository validation: six skill directories, ktl-website's word budget, checks 11w and 12w, check 17 over every skill's templates, the two website test modules, four workflow templates for actionlint and the &lt;code&gt;smoke-test-website&lt;/code&gt; job, as &lt;code&gt;validate-repository.sh&lt;/code&gt; and &lt;code&gt;validate.yml&lt;/code&gt; now say.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Releasing: six skills under one tag since 0.39.0 (&lt;code&gt;CHANGELOG.md&lt;/code&gt;), and &lt;code&gt;sync-sidecar.sh&lt;/code&gt; also carries ktl-website's templates to a sibling that has a site.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: ktl-sidecar skill: Step 6 names ktl-website as the skill that can publish the bundle, and the scheduled librarian's and the release's variables go under Repository variables, never on an environment, as &lt;code&gt;SKILL.md&lt;/code&gt; and &lt;code&gt;references/automation.md&lt;/code&gt; now say.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Why four skill roles: the architecture page now names a sixth skill, &lt;code&gt;ktl-website&lt;/code&gt;, which publishes the bundle and is optional like &lt;code&gt;ktl-prose&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: The source map: six skill playbooks, a row for ktl-website's templates and preflight, the website workflow's new name, the website smoke test, and the thirtieth pass's notes. Edited since a person confirmed it; the label says so until the curator looks again.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Open question&lt;/strong&gt;: Security policy: Since 2026-10-14 &lt;code&gt;SECURITY.md&lt;/code&gt; lists ktl-website's templates and its preflight as a surface of their own. It names &lt;code&gt;knowledge-website.yaml&lt;/code&gt; among this repository's copies of the templates, counts the six skills' prose, and names five skills that run &lt;code&gt;.lokf/scripts/&lt;/code&gt;, ktl-website among them. This concept carries the earlier table and four skills. &lt;code&gt;SECURITY.md&lt;/code&gt; itself still says four surfaces above a table of five rows.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Open question&lt;/strong&gt;: Threat model: Since 2026-10-14 &lt;code&gt;docs/threat-model.md&lt;/code&gt; names ktl-website among the skills that run the repository's scripts from &lt;code&gt;.lokf/scripts/&lt;/code&gt;, counts four workflow templates under the two skills' &lt;code&gt;templates/github/&lt;/code&gt; as pinned, and says six skills read content they did not author. This concept still names four skills that run those scripts.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Open question&lt;/strong&gt;: Hosts and doorways - where the bundle's real folder lives: Since 2026-10-14 the portability matrix in &lt;code&gt;skills/ktl-sidecar/references/portability.md&lt;/code&gt; says that on GitLab, Forgejo and Gitea the GitHub Actions workflows are lost, ktl-website's deploy included. This concept says the three GitHub Actions workflows are the only loss there.&lt;/li&gt;
&lt;/ul&gt;
</content>
  </entry>
  <entry>
    <title>2026-10-13 · Changed: 23 · Added: 13 · Open question: 8 · Curation: 3 · Rewrite: 2</title>
    <link rel="alternate" type="text/html" href="https://noelmcloughlin.github.io/knowledge-trust-ladder/knowledge/log/#2026-10-13"/>
    <id>https://w3id.org/ktl/knowledge/log#2026-10-13</id>
    <published>2026-10-13T01:24:28Z</published>
    <updated>2026-10-14T00:03:01Z</updated>
    <category term="Curation"/>
    <category term="Changed"/>
    <category term="Rewrite"/>
    <category term="Open question"/>
    <category term="Added"/>
    <content type="html">&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Curation&lt;/strong&gt;: human:noelmcloughlin corrected 1: Build, preview and edit the website, now naming &lt;code&gt;knowledge-website.yaml&lt;/code&gt;, the default branch, the variable gate, &lt;code&gt;docs/architecture.en-simple.md&lt;/code&gt; and &lt;code&gt;DOCS.groups&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Curation&lt;/strong&gt;: human:noelmcloughlin sent 1 back: Build, preview and edit the website, for the &lt;code&gt;website.yml&lt;/code&gt; changes the ktl-website skill brings.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: The context layer now says the architecture page uses the term and links the page, since &quot;Why libraries have catalogues&quot; and &quot;Prose, Structure, Meaning, Context&quot; moved there from the README on 2026-10-13. It is about the glossary term of the same name.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Intended uses takes the context layer and the question of who is responsible from &lt;code&gt;docs/architecture.md&lt;/code&gt;, where the README's sections moved on 2026-10-13, and keeps the README for what the project is.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Why a distribution repository now cites &lt;code&gt;docs/install.md&lt;/code&gt;, which holds the quick start, the plugin commands and the docent-only route the README carried until 2026-10-13, and &lt;code&gt;docs/architecture.md&lt;/code&gt; for the one-tag rule.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Rewrite&lt;/strong&gt;: Why four roles follows &lt;code&gt;docs/architecture.md&lt;/code&gt;, where the README's roles moved on 2026-10-13, and answers the note sent back that day. Only KTL Registrar does the registrar's work in Obsidian, and the concept now carries the Runs column, the curator always being a person, what ktl-prose never changes and the three lines of defence.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Why four roles cites &lt;code&gt;docs/architecture.md&lt;/code&gt; and &lt;code&gt;docs/obsidian.md&lt;/code&gt;, and relates to the three lines of defence its body links.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: WikiSkill cites &lt;code&gt;docs/architecture.md&lt;/code&gt; for the paper's credit, which moved there from the README on 2026-10-13.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Accession cites &lt;code&gt;docs/architecture.md&lt;/code&gt;, where the README's fifth-role section moved on 2026-10-13, and relates to the collection an accession joins.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Desk cites &lt;code&gt;docs/architecture.md&lt;/code&gt;, where the README's fifth-role section moved on 2026-10-13, and gives the registrar's work in Obsidian to KTL Registrar alone, as that page says.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Docent cites &lt;code&gt;docs/architecture.md&lt;/code&gt;, where the README's table of roles moved on 2026-10-13, and the retelling beside it.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: LOKF cites &lt;code&gt;docs/architecture.md&lt;/code&gt;, where the README's format section and credits moved on 2026-10-13, and relates to LinkML, the language its schema is written in.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: OKF cites &lt;code&gt;docs/architecture.md&lt;/code&gt;, whose credits name Google Cloud as the specification's creator since they moved from the README on 2026-10-13.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Registrar cites &lt;code&gt;docs/architecture.md&lt;/code&gt;, where the README's fifth-role section moved on 2026-10-13.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Sidecar cites &lt;code&gt;docs/architecture.md&lt;/code&gt;, where the README's table of roles moved on 2026-10-13.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: The pen cites &lt;code&gt;docs/architecture.md&lt;/code&gt;, where the README's fifth-role section moved on 2026-10-13; the README no longer names the pen.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: The pen for younger readers follows the pen, which now names the architecture page instead of the README.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: ktl-prose skill cites &lt;code&gt;docs/architecture.md&lt;/code&gt; for the fifth skill, which moved there from the README on 2026-10-13.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Rewrite&lt;/strong&gt;: Versioning answers the note of 2026-10-13: it says what &lt;code&gt;.releaserc.json&lt;/code&gt; does with &lt;code&gt;!&lt;/code&gt; beside what &lt;code&gt;docs/releasing.md&lt;/code&gt; says, from commit-analyzer's default preset and rules at the version the workflow pins. The one-tag rule cites &lt;code&gt;docs/architecture.md&lt;/code&gt;, where the README's reading list moved. Edited since a person confirmed it; the label says so until the curator looks again.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Versioning cites &lt;code&gt;.releaserc.json&lt;/code&gt;, the release workflow and commit-analyzer's README, default rules and Angular parser. Edited since a person confirmed it; the label says so until the curator looks again.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Open question&lt;/strong&gt;: Versioning policy: &lt;code&gt;docs/releasing.md&lt;/code&gt; and the &lt;code&gt;plan&lt;/code&gt; job in &lt;code&gt;.github/workflows/semantic-release.yml&lt;/code&gt; treat &lt;code&gt;!&lt;/code&gt; after the type as breaking. &lt;code&gt;.releaserc.json&lt;/code&gt; names no preset, and the default Angular preset of commit-analyzer, which the workflow pins at 13.0.1, has no place for &lt;code&gt;!&lt;/code&gt; in its header pattern, so a &lt;code&gt;feat!:&lt;/code&gt; commit releases nothing. Which should change: the preset, or the page and the plan job?&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Releasing now says which rules are &lt;code&gt;.releaserc.json&lt;/code&gt;'s and which are commit-analyzer's defaults, and that the Angular preset it reads commits with has no place for &lt;code&gt;!&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: The lokf toolkit answers the note of 2026-10-13. It no longer says the SHACL shapes catch violations, which &lt;code&gt;CHANGELOG.md&lt;/code&gt; withdrew, calls the template's &lt;code&gt;lokf[build]&amp;gt;=0.8.0&lt;/code&gt; a floor, and carries the librarian's version check and the byte-identical schema. Its commands come from the toolkit's &lt;code&gt;cli.py&lt;/code&gt; at v0.8.0, and its extras and their uses from the pages that name them.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: ktl-sidecar skill answers the note of 2026-10-13. The wrapper looks under &lt;code&gt;.claude/skills/&lt;/code&gt;, &lt;code&gt;.github/skills/&lt;/code&gt; and &lt;code&gt;.agents/skills/&lt;/code&gt; before bare &lt;code&gt;skills/&lt;/code&gt;, &lt;code&gt;references/m365.md&lt;/code&gt; dates from 2026-09-24, and the concept now carries the repair rule, the base IRI rule, the four things gitignoring changes and why placeholders are substituted with Python.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Repository validation says check 9 now also checks each heading a sibling repository links to, as &lt;code&gt;scripts/validate-repository.sh&lt;/code&gt; does since 2026-10-13.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Open question&lt;/strong&gt;: When the built-in vocabulary stops fitting - domain schemas: Since 2026-10-13 the section &quot;Prose, Structure, Meaning, Context&quot; is on &lt;code&gt;docs/architecture.md&lt;/code&gt;, not in &lt;code&gt;README.md&lt;/code&gt;. This concept says &quot;The README says&quot; for its quotation and lists &lt;code&gt;README.md&lt;/code&gt; in &lt;code&gt;sources&lt;/code&gt;; both should name &lt;code&gt;docs/architecture.md&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Open question&lt;/strong&gt;: Why a registrar role, and why it is not a skill: Since 2026-10-13 the fifth-role section is on &lt;code&gt;docs/architecture.md&lt;/code&gt;, not in &lt;code&gt;README.md&lt;/code&gt;, so &lt;code&gt;resource&lt;/code&gt;, &lt;code&gt;sources&lt;/code&gt; and &quot;The README calls it the fifth role&quot; should name that page. That page and &lt;code&gt;docs/obsidian.md&lt;/code&gt; now say KTL Registrar does the registrar's work and KTL Curator assists the curator, while this concept and its description say both plugins do the registrar's work.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Open question&lt;/strong&gt;: Three lines of defence - where each role sits, and what an auditor can check: Since 2026-10-13 the fifth-role section that points at &lt;code&gt;docs/three-lines.md&lt;/code&gt; is on &lt;code&gt;docs/architecture.md&lt;/code&gt;, not in &lt;code&gt;README.md&lt;/code&gt;. The sentence &quot;The README's section on the fifth role&quot; and the &lt;code&gt;README.md&lt;/code&gt; source should name &lt;code&gt;docs/architecture.md&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Open question&lt;/strong&gt;: Knowledge bundle: Since 2026-10-13 &lt;code&gt;README.md&lt;/code&gt; keeps the poem, but &quot;Why libraries have catalogues&quot;, which says a bundle is the catalogue, is on &lt;code&gt;docs/architecture.md&lt;/code&gt;. &lt;code&gt;sources&lt;/code&gt; should list &lt;code&gt;docs/architecture.md&lt;/code&gt; beside &lt;code&gt;README.md&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Open question&lt;/strong&gt;: ktl-curator skill: Since 2026-10-13 the Runs column (&quot;a little, regularly&quot;) is in the table of roles on &lt;code&gt;docs/architecture.md&lt;/code&gt;, not in &lt;code&gt;README.md&lt;/code&gt;. &lt;code&gt;sources&lt;/code&gt; should list &lt;code&gt;docs/architecture.md&lt;/code&gt; instead of &lt;code&gt;README.md&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Open question&lt;/strong&gt;: ktl-docent skill: Since 2026-10-13 the Runs column (&quot;whenever anyone asks&quot;) is in the table of roles on &lt;code&gt;docs/architecture.md&lt;/code&gt;, not in &lt;code&gt;README.md&lt;/code&gt;. &lt;code&gt;sources&lt;/code&gt; should list &lt;code&gt;docs/architecture.md&lt;/code&gt; instead of &lt;code&gt;README.md&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Open question&lt;/strong&gt;: Build, preview and edit the website: Since 2026-10-13 &lt;code&gt;website/README.md&lt;/code&gt; says &lt;code&gt;docs/architecture.en-simple.md&lt;/code&gt; becomes the page for readers aged 13 to 18, and that the home page's tagline is the first line of &lt;code&gt;docs/architecture.md&lt;/code&gt; that is bold throughout; &lt;code&gt;.github/workflows/website.yml&lt;/code&gt; no longer lists &lt;code&gt;README.en-simple.md&lt;/code&gt;. This concept still names &lt;code&gt;README.en-simple.md&lt;/code&gt;. &lt;code&gt;CHANGELOG.md&lt;/code&gt; changed too, only in its unreleased notes, and still records the site under the 0.38.1 release.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: The LinkML reference is titled LinkML (linkml.io), as its siblings name their sites, so the index tells it from the glossary term.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Added&lt;/strong&gt;: Librarian, a role the glossary lacked, from the table of roles on &lt;code&gt;docs/architecture.md&lt;/code&gt; and ktl-librarian's &lt;code&gt;SKILL.md&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Added&lt;/strong&gt;: Curator, a role the glossary lacked, from the table of roles on &lt;code&gt;docs/architecture.md&lt;/code&gt;, the verdicts in &lt;code&gt;docs/for-the-curious.md&lt;/code&gt; and the plugin table in &lt;code&gt;docs/obsidian.md&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Added&lt;/strong&gt;: Collection, the word the README's opening paragraph sets in bold, from the README and &lt;code&gt;docs/architecture.md&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Added&lt;/strong&gt;: Context layer, the term &lt;code&gt;docs/architecture.md&lt;/code&gt; sets in bold, beside the explanation of the same name, with &lt;code&gt;docs/context-layer.md&lt;/code&gt;'s definition.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Added&lt;/strong&gt;: Trust ladder, the project's own name for how far each claim has been checked, from &lt;code&gt;docs/architecture.md&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Added&lt;/strong&gt;: Workshop, one of the two vaults &lt;code&gt;docs/obsidian.md&lt;/code&gt; sets in bold.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Added&lt;/strong&gt;: Exhibition, one of the two vaults &lt;code&gt;docs/obsidian.md&lt;/code&gt; sets in bold.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Added&lt;/strong&gt;: Doorway, the name &lt;code&gt;docs/obsidian.md&lt;/code&gt; gives the &lt;code&gt;knowledge_bundle&lt;/code&gt; link, with ktl-sidecar's rule for a gitignored &lt;code&gt;.lokf/&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Added&lt;/strong&gt;: Health line, from the curator's &lt;code&gt;trust-fields.md&lt;/code&gt; and &lt;code&gt;SKILL.md&lt;/code&gt;, the report script and the architecture page.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Added&lt;/strong&gt;: Work list, from ktl-librarian's &lt;code&gt;SKILL.md&lt;/code&gt; and &lt;code&gt;docs/for-the-curious.md&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Added&lt;/strong&gt;: LinkML, the schema language LOKF is written in, from &lt;code&gt;docs/architecture.md&lt;/code&gt;, &lt;code&gt;docs/for-the-curious.md&lt;/code&gt;, ktl-librarian's &lt;code&gt;SKILL.md&lt;/code&gt; and the curator's &lt;code&gt;domain-schemas.md&lt;/code&gt;. The LinkML reference defines it.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Added&lt;/strong&gt;: Domain schema, the term &lt;code&gt;docs/for-the-curious.md&lt;/code&gt; defines, with what the architecture page says it gives a domain.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Added&lt;/strong&gt;: Three lines of defence, the model &lt;code&gt;docs/architecture.md&lt;/code&gt; sets in bold, from &lt;code&gt;docs/three-lines.md&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: The source map follows the README's move: &lt;code&gt;docs/architecture.md&lt;/code&gt; joins the README's row, the retelling has its new path, the install count, the card and the release rows follow their pages, and the twenty-ninth pass is recorded. Edited since a person confirmed it; the label says so until the curator looks again.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Docent cites the retelling for readers aged 13 to 18 at its new path, &lt;code&gt;docs/architecture.en-simple.md&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Curation&lt;/strong&gt;: human:noelmcloughlin confirmed 2 concepts, corrected 16, sent 5 back and marked 1 for later. Two corrections added files the concept drew on to &lt;code&gt;sources&lt;/code&gt;, two moved a &lt;code&gt;resource&lt;/code&gt; to the page that holds the facts, ten restored facts a summary had dropped from its source, and two send-backs name claims from files the concept does not list, so the librarian may be citing too few sources and shortening too far.&lt;/li&gt;
&lt;/ul&gt;
</content>
  </entry>
  <entry>
    <title>2026-10-12 · Changed: 59 · Prose: 4 · Added: 4 · Open question: 4 · Rewrite: 3</title>
    <link rel="alternate" type="text/html" href="https://noelmcloughlin.github.io/knowledge-trust-ladder/knowledge/log/#2026-10-12"/>
    <id>https://w3id.org/ktl/knowledge/log#2026-10-12</id>
    <published>2026-10-12T00:43:21Z</published>
    <updated>2026-10-12T23:58:45Z</updated>
    <category term="Prose"/>
    <category term="Changed"/>
    <category term="Added"/>
    <category term="Rewrite"/>
    <category term="Open question"/>
    <content type="html">&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Prose&lt;/strong&gt;: reworded 2 concept bodies in plain English: the context layer, whose pin-or-float detail now follows the list of decisions, and the website playbook. No fact, link, number or frontmatter changed.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: The context layer follows &lt;code&gt;docs/context-layer.md&lt;/code&gt; again: its new title and federation heading, and the pin-or-float decision, which the page now settles by pinning and which absorbs the staleness bullet. Trust at read time moved from the decisions into the workspace section, as on the page.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Domain schemas quotes the README as it now reads, which says a domain &quot;extends the schema&quot; without naming LinkML.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Added&lt;/strong&gt;: Build, preview and edit the website, from &lt;code&gt;website/README.md&lt;/code&gt; and &lt;code&gt;.github/workflows/website.yml&lt;/code&gt;, which the 0.38.1 release added.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: The source map gains a row for &lt;code&gt;website/&lt;/code&gt; and &lt;code&gt;website.yml&lt;/code&gt;, which feed the new website playbook. Edited since a person confirmed it; the label says so until the curator looks again.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: &lt;code&gt;docs/context-layer.md&lt;/code&gt; and &lt;code&gt;docs/context-layer-technology.md&lt;/code&gt; now write catalogue, as the README and the rest of the bundle do. The concept and its description follow them; product names such as Unity Catalog keep their own spelling.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Knowledge sources records the twenty-seventh pass. Edited since a person confirmed it; the label says so until the curator looks again.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Prose&lt;/strong&gt;: reworded 2 concept bodies in plain English: WikiSkill and SkillWiki, after the librarian rewrote both. No fact, link, number or frontmatter changed.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: WikiSkill takes the page's new title, and its description names what the page now holds.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: SkillWiki takes the page's new title, and its description names what the page now holds.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Rewrite&lt;/strong&gt;: &lt;code&gt;docs/wikiskill.md&lt;/code&gt; was trimmed to what KTL took from the paper and what the paper leaves open, without the part-by-part table or the programs, models and people table. The concept follows it, under the page's new title.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Rewrite&lt;/strong&gt;: &lt;code&gt;docs/skillwiki.md&lt;/code&gt; was trimmed to the four changes, the excerpt check and where the designs part, without the side-by-side table, the programs, models and people table or the paper's open points. The concept follows it, under the page's new title.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: &lt;code&gt;docs/skills-repositories.md&lt;/code&gt; no longer reads the two papers against KTL's design, and now gives the handling before the two runs. The overview says so.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: &lt;code&gt;docs/context-layer.md&lt;/code&gt; no longer quotes Tellius, Andreessen Horowitz, Forrester, Gartner and the other vendors, nor the analogies in its workspace steps. The concept drops the two quotations it carried.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: &lt;code&gt;docs/three-lines-critics.md&lt;/code&gt; is no longer marked as preliminary research, and the concept no longer says it is.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Knowledge sources: the &lt;code&gt;docs/wikiskill.md&lt;/code&gt;, &lt;code&gt;docs/skillwiki.md&lt;/code&gt; and &lt;code&gt;docs/skills-repositories.md&lt;/code&gt; rows follow the trimmed pages, and the twenty-sixth pass is recorded. Edited since a person confirmed it; the label says so until the curator looks again.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Domain schemas now relates to the curator skill instead of naming it as its subject.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Three lines of defence now relates to the two role explanations instead of naming them as its subject.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Versioning now relates to the releasing playbook instead of naming it as its subject. Edited since a person confirmed it; the label says so until the curator looks again.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: ktl-sidecar skill now cites commit 61b9355, which split &lt;code&gt;gate.md&lt;/code&gt; out of &lt;code&gt;automation.md&lt;/code&gt; on 2026-09-24.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: The source map's templates row now names every file the sidecar writes, and re-checks the &lt;code&gt;justfile&lt;/code&gt;, which carries the domain-schema variable since 0.38.0. Edited since a person confirmed it; the label says so until the curator looks again.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Trust label keeps &lt;code&gt;definedBy&lt;/code&gt; as an empty list, as every relation field is a list.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Context layer now names all three gaps &lt;code&gt;docs/context-layer.md&lt;/code&gt; says OKF leaves open, and the page's recommendation on cross-bundle links.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Hosts and doorways now gives both halves of what Obsidian's &lt;em&gt;Excluded files&lt;/em&gt; does, as &lt;code&gt;skills/ktl-sidecar/references/portability.md&lt;/code&gt; states them.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Intended uses now says, as the README does, that the context layer is what is missing and the bundle is its catalogue.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Three lines of defence now matches &lt;code&gt;docs/three-lines-critics.md&lt;/code&gt; on how its sources are cited and on who produces evidence that oversight works, and relates to the context layer it links.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Why a distribution repository's description now names the Microsoft 365 route and the rename its body covers, and its sources list &lt;code&gt;.claude-plugin/plugin.json&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Why four roles no longer calls every handoff a frontmatter fact, since one is a feedback entry, and says the pen marks new concepts as drafts.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: WikiSkill now quotes &lt;code&gt;docs/wikiskill.md&lt;/code&gt; on the concepts readers keep arriving at, and relates to SkillWiki, which it sets itself apart from.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: OKF now lists &lt;code&gt;README.md&lt;/code&gt;, the source that names Google Cloud as the specification's creator.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Trust label now references the OKF specification rather than naming it as the definition, since the labels are defined in &lt;code&gt;trust-fields.md&lt;/code&gt; and the specification defines only the fields.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: The pen for younger readers now relates to the registrar its body links.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: ktl-librarian skill now covers its plain-English rules and the offer of a prose pass before hand-off, and carries typed relations to the security policy and ktl-prose that its body names. Edited since a person confirmed it; the label says so until the curator looks again.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: ktl-prose skill now numbers its steps 0 to 5 as &lt;code&gt;SKILL.md&lt;/code&gt; does, says step 0 runs the conventions script too, and drops an override claim no source makes.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: ktl-sidecar skill now says the &lt;code&gt;validate&lt;/code&gt; job passes the merge-base, as &lt;code&gt;knowledge-registrar.yaml&lt;/code&gt; has done since 0.36.1.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Open the bundle in Obsidian now lists Obsidian's symlinks help page, the source of the sentence it quotes.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Releasing now points at the paragraph that describes &lt;code&gt;check&lt;/code&gt;; the page has no next section.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Threat model now lists &lt;code&gt;knowledge-conventions.sh&lt;/code&gt;, the source of its claim about conventions rule 10.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Code of conduct's description no longer promises the behavioural standards, which the body does not list.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Open Skills CLI's description now says what the body covers: the installer and its local-path use as a pre-publication check.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: The source map no longer says all three release files sit behind the &lt;code&gt;release&lt;/code&gt; Environment; only the &lt;code&gt;release&lt;/code&gt; job does. Edited since a person confirmed it; the label says so until the curator looks again.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Open question&lt;/strong&gt;: Knowledge bundle: the body's library and museum terms, the workshop and the log and index details come from &lt;code&gt;README.md&lt;/code&gt;, &lt;code&gt;docs/obsidian.md&lt;/code&gt; and &lt;code&gt;skills/ktl-librarian/SKILL.md&lt;/code&gt;, but &lt;code&gt;sources&lt;/code&gt; names only &lt;code&gt;skills/ktl-sidecar/templates/README.md&lt;/code&gt;. Should those three be added as sources?&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Open question&lt;/strong&gt;: Why a registrar role, and why it is not a skill: the body's account of the pen (stamps &lt;code&gt;generated&lt;/code&gt;, keeps index bullets equal, files the log line, refuses some writes) and of the wrapper comes from &lt;code&gt;skills/ktl-librarian/SKILL.md&lt;/code&gt; and &lt;code&gt;skills/ktl-sidecar/SKILL.md&lt;/code&gt;, which are not in &lt;code&gt;sources&lt;/code&gt;. The pen also refuses deleting a concept a person left a note on, not only one a person confirmed. And &lt;code&gt;about&lt;/code&gt; names the knowledge bundle while &lt;code&gt;glossary/registrar&lt;/code&gt; describes this role. Should these change?&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Open question&lt;/strong&gt;: Agent Skills specification: the body says the &lt;code&gt;description&lt;/code&gt; is kept near ~100 tokens, but the specification's ~100 tokens is a startup budget for &lt;code&gt;name&lt;/code&gt; and &lt;code&gt;description&lt;/code&gt; together, and this repository enforces only the 1024-character limit (check 3c); its descriptions run to about 150 to 230 tokens. The &lt;code&gt;resource&lt;/code&gt; is &lt;code&gt;agentskills.io/home&lt;/code&gt; while the facts come from &lt;code&gt;agentskills.io/specification&lt;/code&gt;. Should both change?&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Prose&lt;/strong&gt;: reworded 22 concept bodies in plain English. No fact, link, number or frontmatter changed.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: the README's &lt;em&gt;context layer&lt;/em&gt; now links &lt;code&gt;docs/context-layer.md&lt;/code&gt;, which the concept now cites. That page, like the README, names no intended use or non-goal, so the open question stays.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: &lt;code&gt;docs/three-lines.md&lt;/code&gt; now lists the context layer's domain tiers and workspace among what remains for this project, and the concept follows it.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: &lt;code&gt;README.md&lt;/code&gt; no longer calls a docent a museum's name for a guide. &lt;code&gt;README.en-simple.md&lt;/code&gt; does, and the concept now cites it.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: &lt;code&gt;README.md&lt;/code&gt; no longer says each skill stands alone, and no other source does, so the concept no longer says it.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: &lt;code&gt;scripts/sync-sidecar.sh&lt;/code&gt; no longer counts ai-linkmo among the siblings it brings up to a release, and the concept no longer does either.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: the source map names &lt;code&gt;docs/context-layer.md&lt;/code&gt; and &lt;code&gt;docs/context-layer-technology.md&lt;/code&gt;, which the new context-layer concept follows. Edited since a person confirmed it; the label says so until the curator looks again.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Open question&lt;/strong&gt;: OKF specification (v0.2): the &lt;code&gt;resource&lt;/code&gt; is the copy under &lt;code&gt;knowledge-catalog/okf/&lt;/code&gt;, whose folder's README now says OKF lives in its own repository and asks readers to stop using that copy. The README, the sidecar's README template and &lt;code&gt;CHANGELOG.md&lt;/code&gt; now link &lt;code&gt;https://github.com/GoogleCloudPlatform/open-knowledge-format/blob/main/SPEC.md&lt;/code&gt;. A person wrote this concept, so moving its &lt;code&gt;resource&lt;/code&gt; is the curator's to record.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Added&lt;/strong&gt;: The context layer, from &lt;code&gt;docs/context-layer.md&lt;/code&gt; and &lt;code&gt;docs/context-layer-technology.md&lt;/code&gt;, which the README now links.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: check 16 is described without the repository's old name, which the check itself refuses outside the files that record history.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: ktl-librarian now names the domain schema by one &lt;code&gt;schema&lt;/code&gt; line in the justfile, has pages for a host of Agent Skills and for retellings, and the scheduled run validates through &lt;code&gt;just lokf-check-refs&lt;/code&gt;. &lt;code&gt;references/domain-schema.md&lt;/code&gt;, &lt;code&gt;references/agent-skills.md&lt;/code&gt;, &lt;code&gt;references/retellings.md&lt;/code&gt; and &lt;code&gt;knowledge-librarian.yaml&lt;/code&gt; say so. Edited since a person confirmed it; the label says so until the curator looks again.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: ktl-sidecar's page now names the fourteenth convention, the curator's queue in the report script, and what is tested before a release. &lt;code&gt;references/gate.md&lt;/code&gt;, &lt;code&gt;references/portability.md&lt;/code&gt; and the CHANGELOG entries for 0.36.0 and 0.37.1 say so.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: ktl-curator's page now says the script ranks the queue and counts reliance through thirteen relation fields, reads the justfile's &lt;code&gt;schema&lt;/code&gt; line, offers a &lt;code&gt;Younger readers:&lt;/code&gt; switch, and asks what replaced a retired concept. &lt;code&gt;SKILL.md&lt;/code&gt;, &lt;code&gt;references/trust-fields.md&lt;/code&gt; and &lt;code&gt;references/review-session.md&lt;/code&gt; say so.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: ktl-docent's page now follows all thirteen typed relations, names a retired concept's successor and the label for a reader's dispute, passes &lt;code&gt;--concept&lt;/code&gt; with a Disagreement, and answers a younger reader. &lt;code&gt;SKILL.md&lt;/code&gt;, &lt;code&gt;references/answering.md&lt;/code&gt; and &lt;code&gt;references/feedback.md&lt;/code&gt; say so.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: ktl-prose's page now covers retellings for younger readers and the pass for dyslexic readers, with &lt;code&gt;prose-check.py --audience&lt;/code&gt;, &lt;code&gt;--derived-from&lt;/code&gt; and the VOA word book. &lt;code&gt;references/young-readers.md&lt;/code&gt;, &lt;code&gt;prose-check.py&lt;/code&gt; and the 0.38.0 CHANGELOG entry say so.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: &lt;code&gt;changelog-release.mjs check&lt;/code&gt; now passes an empty &lt;code&gt;[Unreleased]&lt;/code&gt; for a version already promoted, as &lt;code&gt;.releaserc.json&lt;/code&gt; and the script say since #114, and &lt;code&gt;publish.yml&lt;/code&gt; runs the pytest suite under &lt;code&gt;tests/&lt;/code&gt; before it publishes.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Rewrite&lt;/strong&gt;: the behavioural checks moved out of &lt;code&gt;scripts/validate-repository.sh&lt;/code&gt; into pytest modules under &lt;code&gt;tests/&lt;/code&gt;, which &lt;code&gt;validate.yml&lt;/code&gt; runs in a job of its own (0.37.1). The page now lists the contract's checks as the script numbers them, says which module carries each moved check, and adds checks 7c, 7d, 10a and 22.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: &lt;code&gt;CONTRIBUTING.md&lt;/code&gt; now asks for &lt;code&gt;pytest&lt;/code&gt; beside the contract script before a pull request, lists &lt;code&gt;tests/&lt;/code&gt; in its layout, and says the skills are written partly in Python, not in one Python script.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: the limits list now names &lt;code&gt;skills/ktl-sidecar/references/m365.md&lt;/code&gt; as the source of Agent Builder's 50 MB zip limit, beside the toolkit's 10 MB app package the builder enforces.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: A domain schema is now one &lt;code&gt;schema&lt;/code&gt; variable in the sidecar's justfile, which the validate and check-refs recipes and the three workflows use, as &lt;code&gt;skills/ktl-librarian/references/domain-schema.md&lt;/code&gt; and the justfile template say since #116.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: &lt;code&gt;docs/skills-repositories.md&lt;/code&gt; now says what KTL does and leaves alone in a repository of Agent Skills; no source yet states intended uses or non-goals in general, so the question stays open.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: The install commands now install for the user (&lt;code&gt;--global&lt;/code&gt;, &lt;code&gt;--scope user&lt;/code&gt;), and &lt;code&gt;docs/install.md&lt;/code&gt; gained a section on when a team installs into the repository instead (#115).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: &lt;code&gt;docs/wikiskill.md&lt;/code&gt; now names WikiSkill apart from SkillWiki, the 2026 paper &lt;code&gt;docs/skillwiki.md&lt;/code&gt; reads, and the concept says so.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: the trust labels now include &lt;em&gt;a reader disputed this&lt;/em&gt;, read from &lt;code&gt;.lokf/feedback.md&lt;/code&gt;, and &lt;em&gt;derived from a concept edited since its confirmation&lt;/em&gt;, and a retired concept names its successor from &lt;code&gt;log.md&lt;/code&gt;; &lt;code&gt;skills/ktl-curator/references/trust-fields.md&lt;/code&gt; says so.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: &lt;code&gt;SECURITY.md&lt;/code&gt; now counts four skills that run the repository's &lt;code&gt;.lokf/scripts/&lt;/code&gt;, ktl-prose among them, and says &lt;code&gt;prose-check.py&lt;/code&gt; also reads the skill's own word list. Every other claim was checked against &lt;code&gt;SECURITY.md&lt;/code&gt; and &lt;code&gt;scripts/validate-repository.sh&lt;/code&gt; check 10 and still holds. Edited since a person confirmed it; the label says so until the curator looks again.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: &lt;code&gt;docs/threat-model.md&lt;/code&gt; now names ktl-prose among the skills that run &lt;code&gt;.lokf/scripts/&lt;/code&gt;, adds conventions rule 14, says what a Disagreement's concept path is used for, and covers a skills repository. The concept follows all four.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: the source map names the files tracked since the 2026-10-06 refresh (&lt;code&gt;tests/&lt;/code&gt;, &lt;code&gt;pytest.ini&lt;/code&gt;, &lt;code&gt;README.en-simple.md&lt;/code&gt;, &lt;code&gt;docs/skillwiki.md&lt;/code&gt;, &lt;code&gt;docs/skills-repositories.md&lt;/code&gt;, &lt;code&gt;docs/examples/prose.md&lt;/code&gt;, ktl-prose's word list and three new references) and follows the README's renamed agents callout. Edited since a person confirmed it; the label says so until the curator looks again.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Added&lt;/strong&gt;: SkillWiki's skill governance and KTL, from &lt;code&gt;docs/skillwiki.md&lt;/code&gt;, which no concept covered.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Added&lt;/strong&gt;: KTL in a skills repository, from &lt;code&gt;docs/skills-repositories.md&lt;/code&gt;, which no concept covered.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Prose&lt;/strong&gt;: after the librarian's refresh, reworded 3 concept bodies in plain English: repository validation now says which test module tests each moved check, and two long sentences in the SkillWiki and skills-repository concepts became lists. No fact, link, number or frontmatter changed.&lt;/li&gt;
&lt;/ul&gt;
</content>
  </entry>
  <entry>
    <title>2026-10-11 · Added: 1</title>
    <link rel="alternate" type="text/html" href="https://noelmcloughlin.github.io/knowledge-trust-ladder/knowledge/log/#2026-10-11"/>
    <id>https://w3id.org/ktl/knowledge/log#2026-10-11</id>
    <published>2026-10-11T18:34:30Z</published>
    <updated>2026-10-11T18:34:30Z</updated>
    <category term="Added"/>
    <content type="html">&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Added&lt;/strong&gt;: The pen, retold for readers aged 13 to 18 from &lt;code&gt;glossary/the-pen.md&lt;/code&gt;, the first retelling for younger readers in this bundle.&lt;/li&gt;
&lt;/ul&gt;
</content>
  </entry>
  <entry>
    <title>2026-10-06 · Changed: 26 · Prose: 4 · Rewrite: 1</title>
    <link rel="alternate" type="text/html" href="https://noelmcloughlin.github.io/knowledge-trust-ladder/knowledge/log/#2026-10-06"/>
    <id>https://w3id.org/ktl/knowledge/log#2026-10-06</id>
    <published>2026-10-06T11:28:50Z</published>
    <updated>2026-10-06T11:28:50Z</updated>
    <category term="Prose"/>
    <category term="Changed"/>
    <category term="Rewrite"/>
    <content type="html">&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Prose&lt;/strong&gt;: after the librarian's refresh, reworded 2 more concept bodies: a long sentence in the ktl-prose skill split in two, and the lokf toolkit's last paragraph split where it turns to the no-Python fallback. No fact, link, number or frontmatter changed.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: ktl-prose now lays out what it rewords the way the file's project does, one line for each paragraph and list item in the bundle, as &lt;code&gt;skills/ktl-prose/SKILL.md&lt;/code&gt; and &lt;code&gt;references/rules.md&lt;/code&gt; now say. The concept says so in its rules, its steps and its note on files outside the bundle.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: since 2026-10-05 the no-Python fallback reads LOKF's schema from the commit tagged &lt;code&gt;v0.8.0&lt;/code&gt;, never from the tag, as &lt;code&gt;skills/ktl-librarian/SKILL.md&lt;/code&gt; and &lt;code&gt;CHANGELOG.md&lt;/code&gt; say; both are now among the concept's sources. The description now has no dash.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: check 11's synthetic bundle also breaks rule 12 with an index bullet left behind by an edited description, as &lt;code&gt;scripts/validate-repository.sh&lt;/code&gt; shows, and the list of breaks now includes it. The description now has no dash.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: the body cites check 9 of &lt;code&gt;scripts/validate-repository.sh&lt;/code&gt;, which lists &lt;code&gt;docs/threat-model.md&lt;/code&gt; among the paths a sibling depends on, so that script is now among the concept's sources. The description now has no dash.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: the install manual does not say the command group may change without notice; the v2.90.0 release notes do, and the concept now credits them. The publish manual and the two workflows that call &lt;code&gt;gh skill publish&lt;/code&gt; are now among its sources.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: the contributing playbook's description, which both index bullets copy, now reads in plain English, with no dash.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: the ktl-curator skill's description, which both index bullets copy, now reads in plain English, with no dash.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: the ktl-docent skill's description, which both index bullets copy, now reads in plain English, with no dash.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: the code of conduct's description, which both index bullets copy, now reads in plain English, with no dash.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: The docent records a miss through its own copy of &lt;code&gt;knowledge-feedback.sh&lt;/code&gt;, as &lt;code&gt;skills/ktl-docent/SKILL.md&lt;/code&gt; now says. The concept's quotation that a docent explains the exhibition without moving anything on the shelves now comes from the README's table of roles.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: &lt;code&gt;docs/install.md&lt;/code&gt; no longer counts four skills or calls &lt;code&gt;ktl-prose&lt;/code&gt; a helper, and points to the README's install section instead. The concept now says what &lt;code&gt;README.md&lt;/code&gt; says: each skill stands alone, and &lt;code&gt;ktl-prose&lt;/code&gt; is optional and installs the same way.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: &lt;code&gt;README.md&lt;/code&gt; no longer says that a person confirms drafts a few at a time, so the run order drops the phrase. Its docent row now says that, like a real docent, the docent explains the exhibition without moving anything on the shelves, and the docent bullet says so too. The sidecar bullet says the skill installs &lt;code&gt;.lokf/&lt;/code&gt;, the README's own verb.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: &lt;code&gt;skills/ktl-curator/references/trust-fields.md&lt;/code&gt; now reads a &lt;code&gt;verified&lt;/code&gt; key with no events as &lt;em&gt;nobody has checked this yet&lt;/em&gt;, as &lt;code&gt;knowledge-report.sh&lt;/code&gt; does, and the concept says so.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: &lt;code&gt;README.md&lt;/code&gt; now makes the taxonomy point in one sentence: LOKF supplies the fixed taxonomy that OKF leaves to the producer, and a domain that outgrows it extends the schema. The concept follows it, and no longer says that any domain can bring its own, which no source now states.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: The concept now lists &lt;code&gt;docs/three-lines-critics.md&lt;/code&gt;, which it summarises, and &lt;code&gt;CHANGELOG.md&lt;/code&gt;, which dates the critics page's arrangement, as its sources. It drops a date that no source gives, and says &lt;em&gt;holds&lt;/em&gt;, &lt;em&gt;installs&lt;/em&gt; and &lt;em&gt;released&lt;/em&gt; where the pages do.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: &lt;code&gt;docs/wikiskill.md&lt;/code&gt; now leaves the pen's refusals, conventions rule 13 and &lt;code&gt;revision&lt;/code&gt; to the threat model and the three-lines page, and says once what it said twice. The concept follows it, takes the page's labels for two findings, and says &lt;em&gt;merges&lt;/em&gt; where it said &lt;em&gt;lands&lt;/em&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: &lt;code&gt;skills/ktl-sidecar/SKILL.md&lt;/code&gt; says that every skill addresses &lt;code&gt;.lokf/knowledge&lt;/code&gt;, where the table counted four skills, and that Step 2 adds the doorway.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: &lt;code&gt;CONTRIBUTING.md&lt;/code&gt; now has a template change copied over each of this repository's copies, ktl-docent's included, under checks 11 and 11a, and names the two plugin repositories in the sync command.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: &lt;code&gt;SECURITY.md&lt;/code&gt; now counts ktl-docent's two scripts among the scripts a skill runs in place, and says which skills run the repository's &lt;code&gt;.lokf/scripts/&lt;/code&gt; and that ktl-docent runs only its own. Checked against &lt;code&gt;SECURITY.md&lt;/code&gt; again, as the note of 2026-10-03 asks. Edited since a person confirmed it; the label says so until the curator looks again.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: &lt;code&gt;scripts/validate-repository.sh&lt;/code&gt; adds check 11a, which holds ktl-docent's own copies of two sidecar scripts to their templates and runs them as an installer leaves them, and check 11b, which holds the no-Python schema URL to one commit. The smoke test now checks that the docent's scripts come with the install and work in a reader's repository.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: &lt;code&gt;docs/threat-model.md&lt;/code&gt; now says which skills run the repository's &lt;code&gt;.lokf/scripts/&lt;/code&gt;, that ktl-docent runs only its own copies of two of them, and that the no-Python schema is read by commit. The concept follows it, and says that the &lt;code&gt;release&lt;/code&gt; Environment, not the gate, exists in name only without reviewers.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: &lt;code&gt;skills/ktl-curator/SKILL.md&lt;/code&gt; now keeps only the &lt;code&gt;username&lt;/code&gt; from &lt;code&gt;glab api user&lt;/code&gt;, because the whole profile includes the person's email, and the concept says so.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: &lt;code&gt;skills/ktl-librarian/SKILL.md&lt;/code&gt; now reads the no-Python schema from a commit, not a tag, and answers Snyk's W012 finding, so the concept adds that note. Its W011 paragraph now says, as the skill does, that an entry can neither add a confirmation nor remove one. Edited since a person confirmed it; the label says so until the curator looks again.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: &lt;code&gt;skills/ktl-sidecar/SKILL.md&lt;/code&gt; now says that ktl-docent runs its own copies of the feedback recorder and the report script, so the copies Step 5 installs serve a person, an earlier ktl-docent, ktl-curator and ktl-librarian.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Since 0.34.1 the Copilot docent's gap line starts a Miss with the reader's question and says which of two cases it is, and a Disagreement says which version the answer gave, as &lt;code&gt;ktl-docent-m365.md&lt;/code&gt; states. Where a release has no zip, the concept now says the repository's sidecar has no &lt;code&gt;.lokf/m365/&lt;/code&gt;, as &lt;code&gt;docs/m365.md&lt;/code&gt; does.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: The source map now names &lt;code&gt;skills/ktl-docent/scripts/&lt;/code&gt;, the docent's own copies of two sidecar scripts added in 0.34.2, which no row accounted for. Edited since a person confirmed it; the label says so until the curator looks again.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Rewrite&lt;/strong&gt;: ktl-docent now runs its own copies of &lt;code&gt;knowledge-report.sh&lt;/code&gt; and &lt;code&gt;knowledge-feedback.sh&lt;/code&gt;, never the repository's, names the asker in an entry only when the asker agrees, and labels a retired or edited concept as the report script does. The concept is rewritten from &lt;code&gt;skills/ktl-docent/SKILL.md&lt;/code&gt; and its references as they now stand, with the skill's new scanner note.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Prose&lt;/strong&gt;: reworded 4 concept bodies in plain English: the ktl-docent skill, three lines of defence, WikiSkill's loop and the threat model. No fact, link, number or frontmatter changed.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Prose&lt;/strong&gt;: reworded 21 more concept bodies in plain English, among them repository validation, releasing and the three skill playbooks, with long runs of checks, steps and conditions turned into lists. No fact, link, number or frontmatter changed.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Prose&lt;/strong&gt;: a full pass over the 25 concept bodies reworded today puts each paragraph and list item on one line, as ktl-librarian writes them, and makes 30 sentences plainer. No fact, link, number or frontmatter changed.&lt;/li&gt;
&lt;/ul&gt;
</content>
  </entry>
  <entry>
    <title>2026-10-05 · Changed: 19</title>
    <link rel="alternate" type="text/html" href="https://noelmcloughlin.github.io/knowledge-trust-ladder/knowledge/log/#2026-10-05"/>
    <id>https://w3id.org/ktl/knowledge/log#2026-10-05</id>
    <published>2026-10-05T12:53:34Z</published>
    <updated>2026-10-05T12:53:34Z</updated>
    <category term="Changed"/>
    <content type="html">&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: the skills pin is two values now, &lt;code&gt;TRUST_LADDER_SKILLS_REF&lt;/code&gt; and &lt;code&gt;TRUST_LADDER_SKILLS_SHA&lt;/code&gt;, and the release step in &lt;code&gt;semantic-release.yml&lt;/code&gt; and &lt;code&gt;scripts/sync-sidecar.sh&lt;/code&gt; each move both, as &lt;code&gt;docs/releasing.md&lt;/code&gt; says. The page no longer says that check 11 ignores one value.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: &lt;code&gt;scripts/validate-repository.sh&lt;/code&gt; has twenty-one numbered checks, and checks 11, 12, 15, 18, 19 and 20 now test more, such as the commit pinned beside the skills tag and the &lt;code&gt;.lokf/uv.lock&lt;/code&gt; the gate installs from. The page now also describes check 16b, and check 12 counts five other scripts under &lt;code&gt;sh&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: the row for this repository's own sidecar copies names both values of the skills pin, since check 11 and the preflight now ignore &lt;code&gt;TRUST_LADDER_SKILLS_SHA&lt;/code&gt; too. Three rows follow &lt;code&gt;README.md&lt;/code&gt;: &lt;code&gt;docs/for-the-curious.md&lt;/code&gt; also says who writes the bundle, the README no longer shows the lifecycle diagram, and its pointer for agents is in the Prefer to ask? callout. Edited since a person confirmed it; the label says so until the curator looks again.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: &lt;code&gt;skills/ktl-curator/references/portability.md&lt;/code&gt; says the key that signs is often a subkey, and names &lt;code&gt;subkeys&lt;/code&gt; only in GitHub's key listing. The concept said usually, and gave the field to every forge.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: &lt;code&gt;skills/ktl-docent/SKILL.md&lt;/code&gt; says the scheduled workflow commits &lt;code&gt;feedback.md&lt;/code&gt; often into a public pull request. The concept said only that the pull request can be public.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: the hand-off now gives the words before and after from the &lt;code&gt;OK&lt;/code&gt; line of &lt;code&gt;prose-check.py&lt;/code&gt;, as step 5 of &lt;code&gt;skills/ktl-prose/SKILL.md&lt;/code&gt; asks.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: the page now names two more refusals of the pen, the commit the skill pin checks, and the conventions run in &lt;code&gt;refresh&lt;/code&gt;, as &lt;code&gt;skills/ktl-librarian/references/patch.md&lt;/code&gt; and &lt;code&gt;.github/workflows/knowledge-librarian.yaml&lt;/code&gt; state. It also says that a scheduled run stops while a pull request the workflow opened is still open, and what the quiet check no longer counts, as &lt;code&gt;.lokf/scripts/knowledge-report.sh&lt;/code&gt; states. Edited since a person confirmed it; the label says so until the curator looks again.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: the page now says that a scheduled run stops while a pull request the workflow opened is still open, and proposes nothing again that a person declined, as &lt;code&gt;skills/ktl-sidecar/references/automation.md&lt;/code&gt; states. It also says that the skill pin names a commit beside its tag, which the install step checks and the preflight's &lt;code&gt;copies&lt;/code&gt; line leaves out of its comparison, as &lt;code&gt;.github/workflows/knowledge-librarian.yaml&lt;/code&gt; and &lt;code&gt;.lokf/scripts/knowledge-preflight.sh&lt;/code&gt; state.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: the pen now refuses a patch that would change a person's record in any concept it writes, and a patch that handles more than ten feedback entries. &lt;code&gt;skills/ktl-librarian/references/patch.md&lt;/code&gt; and the header of &lt;code&gt;knowledge-apply.py&lt;/code&gt; say so.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: the concept now names the inputs of the label &lt;em&gt;a source moved since the confirmation&lt;/em&gt;, which &lt;code&gt;skills/ktl-curator/references/trust-fields.md&lt;/code&gt; lists as &lt;code&gt;resource&lt;/code&gt;, &lt;code&gt;sources[].resource&lt;/code&gt; and git history.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: the surface table now says separate jobs, not two jobs, mean the agent never meets a write token, as &lt;code&gt;SECURITY.md&lt;/code&gt; says. Every other claim still matches &lt;code&gt;SECURITY.md&lt;/code&gt;, check 10 of &lt;code&gt;scripts/validate-repository.sh&lt;/code&gt; and &lt;code&gt;CHANGELOG.md&lt;/code&gt;. Edited since a person confirmed it; the label says so until the curator looks again.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: the concept now names four measures &lt;code&gt;docs/threat-model.md&lt;/code&gt; added: the skills pin named by commit, the toolkit and parser installed as reviewed, the librarian's three jobs, and the guards on the &lt;code&gt;earlier&lt;/code&gt; job's reading of pull requests. It also names the pen's check of a person's record and the hand-off written again after the retrieval call. The pen's date now follows &lt;code&gt;CHANGELOG.md&lt;/code&gt; 0.29.0, and the pen is named as the librarian's only way to write the bundle rather than the bundle's only writer.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: &lt;code&gt;scripts/sync-sidecar.sh&lt;/code&gt; now also moves &lt;code&gt;TRUST_LADDER_SKILLS_SHA&lt;/code&gt; to the commit the tag names, as &lt;code&gt;CONTRIBUTING.md&lt;/code&gt; says.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: three phrases now match &lt;code&gt;skills/ktl-curator/references/domain-schemas.md&lt;/code&gt;. That page says LOKF has a small vocabulary and never says it is small on purpose, and its signs are many producer-defined keys and a wrong or ambiguous field.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: three claims that no source states are removed: that most readers of a code repository never open Obsidian, that the vault lacks the bundle on mobile, and that the problem showed in the maintainer's own vault. The notes-vault bullet now ends with the reason &lt;code&gt;docs/obsidian.md&lt;/code&gt; gives, that this keeps the workshop clean.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: the context layer is defined as &lt;code&gt;README.md&lt;/code&gt; defines it, a governed layer that persists from one task to the next. The open question stays, because neither &lt;code&gt;README.md&lt;/code&gt; nor any page under &lt;code&gt;docs/&lt;/code&gt; states which uses KTL is meant for and which it is not.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: the loop now ends as &lt;code&gt;README.md&lt;/code&gt; says, with the curator reviewing what is new or changed. The README no longer shows &lt;code&gt;.assets/ktl-lifecycle-loop.svg&lt;/code&gt;, so the concept no longer points at it.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: &lt;code&gt;docs/wikiskill.md&lt;/code&gt; no longer says the paper's wiki keeps every trace: the paper keeps them, and its wiki's log names the errors that came back. The concept now says the same, and adds what the page now says about the pen's check of a person's record, declined pull requests, the pen's limit of ten feedback entries and the questions the retrieval score leaves out.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: step 2 of the two-vault setup now says what &lt;code&gt;docs/obsidian.md&lt;/code&gt; says: there is nothing to configure, because the root &lt;code&gt;index.md&lt;/code&gt; carries the bundle's header. No repository source holds the phrase the concept quoted as the plugins' default.&lt;/li&gt;
&lt;/ul&gt;
</content>
  </entry>
  <entry>
    <title>2026-10-04 · Changed: 21 · Added: 6 · Prose: 1</title>
    <link rel="alternate" type="text/html" href="https://noelmcloughlin.github.io/knowledge-trust-ladder/knowledge/log/#2026-10-04"/>
    <id>https://w3id.org/ktl/knowledge/log#2026-10-04</id>
    <published>2026-10-04T18:08:41Z</published>
    <updated>2026-10-04T19:05:02Z</updated>
    <category term="Added"/>
    <category term="Changed"/>
    <category term="Prose"/>
    <content type="html">&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Added&lt;/strong&gt;: Accession, a museum's word for an item added to its collection, from &lt;code&gt;README.md&lt;/code&gt;, which now says so where it describes the registrar.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Registrar: its quotation of the README carries the README's new gloss on &lt;em&gt;accession&lt;/em&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Added&lt;/strong&gt;: Registrar, the person in a museum who keeps the collection's records, from &lt;code&gt;README.md&lt;/code&gt;, which now says so where it first names the role.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Added&lt;/strong&gt;: Sidecar, the &lt;code&gt;.lokf/&lt;/code&gt; folder beside the code and the role that installs it, from &lt;code&gt;README.md&lt;/code&gt;, which now says so where it first names it.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Added&lt;/strong&gt;: Docent, a museum's name for a guide, from &lt;code&gt;README.md&lt;/code&gt;, which now says so where it first names the docent.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Added&lt;/strong&gt;: Desk, the README's word for the place where a role does its work, from its section on the registrar.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: ktl-prose skill: rule 3 covers a paragraph past 150 words, rule 9 asks for the literal verb, and the check reports both and a character no reader sees.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: repository validation: check 18 exercises the paragraph, figure-of-speech and unseen-character findings, and check 21 searches every tracked file for a character a reader cannot see.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: threat model: this repository's contract fails on a character a reader cannot see, and ktl-prose's check refuses a rewording that adds one.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: security policy: &lt;code&gt;SECURITY.md&lt;/code&gt; now says what guards each surface, and that a security fix is published as a patch release. Checked against it again, as the note of 2026-10-03 asks. Edited since a person confirmed it; the label says so until the curator looks again.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: the pen: the README now names it as the registrar for the librarian.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: contributing: &lt;code&gt;CONTRIBUTING.md&lt;/code&gt; now says to merge this side first, and that a curator's key is added first in a pull request of its own.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: the skill page gives the Golden Rules in brief and keeps their tables, the first run's sweep and the audit's detail in three new references; a run's hand-off reaches its pull request, a quiet week runs no agent, and a note the run reads leaves its stamp. Edited since a person confirmed it; the label says so until the curator looks again.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: the pen also takes the librarian's hand-off, which it cleans and writes nowhere in the bundle, as &lt;code&gt;references/patch.md&lt;/code&gt; now says.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: check 11 now proves conventions rule 13, check 19 the pen's hand-off and check 20 the quiet check, and the layout tests the wrapper's quiet skip and hand-off; the playbook counts thirteen conventions, eight of them in the Python half.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: the sidecar's references now describe the quiet week, the hand-off's path to the pull request, and the gate's thirteenth convention.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: the threat model adds the librarian's hand-off as a guarded path to the pull request, and conventions rule 13 under human attribution.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: &lt;code&gt;docs/wikiskill.md&lt;/code&gt; now names conventions rule 13, the hand-off that carries a repeated send-back to the pull request, and the quiet week that bounds a run further.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: an auditor's questions now include whether a confirmed text is the one its person saw, which conventions rule 13 answers.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Prose&lt;/strong&gt;: Releasing; the sentence on the sync script is split into six; no fact changed.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: WikiSkill's loop and Knowledge Trust Ladder; &lt;code&gt;docs/wikiskill.md&lt;/code&gt; now names the design KTL and keeps &lt;em&gt;the bundle&lt;/em&gt; for its corpus and &lt;em&gt;the wiki&lt;/em&gt; for the paper's, and the concept follows it.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Three lines of defence; the roles are KTL's and the pages now say so, where they named them after LOKF, the format.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Threat model; the three repositories that share it are KTL's, not LOKF's.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Contributing; the sibling repositories are KTL's, as &lt;code&gt;CONTRIBUTING.md&lt;/code&gt; now says.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Releasing; the three repositories are KTL's, and the sync script's every-host templates now include one from ktl-sidecar's Step 1.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Added&lt;/strong&gt;: The pen, the name the README and &lt;code&gt;docs/for-the-curious.md&lt;/code&gt; give &lt;code&gt;knowledge-apply.sh&lt;/code&gt;, the librarian's only way to write the bundle.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Releasing; the sync script now lays down a template a sibling lacks when Step 5 puts it on every host or a copy there needs it, as &lt;code&gt;scripts/sync-sidecar.sh&lt;/code&gt; and &lt;code&gt;docs/releasing.md&lt;/code&gt; say.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Repository validation; check 19 now also holds the pen to a root index shaped by hand, which keeps its &lt;code&gt;##&lt;/code&gt; sections and its lines that list several concepts.&lt;/li&gt;
&lt;/ul&gt;
</content>
  </entry>
  <entry>
    <title>2026-10-03 · Changed: 50 · Prose: 3 · Open question: 3 · From reader feedback: 1 · Curation: 1</title>
    <link rel="alternate" type="text/html" href="https://noelmcloughlin.github.io/knowledge-trust-ladder/knowledge/log/#2026-10-03"/>
    <id>https://w3id.org/ktl/knowledge/log#2026-10-03</id>
    <published>2026-10-03T02:07:19Z</published>
    <updated>2026-10-03T14:35:39Z</updated>
    <category term="Prose"/>
    <category term="Changed"/>
    <category term="From reader feedback"/>
    <category term="Open question"/>
    <category term="Curation"/>
    <content type="html">&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Prose&lt;/strong&gt;: Threat model: one sentence split; no fact changed.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Prose&lt;/strong&gt;: ktl-sidecar skill: one sentence split; no fact changed.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Prose&lt;/strong&gt;: ktl-docent skill: one sentence split; no fact changed.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: ktl-librarian skill: a refresh starts from the work list, a handled entry moves to the ledger with its question, the pen has eight operations and prints its own format, and &lt;code&gt;publish&lt;/code&gt; refuses a change to a person's record, as &lt;code&gt;skills/ktl-librarian/SKILL.md&lt;/code&gt;, &lt;code&gt;references/patch.md&lt;/code&gt; and &lt;code&gt;references/scheduled-task.md&lt;/code&gt; now say. Edited since a person confirmed it; the label says so until the curator looks again.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;From reader feedback&lt;/strong&gt;: ktl-librarian skill: step 6 of &lt;code&gt;skills/ktl-librarian/SKILL.md&lt;/code&gt; names &lt;code&gt;.lokf/patch.yaml&lt;/code&gt; as the one file the scheduled agent writes, so the skill page no longer lags the wrapper and the question is withdrawn.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: ktl-sidecar skill: Step 5 lays down nine scripts and fourteen files, &lt;code&gt;knowledge-report.sh&lt;/code&gt; among them and among the three that land regardless; the gate reference covers a removed confirmation and the unattended check, and the automation reference the retrieval score.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: ktl-curator skill: Step 1 quotes &lt;code&gt;knowledge-report.sh&lt;/code&gt;, lists apart the questions a later confirmation answered and names the confirmed concepts whose source moved, as &lt;code&gt;skills/ktl-curator/SKILL.md&lt;/code&gt; and &lt;code&gt;references/trust-fields.md&lt;/code&gt; now say.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: ktl-docent skill: a label comes from &lt;code&gt;knowledge-report.sh labels&lt;/code&gt;, and a handled entry moves to the ledger, as &lt;code&gt;skills/ktl-docent/SKILL.md&lt;/code&gt; and &lt;code&gt;references/feedback.md&lt;/code&gt; now say.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Threat model: a removed confirmation needs its person, &lt;code&gt;publish&lt;/code&gt; reads a person's record off the patched tree, the pen refuses to delete a concept a person left a note on, and a handled entry moves to a ledger only programs read, as &lt;code&gt;docs/threat-model.md&lt;/code&gt; now says.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Repository validation: twenty checks and nine sidecar scripts, as &lt;code&gt;scripts/validate-repository.sh&lt;/code&gt; now counts; checks 13, 13a, 19 and 20, the twelfth conventions rule and the layout tests' new cases are described.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Knowledge sources: the sidecar lays down nine scripts, &lt;code&gt;knowledge-report.sh&lt;/code&gt; among the fifteen dogfooded copies, and the &lt;code&gt;docs/wikiskill.md&lt;/code&gt; row follows the page's present sections. Edited since a person confirmed it; the label says so until the curator looks again.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Three lines of defence: the second line names &lt;code&gt;knowledge-report.sh&lt;/code&gt;, the gate asks the person behind a confirmation that is removed, and the report lists a confirmed concept whose source moved, as &lt;code&gt;docs/three-lines.md&lt;/code&gt; now says.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: WikiSkill's loop and the bundle's ladder: the ablation ran on four benchmarks, and the rows and findings name the ledger, the work list, the report script, the removal rule and the retrieval score, as &lt;code&gt;docs/wikiskill.md&lt;/code&gt; now does.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Why four skill roles: the registrar's parts include &lt;code&gt;knowledge-report.sh&lt;/code&gt; at the reader's desk and the curator's, as &lt;code&gt;README.md&lt;/code&gt; now says.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Trust label: &lt;code&gt;knowledge-report.sh&lt;/code&gt; computes the labels, and a concept edited since its confirmation is counted once, as &lt;code&gt;skills/ktl-curator/references/trust-fields.md&lt;/code&gt; now says.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Open question&lt;/strong&gt;: Why a registrar role, and why it is not a skill: &lt;code&gt;README.md&lt;/code&gt; now says the gate ties each confirmation that is added or removed to its person, and names &lt;code&gt;knowledge-report.sh&lt;/code&gt; as the registrar at the reader's desk and the curator's; this text, which a person wrote, says each new confirmation and names neither.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Security policy, re-checked against &lt;code&gt;SECURITY.md&lt;/code&gt; as the curator's send-back of 2026-10-03 asked: the body follows the file section by section and carries qualifiers it had dropped (a &lt;em&gt;first&lt;/em&gt; reply, harden-runner &lt;em&gt;in audit mode&lt;/em&gt;, actions pinned &lt;em&gt;to commit SHAs&lt;/em&gt;, the &lt;code&gt;release&lt;/code&gt; Environment, &lt;em&gt;with scope and reproduction&lt;/em&gt;, the gate proving who vouched, not what they read); the word counts are the ones check 10's comment gives. Edited since a person confirmed it; the label says so until the curator looks again.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Knowledge sources: the issue-template row says both templates name five skills, as the curator's send-back of 2026-10-03 asked, and the plugin row counts five skills, as &lt;code&gt;README.md&lt;/code&gt; does; the other &quot;four skills&quot; in the bundle follow sources that still say four, with &lt;code&gt;ktl-prose&lt;/code&gt; as a helper. Edited since a person confirmed it; the label says so until the curator looks again.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Curation&lt;/strong&gt;: human:noelmcloughlin confirmed 2 concepts (ktl-librarian skill, versioning policy), corrected 1 (Why a registrar role: the title now ends &quot;why it is not a skill&quot;, since the README's fifth skill is ktl-prose) and sent 2 back (Knowledge sources: the issue-template row still says &quot;all four skills&quot;; Security policy: check it against &lt;code&gt;SECURITY.md&lt;/code&gt; again). Two of the three verdicts were the same kind, a skill count the move to five skills left behind, which is worth a line in ktl-librarian's instructions.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: The docent in Microsoft 365 Copilot: the release asset's &lt;code&gt;&amp;lt;repository&amp;gt;&lt;/code&gt; may be the name &lt;code&gt;KNOWLEDGE_RELEASE_NAME&lt;/code&gt; sets, as &lt;code&gt;docs/m365.md&lt;/code&gt; says since #86, and the &lt;code&gt;atk validate&lt;/code&gt; line quotes the error the page quotes.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Open question&lt;/strong&gt;: The docent in Microsoft 365 Copilot: Microsoft's page on custom skills (updated 2026-09-04) says the Agents Toolkit takes a skill directory and that &lt;code&gt;.zip&lt;/code&gt; isn't supported. &lt;code&gt;skills/ktl-sidecar/references/m365.md&lt;/code&gt; says &lt;code&gt;atk add skill --from&lt;/code&gt; takes a zip from any path, as checked against the toolkit's source, and this concept follows it. Which holds for the toolkit a reader installs?&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Why the skills live in their own repository: the old repository name is left to &lt;code&gt;docs/install.md&lt;/code&gt;, which records it; the contract keeps it out of every other file.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: ktl-librarian skill: seven pen operations, with &lt;code&gt;reindex&lt;/code&gt;, as &lt;code&gt;references/patch.md&lt;/code&gt; now gives. Edited since a person confirmed it; the label says so until the curator looks again.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: When the built-in vocabulary stops fitting: the description is the catalogue entry, cut to one sentence.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Hosts and doorways: the description is the catalogue entry, cut to one sentence.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: What Knowledge Trust Ladder is for: the description is the catalogue entry, cut to two sentences.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Three lines of defence: the description is the catalogue entry, cut to one sentence.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: The docent in Microsoft 365 Copilot: the description is the catalogue entry, cut to one sentence.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Open the knowledge bundle in Obsidian: the description is the catalogue entry, cut to one sentence.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Releasing: the description is the catalogue entry, cut to one sentence.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Why a registrar role: the description no longer says &quot;rather than by an agent&quot;, which &lt;code&gt;README.md&lt;/code&gt; does not say (the curator's send-back of 2026-09-26); the body follows the README's registrar section as of &lt;code&gt;f1f0d51&lt;/code&gt;, which dropped the two plugins' &quot;levels of checking&quot; and folded the three-lines paragraph under it, and the undated pen is no longer dated. Edited since a person confirmed it; the label says so until the curator looks again.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: The docent in Microsoft 365 Copilot: the limits sentence now gives both sizes the sidecar's &lt;code&gt;references/m365.md&lt;/code&gt; states, the toolkit's 10 MB app package and Agent Builder's 50 MB zip (the curator's send-back of 2026-09-26); four qualifiers &lt;code&gt;docs/m365.md&lt;/code&gt; does not state are dropped (&quot;fifth skill&quot;, &quot;at the bundle's commit time&quot;, &quot;the toolkit's preview&quot;, &quot;check 17 word for word&quot;).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Knowledge sources: the rows name &lt;code&gt;bug_report.md&lt;/code&gt;, &lt;code&gt;feature_request.md&lt;/code&gt;, &lt;code&gt;docent.md&lt;/code&gt; and &lt;code&gt;curator.md&lt;/code&gt; instead of their globs, and &lt;code&gt;.gitignore&lt;/code&gt; joins the &lt;code&gt;LICENSE&lt;/code&gt; row (the curator's send-back of 2026-09-26); the skills row counts five playbooks and the references row admits &lt;code&gt;prose-check.py&lt;/code&gt;; a row for &lt;code&gt;.markdownlint-cli2.jsonc&lt;/code&gt; and &lt;code&gt;lychee.toml&lt;/code&gt;, which had none; a note for this pass. Edited since a person confirmed it; the label says so until the curator looks again.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: WikiSkill's loop and the bundle's ladder (was &quot;What WikiSkill says about a knowledge bundle&quot;): &lt;code&gt;docs/wikiskill.md&lt;/code&gt; was restructured in &lt;code&gt;f1f0d51&lt;/code&gt; around a part-by-part table, eight findings, and where each design puts programs, models and people; the determinism section and the four gaps it named are gone from the page, so they are gone here.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Three lines of defence: the second line names &lt;code&gt;knowledge-apply.sh&lt;/code&gt; as the librarian's only pen and its refusal of a &lt;code&gt;human:&lt;/code&gt; actor, as &lt;code&gt;docs/three-lines.md&lt;/code&gt; does since &lt;code&gt;f1f0d51&lt;/code&gt;, and the README pointer names the section that now holds it.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: gh skill (GitHub CLI): the manual's &lt;code&gt;--from-local&lt;/code&gt; and its preview notice are carried, the v2.90.0 claim now cites the release notes that state it, and a dependency claim no page supports is dropped.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: LinkML: the class count is dropped; the specification site lists fourteen types and the 0.8.0 schema's &lt;code&gt;Concept&lt;/code&gt; descendants plus &lt;code&gt;Person&lt;/code&gt; and &lt;code&gt;Organization&lt;/code&gt; make fifteen, so the page states neither.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: LOKF toolkit: the 0.8.0 command line's other subcommands and the &lt;code&gt;[tables]&lt;/code&gt; extra are named, and an unverified claim about upstream &lt;code&gt;main&lt;/code&gt; is dropped.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Why four skill roles: the README now names &lt;code&gt;ktl-prose&lt;/code&gt; as the fifth skill that is not a role and the registrar as toolkit, gate, pen and plugins, and its &quot;in short&quot; summary line is gone since &lt;code&gt;f1f0d51&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Why the skills live in their own repository: five skills, as &lt;code&gt;README.md&lt;/code&gt;, &lt;code&gt;docs/install.md&lt;/code&gt; and &lt;code&gt;plugin.json&lt;/code&gt; now count; two dates and two check numbers no named source states are dropped.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: When the built-in vocabulary stops fitting: the OKF sentence follows the README's wording since &lt;code&gt;f1f0d51&lt;/code&gt;, and the graph note carries how 0.8.0 and 0.9.0 project an undeclared type, as the librarian's &lt;code&gt;domain-schema.md&lt;/code&gt; states.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: ktl-prose skill: &quot;the roles lose nothing without it&quot;, as the README says, not &quot;the four roles&quot;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Contributing: one Python script and five skills, as &lt;code&gt;CONTRIBUTING.md&lt;/code&gt; says; the pull request's &lt;em&gt;why&lt;/em&gt;, the &lt;code&gt;ktl-prose&lt;/code&gt; boundary, the sync script's own checks and the &quot;land this side first&quot; condition are carried; two dates and a word count no named source states are dropped.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Releasing: five skills, as &lt;code&gt;docs/releasing.md&lt;/code&gt; counts; the title check is its own workflow step; the release asset's name follows &lt;code&gt;KNOWLEDGE_RELEASE_NAME&lt;/code&gt;; the sync script reports a template a sibling never laid down; the pin is never bumped by hand, the sibling pull request waits for the tag, and the Environment and branch settings are stated, all from &lt;code&gt;docs/releasing.md&lt;/code&gt;; the Copilot skill is no longer &quot;not yet released&quot;, and two dates no source carries are dropped.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Repository validation: nineteen checks, five skill directories, eight sidecar scripts and four sibling scripts, as &lt;code&gt;scripts/validate-repository.sh&lt;/code&gt; now counts; checks 18 (&lt;code&gt;prose-check.py&lt;/code&gt;) and 19 (&lt;code&gt;knowledge-apply.sh&lt;/code&gt;) are described; the files exempt from checks 16 and 16a are all named; the job's step order follows &lt;code&gt;validate.yml&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Versioning policy: five skills under one tag, as &lt;code&gt;README.md&lt;/code&gt;, &lt;code&gt;CONTRIBUTING.md&lt;/code&gt; and &lt;code&gt;docs/releasing.md&lt;/code&gt; now say, and &lt;code&gt;publish.yml&lt;/code&gt; is listed as the source for the &lt;code&gt;v&lt;/code&gt; refusal it carries. Edited since a person confirmed it; the label says so until the curator looks again.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Security policy: the surface table's fourth row, &lt;code&gt;prose-check.py&lt;/code&gt;, and &quot;five skills' prose&quot; as &lt;code&gt;SECURITY.md&lt;/code&gt; now reads, and a report says why a file is exploitable. Edited since a person confirmed it; the label says so until the curator looks again.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Threat model: &lt;code&gt;docs/threat-model.md&lt;/code&gt;'s statements on how the agent is chosen and armed, Dependabot and the templates' pins, the Environment's reviewers and &lt;code&gt;--ignore-scripts&lt;/code&gt;, the curator's refused verbs, the &lt;code&gt;attestation&lt;/code&gt; job, a gitignored bundle, and the &lt;code&gt;ktl-prose&lt;/code&gt; guard are carried; the gate description names the one job that reads events whole; a claim about stable section headings and a word count no source states are dropped.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Code of conduct: &quot;officially represents&quot;, as &lt;code&gt;CODE_OF_CONDUCT.md&lt;/code&gt; says.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: ktl-curator skill: two claims about the KTL Curator plugin that no source carries are replaced by what &lt;code&gt;trust-fields.md&lt;/code&gt; says; &lt;code&gt;revision&lt;/code&gt; is left out with no version control too, and records the source's state, as &lt;code&gt;review-session.md&lt;/code&gt; says; &lt;code&gt;README.md&lt;/code&gt; and &lt;code&gt;CHANGELOG.md&lt;/code&gt; are listed for the cadence and the dates.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: ktl-docent skill: evidence-first also covers a concept edited since its confirmation, as &lt;code&gt;SKILL.md&lt;/code&gt; says; &lt;code&gt;README.md&lt;/code&gt; and &lt;code&gt;CHANGELOG.md&lt;/code&gt; are listed for the cadence and the dates.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: ktl-sidecar skill: &quot;missing or broken&quot;, as Step 0 says; the sources now list the librarian workflow, &lt;code&gt;scheduled-task.md&lt;/code&gt; and the preflight, which carry the install step and the &lt;code&gt;copies&lt;/code&gt; exception, and &lt;code&gt;CHANGELOG.md&lt;/code&gt; for the dates; the pen's undated arrival is no longer dated.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: ktl-librarian skill: the &lt;code&gt;refresh&lt;/code&gt; job's &lt;code&gt;--check-refs&lt;/code&gt; step continues on error and reports in the pull request body, as &lt;code&gt;knowledge-librarian.yaml&lt;/code&gt; has it; &lt;code&gt;revision&lt;/code&gt; is left out with no version control too; three undated changes are no longer dated, and two qualifiers no source states are dropped. Edited since a person confirmed it; the label says so until the curator looks again.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Open question&lt;/strong&gt;: ktl-librarian skill: the scheduled wrapper &lt;code&gt;knowledge-librarian.sh&lt;/code&gt; lets the agent write only &lt;code&gt;.lokf/patch.yaml&lt;/code&gt;, and this concept says so, but &lt;code&gt;skills/ktl-librarian/SKILL.md&lt;/code&gt; step 6 still says the wrapper permits edits under &lt;code&gt;.lokf/knowledge/&lt;/code&gt;, &lt;code&gt;knowledge_bundle/&lt;/code&gt; and &lt;code&gt;.lokf/feedback.md&lt;/code&gt;; the skill page lags the script and is outside the bundle.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Open the knowledge bundle in Obsidian: the sidecar's &lt;code&gt;portability.md&lt;/code&gt;, which carries the reconciler, the Windows junction detail and the version, and &lt;code&gt;CHANGELOG.md&lt;/code&gt;, which dates the retired layout, are listed as sources; a reading date no source records is dropped.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Hosts and doorways: three workflows and three calls to rewrite on another forge, as the sidecar's &lt;code&gt;portability.md&lt;/code&gt; counts; a paragraph on an alternative no source records, a &quot;never inside the host's build&quot; claim and a markers detail are dropped; &lt;code&gt;portability.md&lt;/code&gt; and &lt;code&gt;CHANGELOG.md&lt;/code&gt;, which carry the matrix and the retired layout's dates, are listed as sources.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Trust label: the section reference and the reason nothing is scored follow &lt;code&gt;trust-fields.md&lt;/code&gt;'s wording.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: LOKF: the tools sentence follows the README's wording since &lt;code&gt;f1f0d51&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
</content>
  </entry>
  <entry>
    <title>2026-10-02 · Changed: 6 · Added: 2 · Prose: 1</title>
    <link rel="alternate" type="text/html" href="https://noelmcloughlin.github.io/knowledge-trust-ladder/knowledge/log/#2026-10-02"/>
    <id>https://w3id.org/ktl/knowledge/log#2026-10-02</id>
    <published>2026-10-03T02:07:19Z</published>
    <updated>2026-10-03T02:07:19Z</updated>
    <category term="Prose"/>
    <category term="Added"/>
    <category term="Changed"/>
    <content type="html">&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Prose&lt;/strong&gt;: What WikiSkill says about a knowledge bundle: two sentences split; no fact changed.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Added&lt;/strong&gt;: ktl-prose skill, the fifth skill, from &lt;code&gt;skills/ktl-prose/SKILL.md&lt;/code&gt;; re-created after the bundle was restored from main.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Added&lt;/strong&gt;: What WikiSkill says about a knowledge bundle, from &lt;code&gt;docs/wikiskill.md&lt;/code&gt;, the new page that reads the paper against this design.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: ktl-librarian skill: the run now reads the curator's verdicts first, caps feedback at ten entries, treats a miss on a covered question as a description defect, and writes the bundle only through &lt;code&gt;knowledge-apply.sh&lt;/code&gt;; &lt;code&gt;skills/ktl-librarian/SKILL.md&lt;/code&gt; and &lt;code&gt;references/patch.md&lt;/code&gt; say so. Edited since a person confirmed it; the label says so until the curator looks again.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Knowledge sources: the sidecar lays down eight scripts, the apply script and its Python half among the fourteen dogfooded copies, and &lt;code&gt;docs/wikiskill.md&lt;/code&gt; feeds a new Explanation concept. Edited since a person confirmed it; the label says so until the curator looks again.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Why a registrar role: &lt;code&gt;knowledge-apply.sh&lt;/code&gt; is the registrar at the librarian's desk, as the README's fifth-role section now says. Edited since a person confirmed it; the label says so until the curator looks again.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Threat model: the hardening list gains the librarian's pen, &lt;code&gt;knowledge-apply.sh&lt;/code&gt;, as &lt;code&gt;docs/threat-model.md&lt;/code&gt; does.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Three lines of defence: the independent checker is the generated JSON Schema; the SHACL shapes exist upstream and nothing here runs them, as &lt;code&gt;docs/three-lines.md&lt;/code&gt; now says.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: ktl-sidecar skill: Step 5 lays down eight scripts and thirteen files, the apply script and its Python half among them.&lt;/li&gt;
&lt;/ul&gt;
</content>
  </entry>
  <entry>
    <title>2026-09-26 · Curation: 1</title>
    <link rel="alternate" type="text/html" href="https://noelmcloughlin.github.io/knowledge-trust-ladder/knowledge/log/#2026-09-26"/>
    <id>https://w3id.org/ktl/knowledge/log#2026-09-26</id>
    <published>2026-09-26T19:56:27Z</published>
    <updated>2026-09-26T22:34:48Z</updated>
    <category term="Curation"/>
    <content type="html">&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Curation&lt;/strong&gt;: human:noelmcloughlin confirmed 5 concepts (ktl-librarian skill, LOKF specification, versioning policy, security policy, knowledge bundle), corrected 3 (Agent Skills specification, OKF specification, AI covenant) and sent 3 back (Why a registrar role: its description says &quot;rather than by an agent&quot;, which the README does not; Knowledge sources: name the files covered only by glob and add &lt;code&gt;.gitignore&lt;/code&gt;; The docent in Microsoft 365 Copilot: Agent Builder's 50 MB zip limit). All three corrections were the same kind: a paraphrase that drifted from its source's wording, adding a qualifier the source lacks (&quot;case-exact&quot;, &quot;100 words&quot;, &lt;code&gt;generated&lt;/code&gt; as provenance) or dropping one it has (&quot;in that session&quot;, &quot;batched&quot;), which is worth a line in ktl-librarian's instructions.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;The skill playbooks carry the Snyk W011 acknowledgements.&lt;/strong&gt; #83 added a note to the librarian's and docent's &lt;code&gt;SKILL.md&lt;/code&gt; saying what contains each finding: the scheduled workflow's &lt;code&gt;publish&lt;/code&gt; job for the librarian reading feedback, and the read-only bundle and scripted feedback entry for the docent's repository fallback. &lt;code&gt;ktl-librarian-skill&lt;/code&gt; and &lt;code&gt;ktl-docent-skill&lt;/code&gt; now say so, and the docent playbook gains a typed reference to the threat model it cites.&lt;/li&gt;
&lt;/ul&gt;
</content>
  </entry>
</feed>
