Skip to content

Changelog

All notable changes to this project will be documented in this file.

The format follows Keep a Changelog and this project adheres to Semantic Versioning.

[0.1.3] - 2026-06-06

Added

  • Task — new domain entity representing a concrete work item in a Scope's backlog. Fields: id, title, description, priority (TaskPriority), kind (TaskKind), lifecycle_status (TaskLifecycleStatus), on_hold, estimated_duration (timedelta | None), actual_duration (timedelta | None), related_acs (frozenset[str]).
  • TaskPriority enum — low, medium, high, critical.
  • TaskKind enum — enhancement, bug, research, investigation, documentation, release, deployment.
  • TaskLifecycleStatus enum — pending, doing, validation, done.
  • Scope.backlogfrozenset[Task] field holding the scope's work items. Task ids must be unique within the backlog. Backlog merges across the scope hierarchy the same way user_stories does.
  • estimated_duration is mandatory for kinds enhancement, bug, documentation, release, and deployment; optional for research and investigation.
  • related_acs merges as a union (same semantics as UserStory.tags).

[0.1.2] - 2026-06-06

Added

  • AcceptanceCriterion.requirement_specification — optional ISO 29148 document type (RequirementSpecification | None, defaults to None). Accepted values: SRS, SyRS, StRS.
  • AcceptanceCriterion.requirement_group — optional requirement category within the chosen specification (RequirementGroup | None, defaults to None). Must be set together with requirement_specification and must be a group that belongs to that specification.
  • RequirementSpecification and RequirementGroup enums — now part of the public API, importable directly from fushinryu_model.

[0.1.1] - 2026-06-06

Added

  • UserStory.dod — optional free-form prose field for the definition of done (str | None, defaults to None).
  • UserStory.tags — unordered set of short label strings (frozenset[str], defaults to empty). Tags merge as a union when parent and child stories are merged.
  • AcceptanceCriterion.tags — same type and merge semantics as UserStory.tags.

Changed

  • Scope.description is now optional (str | None, defaults to None). Previously it was a required field.
  • Project renamed from fushinryu_model to fushinryu-model to align with PyPI distribution naming conventions. The importable package name remains fushinryu_model.

[0.1.0] - 2026-06-06

Initial release. Provides the core domain entities:

  • Scope — organisational unit with DAG parent hierarchy and collapse().
  • UserStory — structured requirement with who / what / why and UserStoryType.
  • AcceptanceCriterionGiven / When / Then testable condition.
  • ManualValidation / AutomatedValidation — immutable validation evidence.
  • Merge semantics for all entities via pleroma.MergeableModel.