8000 feat: add macOS reviewer preview by shroominic · Pull Request #57 · shroominic/OpenGlucose · GitHub
[go: up one dir, main page]

Skip to content

feat: add macOS reviewer preview - #57

Merged
shroominic merged 1 commit into
mainfrom
feature/macos-desktop-preview
Aug 22, 2026
Merged

shroominic merged 1 commit into
mainfrom
feature/macos-desktop-preview

Conversation

@shroominic
Copy link
Copy Markdown
Owner

Summary

Add an unsupported Apple-silicon macOS reviewer preview without changing the
stable Android/iOS release path.

  • Add an arm64, macOS 11+ Flutter target named OpenGlucose Preview.
  • Keep release entitlements to the app sandbox and Bluetooth only. The preview
    has no outgoing-network or Keychain access-group entitlement.
  • Show the unverified Mac BLE boundary in the app. Sensor Move remains
    Android-only, and cloud AI fails closed because secure API-key storage is not
    available in this ad-hoc-signed preview.
  • Add a source-bound package verifier that checks every bundled Mach-O,
    signature, entitlements, version, notices, and source identity.
  • Add a read-only macOS workflow. It cannot create or modify a GitHub Release;
    only a manual run for an existing exact tag can upload a short-lived workflow
    artifact.

Intentionally out of scope: a sensor-support claim, Intel support, stable
release assets, Developer ID signing, notarization, or distribution to users.

Acceptance criteria

  • The preview is isolated from the stable v0.1.3 release.
  • Unsupported BLE and sensor-transfer behavior is explicit in UI and docs.
  • Build, native, package, privacy, and workflow contracts pass locally.
  • Remaining physical-hardware and distribution gates are explicit.

Change risk and impact

Risk class: R2 — native platform/release configuration and an unverified BLE
preview are affected, but the stable mobile release and sensor protocol are not.

  • Public API or serialized-data impact: none.
  • Health/personal data touched: the existing local state path is reused; no
    health data, sensor identifiers, or real-device logs are in this PR. macOS
    backup exclusion is explicitly not verified.
  • Sensor, BLE, permission, or platform impact: adds sandboxed macOS Bluetooth
    build support. It does not claim physical AiDEX compatibility. Bond creation,
    bond state, bond removal, and sensor Move are unavailable on macOS.
  • AI, destructive operation, migration, or irreversible side effect: cloud AI
    is unavailable on Mac; the preview cannot request or persist an API key. No
    migration or destructive operation is added.
  • Dependency or release impact: no dependency version change. Adds one read-only
    preview workflow and no stable-release mutation path.

Evidence

  • make check — passed at 8fa522155b1a73303750b6c1ffec7270aa5a302c
    (tooling, format, analysis, all Dart/Flutter tests, integration, Android/web,
    signing guard, iOS build/native tests, macOS build/native tests).
  • make build-macos test-macos-native — passed; native preview identity and
    Bluetooth-purpose tests passed.
  • Full unit/widget suite — 256 app tests passed; package suites passed.
  • Demo lifecycle integration — passed.
  • Package verifier — exact 0.1.3+24 source package passed checksum and
    rejected an injected x86_64-only Mach-O fixture.
  • Bundle inspection — minimum macOS 11; all 10 bundled Mach-O files contain
    arm64; native-assets manifest contains only macos_arm64; signed
    entitlements contain only sandbox and Bluetooth.
  • UI behavior — widget tests verify the Mac limitation notice and the
    fail-closed AI route. A physical Apple-silicon UX screenshot remains a gate
    before distribution.
  • Independent review — no remaining P0-P3 findings.

Local reviewer package SHA-256 (informational; the workflow creates its own
source-bound package):
1cfa5f527ccc240295ad01634627fe16aab49ca350547f464d2a0570751619b9.

Compatibility, rollout, and recovery

  • Breaking/deprecation or migration plan: none; Mac remains unsupported.
  • Rollout or feature flag: PR/reviewer preview only. Do not attach it to the
    stable release.
  • Rollback/recovery path: revert this PR; no user data migration is required.
  • Release artifact/source relationship: the packager requires a clean checkout,
    exact full commit SHA, exact app version, and either that CI SHA or an existing
    matching 8000 strict version tag.

Remaining gates before a Mac sensor or distribution claim:

  • redacted physical Apple-silicon/AiDEX discovery, authorization, pairing,
    vendor handshake, live readings, history, reconnect, disconnect, sleep/wake,
    and long-session evidence;
  • backup, deletion, and recovery validation on a real Mac account;
  • Intel native-assets output and real Intel launch before x86/universal support;
  • Developer ID signing, notarization, Gatekeeper validation, release approval,
    rollback, and support ownership.

Documentation and review

  • Tests cover the new behavior and fail-closed controls.
  • Compatibility, setup, README, and changelog documentation are updated.
  • No dependency or notice regression was introduced.
  • Logs, fixtures, package evidence, and docs contain no sensitive values.
  • Normal owner and CI review are still required before merge.

@shroominic
shroominic force-pushed the feature/macos-desktop-preview branch from 8fa5221 to b47ef8e Compare August 22, 2026 14:32
@shroominic
shroominic merged commit fc0df6d into main Aug 22, 2026
10 checks passed
@shroominic
shroominic deleted the feature/macos-desktop-preview branch August 22, 2026 14:43
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

0