FixJuly 19, 2026
Follow-ups from the lifecycle bug pass
We re-reviewed everything yesterday's pass shipped, hunting for bugs the fixes themselves could have introduced. What we found and fixed:
- Service projects save again. The project edit form was missing the Service stage from its dropdown, so every save of a service engagement failed with a generic error. (Same family as yesterday's closeout fix — this one had been lurking longer.)
- The printed pay-app cover stays honest during a revision. If an earlier application was sent back by the GC, the G702's "Current Payment Due" overstated the check by that application's full amount. The cover now keeps every issued certificate in the math.
- Timecards with signed T&M tickets are workable again. A draft day that merely retains lines on a since-signed ticket can be saved and submitted — while adding, editing, or removing that ticket's lines stays blocked, in both directions now (removing one used to slip through and quietly shrink the signed total).
- Change events keep their history. Submitting or deciding a PCO no longer drags a change event that was already decided elsewhere (or voided) back into the flow.
- The execution board shows closeout-stage projects instead of quietly dropping them, warranty date colors match the dates they're next to, and a logged callback no longer lands a day early on the books.
- The sign-in self-heal got pickier, in a good way: a rate-limit blip at the auth service can no longer sign your whole team out; only genuinely dead sessions are cleared.