// SPDX-FileCopyrightText: 2026 FocusFlow contributors
// SPDX-License-Identifier: AGPL-3.0-only

/// Implements Task Lifecycle behavior for the Scheduler Core package.
library;

// Canonical task lifecycle transitions and internal activity records.
//
// This module keeps task state changes separate from UI buttons and scheduling
// placement. Application use cases can persist the returned task and activities
// atomically in later blocks.

import '../domain/models.dart';
import '../domain/task_statistics.dart';
import '../domain/time_contracts.dart';
import '../logging/focus_flow_logger.dart';
part 'task_lifecycle/codes/task_transition_code.dart';
part 'task_lifecycle/codes/task_activity_code.dart';
part 'task_lifecycle/codes/task_transition_outcome_code.dart';
part 'task_lifecycle/models/task_activity.dart';
part 'task_lifecycle/models/task_transition_result.dart';
part 'task_lifecycle/models/task_activity_application_result.dart';
part 'task_lifecycle/services/task_activity_accounting_service.dart';
part 'task_lifecycle/services/task_transition_service.dart';
