diff --git a/CHANGELOG.md b/CHANGELOG.md index 5230666..c13e7d2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -22,6 +22,20 @@ always means the deployed record rescored against the new methodology, which is an operation, not a side effect — say so here so the pin bump that carries it is deliberate. +## [0.13.0] — 2026-08-28 + +### Changed +- `guide/` and `guides/` top-level directories now count as documentation + directories (`has_docs_dir`), alongside `doc/`, `docs/`, `documentation/` + and `wiki/`. `guide/` is the established mdBook convention in the Rust + ecosystem; wasm-bindgen's maintainer reported scoring 0 on the criterion + despite a full guide in the repository (issue #11). + +**Downstream impact:** pin bump only — no new report field, no detail codes, +no `METRICS_VERSION` change. The formula is unchanged; the collected signal +widens, so affected repositories pick up the points at their next rescan. +No rescore of the record: stored reports keep their collected signals. + ## [0.12.0] — 2026-08-27 ### Changed diff --git a/docs/report-schema.md b/docs/report-schema.md index b33b214..3411a7e 100644 --- a/docs/report-schema.md +++ b/docs/report-schema.md @@ -427,7 +427,7 @@ safe direction to fail for a figure that is descriptive only. | ----- | --------- | | `has_ci`, `ci_workflows` | `.github/workflows/*.yml\|yaml` | | `has_tests` | `test(s)`/`spec(s)`/`__tests__` directories or test-file naming patterns | -| `has_docs_dir` | Non-empty `doc/`, `docs/`, `documentation/`, or `wiki/` directory | +| `has_docs_dir` | Non-empty `doc/`, `docs/`, `documentation/`, `wiki/`, `guide/`, or `guides/` directory | | `has_linter_config`, `linter_configs` | Known linter config files (ruff, flake8, eslint, golangci, …) | | `has_editorconfig`, `has_precommit_config` | `.editorconfig`, `.pre-commit-config.yaml` | diff --git a/pyproject.toml b/pyproject.toml index 881478c..0369ad2 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "inspect-scanner" -version = "0.12.0" +version = "0.13.0" description = "CLI scanner that audits public GitHub repositories and produces JSON reports" readme = "README.md" requires-python = ">=3.11" diff --git a/src/scanner/__init__.py b/src/scanner/__init__.py index 0622cbd..21d8fd9 100644 --- a/src/scanner/__init__.py +++ b/src/scanner/__init__.py @@ -3,4 +3,4 @@ from .models import Report __all__ = ["Report"] -__version__ = "0.12.0" +__version__ = "0.13.0" diff --git a/src/scanner/collect.py b/src/scanner/collect.py index dc1230d..f2d6481 100644 --- a/src/scanner/collect.py +++ b/src/scanner/collect.py @@ -156,7 +156,7 @@ class TreeEntry(NamedTuple): } TEST_DIR_NAMES = {"test", "tests", "spec", "specs", "__tests__", "testing"} -DOC_DIR_NAMES = {"doc", "docs", "documentation", "wiki"} +DOC_DIR_NAMES = {"doc", "docs", "documentation", "wiki", "guide", "guides"} TEST_FILE_PATTERNS = ("test_*.py", "*_test.py", "*_test.go", "*.test.js", "*.test.ts", "*.spec.js", "*.spec.ts", "*Test.java", "*Test.php") # --- AI readiness signal detection ---------------------------------------- diff --git a/tests/test_signals.py b/tests/test_signals.py index 476630b..1ecda08 100644 --- a/tests/test_signals.py +++ b/tests/test_signals.py @@ -83,7 +83,8 @@ def test_no_embedded_config_leaves_signals_unchanged(): def test_docs_dir_aliases(): - for directory in ("doc", "docs", "documentation", "wiki"): + # guide/guides: mdBook convention (wasm-bindgen PR #5291 feedback, issue #11). + for directory in ("doc", "docs", "documentation", "wiki", "guide", "guides"): assert _quality([f"{directory}/index.md"]).has_docs_dir, directory # A file named like a docs dir, or a bare top-level file, is not a docs dir. assert not _quality(["documentation.md"]).has_docs_dir