This is an automated email from the ASF dual-hosted git repository.

potiuk pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/airflow-steward.git


The following commit(s) were added to refs/heads/main by this push:
     new c2d373a8 feat(spec-validator): enforce Known gaps section in every 
functional spec (#490)
c2d373a8 is described below

commit c2d373a8283593b7336f7741eb641fe5e0f17554
Author: Justin Mclean <[email protected]>
AuthorDate: Thu Jun 11 20:17:07 2026 +1000

    feat(spec-validator): enforce Known gaps section in every functional spec 
(#490)
    
    All twelve functional spec files already carry a ## Known gaps section.
    Add it to REQUIRED_SECTIONS so the validator catches any future spec
    that omits it, and update the _VALID_SPEC test fixture to include the
    section (one extra parametrised test case: 57 → 58 passing).
    
    Also bump the pre-commit node pin 22.13.0 → 22.20.0: [email protected] (a
    markdownlint-cli2 transitive dep) requires node ^20.19 || ^22.20 ||
    ^24.12 || >=25, so 22.13.0 fails EBADENGINE on every commit.
    
    Generated-by: Claude (Opus 4.7)
---
 .pre-commit-config.yaml                             | 6 +++++-
 tools/spec-validator/src/spec_validator/__init__.py | 4 +++-
 tools/spec-validator/tests/test_spec_validator.py   | 4 ++++
 3 files changed, 12 insertions(+), 2 deletions(-)

diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index 7893f48d..3c7d54fa 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -29,7 +29,11 @@ default_language_version:
   # `@eslint/[email protected]` declares engines `^20.19.0 || ^22.13.0 || >=24`,
   # so the old 22.11.0 pin failed `npm install` with EBADENGINE. 22.13.0
   # is the lowest 22.x that satisfies it.
-  node: 22.13.0
+  #
+  # Bumped 22.13.0 -> 22.20.0: [email protected] declares engines
+  # `^20.19 || ^22.20 || ^24.12 || >=25`; 22.13.0 fails EBADENGINE.
+  # 22.20.0 is the lowest 22.x that satisfies both constraints.
+  node: 22.20.0
 minimum_prek_version: '0.3.5'
 repos:
   - repo: meta
diff --git a/tools/spec-validator/src/spec_validator/__init__.py 
b/tools/spec-validator/src/spec_validator/__init__.py
index 7b5166e1..02c53ac7 100644
--- a/tools/spec-validator/src/spec_validator/__init__.py
+++ b/tools/spec-validator/src/spec_validator/__init__.py
@@ -25,7 +25,8 @@ Checks every .md file that carries a YAML frontmatter block:
 4. Valid ``mode`` value  — Triage | Mentoring | Drafting | Pairing | infra.
 5. Non-empty ``acceptance`` list — at least one ``- item`` entry.
 6. Required body sections — What it does, Where it lives,
-   Behaviour & contract, Out of scope, Acceptance criteria, Validation.
+   Behaviour & contract, Out of scope, Acceptance criteria, Validation,
+   Known gaps.
 7. Validation section contains at least one fenced code block.
 
 Files without frontmatter (README.md, overview.md) are skipped silently.
@@ -61,6 +62,7 @@ REQUIRED_SECTIONS: tuple[str, ...] = (
     "Out of scope",
     "Acceptance criteria",
     "Validation",
+    "Known gaps",
 )
 
 DEFAULT_SPEC_DIR = Path("tools/spec-loop/specs")
diff --git a/tools/spec-validator/tests/test_spec_validator.py 
b/tools/spec-validator/tests/test_spec_validator.py
index a48d7e7e..4cfeaebe 100644
--- a/tools/spec-validator/tests/test_spec_validator.py
+++ b/tools/spec-validator/tests/test_spec_validator.py
@@ -85,6 +85,10 @@ _VALID_SPEC = textwrap.dedent("""\
     ```bash
     uv run --project tools/example --group dev pytest
     ```
+
+    ## Known gaps
+
+    - `stable`; no gaps at this time.
     """)
 
 

Reply via email to