You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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.
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.
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.
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.
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 scalarvalue,value_kind, andredaction, but it does not identify:ParticipantImplementationSelectionModel.configuration_refandconfiguration_digestpreserve 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
Acceptance criteria
Non-goals