PinGuard currently treats input-only GPIOs (e.g. ESP32 GPIO34–39) as PinCategory::Advisory. In strict mode (AllowAdvisory unset) this makes validate() return AdvisoryBlocked even for input uses (e.g. PinUse::Input/PinUse::SpiMiso/sensor ADC), even though the comments/docs say these pins are only invalid for output. Consider modelling input-only separately (safe for input, hard-block only when requiresOutput(use)), or special-casing advisory+input-only so it bypasses the advisory gate when needsOutput == false
PinGuard currently treats input-only GPIOs (e.g. ESP32 GPIO34–39) as PinCategory::Advisory. In strict mode (AllowAdvisory unset) this makes validate() return AdvisoryBlocked even for input uses (e.g. PinUse::Input/PinUse::SpiMiso/sensor ADC), even though the comments/docs say these pins are only invalid for output. Consider modelling input-only separately (safe for input, hard-block only when requiresOutput(use)), or special-casing advisory+input-only so it bypasses the advisory gate when needsOutput == false