StratOps

The record that keeps asking

Nothing closes itself.

You record a decision with a reason and a review date. Nothing makes you come back and say how it turned out. StratOps does not invent an answer, and it does not let the question quietly disappear either — it stays open, on a list, until you close it yourself.

01What counts as a loop

Four ways something stays unfinished.

A loop is not a task. It is anything the record is still owed an answer on — a decision, a metric, a stalled piece of work. Real counts, this account, 2026-08-18:

  • Decisions past review0 — the ones with a set date and nobody has checked back since it passed.
  • Decisions gone stale56 — no review date was set, and enough time has passed that reality has probably answered them anyway.
  • Metrics never synced1 — a number the record shows without ever having received a real value for it.
  • Tasks stalled175 — no status change in 14 days or more.
02One question a day

$ get_open_loops

{
  "as_of": "2026-08-18T22:06:05Z",
  "total_open_loops": 232,
  "by_source": {
    "decision_review_due": 0,
    "decision_stale_pending": 56,
    "metric_never_synced": 1,
    "task_stalled": 175
  },
  "rotation": {
    "day": "2026-08-18",
    "note": "Deterministic from the calendar
      day: the same question all day,
      a different one tomorrow."
  }
}

232 things are open. It surfaces one.

Out of everything unresolved, get_open_loops picks the single highest-value question and asks it first, then hands back a bounded, ranked list of the rest. The pick is deterministic — the same one all day, a different one tomorrow, never random, never repeated by accident. Every loop names the exact tool that closes it: record_decision_outcome for a decision, set_task_status for a task, record_metric_value for a metric.

An account with nothing overdue gets no question at all, rather than an invented one. This account is not that account.

03The flagship case

112 decisions recorded. Zero carry an outcome.

record_decision writes the context, the option chosen, the reasoning, and a review date if you give it one. Nothing else touches that row again on its own. record_decision_outcome is the only thing that closes it, and no scheduler calls it for you. So every decision made in six months of real use is still sitting at "pending" — not because none of them turned out one way or another, but because nobody has come back to say which way. 56 of the 112 are now old enough that the record has started asking about them by name.

04What doesn't loop yet

Not everything that opens gets chased.

Observations and ideas are captured the same way decisions are, and get_open_loops does not track either one. They are logged, and then they simply wait for you to come back on your own — the record does not surface them as open questions the way it does a stale decision or a stalled task.

  • 190 observations logged0 triaged.
  • 51 ideas captured2 acted on.

That is a real gap, named rather than papered over. If it starts to matter, the fix is more sources feeding get_open_loops — not a bigger promise about what it already does.

05Where it stops

It does not push. No badge, no digest, no notification when a loop opens. The rotation picks a question once a day, but only once you ask — nothing arrives while you are not looking, here any more than anywhere else on this site. And because zero decisions have a recorded outcome, there is nowhere yet to check whether closing a loop actually made anyone better at deciding — that is Calibration, and right now it has nothing to report either, for exactly this reason.