Repository navigation
v0.1.66 — delegate preset, safer auto-approve, visible whitespace
v0.1.66 ships the 5 PRs merged on main since v0.1.65: four merge commits (#507, #508, #520, #522) and one squash merge (#519).
What ships
Delegate a task with one check-in and one packet (#507, #520)
You get a new opt-in preset, /deeppairing:delegate <issue | text>. It runs delegated work in three beats:
- An intent check: one brief that states what the agent understood, what done looks like, what it will decide alone, and what it will ask you.
- A quiet run: the agent interrupts you only for the decisions you need to make.
- One understanding packet: a debrief and its changeset arrive together as a single item to review.
It is guidance only. It uses the existing tools and adds a "Delegated work" paragraph to the pairing SKILL. The design doc (docs/design/delegate-first.md, #507) ships with it.
What this is not. Delegate is not a new autonomy level yet, and it is not the default. The fourth level, the default flip and the packet UI are slices S1–S6 of the design. None of them ships here.
Auto-approve stops when you lower your autonomy (#522, fixes #521)
- The countdown cancels: an armed auto-approve countdown now cancels, and its UI clears, as soon as the artifact stops being eligible. That covers lowering your autonomy level to supervised, a confidence change, the status leaving draft, and hiding the approve button.
- The daemon refuses a stale auto-approval: auto approvals now send
reason: "auto_confidence". The daemon re-checks at commit and answers 409auto_approve_not_permitted, with no state change, if your level no longer permits it. Your own clicks are unaffected. - Limits:
balancedis still eligible, so autonomous to balanced keeps counting down. Thea/Enter keymap countdown is not revoked. A hostile client can leave outreason, which the review noted as a residual.
The CLI preview marks whitespace and invisible characters (#508, #519; fixes #506, #518)
- Changed whitespace is visible: spaces and tabs on changed lines show as
⟨SPACE⟩and⟨TAB⟩. This includes whitespace-only differences inside mixed edits, trailing whitespace and final-newline changes. - Invisible characters are marked: non-ASCII spaces, default-ignorable code points and the braille blank show as tokens (including U+3164, U+2800 and U+034F). Literal marker text is escaped, so it can't pass for a marker.
- Mixed edits (#519): a replacement that also changes text, such as
foo(x)tofoo(y), now shows the trailing space. Ordinary context and identical-layout edits stay readable.
Not in this release: the delegate slices S1–S6, #500 (flaky tests, a WSL clock-offset environment issue), and #430/#434.
Review provenance
- #507: Opus UX review (changes at rev 2, approved at rev 3). Astra's architecture review ran four rounds of findings, all addressed. An independent Opus architecture review approved rev 7, and a Sonnet delta check approved rev 7.1. Merged under Mitch's authorization; Astra's review of the final head is welcome after the fact.
- #520: an independent Sonnet review approved
8404f32e(field names checked against the schemas, 31/31 pass). Merged as4a370dc5after #507 landed. - #522: an independent Opus adversarial review approved
d7350ea2. A Sonnet delta review approvedb2d3ec90. Merged under Mitch's authorization. - #508: Astra approved
b0ab8665(Sol authored), and an independent Claude adversarial review approved the same head (a brute force of 88,741 strings per mode found no collisions). Merged asb9f9fb40. - #519: Sol approved the exact head
6172369d(33,306 distinct pairs, all previews unique), with a root integration review in agreement. Merged under delegated second-agent approval. - Every round is recorded on its PR.
Verification
Measured on a fresh native clone, branch release/v0.1.66 off main e84b2772:
- Version sources: all four read 0.1.66.
- Diff vs
main: 6 files, 6 insertions and 6 deletions (the four version sources plus thedaemon.js/standalone.jsstamps). - Cold build:
pnpm install --frozen-lockfile, thenpnpm build:clean; the regenerated stamps are committed. - Typecheck: 3 of 3 tasks clean.
- Lint: 0 errors; mcp-server 218 warnings (cap 240).
- Tests: full
FORCE_COLOR=0 NO_COLOR=1 pnpm testpasses on the first run, in the foreground: mcp-server 386 files and 5,839 tests, shared 15 files and 321 tests. No timing failures, so there was nothing to re-run. - Checks:
version-lockstepandplugin-bundle-bootpass (2 files, 5 tests). - Rebuild: a second cold
pnpm build:cleanleavesgit statusclean, andgrep -rF "0.1.65" claude-plugin/serverreturns nothing. - Conflict markers: none.