Design decisions¶
Not manuals — records of why it was done this way and not another way. For users who want to trust the library's judgment, and contributors who would otherwise re-litigate (or silently break) a settled trade-off.
- cache.md — why caching defaults on, and why the global override beats explicit per-call arguments
- collections.md — why jitclass, why fixed dtypes,
why
counteris a function - rng.md — why our own
seed(), why the alias method is a split API - parallel.md — why complete operations instead of prange wrappers, and every threshold in them
- benchmarking.md — why the tooling measures the way it does, and what CI deliberately doesn't report
Each document states the decision, the alternatives considered, and the reason the alternative lost. If a future change invalidates a reason, the decision is open again — that's what these files are for.