The deterministic core, in plain terms
FLARE contains no AI in its decision path. When you check in — pain, sleep, energy, each 0-10 — the engine computes a single day score:
score = energy×7 + sleep×3 − pain^1.5×1.8
The score maps to five bands, each with a fixed spoon budget:
- crisis (0-19): rest-first, one spoon, nothing owed
- low (20-39): one or two gentle anchors, long rests
- moderate (40-59): the day takes shape, rests between anchors
- good (60-79): two or three anchors if they stay comfortable
- full (80+): a fuller day, still inside budget
Planning is a greedy fill: anchors are drawn from your own activity catalogue in priority order until the spoon budget is spent, with rest periods placed between them. Replanning after a crash drops the day's score by 25 points, re-derives the band, and keeps what fits — dropping anchors, never adding pressure. The evening review adjusts tomorrow's starting score using fixed rules (−15 after a crash, −10 after a nothing-done day, +5 for a completed plan), bounded so no single day can swing tomorrow wildly.
Every one of these numbers is fixed in code, inspectable, and identical on
every run. The same check-in always yields the same plan — that's the point.
The engine lives in flare/engine.py, ~200 lines, no I/O, no clock reads,
no model calls. All integration APIs are fully open and documented: the same deterministic
engine is reachable over plain HTTPS, and every endpoint's contract is
spelled out in the API reference.