docs: fix EXPECTED_MAJOR to match the draft major; scope supported toolchains
Round-5 review: Codex and Kimi both requested the same one-value fix — the §4 Python FFI example set `EXPECTED_MAJOR = 1`, but the draft header is `SW_API_VERSION_MAJOR 0u` (v0.1.0). The inline comment says it must match the header, so a copy/paste against this declaration-only ABI would wrongly reject a matching library. Set it to `EXPECTED_MAJOR = 0` and note it tracks the header's major (0 for the 0.1.0 draft). Also add a "Supported Toolchains" section to docs/C_ABI.md to scope the portability commitment (the header is broadly portable, but support is bounded): - MSVC (cl / clang-cl) on Windows is the primary, first-class target. - Clang and GCC (incl. MinGW) are secondary for dev/bindings/CI. - Exotic compilers, ABI-altering flags (e.g. -fshort-enums), and pre-C99 / pre-C++98 modes are out of scope -- the static_asserts exist to fail loudly under those, not to promise support. Docs-only. Header unchanged; uv run pytest -> 42 passed; git diff --check clean. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
C
Claude Coder committed
f1d3369c1b779e6063fbdea6bd7e4c8b8c694245
Parent: 94dda48