feat: cross-platform WiFi collector factory (ADR-049)#173
Merged
Conversation
… (ADR-049) - Add create_collector() factory function that auto-detects platform and never raises - Add LinuxWifiCollector.is_available() classmethod for probe-without-exception - Refactor ws_server.py to use create_collector(), removing ~30 lines of duplicated platform detection - Add 10 unit tests covering all platform paths and edge cases - Add ADR-049 documenting the cross-platform detection and fallback chain Docker, WSL, and headless users now get SimulatedCollector automatically with a clear WARNING log instead of a RuntimeError crash. Closes #148 Closes #155 Co-Authored-By: claude-flow <ruv@ruv.net>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
create_collector()factory that auto-detects platform and never raises — Docker, WSL, and headless users getSimulatedCollectorautomatically with a clear WARNING logLinuxWifiCollector.is_available()for probe-without-exceptionws_server.pyto use factory, removing ~30 lines of duplicated platform detectionTest plan
create_collector("auto")returns SimulatedCollector when/proc/net/wirelessis missingcreate_collector("auto")returns LinuxWifiCollector when interface is availablepreferredparameter falls back to "auto" safelywlan0→Wi-Fi) worksCloses #148, closes #155
🤖 Generated with claude-flow