Dusk Foundation tightens when an unstake crosses the exact moment a committee is supposed to close state.
It doesn’t look like failure at first. DuskDS keeps producing blocks. Validators are “up.” Monitoring stays boring. Then a state transition that was already in motion stops being closable because one signer’s permission to attest ended cleanly—stake matured, role changed, committee composition updated. No taper. No courtesy overlap.

Now ask the only question that matters: who can still legally close this transition.
The answer isn’t “who was here a minute ago.” It’s whoever is in the committee after the boundary. If the transition needed weight that just exited, you don’t get to replace it with vibes, or with “it was basically committed.” Attestations after the cutoff don’t count. Attestations before it don’t carry forward. The system doesn’t smear responsibility across time to keep execution smooth.
So the flow backs up in a stupid way.
Downstream steps are ready. Operators keep retrying because everything looks healthy. Nothing is. Nothing is also wrong enough to page the world. It’s just a missing commitment that can’t be supplied anymore, because the one party who could supply it is no longer allowed to.
That mismatch is what burns teams: treating unstake as admin, not as an execution boundary.
The Dusk foundation treats stake as a live permission to participate in closure. When that permission expires, execution has to re-form context. Until it does, you’re sitting on a transition that doesn’t fail loudly and doesn’t finish quietly. It just stays open, and every dependent action waits behind it.

There isn’t a workaround that feels good. You either wait for the new context to re-attempt closure or you redesign so critical closings don’t straddle the exit boundary in the first place. Either way, the deadline you cared about doesn’t get an exception because the validator exit was “expected.”
On Dusk, expected doesn’t mean safe. Timing is part of the rule set. When stake leaves, the right to close state leaves with it, even if the system was one signature away. @Dusk #Dusk $DUSK
