Skip to content

[A3S Cloud] Complete provider capability contracts needed by C0, S0, and H0 #1

Description

@ZhiXiao-Lin

Cloud gate

Cross-cutting prerequisite for C0 control operations, S0 stateful resources, and H0 production hardening.

Planning reference: https://github.com/A3S-Lab/Cloud/blob/e2a05b7f1f63486b2fda866b22aa84eea89aadb4/docs/development-plan.md

Problem

Cloud must reason about provider capabilities without leaking provider-specific fields into its domain model. The Runtime compatibility baseline needs explicit, testable contracts for the capabilities used after the initial Task and Service lifecycle.

Scope

  • Stabilize and document the Runtime v0.2 compatibility baseline used by Cloud.
  • Add typed capability discovery and unsupported-capability errors.
  • Extend the exported provider conformance suite for secret projection, log streaming, bounded exec, mounts, outputs, usage, and evidence.
  • Define adoption and reconciliation behavior for provider restart, caller retry, and an already-existing unit.
  • Define cleanup and ownership rules for capability resources when a Task or Service stops.
  • Decide through an ADR whether bidirectional streaming exec belongs in the core contract; do not publish it before cancellation, backpressure, and terminal ownership are specified.
  • Publish compatibility and migration notes for providers implementing the baseline.

Acceptance criteria

  • The real Docker provider passes the expanded conformance suite on Linux.
  • Every capability is discoverable before use and returns a typed result or typed unsupported error.
  • Retry and restart tests adopt one provider unit and do not duplicate secrets, mounts, or output records.
  • Secret values are excluded from specs, diagnostics, usage records, and evidence payloads.
  • Cloud can consume the baseline without importing Docker-specific types.

Non-goals

  • Cloud scheduling, tenancy, authorization, or operation policy.
  • Provider-specific configuration in the Runtime core.
  • Making every optional capability mandatory for every provider.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions