sandbox.modal plugin plus the lanes.gpu dispatcher).
acquire()acceptspurpose: "lane"only — anything else throwsMODAL_LANE_ONLY, so a CPU runtime can never mount it by accident.- Capabilities:
gpu: true,isolation: "container"; sizes are the GPU classes priced inpricing.json. - Mounting: the lane dispatcher routes to Modal only when
Runtime.mdlanesincludesgpu:<class>or a media step declaresgpu. Without a declared lane, Modal never mounts. - Pricing:
pricing.jsoncarries thegpu_secondSKU per class (USD/s).estimateGpuCost(class, seconds, pricing)is the plan-only estimator.
zap doctor reports first-party (gpu lane only) and verifies that pricing.json classes match the supported GPU classes — drift fails.