docs: migrate DECISIONS.md to house-format ADRs, and retire the review folder (#131)

D001-D021 become ADR 0001-0021 in docs/decisions/, one decision per file.
D017's PESTER_VERSION amendment was a second decision in one entry and becomes
ADR 0022. ADR 0023 records the migration and reverses the lane2-change-plan
ruling that deliberately kept DECISIONS.md until the CI lane work landed.

DECISIONS.md is reduced to a stub with a D-to-ADR redirect table, so the four
released CHANGELOG entries and older issue bodies that cite it degrade to a
redirect rather than a dead reference.

docs/review/ and docs/lane2-change-plan.md are deleted (ADR 0024). Of 91
findings, 83 were resolved and six of the seven still open were already GitHub
issues; F021 was the exception and is now #130.

CLAUDE.md's Key Conventions list gains the two rules it was missing and becomes
the checklist, with the ADRs carrying rationale.
This commit is contained in:
goodolclint-claude[bot]
2026-09-02 14:49:07 +00:00
committed by GitHub
parent c3f051bba5
commit b90791e2bf
38 changed files with 1045 additions and 4517 deletions
+1 -1
View File
@@ -39,7 +39,7 @@ RUN if [ "$(dpkg --print-architecture)" = "amd64" ]; then \
# Install Pester and prepare module directory.
# Pinned, not floored: this image is rebuilt on every CI run, so a version range
# lets a new Pester major reach the gating lane with no commit to this repo.
# Bump deliberately, the way D017 treats the nested PVE package set.
# Bump deliberately, the way ADR 0017 treats the nested PVE package set.
ARG PESTER_VERSION=6.1.0
RUN pwsh -NoProfile -Command \
"Set-PSRepository -Name PSGallery -InstallationPolicy Trusted; \
@@ -209,7 +209,7 @@ namespace PSProxmoxVE.Core.Tests.Models
Assert.Equal(2, config!.Cores); // typed property still works
Assert.True(config.AdditionalProperties.ContainsKey("hostpci0"));
Assert.Equal("0000:01:00.0,pcie=1", config.AdditionalProperties["hostpci0"]);
// Value must be a native type (string), never a Newtonsoft JToken (D013).
// Value must be a native type (string), never a Newtonsoft JToken (ADR 0013).
Assert.IsType<string>(config.AdditionalProperties["hostpci0"]);
Assert.DoesNotContain("Newtonsoft", config.AdditionalProperties["hostpci0"]!.GetType().FullName);
}
@@ -112,7 +112,7 @@ Describe 'Cluster Config & HA Lifecycle — Integration' -Tag 'Integration' {
$result | Should -Not -BeNullOrEmpty
$script:ClusterCreated = $true
# New-PveCluster -Wait returns only once the cluster is quorate (D014),
# New-PveCluster -Wait returns only once the cluster is quorate (ADR 0014),
# which is what makes the join below safe without a sleep.
$cluster = @(Get-PveClusterStatus -ErrorAction Stop) |
Where-Object { $_.Type -eq 'cluster' } | Select-Object -First 1