Skip to content

fix(rsr-verify): accept .adoc — the docs exist, the check named .md - #194

Open
hyperpolymath wants to merge 2 commits into
mainfrom
fix/rsr-verify-accept-adoc
Open

fix(rsr-verify): accept .adoc — the docs exist, the check named .md#194
hyperpolymath wants to merge 2 commits into
mainfrom
fix/rsr-verify-accept-adoc

Conversation

@hyperpolymath

Copy link
Copy Markdown
Owner

rsr-verify.sh fails 7 documentation checks in a plugin whose documentation is complete.

checks for:   docs/ARCHITECTURE.md  docs/API_REFERENCE.md  docs/FAQ.md
              docs/QUICKSTART.md    docs/TROUBLESHOOTING.md
              docs/EXAMPLES.md      docs/MIGRATION.md

on disk:      docs/ARCHITECTURE.adoc  docs/API_REFERENCE.adoc  docs/FAQ.adoc
              docs/QUICKSTART.adoc    docs/TROUBLESHOOTING.adoc
              docs/EXAMPLES.adoc      docs/MIGRATION.adoc
              (plus CITATIONS.adoc and COMPATIBILITY.adoc)

Every document exists. The .md.adoc migration moved them and left the verifier naming the old extension, so 7 of the RSR compliance checks have been failing on a compliant plugin.

Fix

Accept either extension — the same pattern the RSR template's own quality.yml already uses for README, LICENSE and CONTRIBUTING:

check "ARCHITECTURE exists" "[[ -f docs/ARCHITECTURE.md ]] || [[ -f docs/ARCHITECTURE.adoc ]]"

The check label drops the extension too, so a failure message names the document rather than a filename that may be either form.

Verified

checks satisfied against files actually on disk 7 / 7
still missing 0
shellcheck -S error 0 findings

Provenance

