Storage is an input to planning
Most local inference systems begin by loading or mapping a checkpoint and then react when memory becomes scarce. Minirun begins earlier. A supported model adapter knows the logical regions used by each stage, while the container identifies where those regions live on storage. The planner combines that information with an explicit memory budget before execution starts.
The resulting plan names the minimum working set, resident regions, staged reads, model-specific cache allowance, and unused headroom. If those terms cannot be represented inside the budget, the run is refused.
The data path
Addresses model regions and binds the local bytes.
Admits the run and assigns resident, staged, and streamed work.
Issues exact reads and stages them inside the budget.
Consumes regions in architecture-specific order.
Frees completed regions or keeps planned state resident.
Addressable and verifiable weights
Container metadata maps logical model regions to checked file ranges. A matching full verification result authorizes the local container for the current publication and filesystem identity. The detailed inventory and evidence rules are defined in the container guide.
Overlap without breaking the ceiling
When the next region is knowable, the scheduler can read it while the current region computes. The staging buffer is charged to the same memory plan. After consumption, the region is released or retained according to that plan.
Generic core, model-specific execution
Storage safety, bounded reads, planning primitives, and lifecycle rules are generic. Tensor order, routed experts, recurrent state, tokenizer behavior, and generation semantics belong to the model adapter and runner. This boundary keeps one model's assumptions from leaking into every container or into the storage layer.
New model families therefore need an explicit product binding rather than a name added to a menu. The binding must understand the container, validate its runtime metadata, assemble the supported input format, execute with bounded memory, and report honest lifecycle and measurement events.
What Minirun does not do
- It does not treat operating-system swap as the execution strategy.
- It does not make an unknown model runnable through an unbounded generic fallback.
- It does not infer verification from a repository name or a path that used to contain valid bytes.
- It does not present an unavailable measurement as a measured zero.
