"""Prepare export write-intent (stage 060 op).

WHY:
    The skeleton names this op write.py, anticipating that a stage eventually
    emits machine-readable export artifacts. For THIS stage, generation and
    validation must not be blurred: stage 060 validates exports and models what
    a write would entail, but does not write to disk.

OBS CRITICAL boundary):
    This op does NOT create, modify, or emit any file. It returns a
    description of write-intent (what a later emitter stage would write) so
    that responsibility stays cleanly separated. Despite the name "write",
    stage 060 owns export *validation* and write *modeling*, not write
    *execution*.

OBS:
    Returning a plain description (not performing IO) keeps the stage pure and
    testable and leaves the actual emission to a later, explicitly-scoped
    stage.
"""

from accountable_record.stage_060_exports.model import ExportsArtifact


def prepare_write_intent(exports: ExportsArtifact) -> dict[str, object]:
    """Return a description of what a later emitter stage would write.

    Args:
        exports: The resolved exports artifact.

    Returns:
        A dict describing write-intent. NOT written to disk by this stage.
    """
    return exports.write_intent()
