Parameter resolution & provenance¶
bootstrap_session resolves every pipeline parameter deterministically, with
a fixed authority order, and records where each value came from. Nothing is
ever silently defaulted from thin air.
Authority order¶
(full_sky uses a slightly different order — user > data_description >
profile > default — since a survey's sky coverage is a data fact, not a
methodology choice.)
user— an explicit value in the task text (e.g.nside=512, or a## probes:block — see Writing TASK.md). Highest priority, never overridden by anything else.scb— the Science Context Block assembled by@literature_scoutfrom its literature search, when the task doesn't pin a value explicitly.profile— a catalogue-type profile applied viasurvey=<name>.data_description— a value read out of the data directory'sDATA_DESCRIPTION.md.default— the pipeline's built-in default. Not every parameter has one:nsidein particular has no default — if nothing upstream resolves it,bootstrap_sessionreturnsnside_unresolvedand the bootstrapper must ask rather than guess.
Provenance¶
Every resolved value is recorded in session_context.json's
pipeline_config_provenance:
Read it with get_provenance. Source
values in general use: user (never override), scb / profile /
data_description / default (adjustable for a documented technical reason
— log why), derived (never set manually — computed from another resolved
value, e.g. lmax from Nyquist).
ℓ-binning¶
pipeline_config.ell_binning ("linear" | "log") plus an optional
bpw_edges override resolve the same way, globally per session:
user (ell_binning=log, or an explicit ## ell edges: block) >
profile (shear profiles default "log", clustering "linear") >
"linear". A per-probe ell_binning inside a ## probes: block is
rejected outright — changing it per-probe would change the
covariance/SACC block structure mid-session, which isn't a safe partial
override.