Keel

Keel · Guides · Routines & Programs

Stay on the calendar, or shift after late logs

Why did my next dose move?

Every routine follows one of two rules: Stay on the calendar keeps every dose on its planned day; Shift after late logs re-anchors the next doses to the day of your latest logged dose.

AvailabilityFree · Assumes a routine on an interval schedule (every N days)

Written for Keel 1.0.0 · build 1Content 2026.09.14 · 2026.09.15-pilotScreens from build 1 (4cbadaa)

Every routine follows one of two rules. Stay on the calendar keeps every dose on its planned day whatever you log. Shift after late logs re-anchors the next doses to the day of your latest logged dose. The setting is If I log late on the routine form (under More options on a new routine; already open when you edit one); new routines start on Stay on the calendar.

Where to start

The routine form › If I log late.

You’ll need
  • Under More options on a new routine; when editing, the advanced sections are already open — scroll to it.
Routine form row labelled If I log late showing Stay on the calendar, with the footer Doses stay on their planned calendar days even when you log late.
The setting behind schedule shifting; new routines start on Stay on the calendar, and its footer states the rule in one line.
  1. If I log late
  2. current value
  3. footer
Where this screen comes from
File
G11-F1-if-i-log-late-row.png (1320×345); G11-F1-if-i-log-late-row.webp is a lossy encode of it
Derivative SHA-256
5c4c379a0ae55a384295d31920e4f9df49be696461f44d48cb6b84c3d51aa8e4
Source
G11-F1.png in package Keel-V1-4cbadaa-guide-figures-D-20260915-175842-31382
Source SHA-256
78a52fbde6e7c80945e07e6f6fc09be69c803f3f86ab459cee73bb1fea97a909
Package seal
734f8ee432472a7cd790042b30552ee099fee72dcc2a2f9badbaa48a14ef8bbe
Captured from
Keel 1.0.0 (1), implementation 4cbadaa1c63a0678b61e703583fadc9af226267d
Operation
crop x0 y2430 w1320 h345 (source pixels, origin top-left)

The numbered markers are drawn by the page, not into the image.

The If I log late picker opened, listing Stay on the calendar (ticked) and Shift after late logs.
Both choices; pick the one that matches how you actually take the routine.
  1. Stay on the calendar
  2. Shift after late logs
Where this screen comes from
File
G11-F1b-if-i-log-late-picker.png (1320×493); G11-F1b-if-i-log-late-picker.webp is a lossy encode of it
Derivative SHA-256
84808ef3808f0792ddfff8db221957b99232aa2cd85162c900f27095822cd9e1
Source
G11-F1b.png in package Keel-V1-4cbadaa-guide-figures-D-20260915-175842-31382
Source SHA-256
5c7b4579eda4667bce5fb18b4b58c2904e2fc4495fcc43c0549af234a84aa362
Package seal
734f8ee432472a7cd790042b30552ee099fee72dcc2a2f9badbaa48a14ef8bbe
Captured from
Keel 1.0.0 (1), implementation 4cbadaa1c63a0678b61e703583fadc9af226267d
Operation
crop x0 y2282 w1320 h493 (source pixels, origin top-left)

The numbered markers are drawn by the page, not into the image.

What each rule counts from

On Stay on the calendar the anchor is the routine’s start day. On Shift after late logs the anchor is the day of the latest dose you logged as done or late — a skipped dose never re-anchors, and neither does moving a dose.

Example A — Stay on the calendar

Fictional exampleThe names and values below are made up to show how the parts relate; they are not a suggestion.

Routine
Every 3 days from Mon 1 Sep 2025
Planned days
Mon 1, Thu 4, Sun 7, Wed 10 Sep 2025
Log any of them late
The rest stay put.

Example B — Shift after late logs

Fictional exampleThe names and values below are made up to show how the parts relate; they are not a suggestion.

Routine
Every other day from Mon 1 Sep 2025
The Wed 3 Sep dose
Recorded with Taken at Thu 4 Sep
Stay on the calendar
Fri 5, Sun 7, Tue 9 Sep
Shift after late logs
Sat 6, Mon 8, Wed 10 Sep — the next doses count from the Taken-at day, and that day itself is not repeated.

This is the interval-schedule behaviour (every N days, every other day, every 3 days); weekly-on-days and times-per-week routines are not claimed to shift identically until verified.

Diagram of two September calendars, one keeping Friday Sunday Tuesday, the other moving to Saturday Monday Wednesday after a Thursday log.
Illustration — not an app screen. Fictional example: the same late log leaves a Stay-on-the-calendar routine unchanged and shifts a Shift-after-late-logs routine to count from Thursday.
Where this drawing comes from
File
D2-F2-fixed-vs-rolling.png (1320×1640); D2-F2-fixed-vs-rolling.webp is a lossy encode of it
Derivative SHA-256
87877921f29c71f695106ec7f129268720d39e694423590003bf7efa029e2b6c
Drawing
guide-figures/diagrams/D2-F2-fixed-vs-rolling.svg — a diagram drawn for this guide; not an app screen, not evidence of app behaviour
Drawing SHA-256
02c1f1995180152f3ab9e249fa20e165988ad0222a9c45d2ba280b5da706fab4
Rendering
WKWebView snapshot at 2× from an HTML wrapper, cropped
Operation
crop x0 y0 w1320 h1640 (source pixels, origin top-left)

The numbered markers are drawn by the page, not into the image.

What changes

Changing the setting replaces only pending doses that no longer match the plan — those still Upcoming or Due; doses you have acted on, and doses already Late or Missed, stay as they are. On Shift after late logs the anchor is the Taken at date of your latest dose logged as done or late — the time you record, not the moment you enter it.

Where: The routine’s next doses on Today and in Calendar

If it looks different

The setting is hidden?
It sits under More options, collapsed on a new routine.
An early log also moved the schedule?
On Shift after late logs the rule uses your latest logged dose, early or late.
Past weeks don’t redraw after a change?
Adherence for those weeks reflects the plan at the time.
Skipped or moved a dose?
Skip and Move never shift the routine; only a dose logged as done or late re-anchors it.

Keel tracks. It never advises. Which rule a routine follows is your setting; nothing here says how often anything should be taken.