<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title>cis-controls: 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://lmodel.github.io/cis-controls/knowledge/log.xml"/>
  <link rel="alternate" type="text/html" href="https://lmodel.github.io/cis-controls/knowledge/log/"/>
  <link rel="alternate" type="text/markdown" href="https://lmodel.github.io/cis-controls/knowledge/log.md"/>
  <id>https://w3id.org/lmodel/cis-controls/knowledge/log</id>
  <updated>2026-10-31T12:18:55Z</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-31 · Changed: 8 · Added: 1 · Prose: 1</title>
    <link rel="alternate" type="text/html" href="https://lmodel.github.io/cis-controls/knowledge/log/#2026-10-31"/>
    <id>https://w3id.org/lmodel/cis-controls/knowledge/log#2026-10-31</id>
    <published>2026-10-31T10:37:01Z</published>
    <updated>2026-10-31T12:18:55Z</updated>
    <category term="Changed"/>
    <category term="Added"/>
    <category term="Prose"/>
    <content type="html">&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: the 18 Control concepts give each Control's title and description from the edition file, in the project's own words, and no longer say it is named by its number alone.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Control says the bundle names each Control by its number and by the title the edition file gives it.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Test data and tests adds &lt;code&gt;tests/test_edition.py&lt;/code&gt;, which v0.2.0 added, and counts six tests in &lt;code&gt;tests/test_data.py&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: Knowledge sources lists the edition file, &lt;code&gt;src/cis_controls/data/&lt;/code&gt;, and the concepts it yields.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Added&lt;/strong&gt;: The edition file, from &lt;code&gt;src/cis_controls/data/cis-controls-8.1.2.yaml&lt;/code&gt;, which v0.2.0 added.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: the 18 Control concepts and the licence policy now point to the edition file, &lt;code&gt;src/cis_controls/data/cis-controls-8.1.2.yaml&lt;/code&gt;, which describes each Control and Safeguard in the project's own words; no Control's counts changed.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Prose&lt;/strong&gt;: reworded 9 concept bodies in plain English, splitting long sentences and blocks. No fact, link, number or frontmatter changed.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: &lt;code&gt;tests/test_data.py&lt;/code&gt; now checks that no example repeats a Control or Safeguard identifier, so the validate-data playbook and the test-data concept say it checks all three rules.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: the security policy now names the three assets a release carries, as SECURITY.md does.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Changed&lt;/strong&gt;: the Controls and Safeguards are named by CIS's own numbers, such as &quot;4&quot; and &quot;4.1&quot;, as the schema now names them.&lt;/li&gt;
