Lodestar 1.3.0 — start always runs
Lodestar 1.3.0
start cannot refuse to run any more, and nothing it drops disappears.
npm install --global lodestar-agent-context@1.3.0
lodestar start --cwd .
The budget was working against its own purpose
The 16 KiB startup budget exists to stop three things: losing context, thrashing, and
reading more than a session needs. It was causing all three.
It refused to run. Required records totalling more than the budget threw
resource_limit. start is the first command of every session, so that stopped all
work in the project — over a record someone marked required, often in a different
project entirely, since a global required record is charged to all of them.
It dropped context and told the agent to go looking. Shed records vanished from the
projection, leaving a count and lodestar find --limit 50. The agent then ran a broad
search and re-read up to fifty records to find one it had a moment earlier. The budget
saved a few kilobytes and spent far more getting them back.
Demote, don't delete
Everything the projection cannot carry is now named:
"available": [
{ "id": "p:sunosavvy:regression", "name": "Regression surface", "kind": "rule" }
],
"omitted": { "context": 54, "required": 2, "hidden": 3 }A stub costs about a twentieth of a record. The agent sees everything that exists in
scope and fetches the one thing it needs with a single lodestar get — no search, no
re-reading.
A fixed order, by value
1 optional context records demoted to stubs
2 advisory work demoted to stubs
3 stubs of optional records dropped, counted in omitted.hidden
4 required records demoted to stubs
5 the governance record last, only if nothing else remains
A required record's content outranks an optional record's name, so step 3 comes before
step 4. Startup always returns.
Verified against 48 KiB of required records inside a 16 KiB budget: start succeeds,
carries four in full, names the other nine, and reports {"required": 9}.
The cost is now visible where it is spent
Marking a record required is where the budget is committed, and it used to say nothing:
lodestar doctor — required records in project:p:sunosavvy now total 17204 of the
16384 startup budget, so start will demote some
Reported, never refused — a bulk import must not fail on its last record.
Upgrading
Schema unchanged since 1.2.0. data.available is new; data.omitted gains
required and hidden counts. Nothing was removed.
npm install --global lodestar-agent-context@1.3.0
codex plugin add lodestar@personal
Requires Node.js 24.15.0 or newer.
