"""The import pipeline's structured error — carried up to the router
layer and rendered as the app-wide {error_code, summary, detail} triple
(04-architecture). Every user-facing failure message in the pipeline is
pinned by the imports.md B-numbers; keep them verbatim."""

from __future__ import annotations


class ImportsError(Exception):
    def __init__(self, status: int, code: str, summary: str, detail: str = ""):
        super().__init__(summary)
        self.status = status
        self.code = code
        self.summary = summary
        self.detail = detail
