-- Adds a nullable `notes` column to research_publish_approvals so a -- reviewer rejecting a publish can include revision guidance the next -- coordinator run picks up (R2 — reject-with-revision loop). -- -- The notes are stashed on the approval row, then `start_topic` reads the -- most recent rejected approval for the topic and prepends its notes to -- the coordinator task string as "Prior review notes:". This closes the -- loop without duplicating the run-spawn code — the reviewer's critique -- steers the next iteration through the same start_topic path. -- -- NULL means "reject with no revision guidance" — legacy behavior stays -- correct (topic stays in reviewing, nothing else fires). ALTER TABLE research_publish_approvals ADD COLUMN notes TEXT;