0.2.16
Behavior changes
- a stopped review PR's repair goal is enqueued, with a daily cap, only when harness helper repair is live; shadow still records it without launching.
- a harness run that exhausts its rework budget is now recorded as a failure and triaged by the heal loop.
- landing now refuses a change whose public files import a module the public export excludes.
- direct old entry commands now refuse with a pointer to harness say/ask, while harness-internal calls keep working.
- the steward no longer re-asks the same invalid working-backwards draft every tick, so its schedule stage stops timing out.
- a seat loop stops relaunching the same checklist cell after three attempts that never landed and asks a person instead.
- pr land --cwd now runs its checks against the tree it lands, not the directory it was launched from.
- install a dev build between releases with self-update --dev and undo it with self-update --rollback; runs record which build ran them.
- Intake digests now distinguish confirmed lens impacts from references, using note-led context and verdict-specific actions without human-decision prompts.
- codex overload now switches the child to grok from a real per-call signal, before retries are exhausted.
elanous brief add|list|composerecords briefing items (claim, domain, priority, deadline, evidence, source) and prints one unsent slot page without sending it.- a GitHub App rate limit no longer parks good pull requests; release-path inspection falls back to the local diff or retries after the reset.
- release cut-branch can append fixes to an existing release branch by fast-forward only.
- self-update --dev now installs through the real installer and never points current at a version without its entry file; rollback restores matching version metadata.
- nested elanous launches stay refused under Codex children and cannot be re-allowed from inside a child.
Known issues
The following issues are known in this release.
- Three test files still fail in the release check, the same as in 0.2.15, and do not affect what you run:
src/domains/surface-events.test.ts(1 test),test/provider-summary.test.ts(1 test) andtest/grounding-seed-paths.test.ts(4–5 tests that hit a 5-second timeout on a busy machine). - The release check for this version re-ran only the two test shards that stalled, after fixing their causes, instead of the full suite.
Security
- ACP Claude runs now strip API keys so they always use the subscription, and refuse to start if a key remains.
Plus 67 internal changes.