Skip to content

release/v0.0.283 — #702 #704 #700 #706 #405 #537 #524 #701 #707 + doctor live + GLM vision - #703

Merged
justrach merged 21 commits into
mainfrom
release/v0.0.283
Sep 1, 2026
Merged

release/v0.0.283 — #702 #704 #700 #706 #405 #537 #524 #701 #707 + doctor live + GLM vision#703
justrach merged 21 commits into
mainfrom
release/v0.0.283

Conversation

@justrach

@justrach justrach commented Aug 31, 2026

Copy link
Copy Markdown
Owner

Next cut after v0.0.282 landed on main. No GitHub tag until asked.

Closes #702, #704, #700, #706, #405, #537, #524.

On this cut

Left open on purpose

Epics and unfinished design (#613 registry listing, #553 widget layer, #551 leftover tracker — /plan//strict already travel with the turn; Normal vs Always-approve is still the same yolo because there is no approval overlay, ADR 0041, #422/#420 detachment, iOS, governed-runs backlog, /doctor durable-registry slice, …). Closing those would be fake.

#699, #705, #701, and #707 stay open for yxlyx to close as superseded. They were folded here, not GitHub-merged to main.

Hygiene

  • Main suite 1887 (floor 1868, slack 25). Tuiguard 18/18. Tier 1 green on the push.
  • Do not merge to main until asked. No tag.
Open in Web Open in Cursor 

cursoragent and others added 6 commits August 31, 2026 09:40
Deleting a staged image chip now drops that queue slot and remaps
remaining [Image #N] markers so the next paste reuses #1. Successful
clipboard_paste receipts omit MIME and bytes until the image is sent
(ADR 0056). Failures may still carry a size.

Co-authored-by: yxlyx <85774423+yxlyx@users.noreply.github.com>
Zig requires every non-void return to be used.
[Image #1] plus its separator is 14 cells, not 13.
The parent timed out at 180s on a loaded GHA runner while the four
primary evaluators can wait 120s at rendezvous. Same SHA was already
green on a quieter runner. Raise the parent to 300s and default an
unset barrier to 45s so scoring still has budget.
Tuiguard probes now have an explicit deadline that kills the process
group, and the parent fails with still-running names instead of hanging
pre-push for hours.

Presence records carry the visible title and saved-session base.
peer_message resolves those before opaque id or goal fragments;
duplicate titles are ambiguous. Older records without the fields still
parse.

Co-authored-by: yxlyx <yxlyx@users.noreply.github.com>
resize-anchor just ran in 58s on a 60s cap. Overlay is in the same
tens-of-seconds band. Keep the default at 60s; only the known long
probes get 90s.
@cursor cursor Bot changed the title release/v0.0.283 — composer image chips sync on delete (#702) release/v0.0.283 — #702 chips, #704 tuiguard, #700 peer titles Aug 31, 2026
yxlyx and others added 2 commits August 31, 2026 15:14
Atomic credential replacement synced file contents but not the containing directory, so a hard power loss could lose the rename. Sync the exact destination directory retained by createFileAtomic after replacement, avoiding a path-reopen race if a symlinked parent changes concurrently.

Exercise the real Linux/Windows file-backed key-store path through repeated merge/load cycles, and describe its platform security accurately: POSIX files use mode 0600, while Windows inherits the home directory ACL. The separately merged symlink policy remains item 1 of #405; this commit completes items 2–3 without duplicating it.

Co-Authored-By: Codegraff <blackfloofie@codegraff.com>
A long current tool turn can pin the cut at one boundary while the
live suffix grows. After two same-boundary attempts that do not shrink
by 2k tokens, stop further summarization spends, announce once, and
take the existing recover/trim path.

Co-authored-by: yxlyx <yxlyx@users.noreply.github.com>
@cursor cursor Bot changed the title release/v0.0.283 — #702 chips, #704 tuiguard, #700 peer titles release/v0.0.283 — #702 #704 #700 #706 #405 Aug 31, 2026
yxlyx and others added 3 commits August 31, 2026 15:21
Dropped and delayed terminal sequences could cancel live work, execute pasted control bytes, retain stale modifiers, or leak protocol tails into the composer. Preserve bounded framing evidence across reads, fail closed on ambiguous debris, keep paste dispatch ahead of controls, and make turn/background spawn failures non-blocking across the fullscreen TUI runtime.\n\nAdd reached simulation, parser, batching, and offline PTY regressions for every affected idle, live-turn, compact, bash, and file trajectory.\n\nCo-Authored-By: Codegraff <blackfloofie@codegraff.com>
Rebasing the input-recovery fix onto v0.0.282 pushed two touched modules over the source ceiling. Move their existing test blocks into reached siblings and set the suite floor to the deterministic macOS pass count, where the remaining platform test is reported as a skip rather than a pass.\n\nCo-Authored-By: Codegraff <blackfloofie@codegraff.com>
The new PTY probe is sequential ESC/paste gaps plus a live `!sleep 2`.
Keep it on the same long-probe list as click/hover so #704 deadlines
do not false-fail a correct run.
@cursor cursor Bot changed the title release/v0.0.283 — #702 #704 #700 #706 #405 release/v0.0.283 — #702 #704 #700 #706 #405 #537 Aug 31, 2026
Meta-prefixed arrows (ESC ESC [ D) were parsed as Escape then Left, which
cancelled a live turn. Skip the extra ESC and decode the sequence. Bare
ESC ESC is still Escape. This was the last leftover on #524 after #537
cleared latched modifiers on .drop.
@cursor cursor Bot changed the title release/v0.0.283 — #702 #704 #700 #706 #405 #537 release/v0.0.283 — #702 #704 #700 #706 #405 #537 #524 Aug 31, 2026
justrach and others added 2 commits August 31, 2026 23:43
…aging gate

visionModel(), the allowlist that /image and paste consult before staging
an image block, treated every glm family as text-only, so glm-5v
(glm-5v-turbo, the explicit vision variant) and glm-5.3 / glm-5.3-flash
(which accept image blocks through the codegraff backend) were refused
with "this model can't see images" even though the models accept images.
Add the glm-5v and glm-5.3 prefixes to the allowlist and cover them in the
visionCapable and visionModel tests.

Co-Authored-By: Codegraff <blackfloofie@codegraff.com>
/doctor now reads the in-process job table and RunBudget (JOB_STATE,
JOB_SHARES_ROOT_PGID, BUDGET_STATE, BUDGET_NEAR_LIMIT, BUDGET_EXCEEDED).
The TUI slash no longer prints a chrome-only "ok · model=" line.

Lease, listener, and orphan findings stay absent: those need a durable
registry that does not exist, and doctor still refuses to invent them.
@cursor cursor Bot changed the title release/v0.0.283 — #702 #704 #700 #706 #405 #537 #524 release/v0.0.283 — #702 #704 #700 #706 #405 #537 #524 + doctor live + GLM vision Aug 31, 2026
cursoragent and others added 7 commits August 31, 2026 15:56
Windows Child.id is a HANDLE. The JOB_SHARES_ROOT_PGID probe is POSIX-only,
same comptime gate jobs.zig uses for group kill.
Fresh registry installs launch  without credentials, but startup previously exited before reading initialize, making Terminal Auth unreachable. Add a bounded pre-auth ACP loop that shares the normal initialize response, rejects authenticated methods with ACP AuthRequired, restores early TUI claims before missing-key diagnostics, and reuses per-record parsing memory.\n\nThe credentialed ACP/TUI runtime remains unchanged; the registry listing must be repinned to the first release containing this commit.\n\nCo-Authored-By: Codegraff <blackfloofie@codegraff.com>
The pre-auth integration test sent its exact 65,535-byte boundary record through text-mode subprocess stdin. Windows newline translation could add a carriage return, making the accepted boundary appear oversized and dropping the first initialize response even though ACP behavior was correct.

Send explicit UTF-8 bytes so record lengths and delimiters are identical on every platform while retaining the real-binary EOF, oversize, ordering, and response assertions.

Co-Authored-By: Codegraff <blackfloofie@codegraff.com>
Legacy terminals encode Alt+Arrow as ESC ESC followed by CSI. Treating the first Escape as a standalone key cancelled live turns and background operations before the navigation event arrived, especially when reads split or stalled.

Keep complete legacy CSI navigation framed as one event through the parser, bounded stall policy, and dropped-head recovery. Genuine double Escape still resolves after the ambiguity window, while narrow evidence preserves bracketed prose instead of guessing it is navigation. Cover idle, live-turn, compact, bash, files, overlay, and paste trajectories without duplicating the broader #537 recovery work this branch builds on.

Co-Authored-By: Codegraff <blackfloofie@codegraff.com>
SS3 after ESC ESC is Escape, not an arrow. A delivered lone Escape does
not rejoin a later ESC CSI. Folded yxlyx #707 onto the earlier 96b6d4f
subset.

Co-Authored-By: yxlyx <85774423+yxlyx@users.noreply.github.com>
@cursor cursor Bot changed the title release/v0.0.283 — #702 #704 #700 #706 #405 #537 #524 + doctor live + GLM vision release/v0.0.283 — #702 #704 #700 #706 #405 #537 #524 #701 #707 + doctor live + GLM vision Sep 1, 2026
@justrach
justrach merged commit 451fa2a into main Sep 1, 2026
10 checks passed
@justrach
justrach deleted the release/v0.0.283 branch September 1, 2026 01:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

3 participants