Files
libakerror/TODO.md
Andrew Kesterson 11d21068df Add collision-safe status code registry
Replace the consumer-sized status-name array with private sparse storage and accept arbitrary integer status values. Add explicit range reservations with overlap diagnostics, reserve the library's 0-255 compatibility band, and harden pointer and string boundary handling.

Update regression coverage and document the required migration for custom status-code consumers.
2026-07-30 13:53:52 -04:00

12 lines
851 B
Markdown

# TODO
The status-code ownership work has been consumed. The implementation now:
- stores status names in a private, fixed-capacity sparse registry, removing the consumer-visible array ABI and `AKERR_MAX_ERR_VALUE`;
- accepts names for arbitrary `int` status values and always terminates truncated names;
- reserves status values 0 through 255 for libakerror;
- provides `akerr_reserve_status_range()` so independently developed libraries can declare ranges and detect overlaps at initialization; and
- tests arbitrary status values, range overlap/idempotency/overflow, owner and name limits, and both registry capacity limits.
Consumers with existing custom codes below 256 should migrate them to a declared range starting at 256 or higher. Range reservation is opt-in, so every co-resident library must participate for collisions to be detected.