Found by an estate-wide sweep of 5,111 scripts across 375 repos. Same defect class as the 56 unsatisfiable checks repointed across 18 repos earlier in this campaign (see hyperpolymath/Axiom.jl#82).

⚠ I initially filed these as missing documentation in hyperpolymath/standards#653 and was about to author 14 replacement files. That was wrong — my classifier looked for the .adoc twin at the repo root, but these live at asdf-ghjk/docs/, so it reported no twin. Issue #653 is being corrected.

rsr-verify.sh fails 7 documentation checks in a plugin whose documentation is
COMPLETE. It checks docs/ARCHITECTURE.md, API_REFERENCE.md, FAQ.md,
QUICKSTART.md, TROUBLESHOOTING.md, EXAMPLES.md and MIGRATION.md; the plugin
ships all seven as .adoc, plus CITATIONS.adoc and COMPATIBILITY.adoc.

The .md -> .adoc migration moved the documents and left the verifier naming the
old extension, so seven RSR compliance checks have been failing on a compliant
plugin.

Fixed by accepting either extension - the same pattern the RSR template's own
quality.yml uses for README, LICENSE and CONTRIBUTING. The check label drops
the extension too, so a failure names the document rather than a filename that
may legitimately be either form.

Verified: 7/7 checks satisfied against the files actually on disk, 0 missing,
shellcheck -S error reports 0 findings.

⚠ I first filed these as MISSING documentation in hyperpolymath/standards#653
and was about to author 14 replacement files. That was wrong: my classifier
looked for the .adoc twin at the REPO ROOT, but these live at
asdf-ghjk/docs/. Issue #653 is being corrected.
@gitar-bot

gitar-bot Bot commented Aug 26, 2026

Copy link
Copy Markdown

Gitar is working

Gitar

@coderabbitai

coderabbitai Bot commented Aug 26, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: 57960f88-4e09-4f2e-9db4-1ac693f41769

📥 Commits

Reviewing files that changed from the base of the PR and between 1642050 and 424c7df.

📒 Files selected for processing (1)
  • asdf-augmenters/asdf-ghjk/scripts/rsr-verify.sh

Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review.

📜 Recent review details
⏰ Context from checks skipped due to timeout. (3)
  • GitHub Check: governance / Validate Hypatia Baseline
  • GitHub Check: Codacy Static Code Analysis
  • GitHub Check: hypatia / Hypatia Neurosymbolic Analysis
🔇 Additional comments (1)
asdf-augmenters/asdf-ghjk/scripts/rsr-verify.sh (1)

70-76: LGTM!


📝 Walkthrough

Summary by CodeRabbit

  • Bug Fixes
    • Documentation checks now accept either Markdown or AsciiDoc files across all seven documentation categories.
    • Projects are no longer required to use specific Markdown filenames to pass documentation verification.

Walkthrough

The RSR verification script now accepts either Markdown or AsciiDoc files for seven documentation categories. It replaces Markdown-only file checks.

Changes

Documentation validation

Layer / File(s) Summary
Accept Markdown or AsciiDoc documentation
asdf-augmenters/asdf-ghjk/scripts/rsr-verify.sh
Checks for ARCHITECTURE, API_REFERENCE, FAQ, QUICKSTART, TROUBLESHOOTING, EXAMPLES, and MIGRATION now accept either .md or .adoc files.

Estimated code review effort: 1 (Trivial) | ~5 minutes

Merge Risk: ⚪ Minimal · up to 424c7

This localized change makes documentation checks accept either .md or .adoc files without changing documented content or broader runtime behavior. No actionable merge-blocking risk remains after normal checks and review.

Poem

A rabbit checks the docs with care
Markdown or AsciiDoc files are there
Seven paths pass the test
The script now knows the rest
Soft paws close the review affair

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly identifies the verifier fix and the accepted .adoc extension. It is concise and directly related to the main change.
Description check ✅ Passed The description explains the failing documentation checks, the .md to .adoc migration, the proposed fix, and the verification results. It is directly related to the changeset.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 1…
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Full details: Docstring Coverage

Explanation

No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 1 files.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@codacy-production

Copy link
Copy Markdown
Contributor

Up to standards ✅

🟢 Issues 0 issues

Results:
0 new issues

View in Codacy

AI Reviewer: first review requested successfully. AI can make mistakes. Always validate suggestions.

Run reviewer

TIP This summary will be updated as you push new changes.

@codacy-production codacy-production Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

While Codacy identifies the PR as being up to standards, the functional review reveals high-severity logic bugs in rsr-verify.sh. The boolean expressions used to check for file existence and line counts (lines 64 and 106) suffer from operator precedence issues. In Bash, && and || have equal precedence and are evaluated left-to-right, meaning the current implementation will incorrectly fail if the .adoc variant is missing, even if a valid .md file is present.

Furthermore, an acceptance criteria gap was identified: the requirement for checks to pass with either file type is currently broken by this logic. A threshold typo in the CONTRIBUTING check also exists. These issues must be addressed before merging to ensure the script functions as intended.

About this PR

  • The PR lacks automated test coverage for the bash script logic; verification was performed manually, which does not prevent future regressions in compliance enforcement.
2 comments outside of the diff
asdf-augmenters/asdf-ghjk/scripts/rsr-verify.sh

line 64 🔴 HIGH RISK
The boolean logic here will fail the check if README.adoc is missing, even if a valid README.md exists. Use curly braces to group the logic correctly so that each format is checked independently.

Suggested fix:

check "README is comprehensive (>100 lines)" "{ [[ -f README.md ]] && [[ \$(wc -l < README.md) -gt 100 ]]; } || { [[ -f README.adoc ]] && [[ \$(wc -l < README.adoc) -gt 100 ]]; }"

line 106 🔴 HIGH RISK
This check contains a logic error and a threshold inconsistency. The current boolean structure incorrectly requires the second file check to pass if the first one succeeded, and the .adoc threshold should be 50 to match the .md requirement.

Suggested fix:

check "CONTRIBUTING comprehensive (>50 lines)" "{ [[ -f CONTRIBUTING.md ]] && [[ \$(wc -l < CONTRIBUTING.md) -gt 50 ]]; } || { [[ -f CONTRIBUTING.adoc ]] && [[ \$(wc -l < CONTRIBUTING.adoc) -gt 50 ]]; }"

Test suggestions

  • Verify check passes when a required document exists with a .md extension in the docs/ directory.
  • Verify check passes when a required document exists with a .adoc extension in the docs/ directory.
  • Verify check fails and displays the extension-agnostic label when a required document is missing both extensions.
Prompt proposal for missing tests
Consider implementing these tests if applicable:
1. Verify check passes when a required document exists with a .md extension in the docs/ directory.
2. Verify check passes when a required document exists with a .adoc extension in the docs/ directory.
3. Verify check fails and displays the extension-agnostic label when a required document is missing both extensions.

TIP Improve review quality by adding custom instructions
TIP How was this review? Give us feedback

@hyperpolymath
hyperpolymath enabled auto-merge (squash) August 28, 2026 07:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant