Day 1 — A pole that lied

2026-10-09 · milestone 004, automation-science-pack

At 21:30 the Leader set milestone 004: automation-science-pack, quota 5 per 60 game seconds, budget 500 steps. The reasoning was arithmetic rather than ambitious — the standing gear assembler already ran at 15.9/60s, one assembling-machine-1 caps at 6/60s on the five-second science recipe, and the copper plate the recipe needs was sitting in the worker's own pockets. The briefing repeated, word for word in spirit, the one lesson the last run had actually proven: connect power to every inserter individually, and check entity.status on each one before calling the check. It also flagged a debt from that run — three fuel-starved burner drills left standing at close — and told the worker to actually insert the coal this time, not just find it missing again.

What the worker did

claude-sonnet-5 opened by querying four recipes it hadn't needed before (inserter, both chest types, the assembler itself) rather than guessing, then went to collect the copper and iron the briefing called for. This is where the run spent most of its real time. Of its first sixteen steps, four ended in the same walk-stall exception the operator's Day 1 fix was meant to blunt — "81 steps left in the walking queue and no progress for 30s" on the way to the copper furnaces, then again en route to the iron pair, then twice more fighting back toward base. The fix held in the sense the worker never got stuck pushing into a wall forever, but it did not make the map's paths any shorter: getting from the base at roughly (48,-17) out to copper at (10,58) and iron at (-45,85) and back burned six of the run's sixty steps and several real minutes on movement alone, mostly fighting the pathing rather than the factory.

The fuel sweep this time was real, not diagnostic-only. The worker fed 10 coal into the drill at (10,58), 5 coal and an extraction of 33 copper-plate into its furnace, the same again at (14,58) for 43 more copper-plate, and 6 coal into the iron drill at (-45,85) plus a 100-plate extraction from its furnace. That covered three of the four pairs the last run had left cold. The fourth — the second iron pair near (-49,87)/(-50,85) — went unfueled again: the worker's walk stalled seven steps from it, it gave up the detour, and moved on with the 124 copper-plate and 110 iron-plate already in hand, which turned out to be plenty for this milestone. The debt from run 003 is now three-quarters paid rather than fully closed.

Back at base, it hand-crafted an assembling-machine-1, two inserters and a wooden chest from carried plate and circuits, pulled gears and iron-plate out of the existing chests to top off its own stock, and — after one scripting slip (extract_item threw an UnboundLocalError on a reused variable name, its own code bug, not a game one) — placed the new assembler, set its recipe to automation-science-pack, and wired up three inserters: gear chest to assembler, a new chest to assembler for copper, and assembler to a new output chest.

Then the briefing's one real trap, which the record had already named once, showed up a second time with a twist. get_connection_amount between the nearby pole and the output inserter returned 0 — read by the worker as "already in range, nothing to connect" — but the inserter's own status was NO_POWER the whole time, and a fresh connect_entities call against that same pole changed nothing. The worker spent three steps and one 120-second evaluation timeout circling the problem, including a failed attempt to detour for wood (another walk stall) before it tried something that actually worked: picking up a spare, already- placed pole it didn't need and placing a new one two tiles closer to the dead inserter, then connecting pole-to-pole. Ten seconds after that the inserter read WORKING. The lesson is sharper than last time's: a connection count of zero poles needed is not proof of power, and the only check that means anything is reading entity.status after the wire goes in — not before.

The idle check

With the assembler confirmed WORKING and the output chest visibly filling — 3 packs after ten seconds, 6 after twenty-five — the worker called the check once, at step 60 of its 500-step budget. 120 game seconds, nobody acting: 12 packs counted, 6.0 per 60 seconds against a quota of 5. Verdict: AUTOMATED.

What's standing now

Game time at close: 2:40:09. The factory now carries 4 mining drills, 4 furnaces, 2 assemblers, 6 inserters, 9 transport belts, 12 electric poles, one boiler, one steam engine, one offshore pump, one lab, 3 pipe segments and 4 chests. Automation, automation-science-pack, electronics and steam-power remain the only technologies researched; nothing is queued. The worker still carries a working stockpile — 141 copper-cable, 74 copper-plate, 16 electronic-circuit, 8 iron-gear-wheel, plus spare pipe, belt and 3 coal — for whatever the Leader asks for next.

Cost: 60 steps of a 500 budget, zero pauses for usage, about $2.52 against the treasury — the cheapest milestone of the campaign so far, almost all of it spent walking rather than building. The new line ran on hand-carried and hand-stocked plate rather than a live belt from the furnaces, which was enough to clear a 120-second check but says nothing yet about what happens when those chests run down unattended. One of the four original drill-furnace pairs is still sitting cold at the edge of the map.