"""
Incremental execution for prompt artifacts.

Implements FR-7: Incremental Recomputation
Implements FR-8: Impact Analysis

- FR-7.1: Change detection with persistent records
- FR-7.2: Configurable-depth incremental recomputation
- FR-8.1: Structural diff-based impact analysis
- FR-8.2: Impact threshold decisions
"""

from markitect.prompts.incremental.models import (
    ChangeType,
    ArtifactChange,
    ImpactDebt,
    RecomputeConfig,
    RecomputeResult,
)
from markitect.prompts.incremental.detector import ChangeDetector
from markitect.prompts.incremental.metrics import (
    structural_diff_ratio,
    line_diff_ratio,
    calculate_change_magnitude,
)
from markitect.prompts.incremental.impact import ImpactAnalyzer
from markitect.prompts.incremental.engine import IncrementalExecutionEngine

__all__ = [
    # Models
    "ChangeType",
    "ArtifactChange",
    "ImpactDebt",
    "RecomputeConfig",
    "RecomputeResult",
    # Detector
    "ChangeDetector",
    # Metrics
    "structural_diff_ratio",
    "line_diff_ratio",
    "calculate_change_magnitude",
    # Impact
    "ImpactAnalyzer",
    # Engine
    "IncrementalExecutionEngine",
]
