|
| 1 | +# Changelog |
| 2 | + |
| 3 | +All notable changes to the **Knowledge as Code** template and pattern definition. |
| 4 | + |
| 5 | +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project |
| 6 | +adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). The pattern itself is |
| 7 | +versioned alongside the reference template — `v1.0` of the template implements `v1.0` of the |
| 8 | +pattern. |
| 9 | + |
| 10 | +> **Concept inception: 2026-01-20.** Sam Rogers first published the Knowledge as Code concept on |
| 11 | +> [snapsynapse.com](https://snapsynapse.com/insights/knowledge-as-code/) after confirming prior-art |
| 12 | +> checks. Code followed two months later. |
| 13 | +
|
| 14 | +## [Unreleased] |
| 15 | + |
| 16 | +_Nothing yet._ |
| 17 | + |
| 18 | +## [1.0.0] — 2026-04-09 |
| 19 | + |
| 20 | +The 1.0 release. Consolidates the repo into a single-branch layout where the landing page, the |
| 21 | +generated reference demo, and the raw source markdown all live at the same domain. Ships the |
| 22 | +canonical pattern definition at <https://knowledge-as-code.com/>. |
| 23 | + |
| 24 | +### Added |
| 25 | +- **Canonical landing page** at `knowledge-as-code.com/` — hand-written `index.html` covering |
| 26 | + what the pattern is, why it matters, a reference implementation (AITool.watch), a "see the |
| 27 | + pattern in action" split between the built demo and the raw markdown source, three production |
| 28 | + "built with" cards, and a four-step getting-started guide. |
| 29 | +- **`/demo/`** — the generated reference site built from the example data, served at |
| 30 | + `knowledge-as-code.com/demo/` so visitors can see the pattern in action without cloning. |
| 31 | +- **Raw source served at the same domain** — `data/examples/*.md` and `project.yml` now serve as |
| 32 | + `text/markdown` and `text/yaml` directly from `knowledge-as-code.com`, enabling the landing's |
| 33 | + "left column is input, right column is output, same URL" demonstration. |
| 34 | +- **`.nojekyll` at repo root** to prevent GitHub Pages from processing markdown files, so raw |
| 35 | + `.md` sources serve as text. |
| 36 | +- **JSON-LD structured data** (`TechArticle` + `DefinedTerm` + `Organization`) staking the term |
| 37 | + and grounding E-E-A-T signals. |
| 38 | +- **Dated byline + `v1.0` version badge + CC-BY-4.0 license link** visible in the landing hero. |
| 39 | +- **`sitemap.xml`, `robots.txt`, `404.html`, `/imgs/og.png`** at repo root — full SEO surface. |
| 40 | +- **Open Graph + Twitter card metadata** for social sharing. |
| 41 | +- **"Built with Knowledge as Code" section** featuring three production sites: aitool.watch, |
| 42 | + everyailaw.com, and meetings.snapsynapse.com. |
| 43 | +- **Self-healing verification** — `.github/workflows/verify.yml` now opens a GitHub issue when |
| 44 | + `verify.js` detects stale or missing entities, or comments on the existing open drift issue to |
| 45 | + prevent duplicate alerts across weekly runs. Includes an auto-created `knowledge-drift` label. |
| 46 | +- **IDE-style brand mark** — `{knowledge-as-code}` in Courier with syntax-highlighted braces |
| 47 | + (amber), identifiers (emerald), and hyphens (muted). |
| 48 | +- **`KAC_OUTPUT_DIR` and `KAC_SITE_URL` env-var overrides** in `build.js` for repos that need to |
| 49 | + build the same project at a different path or URL (used by this repo to build `/demo/`). |
| 50 | +- **GitHub repo metadata**: 15 topics (up from 3) and an updated description emphasizing |
| 51 | + self-healing, agent-accessible, and zero-dependency traits. |
| 52 | + |
| 53 | +### Changed |
| 54 | +- **Deployment model** — GitHub Pages now serves from `main` branch root instead of an |
| 55 | + auto-generated `gh-pages` branch. Pushing to `main` is the deploy. No more `peaceiris/actions-gh-pages` |
| 56 | + step; no more hidden build-artifact branch. |
| 57 | +- **Workflow (`build.yml`)** — renamed to `CI`, runs `validate.js` and `build.js` as sanity |
| 58 | + checks on push/PR with no deploy step. Permissions reduced to `contents: read`. |
| 59 | +- **`project.yml`** — fixed trailing-slash handling on `url` so concatenated canonical URLs |
| 60 | + resolve correctly (`https://example.com/foo` instead of `https://example.comfoo`). |
| 61 | +- **Repo description** updated to *"A template for building structured, self-healing, |
| 62 | + agent-accessible knowledge bases. Zero dependencies. Git-native. Ontology-driven. Multi-output."* |
| 63 | + |
| 64 | +### Removed |
| 65 | +- **`gh-pages` branch** — deleted on 2026-04-09 after the `main`-branch deploy was verified end-to-end. |
| 66 | +- **`/docs/` folder** — tracked static assets (CSS, JS, 404, CNAME, `.nojekyll`) moved to |
| 67 | + repo root or `/demo/` as appropriate. The folder is no longer referenced by the workflow or Pages. |
| 68 | +- **`/site/` folder** — an earlier blue-themed landing draft that was never wired into deployment. |
| 69 | + Removed. |
| 70 | +- **Orphan `/index.html` + `/sitemap.xml` + `/robots.txt` at repo root** (from a brief earlier |
| 71 | + iteration) — now properly integrated. |
| 72 | + |
| 73 | +### Fixed |
| 74 | +- **Custom domain `knowledge-as-code.com`** — configured for the first time. GitHub Pages custom |
| 75 | + domain set, DNS verified (four apex A records to `185.199.108-111.153` + `www` CNAME to |
| 76 | + `snapsynapse.github.io`), HTTPS certificate provisioned and enforced through 2026-06-24. A |
| 77 | + ghost claim on the domain (held by a previous GreenGeeks parking) was released as part of |
| 78 | + the release process. |
| 79 | + |
| 80 | +## [0.4.0] — 2026-04-06 |
| 81 | + |
| 82 | +### Added |
| 83 | +- Sortable tables in the generated site. |
| 84 | +- `llms.txt`, `agents.json`, and RSS feed at `/index.xml` for machine discovery. |
| 85 | +- `GitHub Sponsors` link in `SPONSORS.md`. |
| 86 | +- `noindex` on thin bridge pages to improve SEO signal density. |
| 87 | + |
| 88 | +### Fixed |
| 89 | +- Upstream/downstream entity navigation in the generated reference pages. |
| 90 | + |
| 91 | +## [0.3.0] — 2026-04-03 |
| 92 | + |
| 93 | +### Added |
| 94 | +- Public template scaffolding — `README`, `CONTRIBUTING`, `LICENSE`, `ATTRIBUTION`. |
| 95 | + |
| 96 | +### Changed |
| 97 | +- **Ownership transferred from Snap Synapse to PAICE.work PBC.** All new attribution and |
| 98 | + copyright lines point to PAICE.work PBC. The GitHub org name remains `snapsynapse` (repo URL |
| 99 | + unchanged). |
| 100 | +- Live example URLs in the README updated to reflect the three production deployments. |
| 101 | + |
| 102 | +## [0.2.0] — 2026-03-27 |
| 103 | + |
| 104 | +### Added |
| 105 | +- `scripts/verify.js` — freshness / staleness checking based on `last_verified` frontmatter. |
| 106 | +- `mcp-server.js` — Model Context Protocol server exposing the knowledge base as agent tools |
| 107 | + dynamically generated from `project.yml` entity configuration. |
| 108 | +- `VERIFICATION.md` contributor documentation. |
| 109 | +- Open Graph image for social sharing. |
| 110 | + |
| 111 | +## [0.1.0] — 2026-03-25 |
| 112 | + |
| 113 | +### Added |
| 114 | +- Initial template scaffolding: `project.yml` ontology config, `scripts/build.js` config-driven |
| 115 | + site generator, `scripts/validate.js` cross-reference linter, example data for ISO 27001 and |
| 116 | + NIST CSF, dark/light themed static site output, JSON API, bridge pages, `CNAME` fixture. |
| 117 | + |
| 118 | +[Unreleased]: https://github.com/snapsynapse/knowledge-as-code-template/compare/v1.0.0...HEAD |
| 119 | +[1.0.0]: https://github.com/snapsynapse/knowledge-as-code-template/releases/tag/v1.0.0 |
| 120 | +[0.4.0]: https://github.com/snapsynapse/knowledge-as-code-template/releases/tag/v0.4.0 |
| 121 | +[0.3.0]: https://github.com/snapsynapse/knowledge-as-code-template/releases/tag/v0.3.0 |
| 122 | +[0.2.0]: https://github.com/snapsynapse/knowledge-as-code-template/releases/tag/v0.2.0 |
| 123 | +[0.1.0]: https://github.com/snapsynapse/knowledge-as-code-template/releases/tag/v0.1.0 |
0 commit comments