Decision log

Each entry records one decision: the date, what was decided, why, and what it costs. Newest first. Decisions are made by Stefan Coetzee unless the entry says otherwise.

2026-10-09: publish vault notes with a review label

  • Decision. The SRE folder and 28 standards clusters of the knowledge vault are published as docs spaces, with private addresses, e-mail addresses and the former employer's name redacted, and a label on every page saying it has not been reviewed against its source.
  • Why. The vault holds the reference work; the label keeps the accuracy claim at the level the evidence supports.
  • Consequence. About 300 pages carry the label until each is checked. See Docs tree.

2026-10-09: docs pages are map nodes

  • Decision. Docs pages carry their front matter as meta tags, and the crawler adds them to the graph with parent links.
  • Why. One graph for everything published, so a reader or a model can walk from a claim to the reference note it rests on.
  • Consequence. The graph grows from about 120 to over 400 nodes; the map gets a filter for docs.

2026-10-08: deploys feed Grafana without changing the workflows

  • Decision. A separate exporter polls the GitHub Actions API and writes runs, steps and gate checks to Loki and Prometheus.
  • Why. The site workflows stay as they are; the private repository's titles, SHAs and URLs are never stored.
  • Consequence. Data arrives on the exporter's polling interval. See Deploy exporter.

2026-10-08: the map refresh keeps the larger snapshot

  • Decision. The deploy job replaces map/graph.json only when the new crawl has at least as many nodes and links.
  • Why. Substack answers some runners with 403; a partial crawl would shrink the map.
  • Consequence. A real removal shows only after a local crawl is committed.

2026-10-07: the deploy is gated

  • Decision. GitHub Pages deploys from Actions, and the deploy job depends on the conformity job.
  • Why. A check that runs after the page is live only detects; a gate prevents.
  • Consequence. A false positive blocks a deploy until the sentence is rewritten or the rule is demoted. See Conformity gate.
  • Decision. Internal links are root-absolute directory URLs (/man/), never relative and never .html.
  • Why. Pages move between hosts and previews without broken links, and every URL has one form.
  • Consequence. Generators and hand-written pages follow the same rule; the gate enforces it.