Skip to content

AcceptanceCriterion

An AcceptanceCriterion encodes a Given / When / Then testable condition attached to a UserStory.

The given and when fields are optional; only then is required. Validation evidence is stored in the validations set as immutable ValidationEntry records — see Validations.

The tags field is an unordered set of short label strings for categorisation; tags from parent and child criteria are merged as a union.

The requirement_specification and requirement_group fields provide optional ISO 29148 traceability. When set, requirement_group must be supplied together with requirement_specification, and the group must belong to the chosen specification. On merge, both fields follow standard scalar semantics: a non-None child value overrides the parent; a None child leaves the parent value intact.

AcceptanceCriterion

Bases: MergeableModel

A testable condition attached to a UserStory.

Attributes:

Name Type Description
id int

Integer identifier, unique within the enclosing UserStory.

given str | None

Optional description of the initial context or state.

when str | None

Optional description of the trigger condition.

then str

Mandatory description of the expected outcome.

active bool

Whether this criterion is an active requirement. Set to False when a criterion is discarded without removing it.

tags frozenset[str]

An unordered set of short label strings for categorisation. Defaults to an empty set.

validations frozenset[ValidationEntry]

Validation records attached to this criterion. An AC is considered validated when this set is non-empty and every record has passed=True.

is_validated property

Return True when all validations are present and passed.

RequirementSpecification

Bases: str, Enum

ISO 29148 document type for an AcceptanceCriterion.

RequirementGroup

Bases: str, Enum

Requirement category within a RequirementSpecification.