Skip to content

release: Code UX 0.9.10 - #3140

Merged
numnx merged 52 commits into
mainfrom
release/v0.9.10
Jul 16, 2026
Merged

release: Code UX 0.9.10#3140
numnx merged 52 commits into
mainfrom
release/v0.9.10

Conversation

@numnx

@numnx numnx commented Jul 16, 2026

Copy link
Copy Markdown
Collaborator

Code UX 0.9.10

Code UX 0.9.10 is a performance and reliability release for sustained high-concurrency orchestration, durable restart recovery, faster Git and Docker operations, bounded runtime memory, clearer workflow status, and installable cross-platform desktop candidates. It is promoted through release PR #3140.

Release Snapshot

Item Details
Version 0.9.10
Release commit 98a59291154e3bcd6abcffdeccbaae637fe2c907
Release PR #3140
Included dev sync #3142, #3144, #3146, #3148, #3150, #3152, #3154
Included reliability work #3141, #3143, #3145, #3147, #3149, #3151, #3153
Scope 347 files changed across orchestration, provider runtime, Git/Docker helpers, Electron/CI, dashboard, tests, security, and documentation

What’s New

High-Concurrency Orchestration

Wide DAGs now keep scheduling, persistence, provider activity, realtime delivery, and logging resource-bounded instead of retaining high-cardinality state until the Node.js heap is exhausted.

  • Bounds provider activity text, invocation messages, recent-activity caches, snapshot caches, WebSocket queued bytes, structured-log writes, subprocess output, and database/WAL work.
  • Batches wide-DAG task-run, QA-cycle, merge-gate, and workflow-evidence queries while keeping live DAG projections linear and memoized.
  • Parses append-only provider telemetry incrementally and applies suffix-only conversation updates instead of repeatedly rebuilding full histories.
  • Runs Task QA in provider-aware waves of up to four, keeps compact hosts fully utilized, and reserves interactive capacity only on larger hosts.
  • Adds a local-only 400-task adversarial DAG with wide fan-out, layered joins, cross edges, requested-change repair, Sprint QA, CI repair, forced restarts, resource ceilings, and cleanup assertions.

Durable Restart Recovery

Planning and task execution can continue their persisted provider-native sessions after a runtime restart rather than silently starting unrelated fresh work.

  • Resumes interrupted planning in the exact recorded provider conversation and preserved workspace when continuation is supported.
  • Continues completed coding from Git finalization, and resumes QA reviews, QA follow-ups, CI repair, merge-conflict repair, and hosted provider work without duplicate invocations.
  • Preserves asynchronous hosted QA follow-ups in awaiting_provider, reconciles remote truth after restart, and refunds restart-interrupted guardrail attempts idempotently.
  • Reconciles stale provider work, workspace ownership, task state, QA state, and merge state without duplicating active work.

Faster Git and Docker Operations

Active projects now reuse project-scoped Git helpers and bounded workspace sidecars instead of repeatedly creating short-lived containers for individual commands.

  • Reuses one warm helper per Git common directory and runtime owner across selected-project and active-sprint leases, with concurrent command execution and no owner-handoff stop/start gap.
  • Reuses bounded workspace sidecars, verified setup images, and shared runtime-volume readiness while preserving project, repository, credential, and runtime-owner isolation.
  • Makes worker branches collision-safe with remote probing, atomic compare-and-swap publication, ambiguous-push reconciliation, canonical macOS worktree ownership, and fewer repeated fetch/ref scans.
  • Scopes cleanup by runtime owner so isolated Code UX runtimes sharing Docker cannot delete each other’s helpers, workspaces, provider containers, volumes, or test assets.

Provider Runtime and Security

Provider dispatch and prompt transport are more capacity-aware and safer under large workloads.

  • Uses a fresh Jules active-session inventory, reserves externally active work against the configured cap, and applies learned retry backoff while keeping the provider create response authoritative for races.
  • Streams oversized stdin-capable provider prompts from restrictive files instead of exposing them through host or container argument lists.
  • Stops duplicating local CLI prompts in session-tracking storage and uses SHA-256-derived names for ephemeral network helpers.
  • Refreshes the embedded models.dev catalogue used by runtime pricing and model selection.

Dashboard and Live Experience

Sprint and task workflow evidence is now presented consistently across the dashboard, DAG, and live views.

  • Orders sprint phases as Planning, Coding, QA, Pull Request, CI, Merge, and Completion while task/DAG surfaces retain task-specific workflow states.
  • Promotes only real, unassigned human intervention to sprint-level “Human needed”; resolved, worker-actionable, or stale attention does not block the sprint.
  • Exposes Sprints and a focused upper Live view in Easy and Standard modes, adds Schedule in Standard, and keeps detailed task, invocation, and Git evidence in Expert mode.
  • Stores each chat mutation once, aliases project/thread subscriptions without duplicate frames, and avoids heavy snapshot work when no subscriber needs it.
  • Improves dropdown and action-menu viewport clamping, resizing, scrolling, focus behavior, accessibility, and DAG render memoization.

Cross-Platform Release Validation

