46 lines
1.6 KiB
Markdown
46 lines
1.6 KiB
Markdown
|
|
# Weight Lifecycle Contract
|
||
|
|
|
||
|
|
This document defines the behavioral contract for stage-local weight work.
|
||
|
|
Weights are persistent run state for a stage and must be usable before the
|
||
|
|
stage reports `StageReady`.
|
||
|
|
|
||
|
|
## Assignment
|
||
|
|
|
||
|
|
- The stage receives its weight source from `ProvisionStage`.
|
||
|
|
- The stage receives exactly one assigned layer range.
|
||
|
|
- The stage validates the assigned layer range against the run plan.
|
||
|
|
- The stage does not load layers outside its assigned range as graph-visible
|
||
|
|
ownership.
|
||
|
|
|
||
|
|
## Loading
|
||
|
|
|
||
|
|
- A stage may download a whole GGUF and load only its range.
|
||
|
|
- A stage may download physical shards containing its range.
|
||
|
|
- A stage may use a cached artifact that already exists on the node.
|
||
|
|
- The physical loading mechanism is implementation-defined.
|
||
|
|
- The system-visible outcome is `WeightsReady` or `StageFault`.
|
||
|
|
|
||
|
|
## WeightsReady
|
||
|
|
|
||
|
|
- `WeightsReady` requires assigned artifact bytes to be locally available or
|
||
|
|
cached.
|
||
|
|
- `WeightsReady` requires the assigned layer range to be validated.
|
||
|
|
- `WeightsReady` requires the worker to have loaded or bound the range needed
|
||
|
|
for execution.
|
||
|
|
- `WeightsReady` happens before `StageReady`.
|
||
|
|
|
||
|
|
## Failure Behavior
|
||
|
|
|
||
|
|
- Download failure faults the stage.
|
||
|
|
- Parse failure faults the stage.
|
||
|
|
- Device allocation failure faults the stage.
|
||
|
|
- Binding failure faults the stage.
|
||
|
|
- Invalid layer range faults the stage.
|
||
|
|
|
||
|
|
## Test Direction
|
||
|
|
|
||
|
|
Tests should treat weight loading as a stage-local black box with observable
|
||
|
|
events. Successful tests should assert `WeightsReady` before `StageReady`.
|
||
|
|
Failure tests should inject download, parse, allocation, and bind failures and
|
||
|
|
assert `StageFault` with no `StageReady`.
|