Skip to content

docs: match error codes, setup, and release notes to the code - #25

Merged
Reddimus merged 1 commit into
mainfrom
docs/review-fixes
Sep 25, 2026
Merged

Reddimus merged 1 commit into
mainfrom
docs/review-fixes

Conversation

@Reddimus

Copy link
Copy Markdown
Owner

Summary

These are fixes from a review of everything since v0.4.0. An adversarial verifier confirmed each one.

  • include/spc/error.hpp: the ErrorCode comments for ServerError, NotFound, and ParseError contradicted the code and the README table. A bad ArcGIS layer id is InvalidRequest, HTTP 503 is RateLimited, and valid JSON of the wrong shape parses to an empty result.
  • CHANGELOG.md: the 0.4.1 entry claimed default Mac builds now start on older Macs. They still target the host macOS. After this merges I'll update the published v0.4.1 notes to match.
  • Setup: Ubuntu users were told to pipx install cmake, but pipx isn't installed there and its bin directory isn't on PATH. Ubuntu now uses sudo snap install cmake --classic, and the macOS clang-format install runs pipx ensurepath.
  • CONTRIBUTING: the golden-rewrite recipe now builds first and shows new, untracked files. The macOS instruction-count noise is under 1%. Two verifiers measured 0.1-0.7%, so the old "under 0.1%" figure was wrong.
  • tools/test_consumers.sh: it now compiles the README's quick start, which CI never did. It also fails unless the README pins GIT_TAG v<version.hpp>, which CLAUDE.md already said it checked.
  • .gitattributes: tests/fixtures/** -text and tests/golden/** -text. A CRLF checkout (Git for Windows' default) failed all 19 golden cases.
  • The bug template's placeholder reads vX.Y.Z or commit, so releases no longer need to bump it.

Testing

  • make test (128/128), make lint, make lint-md, and make test-consumers pass on macOS.
  • Negative checks: with the README at GIT_TAG v0.4.0, test_consumers.sh exits 1 with "must pin GIT_TAG v0.4.1". With query_categorical misspelled in the quick start, the consumer build fails with "no member named 'query_categorical_typo'".
  • git ls-files --eol shows attr/-text on all 49 fixture and golden files. They were already LF in the index, so no files change.

Copilot AI lite review requested due to automatic review settings September 25, 2026 21:41

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

- error.hpp's ErrorCode comments said a bad ArcGIS layer is NotFound, any
  5xx is ServerError, and valid JSON of the wrong shape is a ParseError.
  The code returns InvalidRequest, RateLimited for 503, and an empty
  result. They now match the README table.
- The 0.4.1 changelog entry said default Mac builds now start on older
  Macs. A default build still targets the host macOS; only lower
  deployment targets were fixed.
- The README and CONTRIBUTING told Ubuntu users to `pipx install cmake`
  without installing pipx, and pipx's bin directory is not on PATH until
  `pipx ensurepath`. Ubuntu now uses the CMake snap, and the macOS
  clang-format install runs ensurepath.
- The golden-rewrite recipe now builds first and lists new, untracked
  snapshot files. The macOS instruction-count noise is under 1%, not 0.1%.
- `make test-consumers` now also compiles the README's quick start and
  checks that its GIT_TAG matches version.hpp, which CLAUDE.md already
  claimed it did. The bug template's version placeholder no longer needs a
  bump each release.
- .gitattributes keeps fixtures and golden files byte-exact, so a CRLF
  checkout no longer fails all 19 golden cases and the fixture checksums.
@Reddimus
Reddimus merged commit 0c98e2e into main Sep 25, 2026
10 checks passed
@Reddimus
Reddimus deleted the docs/review-fixes branch September 25, 2026 21:52
Reddimus added a commit that referenced this pull request Sep 25, 2026
Sets the version to 0.4.2 in `include/spc/version.hpp`, dates the
changelog section, and points the README's `GIT_TAG` at v0.4.2, which
`make test-consumers` checks. The `find_package(spc 0.4 REQUIRED)` line
stays, because 0.4.x is compatible.

v0.4.2 contains the performance and correctness work measured in each
PR: #16 and #28 (the storm report list is sized once, and only for real
reports), #19 (numeric strings parse the same way on every platform),
#21 (the typed ArcGIS queries parse each page once, about half the CPU
and allocations), #24 (the `parse_*` functions stay inside their
`string_view`), #25 (error docs), plus the CI and test-tooling changes
in #22, #26, and #29. No public API changes.

After merge, tagging `v0.4.2` runs the release workflow. It checks the
tag against `version.hpp`, runs the tests and consumer checks, and
publishes the changelog section as the release notes.
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.

2 participants