recon_gen.common.ids
Typed identifier wrappers for QuickSight resource IDs.
QuickSight definitions cross-reference identifiers across many fields:
SheetId flows into SheetVisualScopingConfigurations.SheetId and
GridLayoutConfiguration, VisualId flows into the same scoping
configuration’s VisualIds list, FilterGroupId is the dict key
QuickSight uses to look up a filter, and ParameterName is the bare
string that gets templated into a CategoryFilter.
All four are plain strings at the API boundary, so a typo or — more
insidiously — a kind swap (passing a SheetId into a VisualIds list,
say) does not raise; QuickSight either silently widens scope or
silently produces zero rows. The NewType wrappers here let mypy
catch wrong-kind-of-string at the call site, mirroring the
ColumnShape discipline common/drill.py already imposes on
parameter wiring.
The wrappers are zero-cost at runtime — SheetId(x) returns x
unchanged. They are an annotation discipline only.