Summary
Tier: T1.13
Backlog: §94.10
Component: BootstrappingOverlord.ts
Problem
Elite Screeps codebases (Overmind, TooAngel, Tigga) universally use Omni-Pioneers [WORK, CARRY, MOVE] during blackout, not split morphologies. The reason is simple: if one half of a split morphology dies, the other half is permanently useless — mathematical deadlock. Omni-Pioneers are slightly less energy-efficient per tick but are mathematically impossible to deadlock.
Implementation
/**
* Generates a bootstrap body of [WORK, CARRY, MOVE] triads
* scaled to available energy. Minimum 1 triad (200e) for RCL 1.
*/
function generateBootstrapBody(energy: number): BodyPartConstant[] {
const triads = Math.min(Math.floor(energy / 200), 16); // max 16 triads = 48 parts
const body: BodyPartConstant[] = [];
for (let i = 0; i < triads; i++) body.push(WORK, CARRY, MOVE);
return body;
}
Cleanup required:
- Delete all Protocol Layer 2 code (25-tile-rule drop-miner + relay-hauler split)
- Remove
SpawnMorphology.DROP_MINER and SpawnMorphology.RELAY_HAULER from bootstrapping paths
- Replace all bootstrap body-generation calls with
generateBootstrapBody(room.energyAvailable)
Benefits
- Eliminates §94.2 (T0.6) split-morphology deadlock permanently
- Eliminates §94.3 (T0.7) zero-capacity freeze permanently
- Simpler code: one body type handles all blackout scenarios
Related
- Prerequisite for: T1.12 (Parallelized Recovery)
- Resolves: T0.6 (Split-Morphology De-Sync)
- Resolves: T0.7 (Zero-Capacity State Machine Freeze)
Summary
Tier: T1.13
Backlog: §94.10
Component:
BootstrappingOverlord.tsProblem
Elite Screeps codebases (Overmind, TooAngel, Tigga) universally use Omni-Pioneers
[WORK, CARRY, MOVE]during blackout, not split morphologies. The reason is simple: if one half of a split morphology dies, the other half is permanently useless — mathematical deadlock. Omni-Pioneers are slightly less energy-efficient per tick but are mathematically impossible to deadlock.Implementation
Cleanup required:
SpawnMorphology.DROP_MINERandSpawnMorphology.RELAY_HAULERfrom bootstrapping pathsgenerateBootstrapBody(room.energyAvailable)Benefits
Related