From b00163bf34fca88d00cc684ffe25bfb81f4361d9 Mon Sep 17 00:00:00 2001 From: "Jonathan D.A. Jewell" <6759885+hyperpolymath@users.noreply.github.com> Date: Wed, 26 Aug 2026 16:52:22 +0100 Subject: [PATCH 1/2] fix(scripts): repoint checks at the .adoc files that exist The .md -> .adoc documentation migration moved these files but never updated the scripts that READ them, so every check naming a .md has been operating on a file that no longer exists. Repointed: CHANGELOG.md->CHANGELOG.adoc CODE_OF_CONDUCT.md->CODE_OF_CONDUCT.adoc CONTRIBUTING.md->CONTRIBUTING.adoc MAINTAINERS.md->MAINTAINERS.adoc README.md->README.adoc SECURITY.md->SECURITY.adoc Three failure modes were in play across the estate, all fixed by the same change: * hard fail - 'check "X.md exists" "[ -f X.md ]"' can never pass * wrong score - '[ -f X.md ] && ((doc_score++))' silently scores lower * SILENT SKIP - 'if [ -f X.md ]; then ...greps... fi' skips the whole block, so the checks inside never run and the gate reports success by not checking at all Human-readable labels are repointed too, so failure messages name the file that is actually inspected. Where a script did 'git add ... X.md', that is fixed as well - it would have failed at release time. Only tokens whose .adoc twin exists in this repository were rewritten; anything without a twin was left untouched for separate triage. Found by an estate-wide sweep of 454 repos: 56 such checks across 18 repos. Same defect class as hyperpolymath/Axiom.jl#82. --- .../asdf-ghjk/scripts/rsr-verify.sh | 34 +++++++++---------- .../asdf-ghjk/scripts/setup-dev.sh | 2 +- asdf-ghjk/scripts/rsr-verify.sh | 34 +++++++++---------- asdf-ghjk/scripts/setup-dev.sh | 2 +- 4 files changed, 36 insertions(+), 36 deletions(-) diff --git a/asdf-augmenters/asdf-ghjk/scripts/rsr-verify.sh b/asdf-augmenters/asdf-ghjk/scripts/rsr-verify.sh index a0fc12da..263e97ac 100755 --- a/asdf-augmenters/asdf-ghjk/scripts/rsr-verify.sh +++ b/asdf-augmenters/asdf-ghjk/scripts/rsr-verify.sh @@ -60,13 +60,13 @@ echo "" # ============================================================================= section "Category 1: Documentation" -check "README exists" "[[ -f README.md ]] || [[ -f README.adoc ]]" -check "README is comprehensive (>100 lines)" "[[ -f README.md ]] && [[ \$(wc -l < README.md) -gt 100 ]] || [[ -f README.adoc ]] && [[ \$(wc -l < README.adoc) -gt 100 ]]" -check "CONTRIBUTING exists" "[[ -f CONTRIBUTING.md ]] || [[ -f CONTRIBUTING.adoc ]]" -check "CODE_OF_CONDUCT.md exists" "[[ -f CODE_OF_CONDUCT.md ]]" -check "MAINTAINERS exists" "[[ -f MAINTAINERS.md ]] || [[ -f MAINTAINERS.adoc ]]" -check "SECURITY.md exists" "[[ -f SECURITY.md ]]" -check "CHANGELOG exists" "[[ -f CHANGELOG.md ]] || [[ -f CHANGELOG.adoc ]]" +check "README exists" "[[ -f README.adoc ]] || [[ -f README.adoc ]]" +check "README is comprehensive (>100 lines)" "[[ -f README.adoc ]] && [[ \$(wc -l < README.adoc) -gt 100 ]] || [[ -f README.adoc ]] && [[ \$(wc -l < README.adoc) -gt 100 ]]" +check "CONTRIBUTING exists" "[[ -f CONTRIBUTING.adoc ]] || [[ -f CONTRIBUTING.adoc ]]" +check "CODE_OF_CONDUCT.adoc exists" "[[ -f CODE_OF_CONDUCT.adoc ]]" +check "MAINTAINERS exists" "[[ -f MAINTAINERS.adoc ]] || [[ -f MAINTAINERS.adoc ]]" +check "SECURITY.adoc exists" "[[ -f SECURITY.adoc ]]" +check "CHANGELOG exists" "[[ -f CHANGELOG.adoc ]] || [[ -f CHANGELOG.adoc ]]" check "ARCHITECTURE.md exists" "[[ -f docs/ARCHITECTURE.md ]]" check "API_REFERENCE.md exists" "[[ -f docs/API_REFERENCE.md ]]" check "FAQ.md exists" "[[ -f docs/FAQ.md ]]" @@ -91,7 +91,7 @@ check "SPDX identifier present" "grep -q 'SPDX-License-Identifier' LICENSE.txt" # ============================================================================= section "Category 3: Security" -check "SECURITY.md exists" "[[ -f SECURITY.md ]]" +check "SECURITY.adoc exists" "[[ -f SECURITY.adoc ]]" check "security.txt exists" "[[ -f .well-known/security.txt ]]" check "security.txt is RFC 9116 compliant" "grep -q 'Contact:' .well-known/security.txt" check "Checksum verification in download script" "grep -q 'verify_checksum' bin/download" @@ -103,8 +103,8 @@ check "Input validation present" "grep -q 'ASDF_INSTALL_VERSION' bin/download" # ============================================================================= section "Category 4: Contributing" -check "CONTRIBUTING comprehensive (>50 lines)" "[[ -f CONTRIBUTING.md ]] && [[ \$(wc -l < CONTRIBUTING.md) -gt 50 ]] || [[ -f CONTRIBUTING.adoc ]] && [[ \$(wc -l < CONTRIBUTING.adoc) -gt 5 ]]" -check "CODE_OF_CONDUCT follows Contributor Covenant" "grep -q 'Contributor Covenant' CODE_OF_CONDUCT.md" +check "CONTRIBUTING comprehensive (>50 lines)" "[[ -f CONTRIBUTING.adoc ]] && [[ \$(wc -l < CONTRIBUTING.adoc) -gt 50 ]] || [[ -f CONTRIBUTING.adoc ]] && [[ \$(wc -l < CONTRIBUTING.adoc) -gt 5 ]]" +check "CODE_OF_CONDUCT follows Contributor Covenant" "grep -q 'Contributor Covenant' CODE_OF_CONDUCT.adoc" check "Issue templates exist" "[[ -d .github/ISSUE_TEMPLATE ]]" check "Bug report template exists" "[[ -f .github/ISSUE_TEMPLATE/bug_report.md ]]" check "Feature request template exists" "[[ -f .github/ISSUE_TEMPLATE/feature_request.md ]]" @@ -115,10 +115,10 @@ check "PR template exists" "[[ -f .github/pull_request_template.md ]]" # ============================================================================= section "Category 5: Governance" -check "MAINTAINERS exists" "[[ -f MAINTAINERS.md ]] || [[ -f MAINTAINERS.adoc ]]" +check "MAINTAINERS exists" "[[ -f MAINTAINERS.adoc ]] || [[ -f MAINTAINERS.adoc ]]" check "CODEOWNERS exists" "[[ -f .github/CODEOWNERS ]]" -check "Maintainer responsibilities documented" "grep -q 'Responsibilities' MAINTAINERS.md 2>/dev/null || grep -qi 'responsibilities' MAINTAINERS.adoc 2>/dev/null" -check "Decision-making process documented" "grep -q 'Decision Making' MAINTAINERS.md 2>/dev/null || grep -qi 'decision' MAINTAINERS.adoc 2>/dev/null || grep -q 'decision' MAINTAINERS.md 2>/dev/null" +check "Maintainer responsibilities documented" "grep -q 'Responsibilities' MAINTAINERS.adoc 2>/dev/null || grep -qi 'responsibilities' MAINTAINERS.adoc 2>/dev/null" +check "Decision-making process documented" "grep -q 'Decision Making' MAINTAINERS.adoc 2>/dev/null || grep -qi 'decision' MAINTAINERS.adoc 2>/dev/null || grep -q 'decision' MAINTAINERS.adoc 2>/dev/null" check "RSR.md with TPCF declaration exists" "[[ -f RSR.md ]]" check "TPCF perimeter declared" "grep -q 'Perimeter 3' RSR.md" @@ -152,9 +152,9 @@ check "Setup script is executable" "[[ -x scripts/setup-dev.sh ]]" # ============================================================================= section "Category 8: Versioning" -check "CHANGELOG follows Keep a Changelog" "grep -qi 'Changelog' CHANGELOG.md 2>/dev/null || grep -qi 'Changelog' CHANGELOG.adoc 2>/dev/null" -check "CHANGELOG has Unreleased section" "grep -qi 'Unreleased' CHANGELOG.md 2>/dev/null || grep -qi 'Unreleased' CHANGELOG.adoc 2>/dev/null" -check "Semantic versioning mentioned" "grep -qi 'Semantic Versioning' CHANGELOG.md 2>/dev/null || grep -qi 'semver' CHANGELOG.adoc 2>/dev/null || grep -qi 'Semantic' CHANGELOG.adoc 2>/dev/null" +check "CHANGELOG follows Keep a Changelog" "grep -qi 'Changelog' CHANGELOG.adoc 2>/dev/null || grep -qi 'Changelog' CHANGELOG.adoc 2>/dev/null" +check "CHANGELOG has Unreleased section" "grep -qi 'Unreleased' CHANGELOG.adoc 2>/dev/null || grep -qi 'Unreleased' CHANGELOG.adoc 2>/dev/null" +check "Semantic versioning mentioned" "grep -qi 'Semantic Versioning' CHANGELOG.adoc 2>/dev/null || grep -qi 'semver' CHANGELOG.adoc 2>/dev/null || grep -qi 'Semantic' CHANGELOG.adoc 2>/dev/null" # ============================================================================= # Category 9: .well-known @@ -176,7 +176,7 @@ section "Category 10: Community" check "Issue templates directory exists" "[[ -d .github/ISSUE_TEMPLATE ]]" check "Multiple issue templates" "[[ \$(ls -1 .github/ISSUE_TEMPLATE/*.md 2>/dev/null | wc -l) -ge 2 ]]" check "PR template exists" "[[ -f .github/pull_request_template.md ]]" -check "CODE_OF_CONDUCT references enforcement" "grep -q 'Enforcement' CODE_OF_CONDUCT.md" +check "CODE_OF_CONDUCT references enforcement" "grep -q 'Enforcement' CODE_OF_CONDUCT.adoc" # ============================================================================= # Category 11: Automation diff --git a/asdf-augmenters/asdf-ghjk/scripts/setup-dev.sh b/asdf-augmenters/asdf-ghjk/scripts/setup-dev.sh index cca220d4..53a24351 100755 --- a/asdf-augmenters/asdf-ghjk/scripts/setup-dev.sh +++ b/asdf-augmenters/asdf-ghjk/scripts/setup-dev.sh @@ -107,6 +107,6 @@ echo "Next steps:" echo " 1. Run tests: ./test/bats/bin/bats test/" echo " 2. Lint code: shellcheck bin/* lib/*.sh lib/*.bash" echo " 3. Try installing ghjk: asdf install ghjk latest" -echo " 4. Read CONTRIBUTING.md for development guidelines" +echo " 4. Read CONTRIBUTING.adoc for development guidelines" echo "" echo "Happy coding! 🎉" diff --git a/asdf-ghjk/scripts/rsr-verify.sh b/asdf-ghjk/scripts/rsr-verify.sh index a0fc12da..263e97ac 100755 --- a/asdf-ghjk/scripts/rsr-verify.sh +++ b/asdf-ghjk/scripts/rsr-verify.sh @@ -60,13 +60,13 @@ echo "" # ============================================================================= section "Category 1: Documentation" -check "README exists" "[[ -f README.md ]] || [[ -f README.adoc ]]" -check "README is comprehensive (>100 lines)" "[[ -f README.md ]] && [[ \$(wc -l < README.md) -gt 100 ]] || [[ -f README.adoc ]] && [[ \$(wc -l < README.adoc) -gt 100 ]]" -check "CONTRIBUTING exists" "[[ -f CONTRIBUTING.md ]] || [[ -f CONTRIBUTING.adoc ]]" -check "CODE_OF_CONDUCT.md exists" "[[ -f CODE_OF_CONDUCT.md ]]" -check "MAINTAINERS exists" "[[ -f MAINTAINERS.md ]] || [[ -f MAINTAINERS.adoc ]]" -check "SECURITY.md exists" "[[ -f SECURITY.md ]]" -check "CHANGELOG exists" "[[ -f CHANGELOG.md ]] || [[ -f CHANGELOG.adoc ]]" +check "README exists" "[[ -f README.adoc ]] || [[ -f README.adoc ]]" +check "README is comprehensive (>100 lines)" "[[ -f README.adoc ]] && [[ \$(wc -l < README.adoc) -gt 100 ]] || [[ -f README.adoc ]] && [[ \$(wc -l < README.adoc) -gt 100 ]]" +check "CONTRIBUTING exists" "[[ -f CONTRIBUTING.adoc ]] || [[ -f CONTRIBUTING.adoc ]]" +check "CODE_OF_CONDUCT.adoc exists" "[[ -f CODE_OF_CONDUCT.adoc ]]" +check "MAINTAINERS exists" "[[ -f MAINTAINERS.adoc ]] || [[ -f MAINTAINERS.adoc ]]" +check "SECURITY.adoc exists" "[[ -f SECURITY.adoc ]]" +check "CHANGELOG exists" "[[ -f CHANGELOG.adoc ]] || [[ -f CHANGELOG.adoc ]]" check "ARCHITECTURE.md exists" "[[ -f docs/ARCHITECTURE.md ]]" check "API_REFERENCE.md exists" "[[ -f docs/API_REFERENCE.md ]]" check "FAQ.md exists" "[[ -f docs/FAQ.md ]]" @@ -91,7 +91,7 @@ check "SPDX identifier present" "grep -q 'SPDX-License-Identifier' LICENSE.txt" # ============================================================================= section "Category 3: Security" -check "SECURITY.md exists" "[[ -f SECURITY.md ]]" +check "SECURITY.adoc exists" "[[ -f SECURITY.adoc ]]" check "security.txt exists" "[[ -f .well-known/security.txt ]]" check "security.txt is RFC 9116 compliant" "grep -q 'Contact:' .well-known/security.txt" check "Checksum verification in download script" "grep -q 'verify_checksum' bin/download" @@ -103,8 +103,8 @@ check "Input validation present" "grep -q 'ASDF_INSTALL_VERSION' bin/download" # ============================================================================= section "Category 4: Contributing" -check "CONTRIBUTING comprehensive (>50 lines)" "[[ -f CONTRIBUTING.md ]] && [[ \$(wc -l < CONTRIBUTING.md) -gt 50 ]] || [[ -f CONTRIBUTING.adoc ]] && [[ \$(wc -l < CONTRIBUTING.adoc) -gt 5 ]]" -check "CODE_OF_CONDUCT follows Contributor Covenant" "grep -q 'Contributor Covenant' CODE_OF_CONDUCT.md" +check "CONTRIBUTING comprehensive (>50 lines)" "[[ -f CONTRIBUTING.adoc ]] && [[ \$(wc -l < CONTRIBUTING.adoc) -gt 50 ]] || [[ -f CONTRIBUTING.adoc ]] && [[ \$(wc -l < CONTRIBUTING.adoc) -gt 5 ]]" +check "CODE_OF_CONDUCT follows Contributor Covenant" "grep -q 'Contributor Covenant' CODE_OF_CONDUCT.adoc" check "Issue templates exist" "[[ -d .github/ISSUE_TEMPLATE ]]" check "Bug report template exists" "[[ -f .github/ISSUE_TEMPLATE/bug_report.md ]]" check "Feature request template exists" "[[ -f .github/ISSUE_TEMPLATE/feature_request.md ]]" @@ -115,10 +115,10 @@ check "PR template exists" "[[ -f .github/pull_request_template.md ]]" # ============================================================================= section "Category 5: Governance" -check "MAINTAINERS exists" "[[ -f MAINTAINERS.md ]] || [[ -f MAINTAINERS.adoc ]]" +check "MAINTAINERS exists" "[[ -f MAINTAINERS.adoc ]] || [[ -f MAINTAINERS.adoc ]]" check "CODEOWNERS exists" "[[ -f .github/CODEOWNERS ]]" -check "Maintainer responsibilities documented" "grep -q 'Responsibilities' MAINTAINERS.md 2>/dev/null || grep -qi 'responsibilities' MAINTAINERS.adoc 2>/dev/null" -check "Decision-making process documented" "grep -q 'Decision Making' MAINTAINERS.md 2>/dev/null || grep -qi 'decision' MAINTAINERS.adoc 2>/dev/null || grep -q 'decision' MAINTAINERS.md 2>/dev/null" +check "Maintainer responsibilities documented" "grep -q 'Responsibilities' MAINTAINERS.adoc 2>/dev/null || grep -qi 'responsibilities' MAINTAINERS.adoc 2>/dev/null" +check "Decision-making process documented" "grep -q 'Decision Making' MAINTAINERS.adoc 2>/dev/null || grep -qi 'decision' MAINTAINERS.adoc 2>/dev/null || grep -q 'decision' MAINTAINERS.adoc 2>/dev/null" check "RSR.md with TPCF declaration exists" "[[ -f RSR.md ]]" check "TPCF perimeter declared" "grep -q 'Perimeter 3' RSR.md" @@ -152,9 +152,9 @@ check "Setup script is executable" "[[ -x scripts/setup-dev.sh ]]" # ============================================================================= section "Category 8: Versioning" -check "CHANGELOG follows Keep a Changelog" "grep -qi 'Changelog' CHANGELOG.md 2>/dev/null || grep -qi 'Changelog' CHANGELOG.adoc 2>/dev/null" -check "CHANGELOG has Unreleased section" "grep -qi 'Unreleased' CHANGELOG.md 2>/dev/null || grep -qi 'Unreleased' CHANGELOG.adoc 2>/dev/null" -check "Semantic versioning mentioned" "grep -qi 'Semantic Versioning' CHANGELOG.md 2>/dev/null || grep -qi 'semver' CHANGELOG.adoc 2>/dev/null || grep -qi 'Semantic' CHANGELOG.adoc 2>/dev/null" +check "CHANGELOG follows Keep a Changelog" "grep -qi 'Changelog' CHANGELOG.adoc 2>/dev/null || grep -qi 'Changelog' CHANGELOG.adoc 2>/dev/null" +check "CHANGELOG has Unreleased section" "grep -qi 'Unreleased' CHANGELOG.adoc 2>/dev/null || grep -qi 'Unreleased' CHANGELOG.adoc 2>/dev/null" +check "Semantic versioning mentioned" "grep -qi 'Semantic Versioning' CHANGELOG.adoc 2>/dev/null || grep -qi 'semver' CHANGELOG.adoc 2>/dev/null || grep -qi 'Semantic' CHANGELOG.adoc 2>/dev/null" # ============================================================================= # Category 9: .well-known @@ -176,7 +176,7 @@ section "Category 10: Community" check "Issue templates directory exists" "[[ -d .github/ISSUE_TEMPLATE ]]" check "Multiple issue templates" "[[ \$(ls -1 .github/ISSUE_TEMPLATE/*.md 2>/dev/null | wc -l) -ge 2 ]]" check "PR template exists" "[[ -f .github/pull_request_template.md ]]" -check "CODE_OF_CONDUCT references enforcement" "grep -q 'Enforcement' CODE_OF_CONDUCT.md" +check "CODE_OF_CONDUCT references enforcement" "grep -q 'Enforcement' CODE_OF_CONDUCT.adoc" # ============================================================================= # Category 11: Automation diff --git a/asdf-ghjk/scripts/setup-dev.sh b/asdf-ghjk/scripts/setup-dev.sh index cca220d4..53a24351 100755 --- a/asdf-ghjk/scripts/setup-dev.sh +++ b/asdf-ghjk/scripts/setup-dev.sh @@ -107,6 +107,6 @@ echo "Next steps:" echo " 1. Run tests: ./test/bats/bin/bats test/" echo " 2. Lint code: shellcheck bin/* lib/*.sh lib/*.bash" echo " 3. Try installing ghjk: asdf install ghjk latest" -echo " 4. Read CONTRIBUTING.md for development guidelines" +echo " 4. Read CONTRIBUTING.adoc for development guidelines" echo "" echo "Happy coding! 🎉" From 3c4139276ebb291883fb0220411285c1756b3991 Mon Sep 17 00:00:00 2001 From: "Jonathan D.A. Jewell" <6759885+hyperpolymath@users.noreply.github.com> Date: Wed, 26 Aug 2026 17:43:52 +0100 Subject: [PATCH 2/2] fix(scripts): collapse duplicate-branch checks left by the .adoc repoint MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The repoint sweep rewrote '.md || .adoc' fallbacks so BOTH sides name the same file, leaving conditions that are redundant at best and broken at worst. Codacy flagged the worst case as HIGH RISK and is correct: [[ -f CONTRIBUTING.adoc ]] && [[ $(wc -l < …) -gt 50 ]] \ || [[ -f CONTRIBUTING.adoc ]] && [[ $(wc -l < …) -gt 5 ]] Bash parses A && B || C && D as ((A && B) || C) && D, so the TRAILING condition always gates. The stated '>50 lines' requirement was silently replaced by '>5'. Verified empirically rather than by reading: under the old form a 20-line file PASSES a '>50 lines' check. Under the new form it fails, and a 60-line file still passes. A gate that cannot fail is not a gate. Also collapsed, all provably redundant after the sweep: * [[ -f X ]] || [[ -f X ]] -> [[ -f X ]] * identical guarded pairs over the same file -> single branch * 3-way grep chains over one file where a case-insensitive pattern subsumes the others Where two branches named the SAME file with DIFFERENT thresholds, the branch matching the check's own stated description was kept and the weaker one dropped. Genuine .md/.adoc fallbacks (different files) were left untouched. Co-Authored-By: Claude Opus 5 --- .../asdf-ghjk/scripts/rsr-verify.sh | 18 +++++++++--------- asdf-ghjk/scripts/rsr-verify.sh | 18 +++++++++--------- 2 files changed, 18 insertions(+), 18 deletions(-) diff --git a/asdf-augmenters/asdf-ghjk/scripts/rsr-verify.sh b/asdf-augmenters/asdf-ghjk/scripts/rsr-verify.sh index 263e97ac..55b3cdf0 100755 --- a/asdf-augmenters/asdf-ghjk/scripts/rsr-verify.sh +++ b/asdf-augmenters/asdf-ghjk/scripts/rsr-verify.sh @@ -60,13 +60,13 @@ echo "" # ============================================================================= section "Category 1: Documentation" -check "README exists" "[[ -f README.adoc ]] || [[ -f README.adoc ]]" -check "README is comprehensive (>100 lines)" "[[ -f README.adoc ]] && [[ \$(wc -l < README.adoc) -gt 100 ]] || [[ -f README.adoc ]] && [[ \$(wc -l < README.adoc) -gt 100 ]]" -check "CONTRIBUTING exists" "[[ -f CONTRIBUTING.adoc ]] || [[ -f CONTRIBUTING.adoc ]]" +check "README exists" "[[ -f README.adoc ]]" +check "README is comprehensive (>100 lines)" "[[ -f README.adoc ]] && [[ \$(wc -l < README.adoc) -gt 100 ]]" +check "CONTRIBUTING exists" "[[ -f CONTRIBUTING.adoc ]]" check "CODE_OF_CONDUCT.adoc exists" "[[ -f CODE_OF_CONDUCT.adoc ]]" -check "MAINTAINERS exists" "[[ -f MAINTAINERS.adoc ]] || [[ -f MAINTAINERS.adoc ]]" +check "MAINTAINERS exists" "[[ -f MAINTAINERS.adoc ]]" check "SECURITY.adoc exists" "[[ -f SECURITY.adoc ]]" -check "CHANGELOG exists" "[[ -f CHANGELOG.adoc ]] || [[ -f CHANGELOG.adoc ]]" +check "CHANGELOG exists" "[[ -f CHANGELOG.adoc ]]" check "ARCHITECTURE.md exists" "[[ -f docs/ARCHITECTURE.md ]]" check "API_REFERENCE.md exists" "[[ -f docs/API_REFERENCE.md ]]" check "FAQ.md exists" "[[ -f docs/FAQ.md ]]" @@ -103,7 +103,7 @@ check "Input validation present" "grep -q 'ASDF_INSTALL_VERSION' bin/download" # ============================================================================= section "Category 4: Contributing" -check "CONTRIBUTING comprehensive (>50 lines)" "[[ -f CONTRIBUTING.adoc ]] && [[ \$(wc -l < CONTRIBUTING.adoc) -gt 50 ]] || [[ -f CONTRIBUTING.adoc ]] && [[ \$(wc -l < CONTRIBUTING.adoc) -gt 5 ]]" +check "CONTRIBUTING comprehensive (>50 lines)" "[[ -f CONTRIBUTING.adoc ]] && [[ \$(wc -l < CONTRIBUTING.adoc) -gt 50 ]]" check "CODE_OF_CONDUCT follows Contributor Covenant" "grep -q 'Contributor Covenant' CODE_OF_CONDUCT.adoc" check "Issue templates exist" "[[ -d .github/ISSUE_TEMPLATE ]]" check "Bug report template exists" "[[ -f .github/ISSUE_TEMPLATE/bug_report.md ]]" @@ -115,10 +115,10 @@ check "PR template exists" "[[ -f .github/pull_request_template.md ]]" # ============================================================================= section "Category 5: Governance" -check "MAINTAINERS exists" "[[ -f MAINTAINERS.adoc ]] || [[ -f MAINTAINERS.adoc ]]" +check "MAINTAINERS exists" "[[ -f MAINTAINERS.adoc ]]" check "CODEOWNERS exists" "[[ -f .github/CODEOWNERS ]]" check "Maintainer responsibilities documented" "grep -q 'Responsibilities' MAINTAINERS.adoc 2>/dev/null || grep -qi 'responsibilities' MAINTAINERS.adoc 2>/dev/null" -check "Decision-making process documented" "grep -q 'Decision Making' MAINTAINERS.adoc 2>/dev/null || grep -qi 'decision' MAINTAINERS.adoc 2>/dev/null || grep -q 'decision' MAINTAINERS.adoc 2>/dev/null" +check "Decision-making process documented" "grep -qi 'decision' MAINTAINERS.adoc 2>/dev/null" check "RSR.md with TPCF declaration exists" "[[ -f RSR.md ]]" check "TPCF perimeter declared" "grep -q 'Perimeter 3' RSR.md" @@ -140,7 +140,7 @@ check "CI tests multiple platforms" "grep -q 'ubuntu-latest' .github/workflows/c section "Category 7: Build System" check "Build system exists" "[[ -f Makefile ]] || [[ -f Justfile ]] || [[ -f Justfile ]]" -check "Justfile exists" "[[ -f Justfile ]] || [[ -f Justfile ]]" +check "Justfile exists" "[[ -f Justfile ]]" check "Nix/Guix package definition exists" "[[ -f flake.nix ]] || [[ -f guix.scm ]] || [[ -f default.nix ]]" check "Build system has test target" "grep -qi 'test' Makefile 2>/dev/null || grep -qi 'test' Justfile 2>/dev/null || grep -qi 'test' Justfile 2>/dev/null" check "Build system has lint target" "grep -qi 'lint' Makefile 2>/dev/null || grep -qi 'lint' Justfile 2>/dev/null || grep -qi 'lint' Justfile 2>/dev/null" diff --git a/asdf-ghjk/scripts/rsr-verify.sh b/asdf-ghjk/scripts/rsr-verify.sh index 263e97ac..55b3cdf0 100755 --- a/asdf-ghjk/scripts/rsr-verify.sh +++ b/asdf-ghjk/scripts/rsr-verify.sh @@ -60,13 +60,13 @@ echo "" # ============================================================================= section "Category 1: Documentation" -check "README exists" "[[ -f README.adoc ]] || [[ -f README.adoc ]]" -check "README is comprehensive (>100 lines)" "[[ -f README.adoc ]] && [[ \$(wc -l < README.adoc) -gt 100 ]] || [[ -f README.adoc ]] && [[ \$(wc -l < README.adoc) -gt 100 ]]" -check "CONTRIBUTING exists" "[[ -f CONTRIBUTING.adoc ]] || [[ -f CONTRIBUTING.adoc ]]" +check "README exists" "[[ -f README.adoc ]]" +check "README is comprehensive (>100 lines)" "[[ -f README.adoc ]] && [[ \$(wc -l < README.adoc) -gt 100 ]]" +check "CONTRIBUTING exists" "[[ -f CONTRIBUTING.adoc ]]" check "CODE_OF_CONDUCT.adoc exists" "[[ -f CODE_OF_CONDUCT.adoc ]]" -check "MAINTAINERS exists" "[[ -f MAINTAINERS.adoc ]] || [[ -f MAINTAINERS.adoc ]]" +check "MAINTAINERS exists" "[[ -f MAINTAINERS.adoc ]]" check "SECURITY.adoc exists" "[[ -f SECURITY.adoc ]]" -check "CHANGELOG exists" "[[ -f CHANGELOG.adoc ]] || [[ -f CHANGELOG.adoc ]]" +check "CHANGELOG exists" "[[ -f CHANGELOG.adoc ]]" check "ARCHITECTURE.md exists" "[[ -f docs/ARCHITECTURE.md ]]" check "API_REFERENCE.md exists" "[[ -f docs/API_REFERENCE.md ]]" check "FAQ.md exists" "[[ -f docs/FAQ.md ]]" @@ -103,7 +103,7 @@ check "Input validation present" "grep -q 'ASDF_INSTALL_VERSION' bin/download" # ============================================================================= section "Category 4: Contributing" -check "CONTRIBUTING comprehensive (>50 lines)" "[[ -f CONTRIBUTING.adoc ]] && [[ \$(wc -l < CONTRIBUTING.adoc) -gt 50 ]] || [[ -f CONTRIBUTING.adoc ]] && [[ \$(wc -l < CONTRIBUTING.adoc) -gt 5 ]]" +check "CONTRIBUTING comprehensive (>50 lines)" "[[ -f CONTRIBUTING.adoc ]] && [[ \$(wc -l < CONTRIBUTING.adoc) -gt 50 ]]" check "CODE_OF_CONDUCT follows Contributor Covenant" "grep -q 'Contributor Covenant' CODE_OF_CONDUCT.adoc" check "Issue templates exist" "[[ -d .github/ISSUE_TEMPLATE ]]" check "Bug report template exists" "[[ -f .github/ISSUE_TEMPLATE/bug_report.md ]]" @@ -115,10 +115,10 @@ check "PR template exists" "[[ -f .github/pull_request_template.md ]]" # ============================================================================= section "Category 5: Governance" -check "MAINTAINERS exists" "[[ -f MAINTAINERS.adoc ]] || [[ -f MAINTAINERS.adoc ]]" +check "MAINTAINERS exists" "[[ -f MAINTAINERS.adoc ]]" check "CODEOWNERS exists" "[[ -f .github/CODEOWNERS ]]" check "Maintainer responsibilities documented" "grep -q 'Responsibilities' MAINTAINERS.adoc 2>/dev/null || grep -qi 'responsibilities' MAINTAINERS.adoc 2>/dev/null" -check "Decision-making process documented" "grep -q 'Decision Making' MAINTAINERS.adoc 2>/dev/null || grep -qi 'decision' MAINTAINERS.adoc 2>/dev/null || grep -q 'decision' MAINTAINERS.adoc 2>/dev/null" +check "Decision-making process documented" "grep -qi 'decision' MAINTAINERS.adoc 2>/dev/null" check "RSR.md with TPCF declaration exists" "[[ -f RSR.md ]]" check "TPCF perimeter declared" "grep -q 'Perimeter 3' RSR.md" @@ -140,7 +140,7 @@ check "CI tests multiple platforms" "grep -q 'ubuntu-latest' .github/workflows/c section "Category 7: Build System" check "Build system exists" "[[ -f Makefile ]] || [[ -f Justfile ]] || [[ -f Justfile ]]" -check "Justfile exists" "[[ -f Justfile ]] || [[ -f Justfile ]]" +check "Justfile exists" "[[ -f Justfile ]]" check "Nix/Guix package definition exists" "[[ -f flake.nix ]] || [[ -f guix.scm ]] || [[ -f default.nix ]]" check "Build system has test target" "grep -qi 'test' Makefile 2>/dev/null || grep -qi 'test' Justfile 2>/dev/null || grep -qi 'test' Justfile 2>/dev/null" check "Build system has lint target" "grep -qi 'lint' Makefile 2>/dev/null || grep -qi 'lint' Justfile 2>/dev/null || grep -qi 'lint' Justfile 2>/dev/null"