Skip to content

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

  • TODAY widget pinned to the top of the dashboard at /. See TODAY Widget.
  • Backend tables: briefs, triage_runs, score_history, score_overrides, plus seven new columns on tasks. See Triage Runs.
  • HTTP API for briefs, triage runs, locking, and overrides. See Briefs and Overrides & Locking.
  • Loom workflow priority-triage orchestrating 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

  1. Make sure Ollama is reachable at triage.ollama_url (default http://localhost:11434) and the configured model is pulled. Default model: deepseek-r1:14b.
  2. Open / in the Command Center.
  3. If the TODAY card shows "No NOW tasks. Drop a brief and rerank." use POST /api/briefs (or paste through the briefs UI when added) to add what changed.
  4. Click Rerank. The widget polls /api/triage/runs every 2 s; on completion it refreshes via the triage:updated custom event.
  5. Lock the tasks the model got right — locked tasks survive future reruns.

Built by Carlos Lenis in Miami