Found while writing the classification-deferred-downstream contract for the decision record (#875). In the star/galaxy (spread-model) path of catalogue assembly: save_sm_data returns the n_obj argument it was given, so make_cat_runner's SExtractor-vs-spread-model size check compares a value with itself and can never fire — and if it did, it would crash, since it calls w_log(...) as a function; with three inputs (no spread-model catalogue) the runner writes no SPREAD_MODEL column while logging "setting spread model to 99", and SM_DO_CLASSIFICATION = True is silently ignored; a missing SM_STAR_THRESH/SM_GAL_THRESH surfaces as a bare NoOptionError. The path is dormant in the committed workflow (classification off), so nothing measured is affected today.
Found while writing the
classification-deferred-downstreamcontract for the decision record (#875). In the star/galaxy (spread-model) path of catalogue assembly:save_sm_datareturns then_objargument it was given, somake_cat_runner's SExtractor-vs-spread-model size check compares a value with itself and can never fire — and if it did, it would crash, since it callsw_log(...)as a function; with three inputs (no spread-model catalogue) the runner writes noSPREAD_MODELcolumn while logging "setting spread model to 99", andSM_DO_CLASSIFICATION = Trueis silently ignored; a missingSM_STAR_THRESH/SM_GAL_THRESHsurfaces as a bareNoOptionError. The path is dormant in the committed workflow (classification off), so nothing measured is affected today.