Skip to content

Add an offline self-check for private-learning artifacts #3057

Open

Description

@maziyarpanahi

Summary

Air-gapped operators need one command validating schemas, schedules, lifecycle, updates, fingerprints, aggregate metrics, and privacy guards before a round.

Scope

  • Add a library runner and openmed training self-check command over metadata-only synthetic cases.
  • Emit deterministic JSON or text with independent checks, versions, counts, and digests.

Acceptance criteria

  • A clean install passes without training libraries, weights, credentials, network, or sleeps.
  • Schema, schedule, state, update, suppression, forbidden-field, and fingerprint mutations fail independently.
  • Output contains no IDs, patient counts, tensors, gradients, examples, metrics, paths, endpoints, or values.
  • .venv/bin/python -m pytest tests/unit/training/test_private_learning_check.py -q passes.

Out of scope

  • Starting a round, training, aggregation, accounting, or promotion.
  • Certification, sealed evaluation, or replacing the full suite.

Files

  • openmed/training/private_learning_check.py
  • openmed/cli/private_learning_check.py
  • tests/unit/training/test_private_learning_check.py
  • docs/training/private-learning-self-check.md

Task: OM-060e · Milestone: v3.3 · Priority: P1 · Size: M


Release plan: #3195
Dependencies: maintained with GitHub issue relationships.
Architecture: Extend openmed/training/federated, openmed/training/synthetic, openmed/compliance, openmed/clinical, and openmed/eval.
Source of truth: this issue body, its parent release epic, and GitHub dependency relationships.

Estimate: M (planning only; confirm during implementation).

Metadata

Metadata

Assignees

No one assigned

    Labels

    P1HighfeatureNew capabilityhelp wantedExtra attention is neededroadmap-v3OpenMed V3 roadmap backlog

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions