Skip to content

Infrastructure Planning

Infrastructure has owner-specific planning and execution boundaries. There is no generic fallback for migrated local structures.

Local fixed structures

colonyLayout owns exact permanent geometry for Spawns, Extensions, Towers, Storage, Terminal, Labs, local Links and Containers, Extractor, Factory, Observer, Power Spawn, and Nuker. managers/localConstruction derives desired items directly from that plan and performs bounded live-safe site placement.

The executor stores only outcome/retry state and exact manual approval fingerprints. It does not persist desired geometry or create build orders.

Local Roads

logistics/localRoadPlanning owns persistent route-derived arterial geometry under RoomMemory.logisticsRoadPlanning. logistics/localRoadIntent merges it with colony-layout lanes on demand. The merge is not persisted.

Infrastructure cadence invokes the shared focused local-construction executor with unified Road items. Road execution has its own compact cadence state under localRoadConstructionExecution; there are no Road packages, plans, or orders.

Remote infrastructure

Remote source Containers retain the generic plannedStructures and buildOrders lifecycle because visibility, operation identity, endpoint recovery, and home/target room separation remain remote-specific.

Remote Roads retain remoteRoadRoutes, exact manual approval, cross-room pathfinding, safety validation, progressive construction, and endpoint recovery. They do not use local-road intent.

Defense infrastructure

Critical Ramparts and defensive Walls retain the generic plan/order lifecycle. Their planning, approval, placement, debug, and maintenance boundary is unchanged by the colony-layout cutover.

Generic infrastructure Memory

After infrastructureCutoverCleanupVersion = 1, the generic dictionaries may contain only the retained remote/defense purposes:

remote-source-container
remote-road
critical-rampart
defensive-wall

nextBuildOrderNumber, plan compaction metadata, events, dirty cadence, remote-road routes, link-network summaries, and stats remain because live remote/defense execution still uses them. Work-package Memory and codecs no longer exist.

See docs/COLONY_LAYOUT_INFRASTRUCTURE_MIGRATION.md for the exact one-time cleanup and preservation boundary.

Operator commands

Local inspection and approval:

debug.colonyLayout("E48N13")
debug.localConstruction("E48N13")
debug.logisticsRoutes("E48N13")

Retained remote/defense lifecycle:

debug.infrastructurePlan("E48N13")
debug.buildOrders()
debug.buildOrder("<order-id>")
debug.pending("E48N13")
debug.remoteRoads("E48N13")
debug.defense("E48N13")

Package, colony-layout rollout, and assisted Extension migration commands were removed when the migration completed.

CPU cadence

Planning remains staggered under the room manager's infrastructure CPU profile section. Local arterial path refresh is bounded by its configured per-evaluation limit. Local construction and remote/defense placement retain their configured site bounds and retry cooldowns. The version-gated cutover cleanup runs once and adds no steady-state scan.

With an active Infrastructure base lease, the manager cheaply requests a Launch Control enhancement only when more dirty domains or uncalculated local route paths remain than the baseline evaluation can consume. Baseline evaluates at most two dirty domains and one route path calculation; enhanced mode raises only those analysis bounds to four and two. Proposal, approval, revision, legality, construction-site, economy, remote-safety, and execution gates are unchanged. The enhancement therefore grants more thinking, not more permission.