From bc82b2cb98ddd30bf06c9852eb0ce47c52a735a4 Mon Sep 17 00:00:00 2001 From: NWarila <33955773+NWarila@users.noreply.github.com> Date: Mon, 25 May 2026 15:29:42 +0000 Subject: [PATCH] fix(docs-check): allow ADRs under docs/decision-records/template/ PR #44 added docs/decision-records/template/0001-pin-terraform-and- provider-versions-exactly.md but check_docs_layout.py was not updated to include the template tier in ADR_ALLOWED_SUBTREES. The framework's own CI workflow does not run `make ci` (only terraform fmt/init/ validate/test) so this never failed framework-side, but the runner's contract-validation pipeline does call `make ci` against the framework checkout and that surfaces the layout error. Aligns with the template-tier ADR convention used by the four template repos (terraform-framework-template, terraform-runner-template, ansible-framework-template, packer-framework-template) which all include 'template' in ADR_ALLOWED_SUBTREES. Co-Authored-By: Claude Opus 4.7 (1M context) --- tools/check_docs_layout.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tools/check_docs_layout.py b/tools/check_docs_layout.py index 8dc4228..ee67905 100644 --- a/tools/check_docs_layout.py +++ b/tools/check_docs_layout.py @@ -23,6 +23,7 @@ ADR_ROOT = DOCS / "decision-records" ADR_ALLOWED_SUBTREES = { ADR_ROOT / "org", + ADR_ROOT / "template", ADR_ROOT / "repo", } @@ -60,7 +61,7 @@ def main() -> int: if md == ADR_ROOT / "README.md": continue if not any(is_under(md, subtree) for subtree in ADR_ALLOWED_SUBTREES): - errors.append(f"{rel(md)} is an ADR outside docs/decision-records/org/ or repo/") + errors.append(f"{rel(md)} is an ADR outside docs/decision-records/org/, template/, or repo/") readme = DOCS / "README.md" if not readme.exists():