Expand description
Health and well-being, for the window: the page (a day, or its week, at a glance: meals, naps, the night and the doses, each day’s own changes; the medicines and the prescriptions), its settings (the usual meals and nights, the pauses), and the minute tick that reminds a dose once, quietly, and turns refills and renewals into tasks in a list your phone has. The rest goes to no server, except sealed to your other computers when you share with them (docs/database.md).
Structs§
- Around 🔒
- What lies around the days: the week’s events, their times with margins, today’s planned steps.
- Context
Item 🔒 - An event or a planned step, for context only.
- DayItem 🔒
- A row of a day’s list: a meal, a nap, the night, or a dose.
- DayView 🔒
- One day: its list and what its column of the timeline draws.
- Device
Row 🔒 - A device as Settings ▸ Your folder and sharing lists it (
share::status). - Dose
Notes 🔒 - A dose’s reminder as this computer records it, for the notice’s thread
(
sioul_sync::notify::DoseRecord): this device’s entry in the dose’s reminders, written before each notice goes, and the marks’ record for an older Sioul (reminded,unshown). - DoseRow 🔒
- ForProfessional 🔒
- What a doctor or a pharmacist is shown, read-only, at arm’s length
(
qml/ShowMedicines.qml): a prescription’s medicines, or all those taken now. - Knowledge 🔒
- What is known here of the doses marked elsewhere: this computer’s record,
and each other device sharing with it (
sioul_core::health::doubts). - Mark 🔒
- What a device had said when you said it was off, or forgot it.
- Medicine
Edit 🔒 - A medicine as its form gives it.
- Medicine
Row 🔒 - A medicine as the page lists it, and as its form reads it.
- OffButton 🔒
- “This device is off”, under a doubt naming it: the device’s id, the button’s words.
- Page
View 🔒 - The page: a week of days, the day shown one of them (
week), and what only today says. - Peer
Seen 🔒 - Peers 🔒
- What this computer saw of your other devices, for the doses: kept here
only (
$XDG_STATE_HOME/sioul/share/peers.json), never shared. - Porch
Doses 🔒 - The Porch’s doses (docs/health.md, “On the Porch”).
due: today’s, from their time on, not marked yet, reminded or not (a notification can go unseen), each with “Taken” (past its half hour, when it was taken is asked) and the doubt when another device may know; until marked, the day’s end, or twelve hours after its time.closed: those due while Sioul ran nowhere, the question on the past, once your other devices were heard from (heard), so that a dose marked there is not asked about here. Whatever the hours: doses are not mail. None while you sleep with doses staying silent (silent): they come at waking. - Prescribed
Edit 🔒 - A medicine as a row of its prescription’s form gives it.
- Prescription
Edit 🔒 - A prescription as its form gives it.
- Prescription
Row 🔒 - A prescription as the page lists it, and as its form reads it.
- Record
Doubt 🔒 - The doses’ record found broken or gone here, kept on this computer only
(
$XDG_STATE_HOME/sioul/health-doubt.toml): the doses due before stay not known, for a day. - Segment 🔒
- A part of the timeline’s column: from, to, in minutes from the column’s midnight (a night split at midnight, its morning part the day before’s).
- Settings
View 🔒 - The page’s settings (⚙), what is set once: the pauses, where the errands
go (the usual meals and night:
needs_page). - Shown 🔒
- One medicine, for a professional.
- Week
View 🔒 - Monday to Sunday, the hours the timeline shows (minutes from midnight, whole hours, the same for every day: the lines stay put from day to day).
Enums§
- Coming 🔒
- What comes for a prescription, on a day.
- Plan 🔒
- What this computer does for a dose at its tick (docs/health.md, “What became of a reminder”; review of battery part C, the fifth review).
Constants§
- ALARMS_
AHEAD_ 🔒HOURS - How far ahead the coming doses are given to Android’s alarm clock.
- FIRST_
WORD 🔒 - How long a phone’s alarm keeping the doses itself (the phone in use at the
dose’s time) waits for the computers’ words that they leave the dose to
it (
dose_reminders::Tried::quiet), before it reminds with the doubt. - FORGET_
NOW_ 🔒AFTER - How long a phone says nothing before a computer offers to forget it now
(
DeviceRow::forget_now): a day, where a living phone restates its entry every hour (devices::RESTATED). - FUTURE 🔒
- How far ahead of this device’s clock another device’s times may run and
still be taken (ten minutes: a clock left to drift; one set wrong by hours
or a year is not): beyond it, its copy is no news and is set aside
(
Peer::set_aside): nothing it says counts, nor a word it gives, and its doubt says its clock runs ahead (the ninth review’s F1; the final review’s F1H). - GRACE_
MINUTES 🔒 - LATE_
UNTIL 🔒 - Until when after a dose’s time this computer may show its reminder late while a phone shares the doses (a try after the first that did not go out, a dose an earlier Sioul here tried, a reminder waiting for news): three minutes before the phone’s alarm, so that what it shows reaches the phone first (its exchange each minute, the server, the phone’s own pull at its alarm); later, the phone’s alarm and the question on the past take it up (review of battery part C, the fourth review’s H2).
- MISSED_
HOURS 🔒 - How far back a dose due while Sioul was closed is asked about, and the minutes a dose is reminded live before that.
- SHOWN_
EVERY 🔒 - SHOWN_
WATCH 🔒 - How long a reminder shown on a phone is checked again (every quarter of an hour, the others’ news read first), so that a dose marked on another device takes it away: three hours after the dose’s time.
- UNSURE_
WAKE 🔒 - The longest an opening’s news counts as late when this device cannot
tell whether its own news came in time (a sync app carries the folder:
paused, or stopped, unseen from here): a longer wait is as likely this
device’s own outage, and would hold the doses of a closed device in doubt
that long, for its next
WAKESopenings (review of 10 October 2026, R8). - WAIT_
FOR_ 🔒NEWS - How long a dose not known here waits for news from your other devices
before it is reminded all the same, the doubt said; a phone’s alarm, when
a computer keeps the doses, waits as long for the computer’s reminder
(
sioul_core::health::ALARM_AFTER, one moment for both). - WAKES 🔒
- How many of a device’s openings are kept to time the next: an opening whose news came late once (a phone offline when picked up) holds the wait for this many more, then goes.
- WAKE_
GAP 🔒 - Each minute: a dose due is reminded once, quietly, with “Taken”; a refill
or a renewal coming becomes a task in a list kept on this computer.
How long a gap between two of this computer’s ticks (each minute) makes
its coming back a new opening (
devices::resumed): three minutes, two ticks and their exchanges missed (asleep, the machine frozen), so that a laptop woken has no phone’s word on it until a phone read it awake (the seventh review’s C1). - WORD_
FRESH 🔒 - How long a phone’s word counts on this computer after this computer last
saw that phone’s entry change (
Peer::seen): twice the hour within which a living phone restates its entry (devices::RESTATED), one restatement missed allowed. Past it the phone may have taken its word back (said this computer off, or stopped counting it after a week’s silence) without this computer hearing it: no word, this computer is not the first (the eighth review’s N1, N2).
Statics§
- ACKED 🔒
- Since when every device that must (
must_acknowledge) said in its sealed entry that it read this computer’s opening,start, as this process saw it first: kept across ticks for the same opening; none while one has not. - ASKED 🔒
- The question on doses due while Sioul was closed: asked once a session.
- KNOWING 🔒
- One look at a time at the others’ claims.
- LAST_
TICK 🔒 - This computer’s last tick (Unix seconds; 0 none yet).
- MOVED 🔒
- When the pause to move was last offered, or Sioul started (Unix seconds).
- PULLED 🔒
- Whether this device’s own pull from the server went through lately, as
knowlast saw it (share::Others::news): a phone’s alarm takes a computer’s “closed” as its word that it did not remind a dose only then (dose_reminders::others; the sixth review’s C1). - REMINDED_
THERE 🔒 - “Reminders come on
<computer>”, when another computer keeps them. - SENT 🔒
- Doses reminded in this session: never twice, even when the record cannot be written.
- SHOWN 🔒
- The day the page shows (
show_week): its week is made. None: today. - STATE 🔒
- The doses’ state is read, changed and written by the minute’s tick, the page and the notifications’ buttons: one at a time, so that none writes back an older state over another’s mark (a dose shown untaken could be taken twice).
- TICKING 🔒
- One tick at a time: a slow one (a shared folder) is not overtaken by the next.
Functions§
- acked_
after 🔒 ACKED’s next value: kept for the same opening while all still say it, fromnowfor a new one, none while one does not.- acknowledged_
openings 🔒 - A phone’s word on each computer it counts now (
Entry::acked): the opening of that computer’s entry it read. Written by phones only, of computers only: none elsewhere (the seventh review’s L4). A computer said off, forgotten or silent a week here goes from it (C1). - acknowledged_
since 🔒 ACKEDbrought up to date atnow; since when all acknowledged, if they do.- acknowledgements 🔒
- What each phone’s sealed entry says of
computer’s opening (devices::Entry::acked), by phone. - alarm_
again 🔒 - When a dose’s alarm in doubt within the wait for news asks again: as soon
as it may be known (
known: a device closed before the dose, once the news of an opening had the time to come), a minute apart at least; known already by what was read (knownnow), in doubt only because no news came since the alarm began, nothing tells when news comes: at the end of the wait, as for a doubt that has no end in view, then reminded with the doubt said if none came (until 10 October 2026 it asked each minute, a pull each time: R9 of that day’s review). - alarm_
decide 🔒 - At a dose’s time, Android’s alarm asks what to say (
alarms), maybe with nothing on the screen. What your other devices marked is read first (share::exchange_here: Sioul’s own pull from the server while it works, else the sync app asked to bring it; an exchange without notes and papers, which never holds a dose back); then, as the window would: taken, not taken said, or reminded already: nothing; kept by another device you use: its turn, asked again after the wait for news; not known: after that wait, reminded with the doubt said first; else the dose. Recordedremindedonly when shown, so that another device still reminds what was not. JSON {show, title, body, again_at (Unix ms, 0: never)}. - alarm_
taken 🔒 - “Taken”, pressed on the phone’s reminder. More than half an hour late, when
it was taken is asked in the window instead (
open). JSON {done, open, line}. - alarms_
coming 🔒 - The coming doses, as Android’s alarm clock is given them (
alarms::schedule): [{key, at (Unix milliseconds), title}], from half an hour ago to two days ahead, those marked or reminded left out. A record that does not read leaves none out: the decision at their time reads it again. - all_
acknowledged 🔒 - Whether every device that must (
must_acknowledge) said it read this computer’s openingstart, that very one (acks:acknowledgements): a word naming another opening, later or impossible, says nothing (M1); a word of a phone not heard here withinWORD_FRESHsays nothing either (N1, N2). - answer 🔒
- apply_
medicine 🔒 - A medicine made (
idempty) or changed inhealth, as its form gives it: its id, or what is wrong, nothing changed then. - apply_
prescription 🔒 - A prescription made (
idempty) or changed inhealth, with its medicines as its rows give them: made, changed, taken out. Every row is read before anything changes: what does not save changes nothing. Its id, or what is wrong. - apply_
replaced 🔒 - The devices another device says it replaces (
devices::Entry::replaces; this device’s own entry’s too), counted as forgotten here (Peer::off,Peer::forgotten: no word owed on this computer’s openings, no doses waited for from them) while they said nothing newer than the replacement says: a new start, a later time of their entry, a claim renewed since. A phone said replaced wrongly counts again by itself the moment it speaks. Read anew at each look, never kept as a mark. - block_
name 🔒 - A block’s name: its own, else its usual one by its key (“meal:1”: lunch); one added for a day without a name of its own: “Meal”, “Rest”.
- blocks_
now 🔒 - A day’s own blocks as they are: its changes, its meals pushed past its events.
- capitalized 🔒
- “Wednesday”: a word’s first letter in capitals, as a title starts.
- card_
doses 🔒 - Today’s doses for the card on a phone’s home screen (
homecard): those due and not marked, from their time on, as the Porch has them (due_today: until marked, the day’s end, or twelve hours after their time), and those still to come today; each with until when it is known not marked on another device, the Porch’s rule given ahead (doubts_now: every other device heard within five minutes), 0 when it is not known from its time on. A record that does not read is never read as empty: every dose is then not known. Whether doses show while you sleep or pause is the card’s frames’ to say. - card_
known_ 🔒until - Until when a dose due at
duestays known not marked elsewhere, seen fromfrom(doubts_now: each other device fresh five minutes after it was last heard in full):untilwhen nothing ends it before; 0 when it is not known atfrom. - change 🔒
- The record changed by
change, under its lock; one that cannot be trusted is repaired first, then changed. Returns what went wrong, else “”. - change_
day 🔒 - change_
health 🔒 - The health file read, changed by
changeand written back, all under its lock, which the sharing takes too: a change is set over the medicines as the file holds them then (Health::change), never over a copy read earlier. - change_
need 🔒 - A day’s block changed, that day only, as the page asks (JSON: its
date, “2026-10-07”, today when none, andsioul_core::needs::DayEdit: key, action, from, to…;Needs::change_day). The plan and the page follow; a block moved is not said again: moving it never brings a nag. Returns what went wrong, else “”. - change_
records 🔒 - The records changed by
change, under their lock; ones that cannot be trusted repaired first, then changed. Returns what went wrong, else “”. - chat_
minute 🔒 - One more minute in a chat; returns whether chats are covered now.
- chats_
covered 🔒 - Whether chats are covered now.
- choose 🔒
- You chose, seeing answers that differ (
DoseRow::choose): taken (at the time the earliest “taken” said, else now), or not taken. Your answer here, every answer saying otherwise taken out, on purpose; the marks beside, for an older Sioul, as you chose; not taken after all, the doses its take moved go back. Returns what went wrong, else “”. - clock 🔒
at(Unix seconds) on the clock inzone: “12:30”.- coming 🔒
- What comes for a prescription, the soonest first: the next visit to the pharmacy (a month back at most), and the day to renew it by.
- coming_
night 🔒 - When the night’s own notice may come in the next nights, for a phone’s
alarms (
eventalarms::coming): as each night’s wind-down begins, while sleep is kept with its notices, and in the quarter of an hour after, asToday::duegives it, unless given here already; each (day:night:<date>, Unix seconds). A start just past stays as it was, so that the list stays the same from one minute to the next: Android rings it at once. - covered 🔒
- The medicines tied to a prescription, unless its title already names them all (“Levothyroxine 75 µg” for Levothyroxine).
- day_
view 🔒 - One day: its list (blocks, those taken out that day, its doses) and what its column draws.
- days 🔒
- Each day’s own meals, naps and nights (
sioul_core::needs::Days). The moves and skips of today an older Sioul kept on this device (needs-today.toml) are moved into them once, as times. - decide_
night 🔒 - A phone’s alarm as the night’s wind-down begins (
eventalarms, “day:night:…”): the night’s own notice as a computer’s minute says it (needs_now), from the device you are at as who keeps the reminders reads, never claimed from there (share::looked). Shown in Android’s notifications with “Close the whole day” while that night’s review is to give, and “Options…”, each opening Sioul on its sheet or its question. {“shown”: true}; {“again_at”: ms} rung early, or kept here only lately; {} when it does not come. - device_
forget 🔒 - A device silent for a week, forgotten: not listed until it says anything newer.
- device_
forget_ 🔒doses - A device whose files you removed from the folder while it no longer
counted for the sharing (it left, was forgotten or replaced): forgotten
by the doses too, exactly as “Forget it now” does, before its claims go
(its entry too, once nothing needs it): a device whose entry no longer
reads is known by its claims, as an older Sioul, and with none left the
doses would doubt for it until it had been silent
SILENT_DAYS. It counts again if it says anything newer. Returns what went wrong, else “”. - device_
off 🔒 - A device you say is off (
off), or not any more: not counted for the doses until it says anything newer (a new start, a new export, a claim), said plainly meanwhile (shared_note, Settings). It never answers a dose for you. Returns what went wrong, else “”. - device_
rows 🔒 - Your other devices, as this one knows them, for Settings: nothing red, no
counts.
holders: the devices that hold the newer form of what travels back, or run an older Sioul once it travels (share::formats), with when each was last heard (seconds, 0 when nothing says it) and whether it holds it back; each is listed (holder_rows). - device_
rows_ 🔒of - device_
start 🔒 - A device named at a sentence’s start: “The phone”, “Another device of yours”, else its name as it is.
- device_
word 🔒 - A device as a doubt names it: “the phone”, else its name; one whose name is not known (an older Sioul on a phone says “localhost”), “another device of yours”.
- differ_
sentence 🔒 - Answers that differ, each said, the earliest first: “Marked taken on the
phone at 08:02, skipped here at 08:10. Check which is right before taking
it.”
me: this device’s id, said “here”. - dose_
info 🔒 - What the late dose’s question shows, as JSON: {name, dose, due, now, hours}.
- dose_
open 🔒 dose_open_now, from what was read (records: the dose record and the records come from the other devices; none when one does not read): a dose of today’s, its time come (twelve hours back at most), answered nowhere this device knows; the records unread, any such dose.- dose_
open_ 🔒now - Whether a dose’s time has come and it is not marked yet, as the Porch
still asks about it (until the day’s end, twelve hours at most): while one
is and another device runs Sioul, a phone in the background keeps its
two-minute steps, while you sleep too, so that a mark made there comes
within them, not at its next slow look (docs/health.md, “Knowing”;
steps::keeps_close). Read only, nothing repaired here; a record that does not read counts every dose whose time has come as open, never as none, and only within the same hours: never before a dose’s time nor past its day’s end (review of battery part C, G4). - doses_
for_ 🔒card card_doses, from what was read. A dose answered differently on two devices (doses::answered: taken on one, said not taken on another) is on the card too, never known: “check before taking it”, as the Porch asks you to choose.- doubt_
now_ 🔒with - A dose’s doubt as what stays in view says it (the Porch, the Health page,
where a dose shows due hours after its time: as of now,
health::doubts_now), and a “This device is off” for each device it names (one: “This device is off”; several: each by its name). None for a line that could not be read, nor a device that does not share its doses: its being off would lift neither. - doubt_
of 🔒 - A dose’s doubt as its reminder says it, at its time (
waking: the waking it waited for, else its time); “” when it is known. - doubt_
unread 🔒 - The same, at an alarm whose pull did not go through since it began
(
share::news_missed: when, and the devices whose entry or health claim says more since): any other known closed by what was read before is said in doubt, as last heard (sioul_core::health::doubts_unread). - doubt_
unread_ 🔒with - The doubt,
firstsaid before what the devices leave unknown (a reminder that comes late, one another device may have shown): “Sioul can’t tell whether it was taken: …. Check before taking it.”; “” when nothing is. What looks back counts from the dose’s time, the opening for it fromwaking(sioul_core::health::doubts_at; the sixth review’s M1). - drag_
need 🔒 - A day’s block moved by a drag on the page’s timeline (
change_need’s JSON: “move”, or “times” for one of its ends), changed as “Move to…” and “Change its times…” change it, then “Undo” offered for ten seconds, which puts that day’s block back as it was. Dropped where it was: nothing changes, nothing to undo. Returns what went wrong, else “”. - due_of 🔒
- When a dose is due, from its key (
<medicine>@<Unix seconds>). - elsewhere_
said 🔒 - Why a phone’s alarm cannot know it is a dose’s first reminder, in words,
each device said (
dose_reminders::others): “the desk may have shown its reminder at 08:00”, “Pixel may have reminded you too, by its own alarm”. - errands_
list 🔒 - The list the errands go to: the one chosen, else your usual list, else the first list on a server (so the phone has them), else one on this computer.
- first_
here 🔒 - Whether this computer may remind a dose to remind from
sinceplainly, as its first (docs/health.md, “What became of a reminder”; the sixth and seventh reviews’ C1): alone (sharing off, or no other device in the folder); or its opening, its claim and its records written (told), the doses kept here since beforesince(kept_since), and every phone’s word that it read this opening seen hereleadbeforesince(acked). Else it is as a computer opened after the dose: quiet around a phone’s alarm, then the doubt first. - first_
wait 🔒 - How long this computer’s first reminder of a dose may wait for news, its
window as its first: until three minutes before a phone’s alarm while a
phone shares the doses (
LATE_UNTIL), else ten minutes (WAIT_FOR_NEWS). - for_
professional 🔒 - “Show to a doctor or pharmacist”: a prescription’s medicines (its id), or
all those taken now (“”), as JSON (
ForProfessional). - for_
professional_ 🔒of - A prescription’s medicines (
prescription, its id), or those taken now (“”: not paused, not past their last day), for a professional, in your language; the generic names as typed (international). - forgotten_
here 🔒 - Whether
idis forgotten here (Forget this device), or replaced by another device (apply_replaced), as this device last knew it. - from_
the_ 🔒future - Whether a copy of an entry is dated more than
FUTUREahead ofnow. - held_on 🔒
date‘s events’ held times: today’s from the minute’s cache, another day’s read now.- held_
today 🔒 - Today’s events’ held times (their margins counted), read again five minutes after at most: the needs’ tick runs every minute.
- hhmm 🔒
- “8:00” → “08:00”, as the day’s list writes its times; what does not read stays as written.
- holder_
rows 🔒 - Every device holding the newer form back has its line, so that the window says which (docs/database.md, “The format of what travels”): one the rows do not list (known to the sharing alone, by what it shared before, or forgotten here while the sharing heard it since) is added, with “Forget this device”: it is not counted for your doses, so forgetting it makes no dose look known. One listed keeps its own line: forgotten only once silent for a week, as any device, since a device counted for your doses and forgotten could make a dose it took look not taken.
- how_
long 🔒 - How long since
since, in words: days, then weeks, months, years. - is_late 🔒
- Whether a dose marked now is late: more than half an hour past its time.
- is_zero 🔒
- joined 🔒
- Reasons said one after the other, as
words’ language joins them (“…; …”, in French “… ; …” with its thin space: the fifth review’s L6). - kept_
here 🔒 - Whether this computer keeps the doses now, as the claims read.
- know 🔒
- What this computer knows now: the others’ claims on the doses read (each says how far it wrote its records, and whether it closed), set against what was read of their records here.
- late_
reminded 🔒 shown_late’s record: a reminder atnow, unless reminded or marked meanwhile (the earlier word kept); theunshownof its first try stays, a reminder outweighing it (HealthState::reminder_unshown).- late_
reminder_ 🔒wanted - Whether a dose’s reminder may still be shown: neither marked here (taken, or said not taken) nor answered on another device, nor reminded since (another device took it up: a phone’s alarm rang): what the phone did is never contradicted, and nothing is ever said of it but a reminder.
- late_
said 🔒 - A late reminder’s words: “Check first: …”, then its time and why Sioul
cannot tell, why it is late first: its first try could not be shown in
time (
Late::Retry), it was shown and not confirmed in time (Late::Unconfirmed), or another device may have reminded it (None); then what the devices leave unknown, fromsince. - late_
words 🔒 - The words of a dose’s reminder shown late on this computer, the doubt
first, always (
late_said); none when it is no longer to remind (still_to_remind), or its grace is over (GRACE_MINUTESfromsince: its question on the past takes it up). - later_
minutes 🔒 - The minutes “Later” moves a block by.
- latest_
time 🔒 - The latest of an entry’s times (its device’s clock).
- learn_
with 🔒 - The same,
newssaying whether this device’s own news was flowing now (share::Others::news), for timing the others’ openings. - let_go 🔒
- The doses kept elsewhere a moment: this dose’s tries end here for now, nothing promised (never “none again”: the sixth review’s M3), and it is taken out of this session’s sent ones, so that the tick works its plan out again should the doses come back here within its grace.
- listed 🔒
- “Levothyroxine and Magnesium”, “A, B and C”.
- load 🔒
- load_
peers 🔒 - mark_
device 🔒 - marked_
lately 🔒 - The doses of the last day marked taken or not taken: their reminders, if
shown on a phone, are taken away (
alarms::schedule). - medicine_
row 🔒 - A medicine as the page and its forms read it.
- medicine_
rows 🔒 - The medicines, in the order they were added (a row keeps its place).
- midnight 🔒
- Midnight of
dateinzone, Unix seconds. - missed 🔒
- The Porch’s doses, as JSON (
PorchDoses), made off the window’s thread. - missed_
rows 🔒 - Doses neither marked nor reminded: a question on the past, each saying
when whether it was taken is not known here. Three questions, each its
own heading: those due while Sioul ran nowhere, then those due while it
ran but whose reminder could not be shown (no notification server: never
said “while Sioul was closed”), then those whose reminder went and was not
known shown (
told: what each device did); by their time within each. - missed_
title 🔒 - The notification’s title for the question on doses neither marked nor
reminded (
missed): “While Sioul was closed” only when it was; “A reminder could not be shown” when Sioul ran; both kinds, a title true of both. - moment_
said 🔒 - A moment (Unix seconds) as a doubt says it (
when_said). - move_
today 🔒 - A block moved today only (the question, a notice’s “Later”): by
minutesmore (“Later”: by the minutes set, again and again), or to start attime(“13:30”). Returns what went wrong, else “”. - movement_
minutes 🔒 - Minutes of focus before the pause to move; 0 when off.
- movement_
tick 🔒 - The pause to move and stretch, every so many minutes since Sioul started
or since the last one, without waiting for a focus session; a session
running offers its own (
FocusWindow.qml). A desktop notification: it reaches you with the window hidden, from the computer you are at. A phone makes none (docs/android.md, “Notifications”): nothing is tried there, so that its status line never says notifications are not made on Android (the owner’s new phone, 16 October 2026). - must_
acknowledge 🔒 - The devices that must say they read this computer’s opening before it
may be a dose’s first (
first_here): every phone in the folder that has not stopped sharing and that you have not forgotten here, counted or not, said off or not, silent or not (the seventh review’s C1: what counts is each device’s own view, maybe stale); and every device whose entry does not say what it is (an older Sioul, one not read), which never says it: this computer is then never the first. - name_of 🔒
- named 🔒
- A dose as a reminder names it: “Levothyroxine · 75 µg”.
- named_
by 🔒 - A device named by its id, from what is known here of the others: “the phone” when it is the one phone, else its name; one not known, “another device of yours”.
- named_
of 🔒 - A device as a doubt names it, from what is known of it.
- needs_
now 🔒 - The needs’ notices that may come at
now, each its block and whether it is the heads-up, marked given on this device (Today::due): two at most a block, each once, only near its time; none while an event goes on, none for a block quiet or taken out that day; as the matrix of what reaches you lets them come (as usual, nothing while you sleep, in a pause or in Free time). The window’s minute on a computer and a phone’s alarm at the night’s start both ask here (needs_tick,decide_night). - needs_
page 🔒 - The usual meals, naps and night as the page’s settings set them, as JSON: the settings, the usual names, the long gaps between meals.
- needs_
tick 🔒 - Each minute, from the computer you are at (
needs_now): a block’s heads-up about the work,heads_upminutes before it (“No new big task”), with “Later”; then one at its time. Its name and time only: safe to be read by someone else (docs/health.md). A phone shows only the night’s own, at its alarm (decide_night). - needs_
today 🔒 - Today’s meals, naps and night as they are now, as JSON: [{key, kind,
name, from, to, skipped, past}], for the question (
Interruption.qml). - newest_
entries 🔒 - Each other device’s newest entry read here (
learn_with: an older copy put back never replaces it), asknowlast kept them, of the devices whose entry reads now only (Peer::said), and not set aside: one no longer read, or dated far ahead, says nothing. Its words (Entry::acked) only those the copy read now says too: a copy that is no news (an older one, one written in the same second, one of a phone whose clock was set back) may take a word away, never give one (the final review’s F1H). - newest_
of 🔒 - news_
from 🔒 - From when a phone’s alarm waits for news of a dose due at
due: its time; the dose due while sleep or a pause held it (hours::woken: when it began and ended), the waking, when a computer keeping the doses reminds it too, so that the two never remind it together, both plainly (review of battery part C, the fourth round). - night_
of 🔒 - Which day a night is: the evening it starts, or, its bedtime after
midnight, the evening before (
Needs::kept_with’s rule). - night_
offered 🔒 - The night’s own notice’s buttons (docs/reviews.md): “Close the whole
day” while that night’s review is to give at
now, its press carrying the night’s day (“night:2026-10-14”), then “Options…”, the block’s question. - not_
taken 🔒 - A dose not taken, said afterwards: asked no more. Returns what went wrong, else “”.
- note_
minute 🔒 - What a minute of
tickdid, written in the doses’ record: the reminders shown, those that surely could not be, and those sent whose fate is not known, bothunshown(the question on the past says Sioul ran; an older Sioul reminds them; which of the two, and what each device did, is indose_reminders), and the errands’ tasks made. - note_
wake 🔒 - How late the news of a device’s opening came here, kept (
PeerSeen::wakes), when this device’s own news was flowing then (news: its own pull went through lately; none when a sync app alone carries the folder, the delay then counted up toUNSURE_WAKE). Its own pull stale or failing: the delay is its own outage, not timed. - open_
canaries 🔒 - Each of
keysopened here, not taken yet, unless a device opened or answered it already. - open_
due 🔒 - The doses due in the last hours (as far back as a dose is asked about), answered nowhere this device knows: their records opened, not taken yet (the canary), where no device opened them yet.
- page 🔒
- The health page, as JSON: the week of the day it shows, and what only today says.
- peers_
path 🔒 - phone_
alarms 🔒 - Whether a phone may remind the doses by its own alarm: one in the folder, counted or not (silent a while, its alarms may still be set), or a device whose entry does not say (an older Sioul, one not read): this computer then keeps quiet around that alarm, promised (the sixth review’s R3).
- plan 🔒
- The plan for a dose to remind from
since(its time, or the waking it waited for), atstamp:own, this computer’s entry for it (read: the file read here);first_ok, whether this computer may be its first (first_here: the phones’ word on its opening, beforesince);alarms, a phone may remind it by its own alarm ten minutes on: none from here around it, promised. The rule: a first reminder is plain only where it is the dose’s first; every other says the doubt first; none twice in the same words. - porch_
doses 🔒 recordsandme(this device’s id): today’s doses whose answers differ on your devices come too, both answers said, until you choose.- prescription_
rows 🔒 - The prescriptions, in the order they were added, as the page lists them.
- promise 🔒
- This computer promises no notice of the dose
keyuntiluntil(dose_reminders::NEVER: none again); a longer promise kept. - quiet_
since 🔒 - Since when another device has said nothing, as this device sees it: the
later of when this device saw its entry change and its own last word
(
Peer::seen,Peer::heard), as “Forget it now” judges it (FORGET_NOW_AFTER); none while this device knows nothing of it. - record 🔒
- The doses’ record. One that cannot be trusted is never read as empty: it
is repaired (
repair), and the doses due before are said not known. - record_
answer 🔒 - Your answer for a dose, captured here (its time
at), in the doses’ records, beside the marks:settletakes every other answer saying otherwise out (you chose, seeing them). Returns what went wrong, else “”. - record_
doubt 🔒 - record_
doubt_ 🔒path - records 🔒
- The doses’ records (
sioul_core::doses: each dose that fell due, and the answers your devices captured), asrecordreads the marks: records that cannot be trusted are never read as empty; they are repaired, and the doses due before are said not known for a day. - refilled 🔒
- Fetched at the pharmacy today: the next refill is counted from now.
- remove 🔒
- A medicine or a prescription taken out; returns what went wrong, else “”.
- removed_
at 🔒 - Where a list lost one block: the place taken out, when the rest is the same.
- repair 🔒
- A record that cannot be trusted: nothing it held may be taken out on your other devices, so the sharing forgets it first and reads it again from every device’s records at the next exchange; it is kept aside in the same step, before any exchange can run, and a new one starts. Sharing failing that, it is left as it is: never started again empty where the sharing could take marks out elsewhere.
- repair_
records 🔒 - Records that cannot be trusted, as
repairdoes the marks: the sharing first forgets holding them and reads them again from every device’s records; they are kept aside in the same step, and new ones start. - repair_
told 🔒 - A reminders’ file that cannot be trusted, as
repair_recordsdoes the records: read again from every device’s at the next exchange, kept aside in the same step; the doses due before said not known for a day (write_record_doubt). - replaced_
now 🔒 - What a replacement says of
idnow (devices::Replaced): its last start as kept here, and the latest it was heard of, from its entry, its claims and its records (share::heard_of), in milliseconds. - replacements 🔒
- Every replacement said (
devices::Entry::replaces): by the entries read now, by the newest copy of each kept here (an older copy put back never takes one away), and by this device’s own entry (a phone that joined in another’s place). - said 🔒
- A message with its words given, in
words’ language (say, for any translator). - save_
medicine 🔒 - A medicine made (
idempty) or changed; returns {“id”} or {“error”}. - save_
needs 🔒 - The usual meals, naps and night saved as the settings give them; a meal or a nap taken out, the days’ changes of those after it follow them to their new place. Returns what went wrong, else “”.
- save_
peers 🔒 - Written whole beside its place, then renamed over it (
share::write_atomically): a crash in mid-write never leaves half of it, which read as nothing would lose the newest copies kept, the openings read and the off and forgotten marks (final review of 15 October 2026). - save_
prescription 🔒 - A prescription made (
idempty) or changed, with its medicines; returns {“id”} or {“error”}. - set_
setting 🔒 - The pause to move and the chats’ limit: “movement.enabled”, “movement.minutes”, “chats.enabled”, “chats.minutes”, “chats.locked_minutes”.
- set_
taken 🔒 - A dose marked taken, or not, as it happens: taken every few hours, the next doses come that many hours after now; a mark taken back puts them back. Returns what went wrong, else “”.
- settings_
view 🔒 - The page’s settings (⚙), as JSON.
- shared_
note 🔒 - Why the doses here may not be all: this computer alone, or what is not known of your other devices now; “” when all is known.
- show_
health 🔒 - The Health page, the doses due while closed and today’s meals and naps, made on a thread (they read the doses’ record and the other devices’ claims, a shared folder that may be slow) and shown.
- show_
week 🔒 - The page shows the week of
day(“2026-10-07”); one that does not read: today’s. - skip_
today 🔒 - A block without notices today, or with them again: kept free all the same.
- state_
held 🔒 - still_
to_ 🔒remind - Whether a dose is still to remind, as read here now: neither marked nor answered anywhere, nor reminded anywhere (the marks’ record, or a device’s notice shown).
- take_
problem 🔒 - Why takes could not be set, in words; with the medicine’s name in a prescription’s form, where several are.
- taken_
late 🔒 - A dose taken late, at
time(“09:30”, the last such time before now), as you say: marked then; for a medicine taken every few hours, the next doses that many hours after it. Returns what went wrong, else “”. - tell_
mine 🔒 - This computer’s entry for the dose
keychanged bychange; false when it could not be written. - this_
device 🔒 - This device’s id in the sharing (“” before it has one).
- tick 🔒
- tied 🔒
- The medicines tied to a prescription (
Medicine::prescription), in the order they were added. - told 🔒
- What each device did to remind each dose (
sioul_core::dose_reminders), as read here; none when the file cannot be trusted (repaired first, the doses due before then said not known for a day:repair_told). None is never read as “nothing done”: a phone’s alarm then says the doubt. - usual_
name 🔒 - A block’s usual name, in your language: breakfast, lunch, dinner, then “Meal 4”; a nap; winding down for the night.
- week_
events 🔒 - The events of the week from
monday, read again five minutes after at most: the page is made again each minute while it is open. - week_
view 🔒 - The week of
day, Monday to Sunday: each day’s list and timeline, and the hours the timeline shows (the same each day). - when_of 🔒
- What a medicine says of its takes: each with its amount when they differ (“08:00 · 1 tablet, 20:00 · 2 tablets”), else its times, or its schedule in words.
- when_
said 🔒 - A moment as a doubt says it: “at 07:45” today, “on Monday 5 October at 07:45” before.
- why 🔒
- Why a dose is not known, in words: “your laptop: last heard at 07:52”.
- why_in 🔒
- The same, in
words’ language (the tests give theirs). - why_
parts 🔒 - Each reason in words, one per doubt.
- woke_
from_ 🔒gap - Whether a tick at
now, after one atlast, comes back from a gap (WAKE_GAP); never the first tick, nor a clock set back. - word_
lead 🔒 - How long before the dose’s time the phones’ word must be seen here: two
minutes (
SKEW) and the most any of them was measured ahead of this computer’s clock (Peer::ahead): a phone ahead decides its alarm that much earlier (the seventh review’s L1). - words 🔒
- When a medicine is taken: its times each day, “08:00 · 20:00”; every few days or hours, in words (“every other day at 08:00, from Sunday 4 October”).
- words_
of 🔒 - When a medicine taken every few days or hours is taken, in
words; at set times, its times. - write_
record_ 🔒doubt