Skip to content

SCE-002: implement deterministic trial-set compilation and admission #789

Description

@Brad-Edwards

Requirements

  • SCE-002 — Scenario Composition, Parameterization, and Randomization

Outcome

Implement the pure compiler that turns an expanded scenario family plus admitted experiment-authoring input into the published trial plan.

Scope

  • Stable trial-id derivation from semantic inputs.
  • Versioned semantic random-stream derivation independent of process-global state.
  • Deterministic enumeration, balancing, sampling, and constraint handling.
  • Explicit creation of each trial's SDL instantiation bindings.
  • Admission against scenario-family domains, cross-point constraints, apparatus intent, and backend realization envelopes where required.
  • Bounded diagnostics for unsatisfiable, unsupported, or exhausted selection policies.
  • Determinism, property, mutation, concurrency-independence, and cross-process tests.
  • CLI/MCP or library entrypoint selected by Design: scenario variation and deterministic trial realization (SCE-002) #652 without creating a second semantic authority.

Acceptance criteria

  • Identical governed inputs produce byte-identical canonical trial plans.
  • Serial, parallel, shuffled, resumed, and partitioned compilation produce the same entries.
  • Adding an unrelated trial or changing worker count cannot perturb an existing trial's semantic stream.
  • Every selected value belongs to its admitted domain and is recorded once with origin.
  • Constraint rejection/resampling behavior is bounded and reproducible.
  • No backend side effect occurs during compilation.
  • Failures identify semantic paths and policy ids without disclosing secret values.

Non-goals

  • Runtime scheduling.
  • Participant decision randomness.
  • Backend-private realization.
  • Statistical analysis of completed runs.

Metadata

Metadata

Assignees

No one assigned

    Labels

    requirementTracks a Ground Control requirementwave-2Wave 2 requirement

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions