Skip to content

Define authoritative cross-plane experiment binding descriptors and typed participant configuration targets #903

Description

@Brad-Edwards

Outcome

Publish the portable RAES contract surfaces required to bind experiment factors and conditions safely to scenario variation points, participant-implementation configuration, and apparatus configuration without encoded names, private backend schemas, or arbitrary configuration injection.

This issue is a prerequisite for #787, #788, #789, #790, and #345.

Problem

The current experiment condition parameter carries name, a scalar value, value_kind, and redaction, but it does not identify:

  • the authoritative binding plane;
  • a canonical target address and declared scalar type;
  • the source factor and condition;
  • sensitivity or a structurally distinct secret-reference form;
  • the owning validator, defaults, normalized realized value, or provenance;
  • a typed, addressable participant-implementation configuration target surface.

ParticipantImplementationSelectionModel.configuration_ref and configuration_digest preserve configuration identity, but the participant manifest and runtime contracts do not publish which configuration targets are supported or how their types, defaults, validation, realization provenance, and digests are governed.

Without these contracts, downstream apparatuses cannot distinguish scenario, participant, and apparatus intent. Inferring a plane from value_kind, parameter names, prefixes, free-text constraints, or matching field names is ambiguous and creates cross-plane injection and provenance failures.

Scope

  • Define a versioned binding descriptor that identifies exactly one authoritative plane, canonical target, exact JSON scalar type, source factor and condition, value disposition, and owning contract/validator.
  • Define canonical target-address and alias/collision semantics. Two inputs resolving to the same target must fail even when their values match.
  • Bind scenario-plane targets to the governed scenario-family variation/SDL instantiation surface used by SCE-002: add experiment variation-selection policies and allocation bindings #787-SCE-002: integrate trial realization with SDL instantiation and run provenance #790.
  • Extend participant implementation manifest/runtime contracts with a typed, addressable configuration-target declaration and validation/result surface, including defaults, normalized realized values, configuration identity, and provenance.
  • Define a structurally distinct secret-reference binding form. Resolved secret values must remain outside authoring documents, trial plans, canonical digests, diagnostics, and run records.
  • Define portable realized-binding provenance sufficient to preserve factor, condition, plane, target, type, default-or-override origin, non-secret realized value or reference identity, owning contract version, and authoritative configuration digest.
  • Specify canonicalization, ordering, compatibility, schema publication, conformance validation, and positive/negative fixtures.
  • Define fail-closed behavior for older or ambiguous parameter contracts when explicit binding semantics are required.

Acceptance criteria

  • Every admitted parameter resolves to exactly one declared plane and one canonical target owned by that plane.
  • Factor and condition provenance is explicit rather than reconstructed by name equality or collection ordering.
  • Unknown planes or targets, cross-plane fallback, type coercion, duplicate canonical targets, alias collisions, non-finite numbers, and ambiguous legacy inputs fail before runtime mutation.
  • Participant implementations can publish typed configuration targets and validate a complete realized configuration while preserving defaults, normalized values, provenance, and a canonical configuration digest.
  • Secret references are distinct from scalar values; only non-sensitive reference identity is admitted or recorded, and no resolved secret participates in identity or canonicalization.
  • Scenario bindings integrate with the scenario-family selection, trial-plan, compiler, and provenance contracts in SCE-002: add experiment variation-selection policies and allocation bindings #787-SCE-002: integrate trial realization with SDL instantiation and run provenance #790 without creating a second SDL or instantiation path.
  • Participant binding identity integrates with the implementation/provenance contracts in Participant Implementation And Exposure Provenance (EXP-733) #345 without turning manifest free-text constraints into a configuration schema.
  • Generated schemas, public models, compatibility rules, conformance registration, valid/invalid fixtures, canonicalization tests, and documentation move together.

Non-goals

  • Selecting or constructing participant providers.
  • Executing or scheduling trials.
  • Defining an APTL-specific apparatus allowlist or exposing arbitrary backend configuration.
  • Environment-variable binding, arbitrary file paths, command fragments, Python entry points, templates, generic overlays, or plugin dispatch selected by experiment input.
  • Persisting or hashing resolved secret values.

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