1f7fd476eced5733d3b7ac9f501e74e9d320ac24
Folded into #408 from the same review. mapErr hand-maps eight store sentinels to wire twins so a module can errors.Is without importing internal/store. The design is right; the failure mode is silent. Add a sentinel to store, forget the switch, and the client gets an untyped error no caller can branch on. Three tests. The pairs, asserted through a wrap because every real caller wraps. An unrecognised error, asserted to pass through untouched. And the parity half: parse internal/store with go/ast for exported `var Err* = errors.New(...)` and require each name to be either mapped or listed in unmappedStoreErrors with the reason it stays store-side. Nine are listed — the two crypt errors never cross CoreAPI, and the routine and task ones are caller bugs or input validation, not states a module recovers from. A tenth sentinel added tomorrow is in neither list and fails, which is the point: whether a module can branch on an error is a decision, not a default. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Description
No description provided
Languages
Go
97.1%
HTML
0.9%
Shell
0.6%
CSS
0.5%
Makefile
0.3%
Other
0.6%