Skip to content

release: Code UX 0.9.5 - #2806

Merged
numnx merged 49 commits into
mainfrom
release/v0.9.5
Jul 10, 2026
Merged

release: Code UX 0.9.5#2806
numnx merged 49 commits into
mainfrom
release/v0.9.5

Conversation

@numnx

@numnx numnx commented Jul 10, 2026

Copy link
Copy Markdown
Collaborator

Summary

Promotes dev to main for Code UX 0.9.5.

This release advances main from v0.9.4 at a5ce32dbb1b99e5c576ff7e39ae60afe02c401f5 to release branch commit fb12e5d09725c48694c463d38486a7bc4d9151e3. The package version moves from 0.9.4 to 0.9.5.

The release centers on a faster managed container runtime, reusable provider/browser assets, a substantially more capable Project Manager with direct durable-memory writes, reliable Easy onboarding and desktop login, repaired Electron docs/pricing/navigation, hardened QA orchestration, and a consolidated cross-platform validation/release pipeline.

Release Snapshot

Item Details
Version 0.9.5
Base origin/main at a5ce32dbb1b99e5c576ff7e39ae60afe02c401f5 (v0.9.4)
Content head origin/dev at c99cb09d9865d22f63662ec390e8e16554374290
Release branch head fb12e5d09725c48694c463d38486a7bc4d9151e3
Scope 228 files changed, 9,271 insertions, 3,505 deletions
Commit volume 35 non-merge commits plus 14 merge commits; 10 first-parent dev PRs since v0.9.4
Release branch release/v0.9.5

Patch Notes

Managed Runtime and Provider Startup

  • Introduces versioned Code UX base/browser runtime images built on Node 24 and Debian Trixie slim, with multi-architecture publishing, SBOM/provenance, signing, scheduled rebuilds, vulnerability scans, and smoke validation.
  • Replaces repeated per-invocation provider installation with verified, versioned, read-only Docker volumes prepared only for activated providers.
  • Adds startup update checks, automatic verified-volume activation, previous-version rollback, status/retry APIs, and age-based asset pruning.
  • Prepares activated provider tools during onboarding and settings changes so the first coding invocation does not pay installation cost.
  • Adds managed/custom runtime selection and migrates the legacy default to managed mode while retaining explicit custom-image behavior.
  • Downloads the Playwright-matched browser directly into a versioned local volume, validates it offline, mounts it read-only, and keeps browser payloads—including Widevine—out of the public runtime image.
  • Preserves headed and headless Playwright capability while reducing the published browser image and keeping browser redistribution boundaries explicit.

Project Manager and Durable Memory

  • Makes Project Manager the dashboard-reply default for all new and imported projects while preserving explicit per-project overrides.
  • Greatly expands the bundled Project Manager instruction with its complete capability map, concise manual sprint planning, scheduler wakeups, custom dashboards and nodes, skills, persistent volumes, rich widgets, and instruction-following guidance.
  • Adds the dedicated add_long_term_memory MCP tool for durable facts, decisions, preferences, patterns, and learnings.
  • Writes direct memories to canonical claims plus their searchable project-memory mirror, with category, confidence, durability, tags, path scope, and optional short-term-memory evidence.
  • Forces the scheduler and durable-memory lanes onto dashboard Project Manager turns even when saved MCP policy is narrower.
  • Adds a codeux:memory confirmation widget so users can see when the Project Manager stores long-term knowledge.

Easy Onboarding and Provider Login

  • Restores the missing Easy-mode introduction step and makes the flow consistently cover mode, installation, introduction, provider, and GitHub setup.
  • Removes deprecated Gemini from Easy mode while keeping it available in advanced provider configuration.
  • Preselects Dashboard Login for every Easy provider and retains an explicit Local Copy choice.
  • Fixes npm 11 managed installation for Claude Code and OpenCode by allowing only their required postinstall scripts instead of leaving the CLIs half-prepared.
  • Rebuilds the interactive provider-login modal around a streaming terminal screen model that handles split CSI/OSC/DCS/APC sequences, cursor movement, erasure, redraws, and bounded scrollback.
  • Makes right-click paste focus-safe, restores focus after clipboard operations, preserves keyboard controls, and gives login sessions a high-contrast, trustworthy terminal surface.
  • Starts login CLIs from an isolated temporary directory, eliminating Qwen's root-directory warning and preventing an unrelated repository tree from entering login context.

Electron, Docs, Pricing, and Navigation

  • Packages docs-web and its searchable catalog into npm and Electron artifacts so /docs works in the compiled desktop runtime.
  • Adds a focused five-page Docs CI smoke covering the index, overview, and representative user, developer, and architecture pages; it fails on HTTP, console, page, landmark, or missing-content errors.
  • Packages the automatic models.dev pricing catalog into Electron so desktop token accounting matches the npm runtime, including GPT-5.5 prices.
  • Repairs Sprint Tasks/Live links with router-native navigation and preserves both projectId and sprintId.
  • Makes project and sprint selectors atomically replace Tasks/Live route scope so stale sprint state cannot strand project selection.
  • Refreshes the vendored models.dev catalog used for automatic model metadata and pricing.

Orchestration Reliability and Performance

  • Recovers QA worker branches consistently across follow-up work and validates pass, decline, same-branch, final-validation, and sprint-QA behavior in the Docker DAG lane.
  • Adds a final local-branch merge drain before merge-protocol instructions so fast local tasks cannot be paused after their branch is already ready to settle.
  • Prevents active sprints from pausing on local merge-drain races and reuses cycle-local Git evidence during watch-loop evaluation.
  • Reduces steady-state session-sync writes, repeated Git event scans, and duplicate cache invalidations.
  • Adds bounded fast follow-up cycles after task or merge progress, reducing dependency-unlock latency without introducing an unbounded hot loop.
  • Expands mockup orchestration scenarios and validates restart behavior for both Linux Docker and Electron-backed DAGs.

CI, E2E, and Release Infrastructure

  • Consolidates automatic validation into one numbered CI pipeline and reuses a single server/dashboard build artifact across package, orchestration, Playwright, and desktop lanes.
  • Runs the complete Playwright purpose matrix across Linux, macOS, and Windows for main validation.
  • Runs Linux Docker orchestration alongside macOS and Windows Electron DAG validation.
  • Starts unsigned release-candidate desktop packaging after npm package smoke so it can progress beside E2E and orchestration instead of extending the critical path.
  • Makes the published GitHub Release the single trigger for npm trusted publishing and Linux/macOS/Windows desktop artifact attachment; older heavy workflows remain manual diagnostics.
  • Preserves the existing E2E and release-candidate check names required by main branch protection while adding the Docs smoke as a new independent context.
  • Adds dependency-coupled compatibility aggregates for nine obsolete main-ruleset names that current repository credentials cannot administratively remove; every compatibility context runs only after its real validation dependency succeeds.

Fixes

Desktop and Dashboard Fixes

  • Fixed Electron Docs returning 404 because compiled documentation assets were absent from packaged runtime paths.
  • Fixed Electron automatic token costs showing zero when the model catalog was missing from desktop resources.
  • Fixed Antigravity right-click paste losing terminal focus and Qwen login output exposing raw terminal escape sequences and root-directory warnings.
  • Fixed Easy onboarding skipping the introduction, surfacing Gemini, and selecting inconsistent authentication defaults.
  • Fixed Claude Code and OpenCode preparation failures caused by npm's blocked install-script policy.
  • Fixed new/imported projects routing dashboard replies to a worker rather than Project Manager.
  • Fixed Sprint Tasks/Live navigation and mutually disturbing project/sprint selectors.

Runtime and Orchestration Fixes

  • Fixed repeated provider/browser downloads by moving verified mutable tools into reusable local volumes.
  • Fixed browser licensing risk by removing browser/Widevine payloads from the published GHCR image while preserving local preparation.
  • Fixed QA follow-up branch recovery and local merge races that could pause otherwise healthy sprints.
  • Fixed slow dependency propagation caused by redundant loop persistence and delayed follow-up evaluation.

CI and Release Fixes

  • Fixed split workflow duplication by sharing the production build artifact across downstream validation.
  • Fixed release-candidate scheduling so desktop packages no longer wait for unrelated long-tail matrices.
  • Fixed documentation coverage by checking exactly five representative compiled routes rather than crawling every page.
  • Fixed branch-protection compatibility by retaining established 09 E2E and 10 Release Candidate context names.
  • Fixed release documentation to identify .github/workflows/release.yml as the publishing/attachment workflow and desktop-release as manual diagnostics.
  • Fixed incomplete npm registry path escaping by encoding the complete scoped provider-package identifier, resolving the release PR's high-severity CodeQL finding.

Validation

Local validation on release/v0.9.5:

pnpm run ci
pnpm exec vitest run tests/backend/ci/workflow-health.test.ts
pnpm run check:docs-web
CODE_UX_SKIP_RELEASE_INSTALL_BUILD=1 node scripts/verify-release-install.mjs
git diff --check

