v0.3.1: result ordering fix, error contracts
result ordering fix, error contracts
bls_get_latest results[] now mirrors series_ids[] request order — results[i]
corresponds to series_ids[i] even when that series failed. Removes the
series_not_found errors[] entry (not-found series are failed[] partial results,
not tool-level throws). Enriches failed[].error descriptions with common values.
bls_list_surveys gains a typed errors[] contract — service_unavailable and
serialization_failure — with matching data.reason on the wire, so agents can
distinguish API outages from empty category results.
Fixed:
- bls_get_latest: results array ordering (#25)
- bls_get_latest: series_not_found contract mismatch (#28)
Changed:
- bls_list_surveys: added errors[] for service_unavailable and serialization_failure (#27)
- bls_get_latest: failed[].error and failed[] descriptions clarify partial-failure semantics
130 tests pass; bun run devcheck clean.