Release candidates now prove that the actual desktop packages install and start on their native operating systems.

  • Packages, installs, starts, and verifies packaged backend and renderer readiness on Linux, macOS, and Windows.
  • Runs the full Linux, macOS, and Windows Playwright matrix for main-target release validation.
  • Reuses the compiled artifact for isolated npm tarball installation and native runtime verification.
  • Keeps manual desktop diagnostics artifact-only and uploads built candidates even when an installed-app smoke fails, preserving release evidence.

Fixes

OOM and QA Context Growth

  • Fixed the multi-gigabyte heap-growth path that could terminate Node.js with Reached heap limit during sustained provider invocation updates.
  • Task QA now receives the current task’s complete specification and details, the latest activity evidence, and only the titles of completed sibling tasks.
  • Sprint QA keeps the ordered full task list until its estimate exceeds 100,000 tokens, then uses the first half of each task instruction to bound exceptional prompts.

CI Repair and Human Handoffs

  • Charges one CI-repair guardrail attempt per actual provider invocation instead of scheduler replay or publication recovery.
  • Returns no-change results to the provider repair path and avoids spending another attempt when an interrupted invocation is resumed.
  • Deduplicates worker and feature-gate handoffs, resets the exact ledger subject when intervention is resolved, and supports taskless final-merge repair subjects.
  • Keeps automatic QA and CI follow-up running until a genuine configured guardrail is reached.

Electron Installation and Startup

  • Fixed packaged Electron dependency resolution, including the Windows startup failure where zod could not be imported.
  • Validates a copy-safe, hoisted production runtime dependency tree before Electron Builder can package it.
  • Silent Windows installs skip the interactive beta page before nsDialogs initializes, explicitly select current-user mode, preserve NSIS’s required final unquoted /D= destination, and retry only the exact transient 0xC0000005 status with bounded backoff.
  • Accepts the embedded DMG license non-interactively and makes validated macOS smoke teardown deterministic without changing production shutdown behavior.
  • Uses the correct Linux executable path and retains native package artifacts for diagnostics.

Git, Docker, and Realtime Reliability

  • Fixed stopped-helper races, setup-image lock-parent removal, unsafe container-name reclamation, anonymous-volume leakage, foreign-runtime cleanup, macOS /var alias ownership, and invalid ancestor .git mount widening.
  • Fixed branch publication ambiguity and latest-invocation push reconciliation so completed work does not incorrectly enter intervention.
  • Bounds failed-job log warnings so unavailable historical logs do not overwhelm current sprint status.
  • Prevents duplicate conversation frames and disconnects slow WebSocket clients before queued payloads grow without limit.

Validation

Check Result
Typecheck & Lint Pending current release PR
Backend Tests & Coverage Pending current release PR
Dashboard Tests Pending current release PR
Security Audit Pending current release PR
Playwright E2E Pending current release PR
Electron Release Candidates Pending current release PR
CodeQL Analysis Pending current release PR

Additional validated integration evidence:

node_modules/.bin/tsc --noEmit --pretty false
node_modules/.bin/vitest run tests/backend
node scripts/build.mjs
  • The latest local backend run passed 6,151 tests with 12 skipped.
  • A dedicated release-candidate diagnostic built, installed, started, and verified renderer readiness on Linux, macOS, and Windows.
  • The standard Docker CI/QA/restart DAG completed with forced restarts, requested-change repair, sprint-level CI repair, Sprint QA, terminal completion, and zero residual workspace volumes.
  • Rapid orchestration, Electron/HOST QA, merge-conflict, standard DAG, and repeated 129-task stress suites passed during release hardening.
  • The initial performance branch completed the 400-task scenario with 400/400 tasks and 8/8 forced restarts without OOM, stalls, or dependency violations. A later final-release rerun was stopped at the user’s request rather than represented as current-head evidence.

Risk and Rollback

This release touches scheduling, persistence, provider recovery, Git helpers, Docker lifecycle, desktop packaging, CI repair, and dashboard runtime behavior. If a post-merge publication blocker appears, revert the release merge commit before publishing the GitHub Release. The persistence additions are backward-compatible and do not require destructive rollback work.

Known Follow-Up

  • The functional 400-task run passed, but its deliberately strict workflow-p50 wrapper remained above the 35-second performance ratchet and is retained as a future optimization target.
  • GitHub currently warns that actions/upload-artifact@v4 targets Node.js 20 and is being forced onto Node.js 24; update to the next supported action major when available.

@numnx
numnx marked this pull request as ready for review July 16, 2026 13:30
Comment thread src/infrastructure/providers/cli/workspace-manager.ts Fixed
numnx and others added 21 commits July 16, 2026 17:19
…very

fix: harden Windows installer smoke recovery
…9.10

chore: sync Windows RC recovery into v0.9.10
…crash

fix: stabilize silent Windows installer smoke
…taller-v0.9.10

chore: sync Windows silent installer fix into v0.9.10
…crash

fix: harden Windows installer and dependency toolchain
…in-v0.9.10

chore: sync dependency toolchain into v0.9.10
…9.10

chore: sync models catalogue into v0.9.10
fix: sync restart QA DAG assertion into v0.9.10
@numnx
numnx merged commit df94b69 into main Jul 16, 2026
67 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants