Skip to content

feat(openshell): add lifecycle adapter and workspace mounts #576

Description

@mogul

Outcome

Add the first usable acq.backends/openshell.sh implementation for an explicitly selected OpenShell backend with a live host workspace and existing --clone isolation behavior.

Scope

  • Implement version/gateway preflight, create, readiness, exists/list, exec, attach, shell, stop/start, remove, copy, doctor, and structured result parsing.
  • Map neutral --image / ACQ_IMAGE at creation only.
  • Translate the acq-selected primary workspace into a controlled OpenShell bind mount.
  • Reuse the existing host scratch-clone flow for --clone, mounting the scratch clone rather than the original checkout.
  • Require local-gateway bind-mount enablement and reject arbitrary driver configuration or silent mount-to-copy downgrade.
  • Provide explicit upload/download fallback behavior where mounts cannot be enabled.
  • Record durable backend/workspace state through existing host-authoritative mechanisms.

Non-goals

Provider secrets, neutral kit application, public service exposure, and MXC/Kubernetes support claims are out of scope.

Verification

Add an OpenShell CLI stub and offline coverage for lifecycle routing, JSON/YAML parsing, readiness failures, mount allow/deny, clone substitution, image precedence, and cleanup. Add a local live check for create, exec, bind-mounted read/write, stop/start, and deletion.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions