Skip to content

release: Code UX 0.9.2 - #2333

Merged
numnx merged 1 commit into
mainfrom
release/v0.9.2
Jul 6, 2026
Merged

release: Code UX 0.9.2#2333
numnx merged 1 commit into
mainfrom
release/v0.9.2

Conversation

@numnx

@numnx numnx commented Jul 6, 2026

Copy link
Copy Markdown
Collaborator

Summary

Promotes dev to main for Code UX 0.9.2.

This release branch was created after first syncing the conflict resolution and version gate back into dev, so dev, the release branch, and the final main promotion are aligned.

Scope: backend orchestration hardening, dashboard UX improvements, release validation, CI automation repairs, documentation updates, and package version 0.9.2.

Patch Notes

Orchestration and Runtime Reliability

  • Refactored sprint run heartbeat ownership into a dedicated lifecycle service and tightened watch-loop state transitions.
  • Hardened restart recovery for active dispatches, provider invocations, task runs, sprint projections, delayed resumes, and terminal invocation reconciliation.
  • Made task dispatch start idempotent per sprint run and task to prevent duplicate active dispatch rows after restarts.
  • Added cleanup and recovery paths for stale provider containers, stale feature PR checks, sprint-level provider invocations, and runtime process lock edge cases.
  • Improved pause, stop, cancel, delete, and restart behavior so active runtime rows settle consistently before destructive operations proceed.
  • Prevented repeated final-merge attempts while worker-owned merge-conflict attention remains open.
  • Reset QA review history and the QA guardrail counter when human attention resolves a QA-exhaustion handoff.
  • Improved local merge handling and project-level merge conflict surfacing for local Git workflows.

Dashboard and Product UX

  • Improved sprint ledger, sprint controls, task cards, task filters, dependency indicators, and live-session runtime panels.
  • Added richer runtime/event display behavior, including container build status and more resilient invocation feed rendering.
  • Refined quicksprint browsing, editing, and execution flows.
  • Expanded settings UX for general restart behavior, MCP settings, provider instances, terminal login flows, and local file picking.
  • Improved issue/Jira import flows with clearer field structure, summary rails, and reusable importer components.
  • Updated memory/model catalogue UI, search, onboarding, navigation shell, file browser, and browser preview affordances.
  • Added accessibility and reduced-motion coverage for dialog, search, sprint ledger, layout, and visual quality regressions.

CI, Release, and Automation

  • Bumped the package version to 0.9.2.
  • Added a Release Version Bump CI job for PRs targeting main; it fails release promotions that do not increase package.json version.
  • Added release-check workflows for Linux, macOS, and Windows desktop packaging validation.
  • Added OpenRouter sprint E2E validation scripts and documentation.
  • Added Playwright release smoke tests for app release, project setup, sprint task lifecycle, accessibility, and responsive sprint ledger behavior.
  • Changed Playwright OS-matrix E2E to run on pushes and PRs targeting main, keeping heavyweight release-path validation off routine dev pushes.
  • Fixed the models.dev catalogue workflow so protected-branch updates are opened as PRs using the built-in ephemeral GITHUB_TOKEN instead of direct protected-branch pushes.
  • Added quality guardrail checks and release install verification scripts.
  • Updated workflow caching and Windows E2E dependency behavior to avoid stale cache failures.

Conflict Resolution and Branch Sync

  • Synced current main into dev before creating this release branch.
  • Preserved the isolated E2E fixture model from dev and added the main-side deterministic agent preset fixture helper.
  • Resolved E2E conflicts in avatar scene, accessibility smoke, sprint ledger responsive, and shared Playwright fixture helpers.
  • Kept the protected-branch-safe models.dev catalogue PR workflow wording from main.

Documentation

  • Updated architecture, sprint-loop, MCP runtime, operations, dashboard design, onboarding, settings, browser preview, release validation, and testing documentation.
  • Documented the GitHub Actions behavior for catalogue PR creation and Playwright trigger scope.
  • Documented the new main release version gate.
  • Added operational runbook notes for restart recovery, cleanup, logging/correlation, and runtime hardening.

Validation

Latest local validation on the release branch:

pnpm run lint
git diff --check
python3 - <<'PY'
import yaml
from pathlib import Path
for path in Path(".github/workflows").glob("*.yml"):
    yaml.safe_load(path.read_text())
print("workflow yaml ok")
PY
node - "0.9.1" "0.9.2" <<'NODE'
const [, , baseVersion, headVersion] = process.argv;
const semverPattern = /^(\d+)\.(\d+)\.(\d+)(?:[-+][0-9A-Za-z.-]+)?$/;
function parseVersion(value, label) {
  const match = semverPattern.exec(value);
  if (!match) throw new Error(`${label} package.json version is not valid semver: ${value}`);
  return match.slice(1, 4).map(Number);
}
const base = parseVersion(baseVersion, "Base");
const head = parseVersion(headVersion, "Head");
const isGreater = head[0] > base[0]
  || (head[0] === base[0] && head[1] > base[1])
  || (head[0] === base[0] && head[1] === base[1] && head[2] > base[2]);
if (!isGreater) throw new Error(`Main release PRs must bump package.json version above ${baseVersion}; found ${headVersion}.`);
console.log("version comparator ok");
NODE

Validation from merged dev PRs:

  • Typecheck & Lint passed.
  • Backend Tests & Coverage passed.
  • Dashboard Tests passed.
  • Build passed.
  • Security Audit passed.
  • Runtime hardening was exercised with rapid restarts, pause/resume/cancel/delete controls, and parallel conflict stress sprints on approved test projects.
  • Built dist runtime was restarted and /health plus /ready were verified on port 4444 during hardening.

This main PR will run the required main checks again, including the Playwright E2E OS matrix and Release Version Bump.

Risk and Rollback

  • Primary risk is in orchestration lifecycle behavior, startup recovery, and local Git merge/control paths.
  • CI risk is concentrated in the catalogue workflow handoff from direct push to PR creation, the Playwright trigger narrowing, and the new version gate.
  • Rollback path: revert this promotion PR from main. The runtime recovery changes do not introduce a schema migration, so persisted runtime rows remain compatible.
  • Operational follow-up: keep monitoring approved test-project sprints through restart/control cycles after merge.

Comment thread src/server/local-directory-routes.ts Fixed
Comment thread src/server/local-directory-routes.ts Fixed
@numnx
numnx force-pushed the release/v0.9.2 branch from 0a66667 to 150a12a Compare July 6, 2026 15:43
Comment thread src/server/local-directory-routes.ts Fixed
Comment thread src/server/local-directory-routes.ts Fixed
@numnx
numnx force-pushed the release/v0.9.2 branch from 150a12a to 68f3344 Compare July 6, 2026 15:49
@numnx

numnx commented Jul 6, 2026

Copy link
Copy Markdown
Collaborator Author

✅ Addressed the stale CodeQL inline findings from github-advanced-security[bot] by switching the canonical validated local-directory filesystem calls to file URLs after allow-list validation. The latest CodeQL check is passing on this PR.

Referenced stale inline comments: #discussion_r3530162928, #discussion_r3530162946, #discussion_r3530209012, #discussion_r3530209025.

@numnx
numnx force-pushed the release/v0.9.2 branch from 7607906 to 5d7cbfa Compare July 6, 2026 16:07
@numnx
numnx merged commit 8dbfcbe into main Jul 6, 2026
12 checks passed
@numnx
numnx deleted the release/v0.9.2 branch July 6, 2026 16:12
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