Skip to content

feat(installer): add safe Mac role selection policy - #183

Draft
Betafer wants to merge 2 commits into
swellweb:maint-3.5from
Betafer:codex/feat-installer-role-policy-v3.5
Draft

feat(installer): add safe Mac role selection policy#183
Betafer wants to merge 2 commits into
swellweb:maint-3.5from
Betafer:codex/feat-installer-role-policy-v3.5

Conversation

@Betafer

@Betafer Betafer commented Aug 21, 2026

Copy link
Copy Markdown

Summary

  • add a standalone hardware policy for deciding which Mac should become the display
  • recognize the reference 2017 21.5-inch 4K iMac and Mac mini M4 exactly
  • handle iMac, MacBook, Mac mini, headless, physical-size, and pixel-area heuristics
  • ignore TargetBridge virtual displays when evaluating attached hardware
  • require an explicit user choice whenever the available evidence is ambiguous
  • expose non-technical role labels for the setup UI

Why

An automatic installer should not ask an inexperienced user to understand “Sender” and “Receiver”, but it also must not silently assign surprising roles. The policy makes strong, explainable choices only when the hardware evidence is clear and otherwise returns no recommendation.

Validation

  • 26 focused checks pass through a standalone Swift test executable
  • covers the reference iMac/Mac mini pair, iMac + MacBook, two similar notebooks, headless Macs, virtual-only displays, display size/resolution, Rosetta, OS minima, and ambiguous desktops
  • tests assert that visible role copy avoids Sender/Receiver terminology

This PR contains only the pure role-selection/probing core and its tests; it does not add or activate an installer UI.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant