Until now, a dog with even one recorded session, weigh-in, or vet visit couldn't be deleted at all — only removed from the team, which archives it and keeps its full history. That was deliberate: nobody should be able to accidentally erase years of care records.
What's changing. When a deletion is blocked, the screen now shows how many history items are standing in the way — a real number, not just "it has some data" (a floor, not always the exact total, in the rare case some of that history is invisible to your own account). Below it, a "Force permanent deletion" button lets you go through with it anyway, after a second confirmation that repeats that number.
What this still doesn't do. Forcing no longer protects anything, in any category — not vet records, not weigh-ins, nothing. That's not an oversight; it's the decision. Removing a dog from the team stays the default, reversible move that never loses anything; forcing is a second, deliberate action, for someone who genuinely wants that dog and everything linked to it gone.
The decision made against the obvious choice. The more cautious option would have kept protecting the most sensitive categories — vet visits, vaccinations — even under a force. That's not what was built. A dog belongs to the musher, and it's their call what they keep, not the app's, once they've seen the real number of what they'd lose. A technical trace of what was deleted is kept on the support side, for cases where a forced deletion turns out to have been a mistake — but it isn't an in-app "undo" button: once forced, a deletion is treated as final.