When we get something wrong
Two things were broken in Racketworks. Neither announced itself, and that is the whole reason this is worth writing down.
Removing a racket did not give the string back. String comes off your shelf the moment a racket is checked in — that is deliberate, because the string is spoken for from that instant. But if you then deleted that racket, because it was entered by mistake or the customer changed their mind, the string never came back. The most likely thing anyone ever deletes is a typo made thirty seconds earlier, and every one of those quietly overstated what you had used. Your shelf and your screen drifted a little further apart each time, and nothing anywhere said so. It is fixed: deleting a racket now returns exactly what that job took, deleting a whole ticket returns every racket on it, and the path that skipped the refund has been removed from the product so it cannot be reached again.
And some failures were disguised as good news. If the database hiccuped while a page was loading, a few screens showed you an empty result — no rackets, no money, nothing due — which looks identical to a quiet week. On a money screen that is the worst possible way to fail. Those pages now say plainly that something went wrong and ask you to reload, because "we could not load this" and "there is nothing here" are completely different sentences and should never look the same.
What this doesn't do. The first fix works from now on; it does not go back and repair counts that already drifted. If you deleted rackets before this and your shelf has not matched your screen, a guided cycle count is the way to reset the number to what is physically in front of you — and that correction is recorded, so you can see later what changed and when.
Where to start. If any of that sounds familiar, Inventory → count the two or three strings you would notice being wrong. If it does not, nothing is required of you.