Chapter 2

The core spec defines the document contract.

Core fields are stable. Concrete values such as `cache`, `redis`, and `aws.s3` come from extensions.

Envelope

Required top-level fields full draft
apiVersion: runtimeconditions.io/v1alpha1
kind: RuntimeConditionsProfile

metadata:
  name: request-logger-http

workload:
  uri: github.com/example/request-logger-http
  version: v0.1.0

extensions: []
conditions: []

Condition shape

Core owns structure; extensions own values
conditions:
  - name: optional-condition-name
    optional: false
    kind: extension-defined-kind
    interface:
      type: extension-defined-interface-type

Extension declaration

A profile declares every vocabulary source it uses
extensions:
  - https://aws.example.com/runtimeconditions/object-store:v1alpha1
  - https://runtimeconditions.io/extensions/common-integrations:v1alpha1
  - https://runtimeconditions.io/extensions/env-configuration:v1alpha1

Validation order

  1. 1
    Structural validationRequired fields, types, nulls, duplicate keys.
  2. 2
    Extension resolutionDeclared extensions and dependencies resolve deterministically.
  3. 3
    Vocabulary validationEvery kind, interface, field, and value has exactly one owner.
  4. 4
    Schema validationCore and extension schemas validate semantic rules.