Skip to content

Decision log

Every design decision behind these components is recorded as a dated spec under docs/development/specs/, per spec-first development. This page is the exhaustive index — every spec, in date order. The major design decisions are also distilled into readable Explanation pages; this table is the complete, unfiltered record those pages draw from.

Date Spec Status Decides Component(s)
2026-05-15 cicd v0.1 approved Four initial components shipped as v0.1.0: single-file form, the infra-tools image, the core input rules. all
2026-05-16 tofu-plan-apply v0.2 approved OIDC-authenticated tofu plan/apply, the GitLab HTTP state backend, manual-gated apply. tofu-plan, tofu-apply
2026-05-16 tofu-apply-plan-sources v0.3 approved plan_source (job/ref); the hidden-job extends: pattern; mode-coupled rules:; tag_pattern. tofu-plan, tofu-apply
2026-05-18 gate-component-rules v0.4 approved Gate jobs carry an explicit rules: so they run in merge-request pipelines. tofu-lint, tofu-security, tofu-validate, zensical-pages
2026-05-19 token-inputs v0.5 approved Token-requiring inputs default to $CI_JOB_TOKEN; the consumer overrides. tofu-plan, tofu-apply
2026-05-24 provider-cache v0.6 approved OpenTofu provider plugin cache via TF_PLUGIN_CACHE_DIR, reduces re-download flakes. tofu-plan, tofu-apply, tofu-validate
2026-05-27 module-publish v0.7 approved tofu-module-publish publishes the tagged tree to the GitLab Terraform Module Registry. tofu-module-publish
2026-05-30 module-cache v0.7.2 approved .terraform/modules/ cache reduces flakes from transient upstream-registry outages. tofu-validate
2026-06-02 renovate-self v0.8 approved renovate-self component + the shared Renovate preset with a cicd-component-pin custom manager. renovate-self
2026-06-03 go-track v0.9 approved Four Go components extracted from go-tool-base. go-lint, go-test, go-security, goreleaser
2026-06-03 rust-track v0.10 approved Five Rust components; disk-pressure tuning; cargo-binstall bootstrap. rust-lint, rust-test, rust-security, rust-docs, release-plz
2026-06-08 gitleaks-scan-scoping v0.10.3 approved Gitleaks scans scoped to the MR's commit range, avoiding cross-branch false positives on shared runners. go-security, rust-security, tofu-security
2026-06-12 release-plz-split-jobs v0.10.3 approved release-plz split into separate pr and release jobs to avoid working-tree mutation blocking publish. release-plz
2026-06-16 goreleaser-retry v0.10.5 approved goreleaser gains retry_max (default 2) auto-retry on transient failures. goreleaser
2026-06-16 release-plz-order-pr-after-release v0.10.4 approved release-plz:pr ordered after release-plz:release to avoid a spurious same-version MR. release-plz
2026-06-17 release-plz-checkout-pinned-sha v0.10.6 approved Checkout forced to the pipeline's commit SHA, avoiding a stale branch ref on reused runners. release-plz
2026-06-19 renovate-self-token-self-ref v0.10.7 approved Token aliased to a non-colliding runtime variable name, avoiding a self-referencing job/group-variable collision. renovate-self
2026-06-21 schedule-pipeline-scoping v0.10.8 approved Every component except renovate-self gains a leading schedule → never guard. all
2026-06-21 gate-components-tag-scoping v0.11.1 approved Gate jobs also skip tag pipelines ($CI_COMMIT_TAG → never) — tags are for publish jobs, not gates. tofu-lint, tofu-security, tofu-validate, zensical-pages
2026-06-21 go-image-default-1.26.4 v0.11.2 approved Image defaults bumped to match go.mod's toolchain requirement. go-test, go-security
2026-06-21 goreleaser-gotoolchain-auto v0.11.3 approved GOTOOLCHAIN default changed from local to auto, so goreleaser resolves go.mod's toolchain directive. goreleaser
2026-06-21 releaser-pleaser-component v0.11 approved releaser-pleaser wrapper component: schedule-never guard + token convention over apricote's image. releaser-pleaser
2026-06-21 self-test-churn-scoping approved Self-test triggers scoped to changed components, not run unconditionally. all
2026-06-22 components-use-dev-tools v0.14 approved go-*/rust-* components default to the consolidated dev-tools image; runtime tool installs deleted. go-lint, go-test, go-security, goreleaser, rust-lint, rust-test, rust-security, rust-docs
2026-06-22 hugo-pages-component v0.12 approved hugo-pages component: build+deploy split, an MR build gate hand-rolled Hugo sites lacked. hugo-pages
2026-06-22 hugo-pages-mr-gate v0.13 approved mr_gate boolean input — a loose, direct-to-main mode for content sites. hugo-pages
2026-06-22 pipeline-churn-interruptible-cache v0.11.5 approved interruptible: true on gate jobs; terminal cache readers go pull-only; stable per-project cache keys. all
2026-06-22 renovate-image-default-43 v0.11.4 approved Image default bumped to match the preset's managerFilePatterns usage (≥39). renovate-self
2026-06-23 change-detection implemented changes array input on gate components; security category exempt (always-on). go-*, rust-*, tofu-*, zensical-pages, hugo-pages, svelte-*
2026-06-23 skill-security-component v0.19 approved skill-security: hidden-char, injection-heuristic, plugin-schema, and gitleaks scans for AI instruction-file repos. skill-security
2026-06-23 svelte-frontend-track implemented svelte-build/svelte-lint/svelte-test/svelte-security; the Go↔Svelte embed coupling. svelte-build, svelte-lint, svelte-test, svelte-security
2026-06-30 docs-diataxis-restructure approved This site's restructure into Diátaxis — the spec behind the page you're reading. docs (no component)

How to read this

  • Status mirrors each spec's frontmatter: draft (under discussion, not yet implementable) → approved (safe to implement) → rejected (considered and declined — kept, not deleted) → implemented (shipped). Most specs here go straight from approved to shipped without an explicit implemented flip; treat approved entries whose described behaviour matches the current templates/ as shipped.
  • This table is generated by hand and kept current as part of the contributing workflow — every new spec gets a row here when it lands.