Skip to content

Give local and Docker automation runs the same conversation execution contract #450

Description

@neubig

Desired Behavior

Automation bundles must use the same execution contract for local and Docker workspaces. The initial Docker dispatcher provisions a conversation and supplies AUTOMATION_CONVERSATION_ID, but the local backend only supplies a workspace and server credential. Move conversation provisioning and environment construction into a shared backend contract, leaving only runtime resource acquisition/release and credential selection specific to workspace kind. Preserve existing local deployments that do not request a conversation profile.

Acceptance Criteria

  • A configured automation profile provisions the same run-scoped conversation and environment variables for local and Docker workspaces.
  • The selected workspace kind only affects backend provisioning, credentials, and cleanup; bundle logic does not inspect it.
  • Both modes expose the same run conversation ID and scoped execution endpoints, with runtime credentials selected safely for Docker.
  • Local completion preserves its persistent server and conversation history; Docker completion releases only that run runtime.
  • Contract tests exercise the same bundle-facing behavior for both workspace kinds and retain legacy local behavior when no profile is configured.

This issue is ready-for-dev. Follow-up to #449.

Activity

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

    enhancementNew feature or requestready-for-devScoped for contribution; managed by repository readiness checks.

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions