# SPDX-License-Identifier: AGPL-3.0-only
# Copyright (c) 2026 sol pbc

"""Locked owner-facing copy for the processing-backlog surface, shared by stats + health."""

from __future__ import annotations

BACKLOG_ACTION_PROCESS_NOW = "process now"
BACKLOG_ACTION_REDO_SCRATCH = "redo from scratch"
BACKLOG_CONFIRM_REDO_SCRATCH = (
    "redo this whole day from scratch? this re-does the parts sol already "
    "finished, so it'll take longer. the day you see now won't change until it's done."
)
BACKLOG_QUEUED_FEEDBACK = "queued, working on it now"
BACKLOG_VERDICT_CAUGHT_UP = "your journal's all caught up."
BACKLOG_VERDICT_STUCK_ONLY_PLURAL = "caught up except {stuck_n} days that need a hand."
BACKLOG_VERDICT_STUCK_ONLY_SINGULAR = "caught up except 1 day that needs a hand."
BACKLOG_VERDICT_PENDING_ONLY_PLURAL = "{pending_n} days are still catching up."
BACKLOG_VERDICT_PENDING_ONLY_SINGULAR = "1 day is still catching up."
BACKLOG_VERDICT_MIXED_STUCK_PLURAL = "{stuck_n} days need a hand"
BACKLOG_VERDICT_MIXED_STUCK_SINGULAR = "1 day needs a hand"
BACKLOG_VERDICT_MIXED_PENDING_PLURAL = "{pending_n} more days are still catching up"
BACKLOG_VERDICT_MIXED_PENDING_SINGULAR = "1 more day is still catching up"
BACKLOG_VERDICT_CANT_TELL = (
    "still checking — give me a moment to see where your journal stands."
)
BACKLOG_BUCKET_HEADING = "days that need a hand"
BACKLOG_BUCKET_DESCRIPTION = (
    "these days stopped on their own and can't pick back up without you — "
    "here's why, and what to try."
)
BACKLOG_DAY_BADGE = "stuck"
BACKLOG_REASON_CORRUPT_RAW = "original raw media is missing or damaged — re-import it"
BACKLOG_REASON_FAILING_STEP = "a processing step keeps failing — try again"
BACKLOG_REASON_MISSING_CONFIG = "a setting's missing — check your journal's setup"
BACKLOG_REASON_PROVIDER_DOWN = "the AI provider was unreachable. try again"
BACKLOG_REASON_PROVIDER_REFUSED = (
    "the AI provider refused a request sol sent — retrying won't help; "
    "this is a defect in sol"
)
BACKLOG_WHY_NEVER_ATTEMPTED = "not looked at yet"
BACKLOG_WHY_FAILED = "couldn't finish — will retry"
BACKLOG_WHY_SENSED_NOT_THOUGHT = "taken in, not yet thought through"
BACKLOG_CATCHING_UP_DAY = "catching up"
BACKLOG_CATCHING_UP_AGGREGATE = "{pending_n} day(s) catching up"
BACKLOG_CATCHING_UP_TAIL = "sol's working through these on its own, freshest day first."


__all__ = [
    "BACKLOG_ACTION_PROCESS_NOW",
    "BACKLOG_ACTION_REDO_SCRATCH",
    "BACKLOG_BUCKET_DESCRIPTION",
    "BACKLOG_BUCKET_HEADING",
    "BACKLOG_CATCHING_UP_AGGREGATE",
    "BACKLOG_CATCHING_UP_DAY",
    "BACKLOG_CATCHING_UP_TAIL",
    "BACKLOG_CONFIRM_REDO_SCRATCH",
    "BACKLOG_DAY_BADGE",
    "BACKLOG_QUEUED_FEEDBACK",
    "BACKLOG_REASON_CORRUPT_RAW",
    "BACKLOG_REASON_FAILING_STEP",
    "BACKLOG_REASON_MISSING_CONFIG",
    "BACKLOG_REASON_PROVIDER_DOWN",
    "BACKLOG_REASON_PROVIDER_REFUSED",
    "BACKLOG_VERDICT_CANT_TELL",
    "BACKLOG_VERDICT_CAUGHT_UP",
    "BACKLOG_VERDICT_MIXED_PENDING_PLURAL",
    "BACKLOG_VERDICT_MIXED_PENDING_SINGULAR",
    "BACKLOG_VERDICT_MIXED_STUCK_PLURAL",
    "BACKLOG_VERDICT_MIXED_STUCK_SINGULAR",
    "BACKLOG_VERDICT_PENDING_ONLY_PLURAL",
    "BACKLOG_VERDICT_PENDING_ONLY_SINGULAR",
    "BACKLOG_VERDICT_STUCK_ONLY_PLURAL",
    "BACKLOG_VERDICT_STUCK_ONLY_SINGULAR",
    "BACKLOG_WHY_FAILED",
    "BACKLOG_WHY_NEVER_ATTEMPTED",
    "BACKLOG_WHY_SENSED_NOT_THOUGHT",
]
