perf(canopy-enrollment): bulk query + caching for issuance listings
The issuance listing endpoint currently does one DB round-trip per issuance when hydrating related records. The plan flagged bulk fetch + caching as premature until the reporting pipeline is stressed at real scale.
Fix when profiling (or a real regression) shows the single-row fetch pattern is the bottleneck. Until then, the pattern is acceptable.
Extracted from canopy-enrollment-household-issuances.adoc § Potential Improvements.