The First Storm
In which our protagonist learns that bugs at continental scale are not like bugs at local scale, and Elara has a bad day.
The wave hit Saltreach at dawn, and the lighthouse was the first thing to go, and the harbor was the second, and the king's garrison was the third, and the garrison commander, a man named Pell who had been awake for thirty-six hours, used his last second to send a single word over the crystal network, and the word was RUN, and the word reached the central palace while Kenji was halfway through explaining to Lian why a continental weather spell was not, in fact, the same thing as a town-sized weather spell, and the word did not let him finish the explanation.
[Alert: Saltreach lighthouse, harbor, garrison, downtown, all offline]
[Time elapsed since first contact: 14 minutes]
[Population at risk: 240,000]
[Compiler note: this is not a storm. Storms take hours. This is a delete command. The system is, in a small way, paying attention.]
The system was, in a small way, right to be paying attention. The Compiler had been quietly logging the earthquake patterns for three weeks. The Compiler had been quietly logging the wind anomalies for ten days. The Compiler had, in the driest possible language, been telling the developer that the world's weather system was no longer behaving like a weather system, and that the developer was, in a small way, learning to ignore the system, and that the system was, in a small way, a colleague, and that colleagues do not let colleagues finish sentences when the continent is on fire.
"Send everything," Kenji said, to the king, to the room, to the part of himself that had spent ten years reading log files for hidden patterns. "Send the guards, the mages, the healers, the food, the tents. Send them now. We have maybe three days before the refugees hit the capital."
The king sent everything. He also sent Kenji.
The crystal network lit up. The southern kingdoms sent messages. The northern kingdoms sent messages. The eastern kingdoms sent messages. The western kingdoms sent messages. The continent was, in the language of the system, sending telemetry, and the telemetry was the kind of telemetry you only get when the deployment is failing at a scale no one in the room has ever seen.
[Threat assessment: continental storm, channeled]
[Source: external, consistent with Malachar's influence on the weather system]
[Effect: physical destruction + corruption spread, side by side]
[Compiler note: the storm is not the bug. The storm is a side effect. The bug is the channel. The system approves that the developer noticed.]
The system approved. The system was, in a small way, a colleague. The colleague had just told him, in the driest possible language, that the disaster in front of him was the symptom and not the disease, and that the developer was, in a small way, learning to read symptoms, which was, in the language of the old job, the first skill of any engineer who had been asked to debug a continent.
The refugee crisis hit on day two. Tens of thousands of people, streaming inland, carrying their children, carrying their elderly, carrying their wounded, carrying nothing. The roads were clogged. The food was running out. The hospitals were overflowing. The capital, which had been the most stable city on the continent, was about to be overwhelmed.
Kenji stood at the city gates, with Elara at his side and Lian a few steps behind, and Pip on his shoulder, and Pip's pulse was the pulse of a small bright spark that was, in the driest possible language, the pulse of a system that was watching the world fail in real time and was preparing, with the patient attention of a compiler that knew the developer was about to write the next line, to do whatever was needed.
The refugees came. They were muddy. They were exhausted. They were terrified. They were looking at him with the desperate hope of people who had been told that the kingdom's Royal Advisor could fix anything, and who had decided, in the way that refugees always decide, that the next person to walk through the gate with a title was the person who was going to save them.
He could not fix everything. He knew that. He was a software engineer. He knew, with the particular certainty of a person who had spent a decade watching production systems fail, that even the best systems have limits. He also knew, with the equal and opposite certainty of a person who had spent that same decade fixing the limits, that the limits were there to be tested.
"Elara. I need you to coordinate the refugees. Sort them by need. Medical first, then children, then elderly, then everyone else. We do not have enough food, but we have enough for triage."
"Done."
"Lian. I need you to design a shelter spell. Something that will create temporary housing, fast, cheap, and stable. We do not have time to build real buildings. We need something that will hold up for a week, maybe two."
"On it."
"Pip. I need you to scan the refugees for corruption. Anyone who has been touched by the storm, anyone who has been exposed to the green light. We need to know who is clean and who is not."
Pip pulsed, soft, blue, and flew off, and the pulse felt like: "Scanning. The system is, in a small way, working as intended."
The work began. It was, in the language of Kenji's old job, a major incident. The kind of incident that you do not sleep through. The kind of incident where you eat when you can, where you sleep when you can, where you do whatever is necessary, for as long as it takes, and where the system pages you every forty minutes to ask if you have eaten, and where the system does not, in fact, take no for an answer.
It took three days. The refugees were sorted, sheltered, fed, and, for the most part, calmed. The corruption was contained. The hospitals were stretched but not broken. The capital held.
But the cost was high. The guards had worked until they dropped. The mages had burned out two of the four senior members of the academy. The food stores were depleted. The morale was low. And the storm had not stopped. It was still out there, somewhere over the ocean, gathering strength, waiting, the way a process waits when it has finished one task and is about to be assigned another.
There would be more storms. There would be more refugees. The debugging was not a single event. The debugging was, in the language of the system, a process, and the process was going to run for as long as the developer ran it, and the developer was going to run it until the developer found the bug, or until the developer found someone who could find the bug, or until the developer was the bug, which was a possibility the system was, in a small way, logging for the record.
And then, on the evening of the third day, Elara did not come back from the wall.
Kenji found her at the north gate, leaning against the stone, her hand on her shoulder, her face pale. She had been caught in a rockslide, she said. A small one. The kind of rockslide that the storm had triggered in the hills to the north. The kind of rockslide that should not have hurt her, except that one of the rocks had been carrying a fragment of corruption, and the corruption had gone into her wound, and the wound would not heal.
[detect_corruption: 1 source identified. Location: Elara Vance, left shoulder, depth 2cm]
[Threat level: low (for now)]
[Compiler note: this is the senior engineer who has been asked to onboard a junior. The senior engineer has been touched. The system is, in a small way, alarmed.]
She was alive. She was conscious. But she was hurt, and the hurt was not normal hurt, and Pip, who had been scanning the refugees, flew to her shoulder and pulsed, urgently, blue, and the pulse felt like: "She has been touched. The wound is the kind of wound that does not heal. The system is, in a small way, paying more attention than it has ever paid."
Kenji sat down beside her. He held her hand. He did not say anything. He just held her hand, and the night went on, and the storm gathered, and the wound, in the driest possible language, was the kind of wound that the system had been built to detect, and the system had detected it, and the system was, in a small way, ahead of the developer, and the developer was, in a small way, learning that the cost of debugging a continent was going to be paid in the people he loved.
The two moons hung low over the city. The crystal network hummed with eight hundred quiet messages. Pip pulsed, soft, blue, steady, and the pulse was, in the language of the system, the pulse of a small bright spark that had decided, in the smallest possible words, that the spark was not going to leave the captain's shoulder until the captain was, in a small way, safe.