"""Smoke tests: confirm the package imports and the CLI entry point resolves.

Real coverage lands as the implementation waves do.
"""

import attractor


def test_package_imports() -> None:
    """The top-level package imports without error."""
    assert attractor.__version__ == "0.1.0"


def test_submodules_import() -> None:
    """Every declared submodule per SPEC §12 imports cleanly (skeleton check)."""
    from attractor import (
        agent,
        checkpoint,
        cli,
        engine,
        execution,
        llm,
        testing,
        workflow,
        worktree,
    )

    # Reference each module so the import isn't dead code (ruff F401 +
    # pyright reportUnusedImport agree).
    for module in (
        agent, checkpoint, cli, engine, execution, llm, testing, workflow, worktree
    ):
        assert module is not None


def test_cli_main_callable() -> None:
    """The console_scripts entry point resolves to a callable."""
    from attractor.cli import main

    assert callable(main)
