Skip to content

Platform support

Status: published maturity contract · Tracking: AB#7741

Project Marvin is designed as one application distributed through a versioned Linux Open Container Initiative (OCI) image. Docker, Azure, Cloudflare, and future cloud integrations are deployment adapters around that same application; they are not separate Project Marvin implementations.

No hosted target has reached Supported status in the current public baseline. The labels below distinguish repeatable evidence from architectural intent.

Maturity labels

LabelMeaningRequired evidence
SupportedMaintained installation path suitable for normal operator usePublic conformance, persistence, security, backup, update, rollback, and recovery checks pass; instructions are current
TestedA bounded behavior passes repeatable public automationThe named checks pass, but the complete support contract has not been met
ExperimentalAn implementation exists for evaluationCore behavior works, but one or more support gates remain incomplete
PlannedAccepted roadmap directionNo usable or maintained installation is promised, and no delivery date is implied

An architecture diagram, Dockerfile, deployment plan, or private installation is not sufficient evidence for Supported status.

Current matrix

TargetCurrent maturityPublic evidenceMissing before promotionTracking
Local source workflow on WindowsTestednpm run marvin:verify-local runs in the Windows continuous-integration jobRemove remaining Windows-only assumptions and pass the same applicable checks on Ubuntu and macOSAB#7738
Raw linux/amd64 OCI imageExperimentalDockerfile.marvin defines the hosted image; Azure plan tests exercise its deployment contractPublish immutable versioned images and pass restart, persistence, health, security, update, and rollback conformanceAB#7735, AB#7736
Docker Compose on Linux Docker EnginePlannedPortable runtime and Compose work is accepted into the roadmapImplement the reference definition and prove durable state, health, backup, update, rollback, and removalAB#7737
Docker Desktop on Windows or macOSPlannedBoth hosts are included in the portability roadmapComplete the Compose path and host-specific verification without requiring Windows containersAB#7737, AB#7738
Azure Container AppsExperimentalAzure reference adapter plus automated deployment-plan and Bicep checksConsume a versioned release image and publish repeatable conformance, recovery, update, and rollback evidence without private deployment dataAB#7735, AB#7736
Cloudflare ContainersPlannedA bounded prototype is accepted into the roadmapBuild the adapter; prove persistent state outside ephemeral disk, scheduled execution, single-workspace locking, callbacks, security, update, rollback, and conformanceAB#7739, AB#7740
Additional OCI schedulers, including Kubernetes, Amazon Web Services, and Google CloudPlannedThe provider-neutral OCI contract reserves deployment-adapter boundariesCreate and verify a target-specific adapter before making any availability claimAB#7736

Cloudflare becomes Experimental only when a usable prototype exists. It cannot become Supported until every listed persistence, scheduling, security, update, rollback, and conformance gate passes.

Portable runtime contract

Every hosted adapter must supply the same minimum runtime contract:

  • one released Project Marvin OCI image rather than a provider-specific application fork;
  • HTTPS ingress and one authoritative public origin for sign-in, callbacks, and webhooks;
  • secret injection without baking credentials into the image or repository;
  • durable protected state that survives image and host replacement;
  • one logical writable synchronization worker per workspace;
  • liveness, readiness, structured logs, backup, update, migration, and rollback behavior; and
  • outbound HTTPS access to the authorized calendar providers.

The current file-backed runtime requires a durable filesystem and one active replica. Platforms with ephemeral disks or request-driven lifecycles need a storage and scheduling adapter before they can run Project Marvin safely.

Promotion rules

A target moves between maturity labels only when public evidence changes:

  1. Planned → Experimental: a documented adapter can deploy the released image and complete a bounded smoke test.
  2. Experimental → Tested: repeatable public automation proves the named behaviors.
  3. Tested or Experimental → Supported: the complete conformance, operations, security, backup, update, rollback, and recovery contract passes.
  4. Any label → lower maturity: required evidence becomes stale, skipped, or fails.

See the roadmap, release status, and current product evidence for the work that changes these labels.

Public and private evidence

The public matrix contains only repeatable repository evidence. Personal domains, tenant and subscription identifiers, email addresses, resource names, credentials, and private acceptance results must remain outside this repository. A private deployment can validate its own environment, but that evidence does not automatically promote the open-source product's support status.