SELECT DISTINCT
    'chip' as stage,
    chipRun.chip_id as stage_id,
    rawExp.exp_name as run_tag,
    chipRun.label,
    distTarget.target_id,
    distTarget.clean
FROM chipRun
JOIN rawExp USING(exp_id)
JOIN distTarget ON distTarget.stage = 'chip'
    AND chipRun.label = distTarget.label 
    AND rawExp.filter = distTarget.filter
JOIN rcInterest USING(target_id)
LEFT JOIN distRun ON distRun.stage = 'chip' 
    AND distRun.stage_id = chipRun.chip_id
    AND distRun.clean = distTarget.clean
    -- JOIN hook %s
WHERE distTarget.state = 'enabled'
    AND rcInterest.state = 'enabled'
    AND distRun.dist_id IS NULL      -- no existing distRun 
    AND ((chipRun.state = 'full') OR (distTarget.clean AND chipRun.state = 'cleaned'))
