Examples

Compose-managed service volume reset without shell glue

A focused contract that uses action.kind: reset_compose_service_volume for governed destructive local service-data reset.

copynew usersbasicstable2026-05-30

Typical signals

  • the repo truthfully needs a fresh local database or other Compose-managed service data reset lane
  • today that lane is shell docker compose stop/rm plus docker volume rm glue
  • the reset should stay explicit, reviewable, and separate from generic compose up/down tasks

Why it matters

  • it turns a repo pattern into something humans, CI, and agents can read the same way
  • it makes the next command obvious instead of implied by README drift
  • it keeps readiness, setup, and execution explainable in receipts and diagnostics

Example contract

Use this when one destructive local recovery lane honestly owns stopping a Compose-managed service, removing one named volume, and restarting the service.

The example keeps Compose file root and project naming declarative under the action so Ota owns the full reset path instead of treating it as opaque shell.

ota.yamlyaml
version: 1project:  name: action-reset-compose-service-volume  description: Focused example for deterministic Compose-managed service volume resetexecution:  default_context: host  contexts:    host:      backend: native      requirements:        tools:          docker: "*"tasks:  postgres:reset:    context: host    action:      kind: reset_compose_service_volume      service: postgres      volume: app_postgres-data      compose:        cwd: docker        files:          - docker/docker-compose.yml        project_name: app    requirements:      tools:        docker: "*"    effects:      external_state:        - docker        - postgres    safe_for_agent: falseworkflows:  default: local-reset  local-reset:    prepare:      task: postgres:resetmetadata:  ota:    minimum_version: "1.6.22"

Task notes

Use reset_compose_service_volume only when the truthful lane is one service-specific destructive local reset, not as a generic replacement for compose stop/down.

Keep action.compose.* explicit so Ota resets the right Compose project and file stack instead of guessing from shell cwd or flags.

Mark this lane outside routine safe execution boundaries when it destroys local service data.