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

/// Implements Free Slots behavior for the Scheduler Core package.
library;

// Protected Free Slot helpers.
//
// Free slots are intentional rest, not empty capacity. They are represented as
// scheduled Task records so they can appear in read models, but scheduling
// treats them as protected occupancy.

import '../domain/models.dart';
import '../domain/occupancy_policy.dart';
import 'scheduling_engine.dart';
import '../logging/focus_flow_logger.dart';
part 'free_slots/required_commitment_schedule_status.dart';
part 'free_slots/protected_free_slot_conflict.dart';
part 'free_slots/required_commitment_schedule_result.dart';
part 'free_slots/free_slot_service.dart';
