Morning Ritual
Morning Ritual is OptimalOS's AI-driven task reprioritization loop. A 1M-context model (DeepSeek-R1 by default) scores every open task each morning against a RICE-lite rubric, hard distribution caps keep the top of the queue tractable, and a TODAY widget on the dashboard surfaces the three things you should actually be working on right now.
The shape of it: drop fresh context (a "brief") into the system, click Rerank, and the model rewrites the score history with reasoning attached to every task. Manual overrides feed back into the next prompt as calibration so the model converges to your intuition over a few cycles.
Elevator pitch
It solves the "everything is a P1" paradox. Instead of letting urgency inflate without ceiling, the system enforces:
- NOW ≤ 3 tasks (your literal next 3 actions)
- NEXT ≤ 7 tasks (this week)
- LATER ≤ 30 tasks (this month)
- BACKLOG unlimited
If the model places more than the cap allows in a lane, the server auto-demotes the lowest-scoring unlocked tasks. Locked tasks bypass scoring entirely and stay where you pinned them.
The three-second test
Open /. Look at the TODAY card. You should know within three seconds what the next thing to do is. If you don't, drop a brief explaining what changed since yesterday and click Rerank.
What's shipped today
TODAYwidget pinned to the top of the dashboard at/. See TODAY Widget.- Backend tables:
briefs,triage_runs,score_history,score_overrides, plus seven new columns ontasks. See Triage Runs. - HTTP API for briefs, triage runs, locking, and overrides. See Briefs and Overrides & Locking.
- Loom workflow
priority-triageorchestrating snapshot → prompt → Ollama → server-side enforcement → write-back. See priority_triage Reference. - Configuration block
triage.*in~/.optimalos/config.json. See Configuration.
What's planned
Planned surface
The dedicated /morning page (a vertical 7-row ritual: UPTIME → STOPPERS → LOOM → CONTENT → BRIEFS → RERANK → TODAY) and the lane-based /board (NOW/NEXT/LATER/BACKLOG columns replacing the Q/A/R timeline) are described in the Loom charter at optimalOS/docs/superpowers/specs/2026-04-14-loom-charter.md but are not yet implemented. Equivalent CLI commands (optimal brief, optimal triage) are also pending.
Quickstart
- Make sure Ollama is reachable at
triage.ollama_url(defaulthttp://localhost:11434) and the configured model is pulled. Default model:deepseek-r1:14b. - Open
/in the Command Center. - If the
TODAYcard shows "No NOW tasks. Drop a brief and rerank." usePOST /api/briefs(or paste through the briefs UI when added) to add what changed. - Click Rerank. The widget polls
/api/triage/runsevery 2 s; on completion it refreshes via thetriage:updatedcustom event. - Lock the tasks the model got right — locked tasks survive future reruns.