Skip to content

graflo.migrate.risk

Risk classification and compatibility helpers.

classify_operation(op_type)

Map operation type to risk level.

Source code in graflo/migrate/risk.py
def classify_operation(op_type: OperationType) -> RiskLevel:
    """Map operation type to risk level."""
    if op_type in LOW_RISK_OPS:
        return RiskLevel.LOW
    if op_type in MEDIUM_RISK_OPS:
        return RiskLevel.MEDIUM
    if op_type in HIGH_RISK_OPS:
        return RiskLevel.HIGH
    if op_type in CRITICAL_RISK_OPS:
        return RiskLevel.CRITICAL
    return RiskLevel.MEDIUM

is_backward_compatible_operations(operations)

A migration is backward compatible when all ops are additive low-risk.

Source code in graflo/migrate/risk.py
def is_backward_compatible_operations(operations: list[MigrationOperation]) -> bool:
    """A migration is backward compatible when all ops are additive low-risk."""
    return all(op.risk == RiskLevel.LOW for op in operations)

is_low_risk(op)

Return True when operation is safe for v1 executor.

Source code in graflo/migrate/risk.py
def is_low_risk(op: MigrationOperation) -> bool:
    """Return True when operation is safe for v1 executor."""
    return op.risk == RiskLevel.LOW