&lt;/ul&gt;
</content>
  </entry>
  <entry>
    <title>2026-10-30 · Added: 48 · Removal: 2 · Prose: 1 · Initialization: 1</title>
    <link rel="alternate" type="text/html" href="https://lmodel.github.io/cis-controls/knowledge/log/#2026-10-30"/>
    <id>https://w3id.org/lmodel/cis-controls/knowledge/log#2026-10-30</id>
    <published>2026-10-31T10:37:01Z</published>
    <updated>2026-10-31T10:37:01Z</updated>
    <category term="Prose"/>
    <category term="Added"/>
    <category term="Removal"/>
    <category term="Initialization"/>
    <content type="html">&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Prose&lt;/strong&gt;: reworded 35 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;: cis-controls LinkML schema, from &lt;code&gt;src/cis_controls/schema/cis_controls.yaml&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Added&lt;/strong&gt;: Generated artefacts, from the justfile, &lt;code&gt;.linkml/generators.yaml&lt;/code&gt; and &lt;code&gt;project/&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Added&lt;/strong&gt;: Test data and tests, from &lt;code&gt;tests/&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Added&lt;/strong&gt;: Control 1, from CIS's guide at v8.1.2.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Added&lt;/strong&gt;: Control 2, from CIS's guide at v8.1.2.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Added&lt;/strong&gt;: Control 3, from CIS's guide at v8.1.2.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Added&lt;/strong&gt;: Control 4, from CIS's guide at v8.1.2.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Added&lt;/strong&gt;: Control 5, from CIS's guide at v8.1.2.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Added&lt;/strong&gt;: Control 6, from CIS's guide at v8.1.2.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Added&lt;/strong&gt;: Control 7, from CIS's guide at v8.1.2.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Added&lt;/strong&gt;: Control 8, from CIS's guide at v8.1.2.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Added&lt;/strong&gt;: Control 9, from CIS's guide at v8.1.2.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Added&lt;/strong&gt;: Control 10, from CIS's guide at v8.1.2.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Added&lt;/strong&gt;: Control 11, from CIS's guide at v8.1.2.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Added&lt;/strong&gt;: Control 12, from CIS's guide at v8.1.2.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Added&lt;/strong&gt;: Control 13, from CIS's guide at v8.1.2.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Added&lt;/strong&gt;: Control 14, from CIS's guide at v8.1.2.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Added&lt;/strong&gt;: Control 15, from CIS's guide at v8.1.2.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Added&lt;/strong&gt;: Control 16, from CIS's guide at v8.1.2.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Added&lt;/strong&gt;: Control 17, from CIS's guide at v8.1.2.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Added&lt;/strong&gt;: Control 18, from CIS's guide at v8.1.2.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Added&lt;/strong&gt;: Control, a glossary term, from CIS's pages and the schema.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Added&lt;/strong&gt;: Safeguard, a glossary term, from CIS's pages and the schema.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Added&lt;/strong&gt;: Implementation Group, a glossary term, from CIS's pages and the schema.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Added&lt;/strong&gt;: Asset class, a glossary term, from CIS's pages and the schema.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Added&lt;/strong&gt;: Security function, a glossary term, from CIS's pages and the schema.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Added&lt;/strong&gt;: CIS Critical Security Controls, Version 8.1, the guide the schema renders.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Added&lt;/strong&gt;: CIS's pages on the CIS Controls, which the schema cites.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Added&lt;/strong&gt;: Scope, influences and mappings, from the README, the changelog and &lt;code&gt;docs/about.md&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Added&lt;/strong&gt;: Element names and the shared namespace, from &lt;code&gt;docs/about.md&lt;/code&gt;, &lt;code&gt;.linkmllint.yaml&lt;/code&gt; and the README.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Added&lt;/strong&gt;: Regenerate and test after a schema change, from CONTRIBUTING.md and the justfiles.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Added&lt;/strong&gt;: Cut a release, from &lt;code&gt;.releaserc.json&lt;/code&gt;, the changelog and CONTRIBUTING.md.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Added&lt;/strong&gt;: Update the upstream pins, from &lt;code&gt;scripts/check_upstream_release.py&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Added&lt;/strong&gt;: Validate data against the schema, from &lt;code&gt;docs/index.md&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Added&lt;/strong&gt;: AI covenant, from &lt;code&gt;AI_COVENANT.md&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Added&lt;/strong&gt;: License and attribution, from NOTICE, LICENSE and the README.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Added&lt;/strong&gt;: Security policy, from SECURITY.md and the Dependabot settings.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Added&lt;/strong&gt;: Documentation site, from &lt;code&gt;website/&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Added&lt;/strong&gt;: Knowledge Librarian (knowledge-librarian.yaml), from &lt;code&gt;.github/workflows/knowledge-librarian.yaml&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Added&lt;/strong&gt;: Knowledge Registrar (knowledge-registrar.yaml), from &lt;code&gt;.github/workflows/knowledge-registrar.yaml&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Added&lt;/strong&gt;: Knowledge Release (knowledge-release.yaml), from &lt;code&gt;.github/workflows/knowledge-release.yaml&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Added&lt;/strong&gt;: Knowledge sync (knowledge-sync.yaml), from &lt;code&gt;.github/workflows/knowledge-sync.yaml&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Added&lt;/strong&gt;: Knowledge website (knowledge-website.yaml), from &lt;code&gt;.github/workflows/knowledge-website.yaml&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Added&lt;/strong&gt;: Lint &amp;amp; docs (lint-and-docs.yaml), from &lt;code&gt;.github/workflows/lint-and-docs.yaml&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Added&lt;/strong&gt;: Build and test (main.yaml), from &lt;code&gt;.github/workflows/main.yaml&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Added&lt;/strong&gt;: Semantic release (semantic-release.yml), from &lt;code&gt;.github/workflows/semantic-release.yml&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Added&lt;/strong&gt;: Upstream watch (upstream-watch.yaml), from &lt;code&gt;.github/workflows/upstream-watch.yaml&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Added&lt;/strong&gt;: Knowledge sources map, the first scrape map of this repository.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Removal&lt;/strong&gt;: Example Service A, the sidecar's placeholder, now that real concepts stand in its place.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Removal&lt;/strong&gt;: Example Service B, the sidecar's placeholder, now that real concepts stand in its place.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Initialization&lt;/strong&gt;: Scaffolded the LOKF bundle for cis-controls with placeholder
services. Real concepts to follow.&lt;/li&gt;
&lt;/ul&gt;
</content>
  </entry>
</feed>
