Skip to content

(MOT-4290) fix: harden worker presence and diagnostics - #661

Draft
ytallo wants to merge 4 commits into
mainfrom
fix/mot-4290-recording-bugs
Draft

(MOT-4290) fix: harden worker presence and diagnostics#661
ytallo wants to merge 4 commits into
mainfrom
fix/mot-4290-recording-bugs

Conversation

@ytallo

@ytallo ytallo commented Jul 31, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Reconcile engine and worker-manager state so the Console distinguishes connected, starting, stopped, absent, and unknown workers.
  • Show actionable Harness empty states, worker connection status, and trace-stream stall diagnostics.
  • Add UI-003, a real Console + Harness + scripted-router Playwright scenario proving the composer remains editable and a persisted queued message drains exactly once during streaming.
  • Synchronize UI-003 through the native harness::turn-started, harness::message-queued, and terminal harness::turn-completed triggers; the scripted gate uses an early-release latch, with no status/gate polling or synchronization sleeps.
  • Harden Harness startup/config registration retries and E2E port/process diagnostics, with focused retry and occupied-port validation.
  • Keep explicitly downloaded skills visible by default, add browser frontend guidance, and refresh stale documentation links.

Context

The recording exposed several misleading states: a running manager process could be shown as a healthy worker without a registered connection, stopped workers could collapse into an empty state without diagnostics, the chat composer could appear unusable during a running turn, and a stalled trace had no actionable feedback.

The backend stop and queued-message scenarios (INT-011/INT-012) are now on main; this branch builds on them with UI-003 through the production Console surface. The worker-manager port collision remains an external runtime/environment issue, so the E2E launcher now fails before boot on an occupied port and reports early child-process exits with log tails.

Lifecycle hooks were intentionally not used as test observers: they are synchronous execution boundaries that can veto or mutate a turn. The async lifecycle trigger types expose the exact facts this scenario needs without inserting test behavior into the production turn path.

Validation

  • Console: app/E2E TypeScript checks, Biome, and 15 focused Vitest tests passed.
  • Console Playwright UI-003: 3 consecutive real-stack runs passed, plus a focused run with the event-driven latched gate.
  • Harness: 306 crate tests and 90 integration harness tests passed; rustfmt and E2E shell syntax passed.
  • Integration runner: scripted-router unit tests and clippy with warnings denied passed.
  • iii-directory: UI typecheck/build, 261 Rust tests, and 44 BDD scenarios passed.
  • Occupied-port fail-fast probe and git diff --check passed.

Fixes MOT-4290

@vercel

vercel Bot commented Jul 31, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
workers Ready Ready Preview Jul 31, 2026 10:05pm
workers-tech-spec Ready Ready Preview Jul 31, 2026 10:05pm

Request Review

@coderabbitai

coderabbitai Bot commented Jul 31, 2026

Copy link
Copy Markdown

Important

Review skipped

Draft detected.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro Plus

Run ID: afe0334f-8614-4f41-b8ac-87c9ed7f101b

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions

Copy link
Copy Markdown
Contributor

skill-check — worker

0 verified, 51 skipped (no docs/).

Layer Result
structure
vale
ai
render

Four for four. Nicely done.

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.

1 participant