from __future__ import annotations


def execute(payload: dict) -> dict:
    reasons = []
    force = float(payload.get("forceLimitN", 0))
    if payload.get("operation") != "thinning": reasons.append("UNSUPPORTED_OPERATION")
    if payload.get("safetyState") != "READY": reasons.append("SAFETY_NOT_READY")
    if not 1 <= force <= 25: reasons.append("FORCE_LIMIT_OUT_OF_RANGE")
    accepted = not reasons
    sequence = ["APPROACH", "GRIP", "TWIST", "RETRACT", "RELEASE"] if accepted else []
    return {"component": "nas/thinning-end-effector", "accepted": accepted,
            "status": "SEQUENCE_READY" if accepted else "BLOCKED", "target": "mcu",
            "targetId": str(payload.get("targetId", "unknown")), "sequence": sequence,
            "interlocks": reasons, "estimatedCycleMs": 3400 if accepted else 0}
