Option Strict On
Option Explicit On

Namespace Nexamas.UI.FloatRuntime

    ' ============================================================
    ' MASFloatRuntime Contract
    ' Class: MASFloatPolicyAction
    '
    ' Purpose:
    '   Defines the action selected by policy after evaluating a request.
    '
    ' Responsibility:
    '   Communicates policy decisions to Coordinator.
    '
    ' Owns:
    '   No policy state.
    '
    ' Does Not Own:
    '   Decision reasoning text, lifecycle execution, queue mutation, or replacement execution.
    '
    ' Allowed Dependencies:
    '   None.
    '
    ' Forbidden Dependencies:
    '   Legacy Overlay classes.
    '   Coordinator implementation.
    '   Runtime state implementation.
    '
    ' Lifecycle Role:
    '   Internal-policy contract value, publicly declared because the constitution lists it as an enum.
    '
    ' Threading:
    '   Thread-safe by definition.
    '
    ' Mutation Rules:
    '   Immutable enum values.
    '
    ' Invariants:
    '   PolicyAction is a decision output.
    '   Coordinator performs the action only after validating state and generation.
    '
    ' Failure Rules:
    '   Reject must stop the lifecycle transition.
    ' ============================================================
    Friend Enum MASFloatPolicyAction
        Allow
        Reject
        Queue
        Replace
        CloseSameOwnerThenShow
        Reuse
    End Enum

End Namespace