# ============================================================
# src/accountable_record/pipeline/model.py
# ============================================================
"""Shared pipeline models.

WHY:
    Pipeline models belong to pipeline vocabulary.
"""

from dataclasses import dataclass
from pathlib import Path

__all__ = ["IdentityArtifact"]


@dataclass(frozen=True)
class IdentityArtifact:
    """Normalized repository identity artifact derived from root metadata files."""

    root: Path
    package_name: str
    project_name: str
    repository_name: str
    organization: str
    version: str
    status: str | None
    summary: str | None
