Skip to content

A skipped dose answers its slot - #147

Merged
suskozaver merged 1 commit into
ArunNGun:betafrom
suskozaver:a-skipped-dose-answers-its-slot
Oct 13, 2026
Merged

suskozaver merged 1 commit into
ArunNGun:betafrom
suskozaver:a-skipped-dose-answers-its-slot

Conversation

@suskozaver

Copy link
Copy Markdown
Collaborator

Reported in the Discord channel: Mounjaro recorded as skipped stayed on Today as Overdue, and the next day still said "was due yesterday". The ring said "1 left to log", the day went orange, and a 24 day streak ended. The Log showed the skip correctly. Everything that asks what is still owed ignored it.

Due status. The Today card took its last dose from taken logs only. That is right for the curve, the phase, the time since and the site, and wrong for due, which needs to know whether the dose was answered. The card now reads every log for due and keeps taken logs for everything else. unloggedDoseTimes filtered skips out on purpose to agree with the card, so reminders and the rest of today were wrong in the same way. It now counts a skip as covering the slot. The test that demanded the old behaviour is turned round, and there are new tests for the weekly case and for a reminder skipped ahead of its hour.

Ring, week strip, streak. A skip comes off what the day owes, through a new DayProgress.owed. That is the position a rest day already holds. A day where something was taken and the rest was skipped is finished and counts. A day where everything was skipped is drawn idle, neither extends the streak nor breaks it, and the ring says "skipped" rather than "0 of 0". Counting a skip as taken was rejected: both figures report on the plan being followed, and a declined dose reported as a taken one makes them flattering rather than true. Adherence already reported skipped separately and is untouched. The streak test that expected a skip to break it is replaced.

Site. The form kept the site picker visible with the skip box ticked and saved whatever it held, so the Log showed "Abdomen, upper left" under a skip. The picker now hides, nothing is saved, and the Log hides the site on skips already recorded.

The About text on the ring and streak is rewritten in en, de, sl and pl, and one tooltip key for an all-skipped day is added. The reasoning is in document/05-decisions.md under "A skip answers the dose".

Checks: tsc --noEmit clean, next lint with no warnings, 1750 tests passing, also under TZ=America/New_York.

🤖 Generated with Claude Code

https://claude.ai/code/session_013mcSGbUb6y7ciu653EjmdX

Reported from the Discord channel: Mounjaro recorded as skipped on Monday
stayed on Today as Overdue, said "was due yesterday" on Tuesday, the ring
read "1 left to log", Monday went orange and a streak of twenty four days
ended. The log itself showed the skip correctly. Everything that asks what
is still owed was ignoring it.

Two places had the same fault. The Today card built its last dose from
taken logs only, which is right for the curve, the phase, the time since and
the site, and wrong for due status, which needs to know whether the dose was
answered. The card now reads every log for due and keeps taken logs for the
rest. `unloggedDoseTimes` filtered skips out on purpose, to agree with the
card, so reminders and the rest of today agreed with it in being wrong. It
now counts a skip as covering the slot, and its test that demanded the old
behaviour is turned round.

The day's figures were the second place. Suško chose the neutral reading:
a skip comes off what the day owes, through a new `DayProgress.owed`, the
same position a rest day already holds. A day where something was taken and
the rest skipped is finished and counts towards the streak. A day where
everything was skipped is drawn idle, neither extends the streak nor breaks
it, and the ring says skipped rather than "0 of 0". Counting a skip as taken
was rejected because both figures report on the plan being followed, and a
declined dose reported as a taken one would make them flattering rather
than true. The existing streak test that expected a skip to break it is
replaced. Adherence already reported skipped apart from taken and missed and
is untouched.

A skip also stops carrying an injection site. The form went on offering the
site picker with the box ticked, saved what it held, and the Log showed it
under the skip. The picker now hides, nothing is saved, and the Log hides the
site on skips already recorded.

The About text on what a skip does to the ring and streak is rewritten in
all four languages, and one tooltip key for an all-skipped day is added.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013mcSGbUb6y7ciu653EjmdX
@vercel

vercel Bot commented Oct 13, 2026

Copy link
Copy Markdown

Someone is attempting to deploy a commit to the Arun's projects Team on Vercel.

A member of the Team first needs to authorize it.

@suskozaver
suskozaver merged commit 205cffc into ArunNGun:beta Oct 13, 2026
1 of 2 checks passed
@suskozaver
suskozaver deleted the a-skipped-dose-answers-its-slot branch October 13, 2026 08:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant