Lodestar 1.2.7 — the budget check can finally see the outage
Lodestar 1.2.7
doctor was watching the wrong number, and continuity refusals told agents a rule
without telling them the way out.
npm install --global lodestar-agent-context@1.2.7
lodestar doctor
The budget check could not see the outage it was built for
start renders a bounded projection into 16 KiB. When required records exceed it, it
sheds; past a point it refuses. The cost charged to a session is global required
records plus that project's own.
doctor measured only the global half. So a registry with a modest global footprint
reported healthy while its heaviest project was nearly dead:
before global 10029 of 16384, headroom 6355 healthy
after worst project 15187 of 16384, 1197 left startup_budget_low
Both describe the same registry. Only the second predicts the failure.
The check now reports worst_project — its scope, its own required bytes, its total
startup cost, and what remains — and raises the issue against that project by name.
A check that disagreed with itself
startup_budget.healthy used half the budget as its threshold. The issue used 4 KiB of
headroom. Ordinary registries landed between the two and printed:
{ "healthy": true, "issues": [], "checks": { "startup_budget": { "healthy": false } } }A nested false with no issue and no action is worse than no signal — it asks the reader
to act and gives them nothing to act on. One threshold now drives the flag and the issue
together, so they cannot diverge again.
Refusals now name their exit
Three continuity states stated a rule and stopped:
handoff_not_armed This session does not own an armed lane.
handoff_conflict This session already owns an armed lane.
handoff_pending Cannot disarm while recovery is pending.
Every one of those states has a way out. None of them said so. An agent that reads only
the rule concludes the operation is impossible, stops asking Lodestar, and drives the
raw CLI — which is how a working system gets routed around.
Each now carries the command that resolves it, and the tests assert that the named exit
actually works rather than merely that the refusal happened.
help and version
lodestar help and lodestar version returned unknown_command; only --help and
--version were accepted. Both spellings now answer, including lodestar help <command>.
Upgrading
Schema unchanged since 1.2.0. Refresh the plugin and restart the host so the running
process loads it:
npm install --global lodestar-agent-context@1.2.7
codex plugin add lodestar@personal
Requires Node.js 24.15.0 or newer.
