18 min read
Reader Signal
Lower current readership momentum right now.
MAYA
Monday, February 2, 2026 – 9:00 AM – The Warehouse
The billing module crashed again.
Maya stared at the error log. The AI had generated the code from Warren’s narration session. Every test passed. Every integration point connected.
Then they ran it with real data.
“The currency conversion is wrong,” Warren Kimball said, leaning over her shoulder. “It’s converting at current rates, not historical rates.”
“The spec said ‘convert to USD.’“
“Right. But ‘convert to USD’ means using the rate at the time of booking, not the rate at the time of invoicing.” Warren pointed at a line in the output. “March shipment, invoiced in May. March rate was 1.32. May rate is 1.28. Customer gets charged less than they should.”
“Why would anyone do it that way?”
“Because exchange rates fluctuate. Book at 1.32, invoice at 1.28, you’ve lost 3% of your revenue. Multiply that by ten thousand shipments a day.”
Maya pulled up the AI-generated code. Clean. Elegant. Completely wrong.
“We need to rebuild the entire billing calculation,” she said.
Thursday, February 5, 2026 – 3:00 PM – The Warehouse
The failures multiplied.
The tracking module didn’t account for time zones correctly. A shipment that crossed from Eastern to Central time showed up as arriving before it departed.
The exception handling didn’t distinguish between carrier delay and weather delay. Different business rules for each, but the AI had treated them as equivalent.
The customer tier system didn’t know about legacy contracts that predated the tier system. Customers grandfathered into pricing that existed in no documentation.
Maya called a team meeting.
“We’re burning time on rework. Every module we ship has domain bugs the knowledge model can’t anticipate. We found the limit of the narration process.”
“The narrations are as complete as I can make them,” Harry said. “Some of this knowledge isn’t conscious. I’ve been doing this for forty years. Half of what I know, I don’t know I know until I see something wrong.”
Dane was at the whiteboard, tracking the failure modes. He’d drawn three columns: Knowledge model caught. Knowledge model missed. Nobody knew.
The currency conversion fell in column three. Warren hadn’t mentioned historical rates in his narration because to him it was obvious. The timezone issue was column two — the knowledge model had a reference to time zone handling but the AI had misinterpreted it. The legacy contract issue was column three again — pre-documentation agreements that existed only in Gloria’s memory.
“The narration process works for explicit knowledge,” Dane said. “Things veterans can articulate. It doesn’t capture the implicit knowledge — the things they do automatically without thinking about them.”
“So we’re stuck,” Sofia said. “We can’t get complete specs because the specs live in unconscious behavior.”
“We’re not stuck. We’re at a process boundary.” Dane drew a new diagram. “We move to paired development. Veterans and engineers at the same keyboard, building together. Not narrate-then-build. Build together.”
DANE
Monday, February 9, 2026 – 10:00 AM – The Warehouse
They tested the new process with dispute resolution.
Maya sat at her laptop. Gloria sat next to her. The AI was ready.
“Customer disputes an invoice,” Maya said. “Walk me through what happens.”
“Customer calls. Or emails. Or faxes.”
“People still fax?”
“Some of our oldest customers. Since 1985.”
Maya started typing a prompt. Gloria watched.
“Wait. Not all disputes are billing disputes. Some are service disputes. Different process.”
Maya stopped. “What’s the difference?”
“Billing disputes go to finance. Service disputes go to operations. Different approval chains, different resolution timelines, different customer communications.”
“The narration spec just said ‘dispute resolution.’“
“Because I thought that was obvious.” Gloria shrugged. “It isn’t.”
They worked through the module together. Every few minutes, Gloria caught something Maya would have missed — an exception case, a business rule, a customer expectation that surfaced only in the act of building.
Eight hours. A dispute resolution module that worked.
“The billing module took three days of building plus three days of fixing,” Maya said.
“Plus you still haven’t fixed it,” Warren added from across the room.
Dane updated his methodology board. The narration sessions stayed for new domains. But for complex modules — anything with implicit knowledge, legacy behavior, or customer-facing edge cases — paired development was the new default.
“We’re slower per module,” he told Robert at the weekly check-in. “But we ship fewer rework cycles.”
“How much slower?”
“Thirty percent more build time. Eighty percent less rework. Net improvement of sixty to seventy percent.”
“Numbers I like,” Robert said. “Numbers the board won’t understand. They’ll see ‘slower.’“
“Then don’t tell the board per-module velocity. Tell them shipped-and-working velocity. That number is going up.”
ZARA
Wednesday, February 18, 2026 – 2:00 PM – The Warehouse
Robert’s monthly check-in.
Maya pulled up the dashboard. “Feature parity: 68%. That’s only 3% more than last month.”
“You said you’d be at 75%.”
“We had rework. Domain bugs the knowledge model couldn’t anticipate.”
“So the approach isn’t working?”
“The approach is correcting itself,” Dane said. “We found a gap. We’re fixing it.”
Robert looked at Zara. “What does the customer say?”
Zara had been back from her third round of dispatch visits. She put her Moleskine on the table.
“The customers don’t care about feature parity. They care about three things: fast quotes, real-time tracking, and exception handling that doesn’t require three phone calls.” She tapped the notebook. “We’re at 100% on fast quotes. Sixty percent on tracking. We haven’t shipped exception handling at all.”
“Why not?”
“Because we prioritized the narration backlog by system complexity, not customer impact.” Zara looked at Dane. “We built the carrier scoring module last month. It’s technically impressive. But dispatchers don’t interact with carrier scoring. The system does it behind the scenes. Meanwhile, dispatchers spend an hour a day — three on bad days — resolving exceptions across three screens.”
Dane pulled back. He could see where this was going.
“We need to reorder the backlog,” Zara said. “Customer impact first. System complexity second. Build what dispatchers touch before we build what the engine does invisibly.”
“That changes the critical path,” Maya said.
“It does. Is there a technical reason we can’t build the unified exception interface next?”
Maya thought. “We need the carrier data model and the customer data model integrated. Those are partially done. Two weeks to finish the integration layer, then we can build the exception UI.”
“Two weeks.” Zara looked at Robert. “We’re behind on feature parity because we’ve been building the right things in the wrong order. I want to reorder around customer impact. We might hit the same parity number later, but we’ll have a product that dispatchers actually want to use.”
Robert nodded. “Do it.”
Dane added Zara’s prioritization to the methodology board. He’d been optimizing for systematic coverage — build the domain model bottom-up, foundation first. Zara was optimizing for customer value — build what people touch, fill in the plumbing later.
She was right. He’d seen this at Coretek — the parallel team had built infrastructure first and struggled to show value to skeptics. The features that won people over were the ones customers could see.
Friday, February 27, 2026 – 8:00 PM – Zara’s Hotel Room
Zara called Kwesi after Adaeze was asleep.
“How are you?” he asked. She could hear the real question underneath.
“Frustrated. We built sixty features nobody asked for and skipped the three they’re begging for.”
“That sounds like product management.”
“That sounds like the disease. The team is brilliant. The methodology works. But the engineers and the veterans both have the same bias — they want to build the interesting hard thing, not the boring important thing.”
“So you reorder.”
“I reordered. And now Dane’s a little pissed because his systematic approach just got overridden by ‘the product person says so.’“
“He’ll get over it.”
“He will. He’s good. He just thinks in systems and I think in customers.” She opened her Moleskine. “The funny thing is we need both. His narration process captures the domain. My customer map says which parts of the domain matter first. Without him, we’d build the wrong thing fast. Without me, we’d build the right infrastructure that nobody ever sees.”
“That sounds like a partnership.”
“It sounds like an argument that hasn’t happened yet.”
HARRY
Saturday, March 7, 2026 – 10:30 PM – Harry’s Home Office
Harry called Dane from his kitchen table. Ellen was asleep.
“I’ve been thinking about the 13% gap,” Harry said. The knowledge model had been tracking accuracy: 87% of the narrated specifications matched how the system actually behaved. The other 13% were things Harry and the veterans had described incorrectly, things they’d forgotten, and things nobody had known about.
“That’s the number keeping me up,” Dane said. “The narrations are good but they’re memories. We need ground truth.”
“We need production telemetry. Actual data from the running system. Which code paths fire, how often, in what order.”
“The legacy system has no observability.”
“It has my VPN credentials. When I retired, nobody deactivated my account.” Harry let that sit.
“Harry—”
“Listen. The COBOL source is on the mainframe. Twelve hundred programs, four million lines. What if we used an AI tool to analyze the source and inject verbose logging? Not logic changes. Just logging. Every function entry, every branch decision, every exception handler. The system writes down what it does, and we read it.”
“How invasive?”
“Non-invasive. Logging writes to a separate spool file. Production JCL doesn’t change. Maybe forty seconds of I/O overhead on the overnight batch.”
Dane was quiet. Then: “This is the kind of thing that gets people fired.”
“I’m retired. Can’t fire me twice.”
“Robert can fire me.”
“Dane. We’ve been building from my memory for four months. My memory is 87% accurate. That means 13% of what we’ve built is wrong in ways we don’t know yet. Three days of production data would tell us more than another six months of narration sessions.”
Dane thought about Coretek. About the things they’d discovered only after launch — production behaviors nobody had described, because nobody had been watching. About Helix, where the same blind spot killed the migration.
“Friday night,” Dane said. “Lowest volume window. Maya does the technical work. I tell Robert Monday morning.”
“You could tell him now.”
“If I tell him now, he’ll have to decide whether to approve it. If I tell him Monday, I’ll have results.”
Friday, March 13, 2026 – 11:15 PM – Harry’s Home Office
Harry logged in at 11 PM. Green text on black. The cursor blinking, waiting.
Maya was on video from the warehouse, watching his screen share. She had the AI code analysis agent loaded — configured to read COBOL source, identify function entry points and branch statements, generate corresponding logging calls.
“Starting with the routing subsystem,” Harry said. “RTMAIN, RTCALC, RTCARR, RTOPT. Four programs, 90% of quote-to-booking.”
“Feeding them to the agent now.”
The AI processed 38,000 lines in under two minutes. Generated 1,247 logging statements: function entries, branch decisions, exception paths, data values at key decision points.
Harry reviewed the first fifty. “Clean. Non-destructive. Writing to SYSOUT, not touching production datasets.”
He compiled the instrumented versions into a test load library. Ran them against the QA partition. Batch completed in 4 hours, 11 minutes — six minutes over the normal runtime.
“Six minutes, not forty seconds,” Maya said.
“QA partition has slower I/O. Production will be faster.”
He promoted the instrumented code to the production load library at 11:48 PM.
“Now we wait.”
Monday, March 16, 2026 – 7:14 AM – Meridian IT Operations Center
Frank Mercer had been VP of IT Operations for fourteen years. He’d survived three transformations by keeping one promise: the production system never went down on his watch.
His phone rang before he’d finished his coffee.
“The overnight batch ran long,” said Raj, his operations lead. “Four hours eighteen minutes. Normally four-oh-five to four-twelve.”
“What changed?”
“Nothing in the release schedule. But the spool files are massive. Somebody added verbose logging to the routing subsystem. The user ID is HTHORNTON.”
Frank set down his coffee. “Harry Thornton retired in October.”
“His credentials are still active.”
“Of course they are.” He closed his eyes. “Pull the access logs. Everything HTHORNTON touched Friday night. Then get me Robert Chen’s office number.”
Monday, March 16, 2026 – 9:30 AM – Robert Chen’s Office
Frank dropped a twelve-page printout on Robert’s desk.
“Someone used Harry Thornton’s credentials to modify production code Friday night. The routing subsystem now has 1,247 logging statements that weren’t there last week. The batch ran six minutes long.”
Robert looked at the printout.
“I’ve been keeping that system alive for fourteen years,” Frank said. “Three transformations, three failures, production never went down. That’s my job. And now someone who doesn’t work here is making unauthorized changes to a system that processes three million shipments a day.”
“Harry is working on a project for me.”
“What project?”
“A strategic project. I can’t discuss the details.”
“A strategic project that involves modifying production code without a change request. Without a deployment window. Without telling me.” Frank leaned forward. “The batch window is four hours and twelve minutes. The carrier cutoff is 6 AM Eastern. We cleared it by four minutes instead of eight. That’s a 50% reduction in our safety margin.”
Robert picked up his phone. “Harry, can you come to my office? Bring Maya and Dane.”
Harry walked in and saw Frank.
“Frank.”
“Harry. You look active for a retired guy.”
“I’m on a special assignment.”
“A special assignment that involves deploying code changes at midnight without telling anyone.”
Dane stepped in. “That’s my responsibility. I asked Harry to do this.”
Frank turned. “And you are?”
“Dane Kowalski. I’m leading the organizational design for the project.”
“Organizational design. That’s a new way to say ‘unauthorized production deployment.’” Frank crossed his arms. “Talk to me. What am I looking at?”
“Production telemetry,” Dane said. “The first observability the routing system has ever had. Which functions fire, how often, in what order. We’re building a replacement, and we need to know what the current system actually does — not what documentation says it does.”
“A replacement.” Frank’s voice flattened.
“I can’t give you more detail than that.”
“A replacement system that nobody told IT Operations about. Built by people who sneak logging into production systems at midnight.” Frank looked at Robert. “This is the Platform Team all over again.”
“It’s not the Platform Team,” Robert said.
“Prove it. Because from where I’m sitting, I’ve got a retired employee with active credentials, unauthorized code changes, and a CEO who won’t explain what’s happening. That’s exactly how the Platform Team started. And the Platform Team ended with a corrupted carrier table and a weekend rebuild from backups.”
Maya spoke. “Mr. Mercer, the logging writes to a separate spool file. It doesn’t modify production data paths. I can recompile for production optimization tonight — the overhead will drop to under ninety seconds.”
Frank stared at her. “And you are?”
“Maya Liang. I’m the tech lead.”
“A tech lead who knows COBOL I/O channels.” Frank was not warming up.
“Thirty days,” Harry said. “The logging stays for thirty days. We recompile tonight. Your cutoff margin goes back to seven minutes. At end of thirty days, I remove every line I added.”
Frank turned to Robert. “Thirty days.”
“Thirty days.”
“And you recompile tonight. If tomorrow’s batch runs more than two minutes over baseline, the logging comes out.”
“Agreed.”
Frank stood up. “Forty years, Harry. I thought you’d retired to your garden.” He walked out.
Tuesday, March 17, 2026 – 6:02 AM – The Warehouse
Maya had recompiled overnight. The batch ran in 4 hours, 13 minutes. One minute over baseline. Frank’s cutoff margin held.
Harry was already at the big monitor, scrolling through three days of production telemetry.
“Twenty-six percent of routing functions haven’t fired in seventy-two hours. Dead code.”
“How much is seasonal?”
“Some. But look at this.” Harry highlighted a function. “RTXCBK-OVERRIDE. Fires 471 times in seventy-two hours. Almost all for Consolidated Bulk Logistics.”
“Consolidated Bulk has their own routing code path?”
“I didn’t know it existed. Forty years.”
They mapped production behavior against the knowledge model. Eighty-seven percent alignment. The other 13% was split between things Harry had narrated incorrectly, things he’d forgotten, and things nobody had known about.
“Three days of logging just saved us three months of debugging,” Maya said.
“Three days of logging just showed me that my forty years of memory is 87% right.” Harry leaned back. “Which means I’m 13% wrong about everything I’ve told you.”
Dane had been reading the telemetry on his laptop. “This is why paired development isn’t enough by itself. The veterans narrate what they remember. The production system shows what actually happens. We need both loops — human knowledge and machine observation.”
He updated the methodology board. A new column: Production validation. Every narrated specification would now be checked against actual system behavior before being marked as complete.
“Thirteen percent is our correction budget,” Dane said. “From now on, we assume every narration has a 13% error rate and build the validation step in.”
MAYA
Wednesday, March 18, 2026 – 4:00 PM – The Warehouse
Zara’s reprioritization had pushed the unified exception interface to the front of the queue. Two weeks of integration work, then the build.
The interface combined three legacy screens into one. Customer data, carrier data, internal escalation — unified. A dispatcher could resolve an exception without switching systems, without making three phone calls, without logging the same information in three places.
Gloria had paired with Kevin on the build. Every screen, every workflow, every edge case reviewed in real time.
“What happens when the carrier disputes the delay?” Kevin asked.
“It goes to arbitration. But the dispatcher doesn’t see that. They see a status update: ‘Under review.’ The arbitration happens behind the scenes between our finance team and the carrier.”
“How long does arbitration take?”
“Two to twelve weeks. The dispatcher needs to see the status change when it resolves, but they also need to manage the customer in the meantime.”
Kevin built the interim-status workflow. Gloria watched. Caught two edge cases Kevin would have missed — a scenario where the carrier and the customer both file disputes simultaneously, and a scenario where the original shipment gets re-routed during the dispute.
Zara tested the interface on her next dispatch visit. Showed it to Renee on a laptop.
Renee’s eyes went wide. “One screen?”
“One screen.”
“Where’s the carrier history?”
“Click here.”
“Where’s the customer communication log?”
“Here.”
“Where’s the — wait, it’s all here?”
“It’s all here.”
Renee sat back. “I’ve been asking for this for eleven years.”
Friday, March 27, 2026 – 6:00 PM – The Warehouse
End of June. Robert’s check-in.
“Feature parity: 72%,” Maya said. “Back on track.”
“What changed?”
“Three things.” Dane stood at his methodology board. “First, paired development for complex modules. Slower per unit, faster overall because we stopped shipping domain bugs. Second, production telemetry validating our knowledge model. Thirteen percent of our specifications were wrong — now we know which ones. Third —” he nodded at Zara — “customer-impact prioritization. We stopped building bottom-up and started building for what dispatchers actually touch.”
“The exception interface,” Zara said. “We showed it to a dispatcher this week. She said she’d been asking for it for eleven years.”
Robert was quiet. “I spent $47 million on three transformations that never showed a dispatcher anything. You’ve been here four months.”
“Five,” Maya said. “And we screwed up badly enough in May to learn three lessons that saved June.”
“How’s morale?”
Harry answered from his folding table. “Better than last month. May was ugly. But the logging data gave everyone confidence. We’re not building from my memory anymore. We’re building from my memory validated against production reality. That’s a different thing.”
“And the Frank situation?”
“Frank is watching us,” Dane said. “He doesn’t trust us. But the batch is running within margin, and the telemetry hasn’t caused an incident. We have twenty-three days left on the thirty-day window.”
“Extend it,” Robert said.
“Frank won’t like that.”
“Frank will like it less when he finds out what we’re building. But he’ll like the production telemetry when he realizes it makes his job easier too.”
Robert left. The team sat in the quiet warehouse.
“Did we almost fail?” Sofia asked.
“We failed,” Dane said. “In May, we failed. The narration process hit its limit. The prioritization was wrong. We deployed unauthorized logging to production.”
“But we’re still here.”
“We’re still here because we fixed what was broken instead of declaring it unfixable. That’s the difference between a parallel org and a committee. A committee would have convened a review board. We changed course in a week.”
Maya looked at the dashboard. 72%. Four months to go. Axiom had filed their S-1.
The warehouse was quiet except for the hum of laptops and the scratch of Harry’s pen on his legal pad, writing down edge cases he’d remembered on the drive in.
End of Chapter 6