Most habit trackers give you one way to not do something. You miss the box, the box stays empty, and the streak breaks. The app has no way to tell the difference between a hard Tuesday you lost and a Tuesday you deliberately gave away.
Beacon treats those as two different events, because they mean opposite things.
Two records, not one
A skip says this was due today and I did not do it. It's an outcome on a real attempt. It counts. It's in your history, it's in the arithmetic, and it should be — a week of skips is information you want.
A break day says this day does not count. Vacation, illness, a planned deload. It isn't a miss, so it produces no penalty, and it isn't a win, so it produces no credit either. It's removed from the calculation.
The distinction matters most in the number you look at every morning:
| You did | Recorded as | Effect on your scores |
|---|---|---|
| Nothing, on a day you meant to train | A skip | Counts as a missed attempt |
| Nothing, on a rest day you scheduled | A break day | Excluded — no gain, no penalty |
| Some of it | A partial completion | Counts for what you did |
Collapse those first two rows and you've built an app that punishes rest. That's not a minor UX wrinkle. It teaches the wrong lesson about training, which is that the only good day is a full day.
Why we were strict about the vocabulary
This started as an engineering problem before it was a product one. When "skip" and "break day" live in the same field, every piece of code that reads that field has to guess which one it's looking at — and code that guesses is code that will eventually guess wrong in one place and right in another. You end up with a home screen and a progress chart that disagree about the same week.
So they're separate records with separate meanings, and we're pedantic about the words in code review. A rest day you planned should feel like a rest day you planned, all the way down to the ring on your home screen.
What this means for you
Take the break day. If you know Thursday is gone — travel, a deadline, a body that's asking for it — mark it. You aren't gaming the streak; you're telling the coach something true, and it will plan the rest of the week around it.
The goal was never an unbroken row of green boxes. It's the trend under them.