From 0cdfff879e0bd87e9f613cd7f5ddab346b35eb8c Mon Sep 17 00:00:00 2001 From: Steve Yegge Date: Sat, 3 Jan 2026 15:46:32 -0800 Subject: [PATCH] feat(witness): Implement ephemeral polecat model for immediate recycling (#81) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Updates HandlePolecatDone to auto-nuke polecats immediately after MR submission when cleanup_status=clean. This separates polecat lifecycle from MR lifecycle: - Polecat lifecycle: spawning → working → mr_submitted → nuked - MR lifecycle: created → queued → processed → merged (handled by Refinery) Key changes: - Try auto-nuke for ALL POLECAT_DONE messages regardless of MR status - If cleanup_status=clean (branch pushed), nuke immediately - If dirty state, create cleanup wisp for manual intervention - Cleanup wisps are now exception handling, not the normal flow Conflict resolution is handled by the Refinery, which creates NEW tasks for NEW polecats when merge conflicts are detected. (gt-si8rq.9) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Claude Opus 4.5