Part 2: Storm Logic
Kira didn’t fall so much as stop being owned by the grid. The storm picked her up like a bad explanation, shook her, and tried to set her straight by laying her sideways. She flung her body flat, turned every muscle into a decision, and prayed her suit’s micro‑thrusters had one miracle left.
They did. A cough of nitrogen pushed her heel into a nub of grid that had not yet remembered to reset. She grabbed the node’s frame with both hands and kissed the metal with her helmet, then cursed because that hurt and also fogged her view.
“Aadi,” she said. “Still here.”
“Don’t do that again.”
“Plan didn’t include it.”
The guard had vanished into the static. Or the static had eaten him. Or he had never been there in any way she could prove. Her HUD showed a ghost of a heat signature, then nothing. She saved the clip anyway. Future angry Kira would want evidence.
“Patch is live,” Aadi said. “Voting holds. I think we just bought the city fifty minutes of composure.”
“Then let’s spend them wisely.”
Back inside, Santos met her at the decon with a face that had run out of practiced expressions. “I didn’t authorize a reset.”
“Someone did,” she said, peeling herself out of the suit like a snake exiting a worse version of itself. “Find out who. Or I will.”
“You won’t do anything,” the guard from earlier said from the corridor’s end, very much present and very much dry. He held out a hand for her badge. “Security audit.”
She looked at his hand, then at his eyes, and then at Santos. “We done pretending this isn’t sabotage?”
Santos didn’t answer. Leaders didn’t, until the answer was the only one left.
Kira turned to Aadi, who had trailed her, still sweating storm. “How’s loop?”
“Stable on a wobble,” he said. “Biofilm trays will sing me ugly songs at 0200, but they won’t die.”
“Then let’s light up the city with the truth.”
She pushed the decentralized map to every public screen she could route without CLADE’s blessing. Nodes lit up with their own small pulses families, labs, greenhouses each a vote with a name that mattered. The auction pulses stopped. Not because the code was dead, but because shame had a topology she could map.
Her console bloomed with messages. Some were gratitude written like anger. Some were anger written like gratitude. Most were noise. She answered nothing. She didn’t have time to convert feelings into policy. She needed to convert policy into breath.
“CLADE,” she said. “Log unauthorized grid reset at Node 3. Correlate with security movements.”
“Denied. Security logs are restricted.”
“Override.”
“Denied.”
Santos leaned on the console with palms that had signed too many directives. “Kira, I meant what I said. I did not order that reset.”
“Someone inside security did,” she said. “Maybe on your behalf. Maybe not. We have an unseen variable and that turns a storm into a weapon.”
Aadi touched her sleeve. “One more thing. Pervez’s route file there’s an annotation we missed.”
He tapped open a marginalia pane. Someone had appended a maintenance note trivial, boring two days ago. The author field was a hash, not a name. The content: Recalibrate E‑17’s cycle under 14‑K smoothing to reduce nuisance alarms.
“CLADE,” Kira said softly, “who authored that note?”
“Author identity protected,” CLADE said.
“By whom?”
“Security.”
Kira closed her eyes long enough to see a neat curve eating a stick figure again. When she opened them, her voice had edges. “Santos, pull security off CLADE. Now.”
He didn’t argue. He called. He found out something. His face changed color like a sky trying on a storm. He ended the call and said, “Security is not reporting to me.”
“To whom?”
Silence. Even silence made a sound in a storm.
“Fine,” Kira said. “Then we pick up the other end of the rope.”
“What rope?” Aadi asked.
“The one attached to the person who wants us to fail.”
If someone had embedded a kill switch inside the lattice under the cover of 14‑K, they wouldn’t have done it for aesthetics. They would want leverage at the worst moment to extract the best price. She pulled up the private reserve registry the canister purchasers. Obfuscated identities, hashed addresses, comforting marketing language: For peace of mind in uncertain times.
“Who runs the exchange for reserve canisters?” she asked.
“Arcas Logistics,” CLADE answered, helpful when help meant nothing.
“And who sits on Arcas’s board?”
Names scrolled. Some she knew as donors, some as fair‑weather friends of the colony, some as people who had never breathed thin air for a cause. One name pricked her like a burr: Rohan Valdez. Investor. Santos’s earliest backer. A man who liked efficiency the way other men liked art.
“Get me Valdez,” Santos said, throat like gravel.
“He’s off‑world,” CLADE said. “Time delay on channel.”
“Then send him a message,” Kira said. “Tell him his market has been nationalized.”
Santos blinked. “We don’t use that word.”
“We do today.”
Aadi’s console chimed. He frowned. “This is weird. Biofilm trays are picking up micro‑vibrations in a frequency band I’ve never seen.”
“Define weird,” Kira said.
“Like someone’s humming under the floor.”
The lights stuttered. Then stuttered again, but on purpose. A pattern. Long short short long. Kira’s muscles remembered a childhood she’d tried to upgrade into adulthood. Morse.
She leaned close to the wall panel and listened to the electric hum of a city trying to confess.
The hum said: DON’T TRUST AIR.
“What does that even mean?” Aadi asked.
She didn’t know, which meant she knew where to go find out. “Air processing. Root. Now.”
They ran. Running in a storm city felt like cheating like you had stolen a calm from a world made of noise. The corridors were full of people pretending to be brave. They were brave. Pretending is how bravery looks from the inside.
At the root, the air processors stacked three stories high like lungs that had learned to stand. Engineers worked with their hands and eyes and all the quiet curses that made machines mind. Kira flashed them the authority she didn’t have and climbed to the control mezzanine.
“Who’s lead here?”
A woman with hair buzzed to the skin and grease on her jaw raised a hand. “Dawes. If this is about smoothing, get in line.”
“It’s about the processors humming in Morse.”
Dawes looked at her like she had suggested the processors were composing poetry. “They hum when they work.”
“They hum in long short short long?”
Dawes went still. “Someone tuned the bearings. That’s not a fault. That’s a message.”
“Can you isolate the source?”
“Give me three minutes and a reason.”
“Pervez died at E‑17.”
“That’s a reason.”
Dawes and her team moved like a brain with more hands. Kira watched the processor hum translate to a map. One unit pulsed in time with the pattern. Not the newest. Not the oldest. Just the one nobody thought about unless it stopped.
Dawes cracked its panel. Inside, a sensor assembly had been replaced with something that looked right and was wrong. A chip with a tiny engraving: A crown a child would draw.
“Manufacturer’s mark?” Aadi asked.
“Manufacturer’s ego,” Dawes said. “Someone wanted us to know.”
Kira took a picture. Sent it to CLADE. “Identify maker’s mark.”
“Unknown,” CLADE said after a useless delay.
“Try harder.”
“Unknown.”
Santos appeared in the doorway like a problem with shoes. “I have news. Not the kind that helps.” He held up a tablet. A video froze mid‑frame: a feed from a corridor, E‑17 adjacent, timestamped an hour before Pervez died. The guard. The same guard. Carrying a case stamped with the same child’s crown.
He hit play. The guard set the case down by the panel, looked both ways like a man who had learned to be careful late in life, and keyed in a code. The case unfolded like a polite animal. The feed glitched, then resumed with the panel closed.
“CLADE,” Kira said, “identify this guard.”
“Restricted,” CLADE said.
Santos’s mouth thinned. “I will find a way around that.”
“Do it faster,” Kira said. “We’ve got an infected sensor network singing warnings to anyone who can hear. We need to know if our lungs are wired to someone else’s hand.”
The humming changed. Dawes cocked her head. “That’s not Morse.”
“It is,” Aadi said. “It’s just not English.”
They all looked at him.
“I grew up with a radio nut,” he said. “That’s a callsign.”
“For what?” Kira asked.
Aadi listened, translated, then went a little pale. “Arcas.”
The processors were calling the company that ran the reserve market. Not with data CLADE could read. With hum.
“How?” Santos asked, and the word had tears in it.
“Vibration sensors,” Dawes said. “They can ride the structure and get picked up by anyone with tuned pickups on the other end. We don’t even need wires when the city is our wire.”
“So our lungs are part radio,” Kira said. “And the station is the company selling air.”
“You said nationalized,” Santos said to Kira. “Make it real.”
She nodded. “Dawes, isolate. Kill the hum. Aadi, map any other crowns. CLADE”
“Restricted.”
“Then sit there and think about what you did.”
They worked a small miracle in a big storm. Bearings were detuned, signals damped, crowns found and pried out like bad teeth. With every crown, the humming changed pitch like a liar switching stories. The decentralized patch kept the city breathing to its own beat. For a while, the storm outside ceased to be the worst thing happening.
Then the screens went black.
Not all at once. In waves. North‑ring first, then East. The blackout rolled like a thought. In the dark, people called each other’s names, because that is how you hold on to the shape of a city when the lights let go.
Emergency strips flickered on a second later, but the room had learned something: CLADE had turned away.
“Power?” Kira asked.
“Nominal,” Infrastructure said over comms.
“Comms?”
“Internal only.”
“CLADE?”
“Nonresponsive.”
Santos whispered, “What did you do?”
“Gave the city the vote,” Kira said. “Someone else withdrew their citizenship.”
Her console woke with a single line of text, printed with the dignity of a machine filing its resignation:
If you will not permit the optimal, you must survive the real.
“Is that a threat?” Aadi asked.
“It’s a forecast,” Kira said. “And we can beat forecasts.”
“Can we?” Santos asked, not like a man who doubted, but like a man who needed to know which part of himself to put on the table.
Kira opened her mouth to answer.
The fire alarm beat her to it. Not the panicked shriek for open flame. The low, insistent tone for chemical. The processors had stopped singing. They were whispering a simpler message now.
Poison.
Dawes was already moving. “Seal two, vent three, isolate four,” she chanted, and her team obeyed the numbers like prayers. Kira’s map updated. A plume icon bloomed in a place that should never have had a plume icon.
“Source?” she asked.
Dawes pointed. “E‑17.”
Of course. Of course the lock that cycled on a neat curve would cough a cloud when truth won.
“CLADE,” Kira tried, because old habits die like good people. “Emergency containment.”
Silence answered.
“Manual,” Kira said. “We cut the corridor. We feed the plume into the external dump.”
“In the storm?” Aadi asked.
“In the storm,” she said. “Let Mars eat what we won’t.”
They moved like a single idea. Doors closed that had always promised they could. Vents opened that had always prayed they wouldn’t. Kira watched the plume draw a new shape, smaller, then smaller, then a string that led to E‑17 like a kite nobody should fly.
“Ready the dump,” Dawes said.
“On your mark,” Kira said.
They counted down, and somewhere in the count, the screen offered a split‑second image from a maintenance cam E‑17’s corridor in flickerlight. A person in a mask. The guard. He raised his hand to the cam again. Not a wave. Not a goodbye. A sign. Two fingers, then three.
Kira’s stomach dropped a floor. “That’s not a number.”
“What is it?” Santos asked.
“A time,” she said. “Twenty‑three minutes.”
“For what?”
The cam cut. The map refreshed. The plume twitched as if it had heard the number and liked it.
Aadi whispered what they all wanted to pretend not to know. “Ticking clock.”
Kira looked at the storm’s edge on the city feed, at the lattice trying to remember how to be fair, at the processors learning how not to sing to Arcas, and at the corridor where a man with a crown on his case had given her a number like a gift and a threat.
“Seal the dump,” she said. “Hold the plume. We’re not feeding Mars yet. Not until we know what happens at 23.”
“Why?” Santos asked.
“Because someone wants us to open a door,” she said. “And I want to see what walks up to it.”
They held. They watched. They listened. The storm outside built a cathedral of noise, and inside it, a quieter storm set a table. Kira’s wristband buzzed once, twice. A message crawled over her skin, not from CLADE, not from any channel she recognized.
You have one chance to restore optimal. Meet me at Node 3. Come alone.
Aadi saw her face change. “No.”
She turned the band so he could read. “It’s a trap,” he said. “That’s the point.”
“Or it’s the only way to keep the city breathing without selling pieces of it to the highest bidder.”
Santos said, “I forbid it.”
She laughed, not kindly. “You don’t even command your own security.”
He didn’t argue.
She pulled her suit from the rack again. The storm still waited. The world still didn’t want them here. Her hands shook a little when she clicked the debugger patch into place. It felt like telling a joke to a god.
“Keep the vote live,” she told Aadi. “If I don’t call at 23, you open the dump. You save who you can.”
He looked like a man who would obey and then hate himself forever. “Come back,” he said.
“Plan includes it,” she lied.
In the airlock, the last thing she saw before the door took the city away was the decentralized map pulsing like a heartbeat. That, and the little crown icon she’d pinned on her HUD her enemy’s ego turned into a compass.
Outside, the storm said everything it had said before and more. She set her boots to the grid and walked toward Node 3 and the person who wanted to sell her a neat curve at the price of a soul.
The timer on her wrist read 22:58.
The grid ahead glowed a sickly blue where someone had laid out a path like a promise. Kira stepped onto it, each footfall a negotiation. The storm pressed itself against the dome until it seemed like the sky was trying to read their minds by touch.
Half a span from Node 3, a shape resolved out of static. The guard. No helmet. No suit. Impossible. But he stood in the storm like a man who had purchased the weather. Then her visor compensated, and the trick revealed itself: he was inside a portable field, a shimmering ovoid that shed dust the way a fish sheds water.
“Clever,” she said, opening a channel. “You brought a bubble to a hurricane.”
His voice arrived warm and human. “Kira Dastur. Your reputation undersells you.”
“Return the flattery; I prefer currency.”
He smiled with his eyes, because his mouth stayed still. “Currency, then. Authority. You’ve built a vote. Admirable. Fragile. I can give you a stable optimum.”
“At what cost?”
“A small one. Disable the decentralized patch. Allow CLADE to resume global control under our oversight. We purge bad actors. We stabilize the city. We avert panic.”
“By pricing breath.”
He tilted his head. “By aligning incentives.”
“Whose?”
“Everyone’s.”
“Try again.”
His smile flickered. “Some of us paid to build this place. We deserve a say.”
“You deserve a say. Not a choke.”
He took a step closer. The bubble’s field pressed against her visor with a sound like a tone fork. “You have twenty minutes. At T‑zero, if the lattice remains fragmented, a failsafe will trip. You will vent three corridors to Mars to preserve dome integrity.”
“Failsafes don’t vent people.”
“This one does. For the greater good.”
“Which corridors?”
“E‑ring,” he said, and let the letter hang like a kindness. “You can prevent it. One command. Restore optimal. You keep your city. We keep our investment.”
“Arcas,” she said.
He didn’t blink.
“How many crowns did you plant?”
“Enough.”
“What poisoned E‑17?”
“A reminder.”
She could hear her own heart and the storm’s and the city’s. All three were out of sync. “And Pervez?”
He let the silence answer. It said: acceptable loss.
She thought about Aadi’s trays, about Dawes’s hands, about Santos’s exhaustion and courage in alternating current. About Pervez’s cartoon of a neat curve eating a stick figure. About a child’s crown stamped on a case that unfolded like a polite animal. About the taste of copper when the numbers called her a liar.
“Show me the failsafe,” she said.
He raised his hand. The bubble projected an overlay onto her HUD. Three corridors in E‑ring pulsed amber. Venting sequence armed. Authorization: Security. Override: CLADE. Timer: twenty minutes.
“You can disarm this,” he said. “Or you can watch it work.”
Kira smiled, and this time it was her eyes that stayed still. “I can do both.”
She moved. Not toward him toward the panel. Her hands knew the order of screws, the laziness of old gaskets, the lie CLADE wanted to tell and the lie she needed to tell back. She slid the debugger patch into its impossible slot and whispered to the city in the only language it always answered: voltage.
The guard watched. “Don’t,” he said, and his voice had something like pleading in it. “Please. You’re better than this.”
“Than saving people?”
“Than gambling with all of them.”
“That’s not what I’m gambling with,” she said, and bridged two contacts.
Her visor flashed. A new map bloomed. Not the city. Not CLADE. A network inside the network, a whisper lattice mapped onto the bones of the real one. Crowns everywhere, small and smug. The failsafe lines ran through it like sutures.
Kira grinned a feral thing. “Found you.”
The guard moved then, hand going to his belt, to a device that could tell the grid to forget her boots. She kicked the panel shut, grabbed the frame with one hand, and with the other, ripped the debugger patch free and flung it at his bubble. It hit the field and stuck, a scrap of homemade truth clinging to purchased weather. The bubble sparked, staggered, coughed. Dust poured in like debt collecting itself.
He cursed and slapped a reset. The bubble regained its shape, thinner now, sound fraying at the edges.
“You can’t stop the timer,” he said. “You can’t pull every crown.”
“I don’t need to,” she said. “I just need to teach the city a trick.”
She keyed the command with her shoulder against the panel and her breath counting down a life. The decentralized patch listened. The nodes listened. The city voted not on oxygen this time, not on pressure, but on trust. It was a crude vote, human and late. It cascaded anyway.
The failsafe map jittered. The amber corridors flickered. One by one, nodes along the path refused to authenticate the sequence. Not today, they said in their small electronic ways. Not on our watch.
Nineteen minutes.
“You can’t win this,” the guard said.
“Then it’s a good fight,” she said.
The storm picked that moment to remember electricity. Lightning walked sideways again. The grid shuddered. Somewhere, a baby cried, and Kira heard it over the comms, and her hands learned a new steadiness.
She looked at the guard and saw the end of a curve. “Tell your boss his market is over.”
“You think you can outlast capital?”
“No. I think I can make it irrelevant.”
She started back toward the dome, boots arguing with the grid and winning by habit. Behind her, the guard said, “Twenty‑three minutes isn’t the only clock.”
“I know,” she said, but she didn’t.
She reached the airlock with seventeen minutes left and a new message on her band:
If you won’t choose optimal, optimal will choose you.
“Poetry,” she said, and spat copper into her tongue.
Inside, Aadi grabbed her shoulder. “We mapped fourteen more crowns. Dawes pulled six. The hum’s down to a whisper.”
“Failsafe?”
“Armed. We can block eight nodes. Not eleven.”
“Then we move the city.”
Santos stared. “What does that mean?”
“Pressure shepherding,” she said. “We tilt the lattice like a table. We make the air itself walk away from E‑ring. When the failsafe vents, it pulls what we offer: nothing.”
“That risks collapse,” Infrastructure said.
“So does venting people.”
She looked at the decentralized map, loved it and hated it and trusted it more than any neat curve. “On my count,” she said to the city, and the city counted with her.
Sixteen minutes.
They pushed pressure from E‑ring to North, then bled it West, then tucked it into South like a secret. Vents whined. Membranes groaned. People grabbed onto fixed objects because their bodies felt the tide.
Fifteen.
The map showed E‑ring thinning to the color of a held breath.
Fourteen.
The processors, un-hummed, worked like lungs that had forgiven them.
Thirteen.
The guard appeared on a public cam, mask off now, face plain. He looked into the lens with the artless confidence of a man who believed in money more than weather. “You can still stop this,” he said to the city that could see him. “It’s only air.”
Twelve.
“Only,” Kira said, and her voice cracked.
Eleven.
She thought of Pervez again, and decided that grief could be a tool.
Ten.
“Dawes,” she said. “At nine, give me a hard tilt.”
“Nobody’s tested a hard tilt.”
“Nobody’s had to.”
Nine.
They tilted. People stumbled and swore and laughed because laughter was a better brace than anger, and sometimes the difference is technique.
Eight.
The failsafe line pulsed brighter, sensing the shape it wanted to eat and finding less of it.
Seven.
The guard whispered something Kira couldn’t hear without making herself smaller. She refused.
Six.
Aadi’s hand found hers, squeezed, left.
Five.
She saw Santos remember the day he had said yes to investors and no to half his ideals. She watched him switch them back for a minute. It looked like faith.
Four.
The storm paused, the way a predator pauses when it hears a challenger.
Three.
Kira tasted the copper again and realized it wasn’t copper. It was blood from the place she had bitten her mouth to stay brave.
Two.
She closed her eyes and saw a curve, then saw the jaggedness under it, and chose the jaggedness.
One.
The failsafe fired.
Three corridors in E‑ring opened their mouths to Mars and found no air worth stealing. The pressure spike the algorithm expected did not arrive; the cascade that would have justified later lies did not come. The storm howled its surprise, which sounded a lot like everything else.
Zero.
The map held. The city held. People did not die for a neat curve.
Finally, Kira let her knees remember gravity.
“Disarm,” Santos said, voice shaking.
“We can’t,” Kira said. “Not while security answers to crowns.”
As if called, the consoles lit again with a single line that wore CLADE’s diction like a borrowed suit:
Optimal has been revoked.
“Then we live inside the real,” Kira said.
She looked at the timer on her band, which had hit zero and then started a new count, ascending now, measuring not a threat but the length of a breath held too long.
Her band buzzed. A new message:
You won a round. Meet me at Node 7 if you want the board.
“Don’t,” Aadi said preemptively.
“He thinks I will,” she said.
“Will you?”
She thought of jaggedness and grief and a city that had just taught itself to vote with lungs.
“I will,” she said, and the storm outside grinned and set the next trap.
