Repository navigation
docs: match error codes, setup, and release notes to the code - #25
Merged
Merged
Conversation
- 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
force-pushed
the
docs/review-fixes
branch
from
September 25, 2026 21:46
c5a895a to
bbef2fe
Compare
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.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
These are fixes from a review of everything since v0.4.0. An adversarial verifier confirmed each one.
include/spc/error.hpp: theErrorCodecomments forServerError,NotFound, andParseErrorcontradicted the code and the README table. A bad ArcGIS layer id isInvalidRequest, HTTP 503 isRateLimited, 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.pipx install cmake, but pipx isn't installed there and its bin directory isn't on PATH. Ubuntu now usessudo snap install cmake --classic, and the macOS clang-format install runspipx ensurepath.tools/test_consumers.sh: it now compiles the README's quick start, which CI never did. It also fails unless the README pinsGIT_TAG v<version.hpp>, which CLAUDE.md already said it checked..gitattributes:tests/fixtures/** -textandtests/golden/** -text. A CRLF checkout (Git for Windows' default) failed all 19 golden cases.vX.Y.Z or commit, so releases no longer need to bump it.Testing
make test(128/128),make lint,make lint-md, andmake test-consumerspass on macOS.GIT_TAG v0.4.0,test_consumers.shexits 1 with "must pin GIT_TAG v0.4.1". Withquery_categoricalmisspelled in the quick start, the consumer build fails with "no member named 'query_categorical_typo'".git ls-files --eolshowsattr/-texton all 49 fixture and golden files. They were already LF in the index, so no files change.