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

part of '../../backlog.dart';

/// Derived backlog filters for a unified backlog list.
///
/// These filters do not store separate task collections. They are projections
/// over the same master task list. That is important because a task can move
/// between today's timeline and backlog by changing [Task.status], without
/// needing to copy it between separate stores.
enum BacklogFilter {
  /// Uncategorized captured tasks in the default inbox project.
  inbox,

  /// Tasks that have been manually or automatically pushed at least once.
  pushed,

  /// Critical tasks that have missed at least once and need recovery attention.
  criticalMissed,

  /// Someday/maybe tasks that are intentionally kept out of normal pressure.
  wishlist,

  /// Tasks whose [Task.updatedAt] age exceeds the configured stale threshold.
  stale,

  /// Tasks still missing a reward estimate. Useful during cleanup/review.
  noRewardSet,
}