Result: passed.

  • pnpm run ci: audit, guardrails, typecheck, backend coverage, dashboard tests, and production build passed.
  • Backend coverage: 396 files; 4,966 tests passed, 7 skipped; all configured thresholds passed.
  • Dashboard: 219 files; 1,969 tests passed, 2 skipped.
  • npm release-install smoke packed @codeuxai/codeux@0.9.5, installed it into an isolated workspace, and ran codeux --help successfully.
  • 0.9.5 is absent from npm and tag v0.9.5 does not exist before publication.
  • The merged feature PR passed Linux Docker DAG, macOS Electron DAG, Windows Electron DAG, package smoke, the new five-page Docs smoke, coverage, dashboard, security, static, and build checks.
  • The release CodeQL remediation passed 22 focused provider/workflow tests, TypeScript lint, docs synchronization, and diff validation before push.

The final release head passed GitHub main-promotion validation: Typecheck & Lint, Backend Tests & Coverage, Dashboard Tests, Build, Security Audit, all 18 cross-OS Playwright shards, Linux/macOS/Windows orchestration, Linux/macOS/Windows release-candidate desktop packaging, release policy, managed runtime image smoke, CodeQL, the five-page Docs smoke gate, and every dependency-coupled compatibility context were green. Local workflow tests, YAML parsing, TypeScript lint, documentation synchronization, diff validation, the full pnpm run ci suite, and packed-install smoke validation also passed.

Risk and Rollback

  • Primary risk is concentrated in managed runtime/provider asset activation, Playwright browser preparation, Project Manager default routing and direct memory writes, orchestration merge/QA timing, and the expanded cross-OS CI/release path.
  • Runtime and provider updates retain previous verified versions and fail open to them; custom images remain available as an operational escape hatch.
  • Rollback path: revert this release promotion PR from main, do not publish v0.9.5, and keep dev available for targeted follow-up fixes.
  • After publication, npm versions are immutable. If a release job partially fails after npm succeeds, rerun failed jobs rather than deleting/recreating the release or attempting to republish 0.9.5.

Full Merged PR Patch Log

  • #2780 ci: consolidate dev-first validation lane
  • #2781 ci: run full e2e across all oses
  • #2787 Sprint 1: Fix Electron docs page
  • #2786 ci: start release candidates beside e2e
  • #2788 fix: drain local branch merges before protocol
  • #2770 chore: update models.dev catalogue
  • #2796 fix: harden QA orchestration and reduce loop churn
  • #2797 feat: add managed runtime and provider tool preloading
  • #2798 fix(runtime): preload Playwright browser from local volume
  • #2805 feat: improve onboarding, desktop reliability, and project manager workflows

Release Branch Commits

  • fb12e5d09 ci: bridge legacy main check contexts
  • e126d2bed fix: encode provider registry package paths
  • 123596ea6 release: Code UX 0.9.5

numnx and others added 30 commits July 9, 2026 17:19
ci: consolidate dev-first validation lane
…ex-93c5af20-mrdqfymk

(CODUX-131) Harden docs catalog coverage
…ex-e76993fc-mrdqfwrv

(CODUX-131) Package docs-web assets
…ex-6bfad8b3-mrdqg0a7

(CODUX-131) Add docs page E2E smoke
…ex-54a4717b-mrdqp8ig

(CODUX-131) Document docs packaging checks
…ectron-docs-page-implementation

Sprint 1: Fix Electron docs page — merge feature/sprint-COWIN-1-fix-electron-docs-page-implementation into main
…-lane

ci: start release candidates beside e2e
fix: drain local branch merges before protocol
- Implemented remote branch recovery in `resolveReviewBranch` for better handling of worker branches in REMOTE mode.
- Added functions to read ahead counts and commit timestamps for remote branches.
- Improved error handling and logging for branch recovery processes.
- Updated `CycleRunner` to reconcile active project attention items more effectively.
- Enhanced `CycleStateCoordinator` to avoid issuing no-op attention resolutions when the active snapshot is empty.
- Introduced new QA review prompts and payload structures in the mockup CLI provider.
- Normalized path handling in workspace manager and CLI workflow utilities to support Windows paths.
- Added comprehensive tests for new features and edge cases in QA review and workspace management.
Comment thread src/services/provider-tool-manager.ts Fixed
@numnx
numnx marked this pull request as ready for review July 10, 2026 05:16
@numnx
numnx merged commit 6ef8c97 into main Jul 10, 2026
47 checks passed
@numnx
numnx deleted the release/v0.9.5 branch July 10, 2026 05:29
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.

3 participants