"""Retired: the suggestion backlog.

Slice E1 of the State Hub retirement (`STATE-WP-0079-T05`). The capability was
superseded by the **intake** work-record entity; mutations were retired
2026-07-21 under `CUST-WP-0061-T06`, and the reads were kept live only so the
historical record stayed reachable.

That history is now archived at
`the-custodian/docs/archived-suggestion-backlog.md` — all 10 suggestions, 10
notes and 5 relevance bumps, every one closed as `declined` during the intake
migration and none promoted. With a durable record outside this repo, the read
surface has no remaining job, so the whole router answers 410.

The `suggestions`, `suggestion_notes` and `suggestion_relevance_bumps` tables
are deliberately left in place: they are `retire`/`archive` in `SHR-INV-0001`
and are captured by the final dump at `STATE-WP-0079-T06`. Dropping them here
would remove data ahead of the dump for no gain.
"""

from fastapi import APIRouter, HTTPException

router = APIRouter(prefix="/suggestions", tags=["suggestions"])

_DETAIL = (
    "suggestions are retired (STATE-WP-0079-T05, slice E1). "
    "Use POST /intakes/ for new discovery work. The historical backlog is "
    "archived at the-custodian/docs/archived-suggestion-backlog.md — see also "
    "the-custodian/intake-legacy-suggestions-migration.md and "
    "canon/standards/work-record-types_v0.1.md."
)


def _retired() -> HTTPException:
    return HTTPException(status_code=410, detail=_DETAIL)


@router.api_route(
    "/{path:path}",
    methods=["GET", "POST", "PATCH", "PUT", "DELETE"],
    include_in_schema=False,
)
@router.api_route("/", methods=["GET", "POST", "PATCH", "PUT", "DELETE"])
async def suggestions_retired(path: str = "") -> None:
    """Every suggestion route is retired; see module docstring."""
    raise _retired()
