Skip to content

bug: mxc crate build is broken #3155

Closed

Description

@jeffmaury

User Story

As a developer working on OpenShell, I want the openshell-driver-mxc crate to compile successfully, so that I can build and test the full project on Windows.

Problem Statement

The openshell-driver-mxc crate fails to compile after commit 9b6d904 ("delegate sandbox authentication to drivers") introduced the authenticate_sandbox method on the ComputeDriver trait and added a supports_sandbox_authentication field to GetCapabilitiesResponse. The mxc driver was not updated to implement the new trait method or include the new field.

Impact / Why This Matters

Any developer attempting to build the full workspace or specifically the mxc crate hits a compile error, blocking all mxc-related development and testing on Windows. There is no workaround short of manually patching the code locally.

Acceptance Criteria

  • cargo check -p openshell-driver-mxc compiles without errors
  • ComputeDriverService implements the authenticate_sandbox trait method
  • GetCapabilitiesResponse initializer includes the supports_sandbox_authentication field

Reproduction Steps

  1. Check out the main branch at or after commit 9b6d904e
  2. Run cargo check -p openshell-driver-mxc
  3. Observe two compilation errors:
    • E0046: missing authenticate_sandbox in ComputeDriver impl (grpc.rs:36)
    • E0063: missing field supports_sandbox_authentication in GetCapabilitiesResponse (driver.rs:302)

Environment

  • OpenShell: main branch @ 9b6d904e
  • OS: Windows 11 Enterprise 10.0.26200
  • Rust: 1.95.0 (59807616e 2026-04-14)

Logs

error[E0046]: not all trait items implemented, missing: `authenticate_sandbox`
  --> crates\openshell-driver-mxc\src\grpc.rs:36:1
   |
36 | impl ComputeDriver for ComputeDriverService {
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ missing `authenticate_sandbox` in implementation

error[E0063]: missing field `supports_sandbox_authentication` in initializer of `GetCapabilitiesResponse`
   --> crates\openshell-driver-mxc\src\driver.rs:302:9
    |
302 |         GetCapabilitiesResponse {
    |         ^^^^^^^^^^^^^^^^^^^^^^^ missing `supports_sandbox_authentication`

Activity

  1. jeffmaury commented on Sep 3, 2026

    @jeffmaury
    ContributorAuthor

    🏗️ build-plan

    Implementation Plan

    Issue type: fix
    Complexity: Low
    Confidence: High — clear path, established pattern across Docker/Podman drivers

    Summary

    The MXC driver is missing the authenticate_sandbox trait method added in commit 9b6d904. The supports_sandbox_authentication field in GetCapabilitiesResponse is already present (set to false). Only grpc.rs needs a one-method stub addition plus an import update, following the exact pattern used by Docker and Podman drivers.

    Scope

    • crates/openshell-driver-mxc/src/grpc.rs: Add AuthenticateSandboxRequest/AuthenticateSandboxResponse imports and implement authenticate_sandbox returning Status::unimplemented

    Implementation Steps

    1. Add AuthenticateSandboxRequest, AuthenticateSandboxResponse to the proto import block in grpc.rs
    2. Add authenticate_sandbox method stub to impl ComputeDriver for ComputeDriverService returning Err(Status::unimplemented("mxc does not authenticate sandbox credentials"))

    Test Plan

    • Unit tests: Existing tests must continue to pass (cargo test -p openshell-driver-mxc). No new test needed — the method is a one-line unimplemented stub behind a capability gate, matching Docker/Podman which also don't test theirs.
    • Integration tests: N/A
    • E2E tests: N/A

    Risks & Open Questions

    • None. Mechanical stub following an established pattern. The gateway never dispatches to this method because supports_sandbox_authentication: false.

    Documentation Impact

    • None expected

    Revision 1 — initial plan

  2. jeffmaury commented on Sep 3, 2026

    @jeffmaury
    ContributorAuthor

    🏗️ build-from-issue-agent

    Implementation Complete

    PR: #3158

    What was built

    Added the missing authenticate_sandbox trait method to the MXC driver, returning Status::unimplemented to match the Docker/Podman pattern. The supports_sandbox_authentication field was already present in driver.rs.

    Tests

    • Unit: 27 existing tests pass; no new test needed (one-line stub behind capability gate)
    • Integration: 48 existing tests pass
    • E2E: N/A

    Docs updated

    • None needed

    The issue will auto-close when the PR is merged.

  3. added a commit that references this issue on Sep 3, 2026
    8719874
  4. removed
    state:triage-neededOpened without agent diagnostics and needs triage
    on Oct 1, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions