Skip to content

feat: add watchOS and visionOS OpenMedKit targets#1777

Draft
maziyarpanahi wants to merge 2 commits into
masterfrom
feature/om-597-watchos-visionos-target
Draft

feat: add watchOS and visionOS OpenMedKit targets#1777
maziyarpanahi wants to merge 2 commits into
masterfrom
feature/om-597-watchos-visionos-target

Conversation

@maziyarpanahi

Copy link
Copy Markdown
Owner

Pull Request

Description

Adds native watchOS and visionOS support to OpenMedKit while keeping constrained platforms on a fail-closed Nano model budget. The prior package targets and runtime dependency graph only supported iOS and macOS, so watchOS and visionOS could neither build the package nor enforce platform-appropriate model limits.

Type of Change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Documentation update
  • Code refactoring
  • Performance improvement
  • Test addition/improvement

Changes Made

  • Add watchOS 10 and visionOS 1 package targets with conditional full-runtime dependencies.
  • Add platform-aware Nano/Tiny/Base model selection, memory and parameter ceilings, INT8 enforcement, and constrained model loading.
  • Add synthetic redaction parity coverage and simulator CI jobs for watchOS and visionOS.
  • Document platform support, deployment targets, model budgets, and constrained loading.

Testing

  • I have added tests that prove my fix is effective or that my feature works
  • New and existing unit tests pass locally with my changes
  • I have tested this change with different models/inputs

Validation completed:

  • .venv/bin/python -m pytest tests/ -q — 5,186 passed, 55 skipped
  • arch -arm64 swift test — 68 tests executed, 14 skipped, no failures
  • Focused watchOS simulator parity tests
  • visionOS simulator-target cross-build
  • Generic iOS simulator build
  • make format-swift
  • make lint-swift
  • make docs-build
  • Scoped pre-commit checks
  • Workflow syntax validation

Documentation

  • I have updated the documentation accordingly
  • I have added docstrings to new functions/classes
  • I have updated the CHANGELOG.md

Code Quality

  • I ran make format, make lint, and make format-check
  • For Swift/OpenMedKit changes, I ran make format-swift and make lint-swift
  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • My changes generate no new warnings

Python formatting commands are not applicable because this change does not modify Python sources.

Dependencies

  • I have not added any new dependencies
  • OR I have added new dependencies and they are justified because: ____

Checklist

  • I have read the contributing guidelines
  • My commits have clear, descriptive messages
  • I have squashed/organized my commits appropriately

Related Issues

Closes #955

Screenshots/Examples

The parity test redacts the synthetic note Patient Ada Lovelace, MRN TEST-123, called 555-0100. consistently across the supported constrained platforms.

@maziyarpanahi maziyarpanahi added feature New capability P3 Strategic roadmap-v2 OpenMed V2 roadmap backlog labels Jul 19, 2026
@maziyarpanahi
maziyarpanahi force-pushed the feature/om-597-watchos-visionos-target branch from 7c843c7 to e3e5185 Compare July 19, 2026 19:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

feature New capability P3 Strategic roadmap-v2 OpenMed V2 roadmap backlog

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add a watchOS and visionOS OpenMedKit target

1 participant