mirror of
https://github.com/instructkr/claw-code.git
synced 2026-04-06 08:04:50 +08:00
Add terminal lane states for when a lane discovers its work is already landed in main, superseded by another lane, or has an empty diff: LaneEventName: - lane.reconciled — branch already merged, no action needed - lane.merged — work successfully merged - lane.superseded — work replaced by another lane/commit - lane.closed — lane manually closed PolicyAction::Reconcile with ReconcileReason enum: - AlreadyMerged — branch tip already in main - Superseded — another lane landed the same work - EmptyDiff — PR would be empty - ManualClose — operator closed the lane PolicyCondition::LaneReconciled — matches lanes that reached a no-action-required terminal state. LaneContext::reconciled() constructor for lanes that discovered they have nothing to do. This closes the gap where lanes like 9404-9410 could discover 'nothing to do' but had no typed terminal state to express it. The policy engine can now auto-closeout reconciled lanes instead of leaving them in limbo. Addresses ROADMAP P1.3 (lane-completion emitter) groundwork. Tests: 4 new tests covering reconcile rule firing, context defaults, non-reconciled lanes not triggering reconcile rules, and reason variant distinctness. Full workspace suite: 643 pass, 0 fail.