Get Luminair ↑
07of 14 · Features

Nothing gets quietly dropped.

Luminair keeps a ledger of every request you track, checks finished work with fresh eyes, picks the model for each message and watches your spend, so a run that stops halfway cannot pass as done.

luminair · Luminair
Luminair 6 open3 done
09:41Tracked request · Phase 1 · schema migrationdone
09:52Tracked request · Phase 2 · handler dedupedone
10:04Tracked request · Phase 3b · retry backoffdone
10:04Open · Phase 4a · webhook auditowed
10:04Open · Phase 4b · testsowed
10:04Open · Phase 5 · docsowed

The model said it was finished. The ledger says six rows are still open.

What people actually say
“It prematurely stops after completing only a portion, then provides a summary as if the entire task is complete.”

GitHub · anthropics/claude-code, TodoWrite premature-stop, v1.0.85. One filed case finished phases 1 to 3b and left 4a, 4b, 5 and 6 marked [NOT STARTED].
View the source ›

Demand rank #3 Demand score 88/100 Luminair mitigates it Full research ledger ›
What Luminair does about it

The model deciding it is finished is the model's bug. Whether you find out is ours. Luminair keeps an independent ledger of every request, so a half-done run shows as half-done instead of reading like a success. You re-queue the tail in one click, from any device.

What that gets you

07 / Luminair
01

A ledger, not a vibe

Every request is tracked as its own row, with its state. A summary that claims completion does not clear the row.

02

It checks the work

When a tracked item is done, a fresh AI with no prior context traces it through the code and passes or fails it. Tested needs evidence, and only you can mark it confirmed.

03

It notices when things stall

A quiet check runs every fifteen minutes while it is on. An item with no progress for twenty minutes is flagged as possibly stalled.

How it works

In the app

It catches the tail

Nine phases planned, three finished, a confident summary. The ledger still shows six open rows. You re-queue them without rereading the transcript to work out where it stopped.

  • Independent of the model's own todo list
  • Open rows survive across devices
  • Re-queue straight into the session queue
action list
01Phase 4a · webhook auditowed
02Phase 4b · tests for the idempotency keyowed
03Phase 5 · update the API docsowed
Re-queue all 3

Things you are still owed, in one place, on every device.

You decide how much it does

Every part of Luminair is switchable. Run the full ledger on a production repo and turn most of it off for a scratch session.

  • One switch for the whole thing
  • Per-part toggles under its name
  • Requests, Controls and Spend in one panel
what it does · switchable
Track every request in the ledger
Flag runs that ended with work owed
Keep an action list per session
Nudge when a run stops early

Click the name to see everything it does and turn parts off.

Get Luminair

Try it on your own machine.

Free to download. Bring your own key.