Skip to content

Conversation

@ammar-agent
Copy link
Collaborator

Problem

PR #507 added dist/ to the terminal-bench archive include paths to fix worker crashes. However, the workflow wasn't building dist/ before running the benchmark, causing all tasks to fail immediately with:

Error running agent for task <name>: Required file /home/runner/work/cmux/cmux/dist missing

Solution

Add make build step before make benchmark-terminal in the workflow. This ensures:

  • dist/ directory exists
  • Compiled JavaScript including worker files are present
  • Archive creation succeeds

Testing

Manually triggered workflow run #19108392805 which failed with this exact error. With this fix, the workflow should build dist/ successfully and allow terminal-bench tasks to run.

Generated with cmux

Copy link

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

ℹ️ About Codex in GitHub

Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

archive = build_app_archive(self._repo_root, self._INCLUDE_PATHS)
self._archive_bytes = archive
return archive
self._staged_container_id = container_id

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Don’t cache payload staging when container ID is unknown

The new _ensure_payload_staged unconditionally caches self._staged_container_id = container_id and returns early when container_id == self._staged_container_id. When session.container has no id attribute (the code already handles this case with getattr(..., None)), container_id becomes None. After the first call the cached ID is also None, so every subsequent call returns immediately without re-running stage_payload. For sessions whose container cannot be identified, this skips installing the cmux bundle for new benchmark containers and tasks will fail because /installed-agent was never repopulated. The previous version only cached when a real container ID was available specifically to avoid this problem.

Useful? React with 👍 / 👎.

PR #507 added `dist/` to the terminal-bench archive include paths to fix worker crashes. However, the workflow wasn't building `dist/` before running the benchmark, causing all tasks to fail immediately with:

```
Error running agent for task <name>: Required file /home/runner/work/cmux/cmux/dist missing
```

Now runs `make build` before `make benchmark-terminal` to ensure dist/ exists and contains the compiled worker files.

Verified with workflow run #19140594821 which successfully completed the modernize-fortran-build task.
@ammar-agent
Copy link
Collaborator Author

Closing to create fresh PR without stale review comments

@ammar-agent ammar-agent closed this Nov 6, 2025
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