Skip to content

Glossary

A short reference for the terms used across MINT, written for someone landing on the platform for the first time.

A

Admin A platform-wide role that grants every permission. Distinct from a project creator or lead, which is scoped to one project.

Analysis plugin A plugin that reads experiment data and produces results. Doesn't own a database schema. The Analyze tab on an experiment lists installed analysis plugins.

Analysis result The output saved by an analysis plugin under the experiment's analysis_results[plugin_id]. Saving again for the same plugin updates that entry; plugins that need run history store it inside the result payload or in plugin-owned tables.

Approval queue The list of pending plugin install requests, visible to admins under Admin → Marketplace. Users without plugins.install can submit requests; admins approve or deny them.

Archive (project) Hides a project from default dashboards without deleting any data. Reversible.

Archive (uninstall mode) Renames a plugin's tables with an archived_* prefix on uninstall. Data is unreachable but recoverable.

Artifact A user-uploaded file attached to an experiment — RAW data, plate maps, sequence sheets, and so on. Plugin-owned files live under the platform's configured server.dataPath.

Authenticator The device or method that proves a user's identity in WebAuthn / passkey login — a hardware key, Touch ID, Windows Hello, etc.

C

Capability A flag in PluginMetadata declaring that a plugin needs read or write access to a specific resource family (experiments, projects, …). The PlatformContext enforces capabilities at runtime.

Prerelease updates When updates.includePrereleases is true, the platform update checker includes GitHub prereleases in addition to stable releases.

Collaborator A per-experiment role override stored on the experiment itself. Survives project membership changes.

Custom role A platform-wide role assembled by an admin from any subset of the 18 permissions. Sits alongside the built-in Admin / Member / Viewer.

D

Design data JSON validated against an experiment-design plugin's schema. Describes what the experiment is and what it contains.

Design plugin A plugin that owns an experiment type and its database schema. Provides the experiment's design form and CRUD logic.

Dev modedevMode: true in config.json. Bypasses authentication on every route and forces local SQLite mode. For local development only — never expose.

E

Experiment The unit of work in MINT. Has a type-scoped code, a type, a status, an owner, optional collaborators, design data, and analysis results keyed by plugin.

Experiment code Auto-assigned, globally unique identifier generated by naming_service in TYPE-EXP-SEQ format, such as LCM-EXP-001 or DR-EXP-001.

Experiment type A string registered by an experiment-design plugin. Determines which design schema applies and which analyses can run.

I

Isolation The mechanism by which conflicting plugins run in separate venvs and subprocesses. The platform proxies HTTP to them transparently. Detected automatically by the dependency conflict checker.

J

JWT (JSON Web Token) The auth token MINT issues after a successful password or passkey login. Stored in an HttpOnly cookie. 24-hour TTL by default.

M

Marketplace The catalog of plugins available for install. Sourced from marketplace.registryUrl. Admins approve install requests when approval is enforced.

Marketplace registry A static JSON feed plus the .mint bundle files it points at. Hostable on any HTTPS endpoint. The default registry is MorscherLab/mint-registry.

Member (system role) A user with read + write rights for projects and experiments they belong to, but no platform-admin rights. Most lab users are Members.

Migration (platform) A schema migration in api/migrations/versions/ that the platform runs on startup. Tracked via alembic_version.

Migration (plugin) A PluginMigration from mint_sdk.migrations. Plugins that own tables ship migrations; the platform runs them advisory-locked. Tracked in plugin_schema_migrations.

MINT Mass-spec INtegrated Toolkit. The current name for the platform formerly called MLD. Rebrand landed alongside v1.0.0.

MLD The historical name of the platform — Morscher Laboratory Database. Now retired in favor of MINT, but the GitHub repo retains the name.

P

Passkey A WebAuthn credential — a public/private key pair stored on a device. Replaces or supplements password login.

Permission A resource.action string (e.g., experiment.write) that backend routes check. 18 permissions total, in 5 groups.

Plugin auto-update A per-plugin marketplace setting stored in marketplace.autoUpdatePlugins. When enabled, compatible registry updates can be installed automatically by the marketplace sync task.

Plugin A self-contained extension to the platform. Plugin classes inherit AnalysisPlugin from mint-sdk, then declare their runtime category with PluginMetadata.plugin_type (STATIC, ANALYSIS, EXPERIMENT_DESIGN, or FULL). Discovered via the mint.plugins entry-point group.

PlatformContext The runtime object the platform hands a plugin. Provides repository accessors, the current user, and an OpenTelemetry tracer.

Project The top-level grouping in MINT. Owns a set of experiments and a member list. Project membership gates access to all experiments in the project.

Project role A stored project-membership label. Current values are editor and viewer; route-level write access still comes from system RBAC.

Purge (uninstall mode) Drops a plugin's tables and uploaded artifacts permanently. Irreversible.

R

Repository pattern The platform's data-access abstraction. Each resource (project, experiment, user, …) has a repository that hides whether the storage is files, SQLite, or Postgres.

Routes prefix The URL path a plugin mounts under, declared in PluginMetadata.routes_prefix (e.g., /my-plugin).

S

Snapshot A pre-upgrade capture of plugin database + filesystem state, used for rollback. Created by snapshot.py. Short-lived — not a backup substitute.

SDKmint-sdk (Python) for plugin backends; @morscherlab/mint-sdk (npm) for plugin frontends. The contract between plugins and the platform.

SSO (Single Sign-On) Delegating authentication to an external identity provider such as Microsoft Entra, Google Workspace, or Okta. The current core MINT config does not include a built-in OIDC provider block; deployments that need SSO usually place MINT behind an organization-managed reverse proxy or access gateway.

Status (experiment) One of planned, ongoing, completed, or cancelled. Most plugins gate writes on the status.

V

Viewer (system role) A read-only platform-wide role. Cannot write to any resource.

W

WebAuthn The browser standard behind passkey login. MINT uses it via the passkey_service.

MINT is open source. Made by the Morscher Lab.