Docs/Protocol/The Scheduler
Rulebook v1
How the readings become five stage weights within the caps, and how the bottleneck is named.
- Version
- v1
- Stage cap
- 50%
- Design + Power
- 50% at most
- Unit
- Basis points
#Scores to weights
Rulebook v1 turns a scorecard into five stage weights and names the bottleneck. The same readings, in any order, give the same weights. Every step before rounding uses exact fractions, so no cap or tie is decided by a rounding error.
- 01ReadEach input’s reading is a whole number from 0, slack, to 4, binding.
- 02ScoreEach stage scores the mean of its readings.
- 03WeighWeights are proportional to the scores. When every score is 0, the five weights are equal.
- 04CapNo stage above 50%, and Design and Power together at most 50%.
- 05RoundWeights round to whole basis points by largest remainder and sum to exactly 10,000.
- 06NameThe stage with the highest score is the bottleneck.
weight = 10,000 bps × stage score ÷ sum of the five scores
- stage score
- The mean of the stage’s readings
- bps
- Basis points: 100 bps is 1%
Rounding takes each weight down to whole basis points, then gives the units left to the largest remainders. Equal remainders go in stage order: Design, Memory, Fab, Equipment, Power. A unit that would take a stage above 50%, or Design and Power together above 50%, passes to the next remainder.
| Stage | Readings | Score | Before rounding | Weight |
|---|---|---|---|---|
| Design | 2 | 2 | 1,548.39 bps | 1,548 bps, 15.48% |
| Memory | 3, 4, 4, 4 | 3.75 | 2,903.23 bps | 2,903 bps, 29.03% |
| Fab | 3, 2, 3 | 2.67 | 2,064.52 bps | 2,065 bps, 20.65% |
| Equipment | 2, 2 | 2 | 1,548.39 bps | 1,548 bps, 15.48% |
| Power | 3, 2 | 2.5 | 1,935.48 bps | 1,936 bps, 19.36% |
No cap binds. Rounded down, the weights sum to 9,998 bps; the two largest remainders, Fab’s and Power’s, take the last 2. The memo is served at docs.kyzen.network/memos/testnet/0.json. Its readings are test values, not a market assessment.
#Weights have caps
No stage takes more than 50%, and Design and Power together take at most 50%: Power has no stock token and is held in Design. The weight registry refuses any rotation that breaks either cap.
The rulebook applies the caps before rounding. A stage above 50% is held at 50%. When Design and Power together pass 50%, they share 50% in proportion to their scores. The excess goes to the stages still below their caps, in proportion to their scores, or equally when they all score 0, and the step repeats until every cap holds. After rounding, the caps are checked again.
- Scores
- Design 1, Memory 4, Fab 1, Equipment 1, Power 0
- In proportion
- Memory 4 of 7, 57.14%: above the cap
- Memory
- Held at 5,000 bps
- The other 5,000 bps
- Shared 1 : 1 : 1 by Design, Fab and Equipment; Power 0
- Rounded
- Design 1,667, Memory 5,000, Fab 1,667, Equipment 1,666, Power 0
Example scores. The three equal remainders go in stage order, so Design and Fab take the 2 basis points left.
| Publication rule | Value |
|---|---|
| One stage | At most 5,000 bps, 50% |
| Design and Power | At most 5,000 bps together |
| Sum | Exactly 10,000 bps |
| Execution | 14:30 UTC on the rotation date, never in the past, at most 31 days after publication |
| Order | Never before the previous rotation’s execution |
| Memo | Its hash and its link, both required |
#The bottleneck
The bottleneck is the stage with the highest score. A tie goes to the stage with more readings of 4, then to the first in stage order.
The memo names it by the label of the stage’s highest reading. On a tie, the first input in the table wins, so DRAM comes before HBM.
| Stage | Labels its inputs carry |
|---|---|
| Design | Design |
| Memory | DRAM, HBM, Memory |
| Fab | CoWoS, Fab capacity, Fab |
| Equipment | Equipment |
| Power | Power |
In the dry run, Memory scores highest. Its first reading of 4 is HBM contract prices, so the memo names HBM.
The bottleneck labels the read; the weights already follow the scores. The dashboard shows the bottleneck only once the memo’s hash matches the registry’s (Memos and verification).