Skip to contents

An AnalysisSpecification expresses complete scientific intent for one reproducible run. It is attached to PipelineConfig, not to the data container, because the same data may support separate biological questions.

Details

Version 2 retains a complete target declaration through three lifecycle states: a draft has no proposal, a proposal records the ranked proposal's digest, and a confirmed specification adds the selected component plus the analyst's accept/override decision and rationale.

Slots

version

schema version, always "2.0.0"

id

non-empty run identity string

lifecycle

"draft", "proposal", or "confirmed"

target_field

one colData target field

target_type

"binary", "ordered", or "continuous"

reference_level

binary target reference level

comparison_level

binary target comparison level

ordered_levels

ordered target levels in predeclared direction

continuous_direction

"increasing" or "decreasing"

selected_component

positive component index in the frozen reference basis; present only for a confirmed specification

proposal_digest

SHA-256 digest of the ranked component proposal; present for proposal and confirmed states

proposal_decision

"accepted" or "overridden"; present only for a confirmed specification

analyst_rationale

non-empty analyst rationale for confirmation

nuisance_fields

unique metadata fields declared as confounders

orientation_anchor

optional numeric metadata field providing an orientation convention distinct from target and nuisance roles

claim_intent

"exploratory" or "primary_confirmatory"

migration_source_digest

optional digest of the exact v1 payload from which this specification was explicitly migrated