Marked [LINT] in the decision record (#875). workflow/config/cfis/config_exp_mccd.ini was not updated when eb93838 deleted in-house mask generation: SExtractor still reads pipeline_flag from mask_runner, and [SETOOLS_RUNNER] reads SExtractor directly so the chain skips mask_query and can never carry MASK_EXT. While fixing it, two older defects surfaced: [MCCD_MERGE_STARCAT_RUNNER] is not the section merge_starcat_runner reads (MERGE_STARCAT_RUNNER), and [MCCD_PLOTS_RUNNER] lacks the PSF key the plots runner requires; RUN_DATETIME is not set to False so the hardcoded run-dir paths cannot resolve; completeness.py's MCCD table omits mask_query_runner and expects 80 preprocessing outputs where the runner writes 2. The committed workflow selects PSFEx, so nothing running today is affected. Two static config tests (every *_runner reference names an existing runner; every unconditional config read has its key) would have caught all of it.
Marked
[LINT]in the decision record (#875).workflow/config/cfis/config_exp_mccd.iniwas not updated when eb93838 deleted in-house mask generation: SExtractor still readspipeline_flagfrommask_runner, and[SETOOLS_RUNNER]reads SExtractor directly so the chain skipsmask_queryand can never carryMASK_EXT. While fixing it, two older defects surfaced:[MCCD_MERGE_STARCAT_RUNNER]is not the sectionmerge_starcat_runnerreads (MERGE_STARCAT_RUNNER), and[MCCD_PLOTS_RUNNER]lacks thePSFkey the plots runner requires;RUN_DATETIMEis not set to False so the hardcoded run-dir paths cannot resolve;completeness.py's MCCD table omitsmask_query_runnerand expects 80 preprocessing outputs where the runner writes 2. The committed workflow selects PSFEx, so nothing running today is affected. Two static config tests (every*_runnerreference names an existing runner; every unconditional config read has its key) would have caught all of it.