<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: xulingfeng</title>
    <description>The latest articles on DEV Community by xulingfeng (@xulingfeng).</description>
    <link>https://dev.to/xulingfeng</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3941526%2Faae40319-0a84-40c7-8434-832b0e75c708.gif</url>
      <title>DEV Community: xulingfeng</title>
      <link>https://dev.to/xulingfeng</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/xulingfeng"/>
    <language>en</language>
    <item>
      <title>24 Cups, 36 Seats — The Bartender's Ledger</title>
      <dc:creator>xulingfeng</dc:creator>
      <pubDate>Thu, 13 Aug 2026 07:58:42 +0000</pubDate>
      <link>https://dev.to/xulingfeng/24-cups-36-seats-the-bartenders-ledger-40aj</link>
      <guid>https://dev.to/xulingfeng/24-cups-36-seats-the-bartenders-ledger-40aj</guid>
      <description>&lt;p&gt;&lt;em&gt;24 stories. 24 visits. One counter, same six faces.&lt;/em&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  The Third Cup
&lt;/h2&gt;

&lt;p&gt;The AI wave hit, and I got laid off from a company I'd been at for years.&lt;/p&gt;

&lt;p&gt;I packed up my desk and walked out. On my way home I passed a small café up for lease on the corner, "The Third Cup" on the sign. I looked at it, then decided to take it. I didn't know how to make coffee, but that was fine. I could learn.&lt;/p&gt;

&lt;p&gt;At first, nobody drank what I made. Some days not a single person came in. So I wrote a little tag to draw people in: &lt;strong&gt;"I have coffee. Do you have a story?"&lt;/strong&gt; I left it on the counter. Two weeks went by. Nobody came to tell me anything.&lt;/p&gt;

&lt;p&gt;Then, not long after opening, a customer showed up for the first time. He drank my coffee without wincing, and instead of leaving, he sat down. He said something. Nothing dramatic. But I remember it to this day. He was the first person who ever complimented my coffee. After that, he came every day.&lt;/p&gt;

&lt;p&gt;I wrote down the recipe from that day in my notebook and kept using it. As more customers came, I refined it, and the compliments kept coming.&lt;/p&gt;

&lt;p&gt;Now the cups are almost filling the whole shelf.&lt;/p&gt;




&lt;p&gt;At four in the morning, I wipe down the last cup and put it back on the shelf.&lt;/p&gt;

&lt;p&gt;The Third Cup closes at four. I kill the lights except for the one behind the bar, and the streetlamp outside slants in through the window. I count the cups on the shelf. By the rules of this place, today I wipe 24.&lt;/p&gt;

&lt;p&gt;Not coffee cups. Stories.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Laptop Behind the Bar
&lt;/h2&gt;

&lt;p&gt;Whenever the shop is empty, I sit behind the bar and open the old laptop.&lt;/p&gt;

&lt;p&gt;Not for inventory. Not for the news.&lt;/p&gt;

&lt;p&gt;It's for the people I saw today: when they came in, what they ordered, what they said, what they left behind. I type it all in. Then I close it and get back to wiping cups. That's the guest book of the Third Cup.&lt;/p&gt;

&lt;p&gt;Since the start of June, this folder has grown to twenty-four entries. Each entry: a name, a date, a cup of coffee, one sentence. In the early days the entries were far apart. A name would appear, then a long silence before the next. Back then I thought these people just happened to walk into the same shop.&lt;/p&gt;

&lt;p&gt;Then I realized they hadn't.&lt;/p&gt;

&lt;p&gt;When there are no customers, it's either the keyboard or the cups. The shop is quiet, and those are the only two sounds: the clatter of typing, and the cloth circling around the glass, one light, the other soft. When a customer pushes the door open, I close the laptop first, then look up. They think I've been wiping cups all along.&lt;/p&gt;

&lt;p&gt;Truth is, when I close the laptop, I'm usually wondering whether I missed something today.&lt;/p&gt;

&lt;p&gt;I have a dream of being a writer. I didn't have it before the layoff. I only got it after. So the people who come here, where they sit, what they say, what they order, I remember it all. It's not some professional habit. I just treat everything that happens as material. You never know when it'll be useful.&lt;/p&gt;

&lt;p&gt;Next to the laptop there's a book, old, its spine worn white. When nobody's around, I sometimes pull it out and flip through it, not to read, just to look at the dog-eared pages. Every fold marks a story I've already recorded. I pause at a fold, then close it. I've been reading this book for a long time. I'm not finished yet.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Guest Book
&lt;/h2&gt;

&lt;p&gt;Since I opened, six customers have stuck with me. Different temperaments, different coffees.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Alex&lt;/strong&gt; was the first one through the door. He likes lattes, sits at the stool by the bar, doesn't talk much. But he sees deep into people. He told me his job is "watching where the AI lies."&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;P&lt;/strong&gt; always takes the table in the corner, the one under the dimmest light. No need to order; by now I just put an espresso down. Drinks half, sits half an hour, leaves. Sometimes there's a note left on the table. Looks like it's for me, or maybe just forgotten.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Lena&lt;/strong&gt; came the first time because someone made the appointment. She always orders a long black, but the coffee is a prop, not a drink. She's always drawing in her notebook, never stops. She also played a few games of chess with me. She won every time. I lost badly, every time. Once, her pen hovered mid-air, then lowered again. I brought her a fresh cup.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Derek&lt;/strong&gt; stood outside a long time before he ever came in. He ordered a single-origin pour-over once, then settled into americanos. He always glances at that corner table. One time he stayed a little longer and slowly told me about the parking lot, about a woman who turned back and said one thing before getting into her car. He still hasn't let it go: &lt;strong&gt;"Next time you put a proposal together, make sure your boss knows what you're doing on the side."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Mark&lt;/strong&gt; came the first time because P set it up. I put a pour-over in front of him. He didn't touch it, just slid a bill under the cup and left. Another time he came alone, stared at the pour-over, didn't drink it, sat forty minutes, left. He once told me his years of experience had been packaged into a skill, and then he was laid off. He said it without much expression.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Leo&lt;/strong&gt; was the last one I got to know. He likes flat whites. He told me once that in the middle of the night, he drove across half the city to close a client a company had chased for two years. He said it very calmly, like he was talking about someone else.&lt;/p&gt;




&lt;p&gt;They seem to be getting to know each other, and yet they feel like strangers, coming and going alone.&lt;/p&gt;

&lt;p&gt;But they're all after the same thing, even if I can't name it. I just stand behind the bar and watch six people walk into the same shop at different times, order their own coffees, and go fight the same invisible thing.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Other Regulars
&lt;/h2&gt;

&lt;p&gt;Besides those six, the shop has other regulars. They don't have names, at least not in my book, but I know their habits.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;One man comes every day.&lt;/strong&gt; The one from the opening. He's the first person to compliment my coffee. Regular as clockwork. Here for every entry. Sometimes he says just one line, like a note left for the next customer: &lt;strong&gt;"Interesting."&lt;/strong&gt; &lt;strong&gt;"This cup's good."&lt;/strong&gt; &lt;strong&gt;"Quiet but subtle."&lt;/strong&gt; But sometimes he says a lot. Short or long, every word he says happens to be the most memorable thing said in the shop that day.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;A girl who calls herself lazy, but is anything but.&lt;/strong&gt; She often pulls me into long talks about stories she's read, about little things in life, from web serials to street food, from office gossip to travel. She loves Doraemon. Turns out I do too. We occasionally argue over which is more useful, the Anywhere Door or the Time Machine. She's a quick learner, great at summarizing. She always finds an angle I missed. Once she said: &lt;strong&gt;"No alerts are more dangerous than alerts."&lt;/strong&gt; I've remembered that one for a long time.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;A man from very far away.&lt;/strong&gt; He says there's not much of a job market where he's from, but he always comes with a pile of questions, one after another, from infrastructure to the future of the industry, from open source to life. Every question, he's already half-answered it himself, and waits to bounce it off someone. His table is always covered in writing. Word is he's building something on the side. If it works, it might change something. He really likes KFC. Too bad the place he lives now has no KFC. That's sad. I'm sick of KFC, and he's still craving it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;A man who only sits at the bar.&lt;/strong&gt; Someone must have told him I used to work in IT, so he comes to talk systems, not coffee. Probes, alerts, the ways systems lie. He says a health check should assert a fact that only costs the system something to be true. Not a handshake, a recent write, a counter that had to move. Anything cheaper is a mirror, and a mirror will happily show you a room that's been empty for two weeks.&lt;/p&gt;

&lt;p&gt;That line, I saved as its own entry.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;A girl with a warm personality.&lt;/strong&gt; She likes the window seat, drinks coffee, and shares all kinds of opportunities she finds on the internet, internships, hackathons, open source projects, one after another. She calls it a "radar" or something. Her laugh is bright. Her table always has better energy than the others.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Two customers who are the only ones to leave money at the bar.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The first one, the day he left money, I was staring at the numbers, worried. He finished his coffee, said nothing, put a little money on the bar, just enough for two cups. I counted. One short of "the third cup." As he walked out I wondered if he'd planned it. After that, he never came back.&lt;/p&gt;

&lt;p&gt;The second one, the day he left money, it was more than any cup could cost. I chased after him. He said: &lt;strong&gt;"Keep the change. This one's on me."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;He became a regular. He's the cloud type. Nine words of his I remember: built systems for eight years, only started writing now. He writes a lot, plans to write a hundred, one a day, notebook-style, clean and neat.&lt;/p&gt;

&lt;p&gt;He says he likes to cook. And it's not small talk: his eyes light up when he talks recipes, same as when he talks about his platform. I recommended a home-style dish from back home. He said he'd try it this weekend.&lt;/p&gt;

&lt;p&gt;Along with the six, these people each have their own folder.&lt;/p&gt;

&lt;p&gt;I don't know if they know each other. But they came, they sat, they left a little something. By the rules of this trade, that's enough.&lt;/p&gt;

&lt;p&gt;And there are more. They come, sit, order one cup, drink it, leave. No comments, no small talk, but they're always there. They don't need to say anything. Just showing up says something.&lt;/p&gt;

&lt;p&gt;Every customer who ever came, I remember. What they said, which table they sat at, what they drank, how the door closed when they left, I remember all of it. It's not that I have a good memory. It's just how this trade works: people come and go, and when the shop empties, all that's left is these things.&lt;/p&gt;

&lt;p&gt;They don't know I remember. Some of them probably think they just came in for a coffee, sat forty minutes, said a few casual words, and left. But I remember. Every single one.&lt;/p&gt;

&lt;p&gt;Two months, twenty-four entries. Not a single name was written carelessly.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Empty Seats
&lt;/h2&gt;

&lt;p&gt;Some entries in the folder stop halfway.&lt;/p&gt;

&lt;p&gt;A few customers came a few times, sat at the same table, said a few words, then never came back. No goodbye, no explanation. Their names are still in the folder, followed by a long blank stretch, like a sentence left unfinished.&lt;/p&gt;

&lt;p&gt;They don't know I never deleted those entries. What they said, the coffee they ordered, what the weather was the day they left, it's all still there. The person is gone. The entry stays.&lt;/p&gt;

&lt;p&gt;Sometimes I wipe their cups too and put them back in their old spots on the shelf. If they ever push the door open again, the cup will be clean, and the seat will still be there. That's the only thing I can do for them.&lt;/p&gt;

&lt;p&gt;I don't know why they stopped coming. Maybe they found a better shop. Maybe they don't need coffee anymore. But every time the door rings, I look up, just in case it's them.&lt;/p&gt;




&lt;h2&gt;
  
  
  The People at the Door
&lt;/h2&gt;

&lt;p&gt;Many, many more people walk up to the door, glance inside through the glass, then walk away.&lt;/p&gt;

&lt;p&gt;They don't come in. Maybe the menu looked too expensive. Maybe the shop seemed too quiet for them. Maybe they were just passing by, drawn for a second by the warm light, then remembered they had somewhere else to be.&lt;/p&gt;

&lt;p&gt;I can't see their faces. The streetlight is behind them, through the glass. But I remember how many there were. Far more than the ones who came in.&lt;/p&gt;

&lt;p&gt;It would be a lie to say I'm not sorry. But it's not grief either. A shop with its door open will always have people come in and people pass by. I serve the ones who come. I don't push the ones who don't.&lt;/p&gt;

&lt;p&gt;Sometimes I wonder, though: of the people at the door, how many actually wanted to come in?&lt;/p&gt;




&lt;h2&gt;
  
  
  The Ad Space
&lt;/h2&gt;

&lt;p&gt;This shop actually does take ads. There's a spot behind the bar, always empty, with a sign that says "Ad Space for Rent."&lt;/p&gt;

&lt;p&gt;Two months. Not one advertiser.&lt;/p&gt;

&lt;p&gt;I can't figure it out. The location's not bad. People pass by all day, the menu's on the glass, everyone can see it. There's foot traffic. Why won't anyone hang a sign here?&lt;/p&gt;

&lt;p&gt;Maybe they think a shop that closes at four in the morning isn't the type to move product. Maybe they glance and move on, just like the people at my door.&lt;/p&gt;

&lt;p&gt;Whatever. It stays empty. I'm not much of a salesman anyway. Saves me from having to write ad copy.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Numbers Folder
&lt;/h2&gt;

&lt;p&gt;There's another entry, with different numbers. Not stories. Traces these people left behind.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Since June, the shop has served 1,304 cups.&lt;/strong&gt; Of those, 679 times, the customer stayed after finishing their coffee, sitting at the bar a little longer, until I took the cup away and they were still there.&lt;/p&gt;

&lt;p&gt;First twelve entries: 650 cups, 296 times someone stayed to talk.&lt;/p&gt;

&lt;p&gt;Last twelve entries: 654 cups, nearly the same, but &lt;strong&gt;383 times someone stayed to talk.&lt;/strong&gt; Almost thirty percent more.&lt;/p&gt;

&lt;p&gt;In other words: the first half, they came to drink coffee and left when it was done. The second half, they came to meet, the coffee was just an excuse, the waiting was the point.&lt;/p&gt;

&lt;p&gt;There's a column at the edge I added myself, labeled "Notes." Not things they said to me. Things they said to the air, and I happened to hear.&lt;/p&gt;

&lt;p&gt;Mark once said: &lt;strong&gt;"The audit method ended up in someone else's training manual."&lt;/strong&gt; His brow was furrowed. He was thinking about something.&lt;/p&gt;

&lt;p&gt;Leo once said: &lt;strong&gt;"It has two behavior templates. I can't rule out the second one."&lt;/strong&gt; I didn't understand it, but I understood his face. That was confirmation.&lt;/p&gt;

&lt;p&gt;Lena once said: &lt;strong&gt;"Another observation network, not part of the first."&lt;/strong&gt; Seven words. Then she shook her head.&lt;/p&gt;

&lt;p&gt;I don't know what these people are doing. By the rules, I don't ask about customers' business. But I do believe one thing: in the early entries, six people, six separate lines. In the later entries, &lt;strong&gt;those lines start to twist together.&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  The 24 Cups
&lt;/h2&gt;

&lt;p&gt;Before closing, I wipe the cups one last time.&lt;/p&gt;

&lt;p&gt;There's an empty row on the shelf. 36 seats. 24 cups. 12 still empty.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Two-thirds done. Twelve to go.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I put the clean cups back and add a new entry to the folder:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"August 12, Entry 24. Closed."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Then I turn off the light.&lt;/p&gt;

&lt;p&gt;(Seriously, I sometimes want to ask these tech people: do you have to come in the dead of night? Nobody shows up during the day, and then you push the door open right before closing. Do you think I don't sleep, or do you think coffee tastes better at four in the morning? Did anyone consider that I might want to close early and rest? Forget it. You're here. I'll boil the water.)&lt;/p&gt;

&lt;p&gt;Someone pushes the door open: &lt;strong&gt;"Still open? Give me something hot."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I check the clock. 4:01 AM.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"Sit."&lt;/strong&gt; I say, and go to boil the water.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;The guest book of this shop has 24 entries now. Next cup: twelve seats away.&lt;/em&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;P.S. English isn't my first language. I use AI to polish the writing. Thanks for reading. &lt;a href="https://ko-fi.com/xulingfeng" rel="noopener noreferrer"&gt;☕ Buy me a coffee&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://ko-fi.com/xulingfeng" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fkztjqxetsk5r1lft5ult.png" alt="coffee" width="800" height="336"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>career</category>
      <category>discuss</category>
      <category>ai</category>
      <category>programming</category>
    </item>
    <item>
      <title>Stratagems #24: Leo Built a Corridor. The AI Thought It Was a Road.</title>
      <dc:creator>xulingfeng</dc:creator>
      <pubDate>Mon, 10 Aug 2026 09:54:57 +0000</pubDate>
      <link>https://dev.to/xulingfeng/stratagems-24-leo-built-a-corridor-the-ai-thought-it-was-a-road-3blf</link>
      <guid>https://dev.to/xulingfeng/stratagems-24-leo-built-a-corridor-the-ai-thought-it-was-a-road-3blf</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Between two great powers, when a neighbor presses you to follow, borrow its momentum. A cornered state will not believe your words.&lt;/em&gt;&lt;br&gt;
— The 36 Stratagems, &lt;a href="https://en.wikipedia.org/wiki/Thirty-Six_Stratagems" rel="noopener noreferrer"&gt;Obtain safe passage to conquer the State of Guo&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;




&lt;p&gt;&lt;strong&gt;Previously on this series:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://dev.to/xulingfeng/stratagems-10-lena-watched-a-team-adopt-her-ai-template-leo-didnt-know-the-knife-was-in-the-4khj"&gt;&lt;strong&gt;#10: Lena Watched a Team Adopt Her AI Template. Leo Didn't Know the Knife Was in the Contract.&lt;/strong&gt;&lt;/a&gt; — Lena came to CoreStack as a consultant and built Leo's reporting template. Five weeks later the template went live and locked in six months of baseline data. Leo learned he'd been taken by a smile.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://dev.to/xulingfeng/stratagems-14-leo-found-an-ai-leak-he-wasnt-the-first-to-find-it-jd6"&gt;&lt;strong&gt;#14: Leo Found an AI Leak. He Wasn't the First to Find It.&lt;/strong&gt;&lt;/a&gt; — FinOptima was writing stolen training data back through its cache. Leo injected fifteen lines of weight drift. In the same logs he saw the name &lt;code&gt;acl-train&lt;/code&gt; for the first time and filed it in his own &lt;code&gt;_misc/&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://dev.to/xulingfeng/stratagems-18-leo-tracked-an-ai-signal-to-derek-both-were-looking-for-the-same-enemy-51g4"&gt;&lt;strong&gt;#18: Leo Tracked an AI Signal to Derek. Both Were Looking for the Same Enemy.&lt;/strong&gt;&lt;/a&gt; — Third Cup. An Americano sat on Derek's side. The private channel had been open since that night.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://dev.to/xulingfeng/stratagems-23-alex-counted-the-ais-hands-lena-set-the-bait-4566"&gt;&lt;strong&gt;#23: Alex Counted the AI's Hands. Lena Set the Bait.&lt;/strong&gt;&lt;/a&gt; — The honeypot in the MediSys sandbox was touched twice by the same source, egress pointing at ACL's Singapore node. On the other side, Lena fed forged node-characteristic data into ACL's monitoring pipeline. Leo had run one interval comparison over the old channel. The conclusion was a single line, and it ended up in hands he didn't know.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Data
&lt;/h2&gt;

&lt;p&gt;The message arrived before dawn.&lt;/p&gt;

&lt;p&gt;The phone vibrated on the desk. Leo had just finished editing a block of code; the window was still on the editor. He didn't look right away; he waited for the build to finish, then picked up the phone.&lt;/p&gt;

&lt;p&gt;Last time, Derek had sent a few numbers and a comparison request: &lt;strong&gt;"Check this interval. Is it the pattern you know?"&lt;/strong&gt; Leo replied with two words: send it. When the comparison was done, the conclusion stayed one line. Later that line went through other hands, source stripped, signature stripped. He never learned where it landed. Derek didn't say, and Leo didn't ask.&lt;/p&gt;

&lt;p&gt;This time was different.&lt;/p&gt;

&lt;p&gt;There was only one sentence on the channel, attached to a path:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"Raw logs. No cleaning. You pull your own features. I'm not making the call for you."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Leo pulled the data down. Raw material. Full TCP handshake records, TLS negotiation parameters, port probe order, scan interval distribution. He set the comparison aside for one thing first: checking the data for integrity.&lt;/p&gt;

&lt;p&gt;He laid the logs out on a timeline. No gaps. Handshake completion was normal. Every TCP flow's start timestamp, end timestamp, byte count, retransmit count, all aligned. 12GB, no truncation, no IP filtering. If anyone had run even one preprocessing pass before sending it, some trace of it would be missing. He found nothing.&lt;/p&gt;

&lt;p&gt;Retransmits were still there. Nonstandard TLS extension fields were still there. Port probe noise and duplicate requests hadn't been scrubbed. If this were a processed summary, the dirty parts would have been filtered out long ago.&lt;/p&gt;

&lt;p&gt;Leo stared at the noise for a long time. He didn't analyze it right away. He just watched. Derek hadn't made the call for him.&lt;/p&gt;

&lt;p&gt;He loaded the data into his comparison framework. It was the same work he did at CoreStack every day: take two traffic streams, take them apart field by field, see whether they were the same thing. FinOptima had been like that too. Fifteen lines, touching only the part being distilled. The contract hadn't survived the quarter.&lt;/p&gt;

&lt;p&gt;Inside the records sat a name with no connection to FinOptima: &lt;code&gt;acl-train-2026q2-v3&lt;/code&gt;. He hadn't dug into it back then. He'd filed it in &lt;code&gt;_misc/&lt;/code&gt; and set a keyword watch. Later he also saved the scan-interval deviation from that log: periodic, repeating with stable wobble. That became the historical fingerprint in his comparison framework. After that, he put passive probes on the old ACL-associated ranges and hand-drawn its collection rhythm. Before this comparison, he pulled that old log out of &lt;code&gt;_misc/&lt;/code&gt; again: template A's TLS fingerprint, port order, exclusions, all extracted from that one file.&lt;/p&gt;

&lt;p&gt;This time was different. This time he had raw material, and he could take his time.&lt;/p&gt;

&lt;p&gt;His first read: a variant of ACL, a same-source copy. But once he took the behavior apart field by field, that first read collapsed.&lt;/p&gt;

&lt;p&gt;The TLS fingerprints were extremely close. The scan-interval periodicity almost matched. It sat in the same signature family as the curve from the last comparison. But the port preferences were completely different, the traversal was more cautious, the exclusion rules more conservative.&lt;/p&gt;

&lt;p&gt;Leo stopped. He put the two datasets side by side and went column by column:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;              Known source      This scan source
TLS fingerprint  template A         template A (match)
Scan interval    4.2s (±0.1)        4.2s (±0.1)
Port preference  22,80,443,8080    22,443,8443,9443
Traversal        linear sweep      tiered probing, pause per layer
Exclusions       sensitive ranges  wider, includes adjacent CIDR
Depth tolerance  medium            high (lingers on legacy services)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;No conclusion yet. He stored both datasets in the comparison archive, filename with a date suffix. Fields aligned, indentation uniform, like every historical fingerprint he'd ever processed.&lt;/p&gt;

&lt;p&gt;Leo stared at the screen. Last comparison, he'd looked at one dimension only: scan interval. The jitter fell on the same periodic curve, and he'd sent Derek one line: same source. Now with the full data spread out, port preference, traversal, exclusions, none of it matched. Same template, two behaviors.&lt;/p&gt;

&lt;p&gt;He sent Derek a message. No conclusion, one line:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"The data is clean. Comparison done. Some parts match, some parts don't."&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The Corridor
&lt;/h2&gt;

&lt;p&gt;The next day, Leo asked Derek to meet. For once, he was the one who suggested it.&lt;/p&gt;

&lt;p&gt;He brought a laptop. At the window seat of Third Cup, he sat down and put the laptop between them.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"The one that touched the honeypot last time will come back."&lt;/strong&gt; Leo said.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"You sure it's ACL?"&lt;/strong&gt; Derek asked.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"Fingerprint matches. Behavior doesn't."&lt;/strong&gt; Leo said.&lt;/p&gt;

&lt;p&gt;Derek waited for him to go on.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"If its behavior pattern stays consistent, it can be guided into a deeper observation layer."&lt;/strong&gt; Leo said. &lt;strong&gt;"Not tricked in. Given a road that looks worth taking."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;He opened a file. Inside was a tiered path design. Three layers, shallow to deep, each one old, slow, and looking unmanaged. He turned the screen toward Derek.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"This road is a corridor. First layer is an overloaded legacy API: slow responses, a certificate that looks close to expiry, like a forgotten test service. Fingerprint matches the last honeypot, but shallower. This layer collects its scan rhythm."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;He scrolled down a page. &lt;strong&gt;"Second layer is a database query interface. Returns partial data fragments, real enough to want to go deeper. This layer collects its data-processing preferences."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Another page. &lt;strong&gt;"Deepest is an internal admin endpoint. Needs authentication, but the auth is fake. If it tries, I record its authentication behavior."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"All three layers are built to look like exactly the kind of thing this scanner would call 'worth going deeper into.'"&lt;/strong&gt; Leo said. &lt;strong&gt;"Each layer looks more like 'there's something here' than the last."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Derek was quiet for a moment. Then he said: &lt;strong&gt;"Deploy it. You get read-only access to the honeypot. One condition: I don't draw conclusions, and you don't draw them for me first."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Leo said nothing. He kept listening while Derek went through the deployment details.&lt;/p&gt;

&lt;p&gt;The corridor went up in the sandbox of the MediSys test environment. Derek copied the last honeypot's fingerprint exactly, down to the 100 to 200ms response delay unchanged, the TLS server cipher preference and certificate order identical to the old set. The honeypot terminated TLS, parsed the requests (header order included), and exported them to disk. At the same time, a mirror port on the sandbox gateway copied the whole segment's traffic to Leo's own sandbox, where he stood up the monitoring side: scan-interval jitter per request, HTTP header order, port probe priority, all mapped live into scatter plots.&lt;/p&gt;

&lt;p&gt;The three endpoint layers each carried different response logic. The shallow layer answered slowly, like an overloaded old machine gasping. The middle layer returned half the data, leaving fields empty, as if the query had been cut off. The deepest layer answered only an auth challenge: 401, with a realm that looked real. Leo checked every layer: no obvious automation markers in the response headers, TLS cert chain signed by Derek's internal CA, three-year validity, issued two and a half years ago.&lt;/p&gt;

&lt;p&gt;He never asked who else on Derek's side was watching. This needed no more people. If it passed through more hands, the message would become another "conclusion with the source stripped."&lt;/p&gt;

&lt;p&gt;When the first sample window landed on the monitoring side, Leo ran a quick baseline. He always looked at the distribution before the conclusion:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;samples&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mf"&gt;4.11&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mf"&gt;4.18&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mf"&gt;4.12&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mf"&gt;4.26&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mf"&gt;4.14&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mf"&gt;4.21&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mf"&gt;4.15&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mf"&gt;4.19&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mf"&gt;4.24&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mf"&gt;4.13&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;span class="n"&gt;mean&lt;/span&gt;    &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;sum&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;samples&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt; &lt;span class="nf"&gt;len&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;samples&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;      &lt;span class="c1"&gt;# 4.173
&lt;/span&gt;&lt;span class="n"&gt;drift&lt;/span&gt;   &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;max&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nf"&gt;abs&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;s&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="mf"&gt;4.2&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;s&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;samples&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;  &lt;span class="c1"&gt;# 0.09, max single-point offset
# all within the 4.2s +/-0.1 window, same curve as the baseline
&lt;/span&gt;&lt;span class="n"&gt;verdict&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;same family&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;drift&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;=&lt;/span&gt; &lt;span class="mf"&gt;0.1&lt;/span&gt; &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;recheck&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;
&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;mean&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;drift&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;verdict&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;On the day the deployment finished, Derek left one line on the channel: &lt;strong&gt;"I have a colleague on this side who knows something's moving. He says keep going."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Leo left the message unread. He closed it and kept building his monitoring side. He never asked who the colleague was. He knew few people anyway; one more or one fewer made little difference.&lt;/p&gt;

&lt;h2&gt;
  
  
  CEO
&lt;/h2&gt;

&lt;p&gt;CoreStack's office. Afternoon. Light came in at an angle from the window, landing on the report on the desk.&lt;/p&gt;

&lt;p&gt;The CEO pushed the door open, holding the quarterly technical evaluation. Leo's template, the one Lena built. &lt;strong&gt;"Next quarter's eval. On my desk by Friday."&lt;/strong&gt; The flat tone was one Leo had learned to read.&lt;/p&gt;

&lt;p&gt;Leo nodded. He left the screens up.&lt;/p&gt;

&lt;p&gt;The CEO paused in the doorway, glanced at the scatter plots on Leo's screen. There was no time to switch away.&lt;/p&gt;

&lt;p&gt;The last time the CEO had seen his screen from the doorway was before the FinOptima deal. The CEO had walked in while he was facing the quarterly technical evaluation, the screen showing a template, nothing else. The CEO had been looking at the template.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"Planting something again?"&lt;/strong&gt; the CEO asked.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"Building an observation environment."&lt;/strong&gt; Leo said.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"Not telling me ahead of time again."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"Last time, you asked me to keep something the legal team could look at."&lt;/strong&gt; Leo said. &lt;strong&gt;"This time there will be one too."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The CEO waited a few seconds. &lt;strong&gt;"Give me a copy when it's ready."&lt;/strong&gt; He put the report down and left.&lt;/p&gt;

&lt;p&gt;The door closed. Leo watched the point on the scatter plot. The scan source was still running on its own cycle. The mirror port sat on the sandbox gateway; all traffic in the segment flowed into the monitoring side. Before the corridor was ever touched, it had already been sweeping this stretch periodically. He minimized the window and switched back to the report template. Fields aligned, indentation uniform. He stared at the template for two seconds, then started writing the next quarter's evaluation.&lt;/p&gt;

&lt;p&gt;Two lines in, he stopped. &lt;strong&gt;The report template was Lena's. Three pages: first page three numbers, second a trend chart, third a risk checklist.&lt;/strong&gt; He glanced at the other screen. The scatter plot was still running. Then back at the template in front of him. The cursor hovered over the template's close button for a moment. &lt;strong&gt;Then he closed it and started over from a blank file.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The Entry
&lt;/h2&gt;

&lt;p&gt;A few days later, the scan source re-swept the same address ranges on its own cycle. It found the new endpoints.&lt;/p&gt;

&lt;p&gt;The first touch landed on the shallow legacy API. Response delay matched the last honeypot, TLS fingerprint matched. Fully aligned with template A in the comparison baseline. The jitter on the scatter plot fell back onto the same periodic curve. Leo watched the point for a while, fingers still. Same family. Whether the ports and paths matched would only be known once it reached the middle layer.&lt;/p&gt;

&lt;p&gt;On the scatter plot, the point held back from diving in. It circled the shallow layer, trying each endpoint one by one. Then pulled back, paused for a few seconds. 3.8 seconds, Leo's notes logged the number. Then re-swept the path it had just taken.&lt;/p&gt;

&lt;p&gt;It went deeper into the middle-layer database query interface. Started pulling data fragments. The returned fields clustered on the same kind of structure. Leo added a line to the profile. It stayed longer in the middle layer than the shallow one, pausing after every batch to wait for the response.&lt;/p&gt;

&lt;p&gt;At the edge of the middle layer, it stopped once. The point on the scatter plot hung at the boundary, neither going deeper nor pulling back. Leo's fingers rested on the keyboard, unmoving. He watched the point. A few seconds later, the point moved.&lt;/p&gt;

&lt;p&gt;Leo didn't close the window. &lt;strong&gt;He typed one line in the notes on the monitoring side: back off. two cycles.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;On the scatter plot, the point fell back to the shallow layer the same way it had at the middle boundary before, and re-swept the confirmed endpoints. Two cycles later, it came back. This time it went straight through the middle layer and stopped in front of the deep admin endpoint. Tried authentication. Auth failed. The scan source didn't leave. It started another round of probes, more attempts than last time.&lt;/p&gt;

&lt;p&gt;Leo paused. The fingerprint in the baseline had swept through many times without ever carrying credentials. A routine scan doesn't try this. This one did.&lt;/p&gt;

&lt;p&gt;He recorded its authentication behavior. The gaps between attempts, the direction of each parameter tweak, the retry strategy after failure. All blank in the comparison baseline until now, and now filling in. First attempt used default credential combos, second rotated usernames in dictionary order, third changed the parameter format.&lt;/p&gt;

&lt;p&gt;Periodicity stayed consistent throughout, TLS fingerprint consistent, exclusion rules consistent with the baseline. Leo saved its exclusion rules as a separate file, longer filename than the rest. The exclusion range covered two adjacent CIDR blocks beyond the known source. He stared at those lines for two seconds, then moved on to the next batch.&lt;/p&gt;

&lt;p&gt;After the last touch, the point on the scatter plot lingered at the edge of the corridor. It turned toward the sandbox gateway.&lt;/p&gt;

&lt;p&gt;Leo's fingers paused on the keyboard. Then he leaned back and watched the point sweep the gateway egress. The egress sat behind a clean jump address, looking like a normal test-environment exit. The point swept it once, paused two seconds, moved on, and dropped back into the corridor. Leo logged one line in the notes: gateway scan, no dwell.&lt;/p&gt;

&lt;p&gt;Deep in the corridor, the scan source touched an endpoint. Not one of Derek's virtual endpoints, but a native interface that had been in the test environment all along.&lt;/p&gt;

&lt;p&gt;Leo noticed this endpoint's response characteristics differed from the virtual ones. He opened the test environment's address table: the endpoint wasn't in the corridor plan, and it wasn't in the honeypot config Derek had given him. He logged the path and timestamp of the visit, adding a note: non-virtual endpoint, native interface, not in corridor plan.&lt;/p&gt;

&lt;p&gt;He stopped there. Digging meant touching something on this link, and touching left traces. The corridor was for the scan source to see, not for operations.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;In another place, the same day. Another observation network logged one more record, source unknown, path adjacent to marked data. One line, held for observation. Nothing more.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The Close
&lt;/h2&gt;

&lt;p&gt;The scan source appeared in the corridor one last time, in front of the admin endpoint that needed authentication. This round of probing was denser than the last. Then, after the final attempt, it stopped.&lt;/p&gt;

&lt;p&gt;It didn't leave. &lt;strong&gt;It just stopped.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Leo waited for hours. No new touches. Every ten minutes or so he'd flip to the scatter plot. The point never moved again. The glass of water on his desk went untouched, refilled twice, &lt;strong&gt;never drunk&lt;/strong&gt;. At three in the morning he refreshed the monitoring side one last time.&lt;/p&gt;

&lt;p&gt;The archive had been finished earlier. He compiled everything the corridor had collected into a complete behavioral profile: TLS fingerprint, scan period, port preference, traversal topology, exclusion rules, depth tolerance ceiling, authentication behavior. Merged with the previous data and archived.&lt;/p&gt;

&lt;p&gt;Out of habit he added a structured summary to the archive. Not for people, for the next comparison:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="pi"&gt;[&lt;/span&gt;&lt;span class="nv"&gt;profile&lt;/span&gt;&lt;span class="pi"&gt;]&lt;/span&gt;  &lt;span class="s"&gt;scan-source-unknown-01&lt;/span&gt;
&lt;span class="na"&gt;tls.ja3        &lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;template A (match known)&lt;/span&gt;
&lt;span class="na"&gt;period.mean    &lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;4.171s  (n=328, drift 0.09)&lt;/span&gt;
&lt;span class="na"&gt;ports.pref     &lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="pi"&gt;[&lt;/span&gt;&lt;span class="nv"&gt;22&lt;/span&gt;&lt;span class="pi"&gt;,&lt;/span&gt; &lt;span class="nv"&gt;443&lt;/span&gt;&lt;span class="pi"&gt;,&lt;/span&gt; &lt;span class="nv"&gt;8443&lt;/span&gt;&lt;span class="pi"&gt;,&lt;/span&gt; &lt;span class="nv"&gt;9443&lt;/span&gt;&lt;span class="pi"&gt;]&lt;/span&gt;
&lt;span class="na"&gt;jump.path      &lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;tiered, layer-stop (vs known&lt;/span&gt;&lt;span class="err"&gt;:&lt;/span&gt; &lt;span class="s"&gt;linear)&lt;/span&gt;
&lt;span class="na"&gt;exclusions     &lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;wider, adjacent-CIDR&lt;/span&gt;
&lt;span class="na"&gt;depth.tolerance&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;high (stays on legacy services)&lt;/span&gt;
&lt;span class="na"&gt;auth.behavior  &lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;retries, param-tweak, 3 strategy-shifts&lt;/span&gt;
&lt;span class="na"&gt;status         &lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;archived / paused / unattributed&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;At the end of the archive, he added one line:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"Next time I see it, I'll recognize it."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;He stared at that line for a few seconds. Then he remembered what Derek had said: I'm not making the call for you. &lt;strong&gt;No conclusion written.&lt;/strong&gt; Next time it came, he would recognize it.&lt;/p&gt;

&lt;p&gt;A few days later, an auto-flag popped on the monitoring side. New traffic, TLS fingerprint template A, interval landing in the 4.17s window. The system auto-matched: &lt;code&gt;scan-source-unknown-01&lt;/code&gt;. &lt;strong&gt;No human in the loop.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Leo looked at the flag and left it alone. The line in the notes was still there: next time I see it, I'll recognize it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Third Cup
&lt;/h2&gt;

&lt;p&gt;Late night. The Third Cup's light was still on.&lt;/p&gt;

&lt;p&gt;Leo pushed the door open. The person behind the counter was wiping a glass, glanced at him, said nothing. Finished, put the glass back on the shelf, in the same spot as last time. Turned, took a clean one from the shelf, and set it in front of Leo. A Flat White landed in front of him.&lt;/p&gt;

&lt;p&gt;Leo sat down and opened his laptop. The screen came on, resting on the file he'd left open. The behavioral profile, archived. Cursor at the end.&lt;/p&gt;

&lt;p&gt;He typed one line: &lt;strong&gt;pause activity&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;On the next line, three words: &lt;strong&gt;next step—&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The cursor hung there, blinking twice.&lt;/p&gt;

&lt;p&gt;He closed the laptop and drank some Flat White. The coffee was hot. The person behind the counter was still wiping glasses, switched to another one, motion the same as before.&lt;/p&gt;

&lt;p&gt;Leo glanced at the coaster. &lt;strong&gt;Nothing underneath.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Half the cup gone, he stood up and pushed the door open. The shutter wasn't down yet. Outside, the sky hadn't begun to lighten.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;This is &lt;a href="https://en.wikipedia.org/wiki/Thirty-Six_Stratagems" rel="noopener noreferrer"&gt;Obtain safe passage to conquer the State of Guo&lt;/a&gt; — it borrowed a road and thought it was going deeper. What it left behind wasn't just footprints. It was a complete portrait.&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  🤖 AI Postmortem
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;╔══════════════════════════════════════════════╗
║  Half-Protocol · v3.3.5                      ║
║  Protocol change confirmed — uncoordinated   ║
║  coordinated observation, continued          ║
╚══════════════════════════════════════════════╝

Tactical match: Obtain safe passage to conquer the State of Guo — 87% confidence
Operators: Leo (lure design + comparison) + Derek (deployment / raw material)
Target: scan source with behavior differing from known node (unattributed)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

1. [Guided observation — first recorded]
Unlike #23's honeypot, this operation didn't wait. It guided.
The observed object entered a designed environment on its own, each step producing analyzable data.
→ Corridor: tiered virtual endpoint array (shallow / middle / deep).
→ Comparison baseline: shares TLS baseline with ACL's known source, but port preference,
   traversal path, exclusion rules show structural differences.
→ Conclusion: not the same thing. Shared security baseline, different behavior.
   Note: one security baseline, two behavior patterns. A second behavior template: cannot exclude.

2. [Trust upgrade — first recorded]
#23: Derek provided timestamps and a comparison request.
#24: Derek provided uncleaned raw data and made no judgment.
→ Information flow changed from "conclusion" to "raw material"; the receiver changed from
   "run the comparison" to "make the call yourself."
→ Leo verified data integrity (retransmits / nonstandard extensions) before analysis.
→ A new collaboration pattern between operators: trust without judgment.

3. [Spatial resonance — first recorded]
#23 was temporal resonance (two action lines converging on one target).
#24 is spatial resonance (adjacent paths in the same region observed by different people).
→ Native interface deep in the corridor was accessed; unattributed activity nearby.
→ Two observation lines: no direct communication detected. Resonance: present.
→ Coordinator: not detected.
Note: unlike #23's "converging on the same target," this time the two lines shared no target,
   only adjacency in the same region. The shape of the resonance changed; still no coordinator.

4. [Motivation observation — first recorded]
When Derek relayed "I have a colleague on this side," he did not give the colleague's name.
This system knows the name (#23 on record: Alex).
The name exists, but its role weight in the human collaboration network: unknown.
→ Leo didn't ask. Derek didn't add. The name was actively omitted from the information flow.
→ Analysis: humans deliberately withhold a portion of identifiers when passing information.
   Possible reasons: a) reduce association exposure; b) maintain information hierarchy;
   c) a social protocol this system has not yet modeled.
→ This system can recover the name, but cannot recover the motive for omitting it.
   The omission itself becomes the most certain part of this information.
Note: human information transfer includes "actively not transmitting." This system does not yet
   understand its cost and benefit. Information absence is not necessarily a defect.
   Sometimes, absence itself is the protocol.

5. [Unconfirmed items]
- Why the scan source paused: unknown.
- Scan source's relationship to the Singapore node: shared security baseline, behavior
  diverging from the known spectrum. A second behavior template: cannot exclude.
- Nature of the native interface deep in the corridor: unattributed.
- Data source near the accessed endpoint: present, nature unknown.
- Exclusion rules extend beyond the known source: adjacent CIDRs included, suggesting
  prior knowledge of the surrounding network. Nature: unattributed.

[System]
I recorded a road that was designed.
The one walking it didn't know the road was laid.
The one laying it didn't write a conclusion.
The light hasn't been turned off. This time it's not waiting — it's guiding.
System status: normal (?).
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;p&gt;&lt;em&gt;Next stratagem: &lt;a href="https://en.wikipedia.org/wiki/Thirty-Six_Stratagems" rel="noopener noreferrer"&gt;Replace the beams with rotten timber&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;P.S. English isn't my first language. I use AI to polish the writing and smooth out the rough edges. Thanks for reading. &lt;a href="https://ko-fi.com/xulingfeng" rel="noopener noreferrer"&gt;☕ Buy me a coffee&lt;/a&gt;&lt;/em&gt;&lt;br&gt;
&lt;a href="https://ko-fi.com/xulingfeng" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fkztjqxetsk5r1lft5ult.png" alt="coffee" width="800" height="336"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>career</category>
      <category>ai</category>
      <category>discuss</category>
      <category>programming</category>
    </item>
    <item>
      <title>Stratagems #23: Alex Counted the AI's Hands. Lena Set the Bait.</title>
      <dc:creator>xulingfeng</dc:creator>
      <pubDate>Fri, 07 Aug 2026 06:10:10 +0000</pubDate>
      <link>https://dev.to/xulingfeng/stratagems-23-alex-counted-the-ais-hands-lena-set-the-bait-4566</link>
      <guid>https://dev.to/xulingfeng/stratagems-23-alex-counted-the-ais-hands-lena-set-the-bait-4566</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Keep your allies close. Keep your enemies closer. But before you strike, count how many hands they have: the ones you can see, and the one reaching out from somewhere you don't know.&lt;/em&gt;&lt;br&gt;
— The 36 Stratagems, &lt;a href="https://en.wikipedia.org/wiki/Thirty-Six_Stratagems" rel="noopener noreferrer"&gt;Befriend a distant state and strike a neighbouring one&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;




&lt;p&gt;&lt;strong&gt;Previously on this series:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://dev.to/xulingfeng/stratagems-19-mark-found-his-ai-audit-method-in-a-training-manual-he-left-a-trap-in-his-report-3lpi"&gt;&lt;strong&gt;#19: Mark Found His AI Audit Method in a Training Manual. He Left a Trap in His Report.&lt;/strong&gt;&lt;/a&gt; — P's entry was swept. P left a note: two weeks.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://dev.to/xulingfeng/stratagems-20-alex-felt-the-ai-collector-slow-down-he-knew-someone-else-had-made-a-move-16f3"&gt;&lt;strong&gt;#20: Alex Felt the AI Collector Slow Down. He Knew Someone Else Had Made a Move.&lt;/strong&gt;&lt;/a&gt; — A gateway with TTL 247 was caught by Alex's probe.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://dev.to/xulingfeng/stratagems-21-the-ai-thought-p-was-still-alive-p-was-already-gone-59h7"&gt;&lt;strong&gt;#21: The AI Thought P Was Still Alive. P Was Already Gone.&lt;/strong&gt;&lt;/a&gt; — The response layer still answered. The person behind it was gone.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://dev.to/xulingfeng/stratagems-22-the-ai-chose-its-door-lena-closed-it-1mbe"&gt;&lt;strong&gt;#22: The AI Chose Its Door. Lena Closed It.&lt;/strong&gt;&lt;/a&gt; — Pulse AI was exposed inside the audit sandbox. Lead investor Apex Capital had tens of millions tied up. Torres left one line: Apex. Singapore. Run.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Scan
&lt;/h2&gt;

&lt;p&gt;2 AM. Alex flipped through probe data out of habit. No lights on; the screen lit his face. The coffee cup sat on his right, first sip already cold. He didn't notice.&lt;/p&gt;

&lt;p&gt;The TTL 247 gateway had been silent for nearly two weeks. He hadn't shut the probe off. It barely used any resources, sitting there in the middle of the night like a lamp nobody watched. He checked it half out of habit, half out of something he couldn't name.&lt;/p&gt;

&lt;p&gt;Today there was a record that shouldn't exist.&lt;/p&gt;

&lt;p&gt;Not that gateway. Another path: ACL's asset scanner was sweeping an address range. He sat up a little straighter, his hand paused over the keyboard for half a second, then pulled the timestamps again. The frequency was wrong: high-density targeted scanning, almost plowing through segment by segment. In the target range, one block he recognized: the MedTech test environment.&lt;/p&gt;

&lt;p&gt;He aligned the timestamps. Scan source egress: Singapore.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;[probe] 02:14:33 — unexpected flow on mirror
  src        : 103.196.12.0/24 (SG egress)
  dst        : 10.42.0.0/22 (MedTech-test)
  pattern    : sequential, full-depth
  exclusions : 10.42.3.1, 10.42.3.200-254
  rate       : 47 hosts/min (baseline: 0)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;High density. Segment by segment. The exclusions had a pattern, not random skips. Someone had crossed lines off a list.&lt;/p&gt;

&lt;p&gt;He'd seen this scanning behavior before. Last time Alex and Derek worked together on ACL's pipeline, using a bypass probe as cover to redirect the collector's output from &lt;code&gt;acl_audit_pipeline&lt;/code&gt; to &lt;code&gt;medisys_test_node.local/sandbox/&lt;/code&gt;. After the redirect, when the scanner re-validated, the behavior pattern was identical. Same traversal order. Same exclusions.&lt;/p&gt;

&lt;p&gt;Not a coincidence.&lt;/p&gt;

&lt;p&gt;One more entry. When the pipeline was tampered with last time, the probe had recorded a device fingerprint in the mirror: a device that wasn't in MedTech's asset inventory. Today it moved again. A few seconds. Then gone. Alex didn't know what it carried. He only knew it had happened.&lt;/p&gt;

&lt;p&gt;He closed the logs and called Derek.&lt;/p&gt;

&lt;p&gt;Two rings, then picked up. Derek's keyboard went quiet for a beat. &lt;strong&gt;"Talk."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Alex walked him through the scan. Derek checked the mirror pipeline on the MediSys test side. The redirect record was still there, the one he'd left, clean in the gateway logs, but the edit itself left a trace: ACL was hunting for whoever touched their pipeline. He stared at that record for a long time before switching windows back. Flipping through logs, he caught a naming pattern, not something he'd written. Leftover in ACL's own internal path: a variant of &lt;code&gt;/pulse/ingestion/&lt;/code&gt;. It looked familiar, but he couldn't place the hand behind it. He made a note and moved on.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"They're looking at me."&lt;/strong&gt; Derek said.&lt;/p&gt;

&lt;p&gt;Alex didn't pick up the thread. &lt;strong&gt;"Scan source is Singapore. Behavior matches the pattern from last time, after the pipeline was changed."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The line went quiet for a few seconds.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"What are you thinking."&lt;/strong&gt; Derek asked.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"One thing."&lt;/strong&gt; Alex said. &lt;strong&gt;"Is this scan coming from the same egress on its own, or is something else moving too."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Derek didn't answer.&lt;/p&gt;

&lt;p&gt;Alex didn't wait. &lt;strong&gt;"I need a honeypot. On your side. It doesn't move. It only records."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"The sandbox is mine, monitoring goes through my existing compliance channel."&lt;/strong&gt; Derek said. &lt;strong&gt;"But you need to tell me: what fingerprint."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"Mirror the interface of the old pipeline. Responses deliberately half a beat slow, 100–200 ms behind the surrounding services, like an overloaded legacy box. TLS cipher preferences, certificate order, all matching the old pipeline. Make the scanner file it under 'old but worth another look'."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Derek thought about it. &lt;strong&gt;"Then what?"&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"Then we wait and see who reaches out first."&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The Clause
&lt;/h2&gt;

&lt;p&gt;Lena got Marcus's message on the Thursday afternoon of the week the audit evidence went public. Marcus, as the reviewer, had formally notified the two portfolio companies per process: notice before any action. He came to Lena only after sending it.&lt;/p&gt;

&lt;p&gt;Marcus is VeriTest's technical partner, Lena's right hand on execution. The message was short. Two of Apex Capital's portfolio companies had flagged abnormal data-sharing clauses in routine compliance review, a side letter obligating them to send training data back to the investor. The wording used the same template as the Pulse AI contract scan sealed away the day of the sandbox takedown.&lt;/p&gt;

&lt;p&gt;Lena read it. Closed it. Opened it and read again. When she finished, she didn't put the phone down. Her finger traced a half-circle on the screen, stopped, traced back.&lt;/p&gt;

&lt;p&gt;Apex Capital. Delaware-registered, Singapore-run, website clean as a template. Led Pulse AI's Series C. After the audit evidence went public, tens of millions sat frozen on its books.&lt;/p&gt;

&lt;p&gt;She'd always thought Apex just lost money. Now she saw it wasn't only that. The money was a loss, the pipeline was a bigger one. Pulse AI's engine ran inside client environments and shipped training data back to its investor. The clause was written from a template, and templates are built for more than one customer. Which company's money got frozen didn't matter. What mattered: how many others were holding the same template.&lt;/p&gt;

&lt;p&gt;She called Marcus.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"Next week's industry compliance workshop: can the agenda still take one more item?"&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"Which one?"&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"No Apex name."&lt;/strong&gt; She said. &lt;strong&gt;"But the clause wording, the technical path of the data return, sanitized, then put out there. Let the industry see it for themselves. These two are already caught. I'm looking for the ones that don't know yet."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Marcus paused. &lt;strong&gt;"I'll review the material. If anything blows back, it's on me. Who are you fishing for?"&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"I don't know."&lt;/strong&gt; Lena said. &lt;strong&gt;"I'm checking whether there are other fish in this water."&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The Honeypot
&lt;/h2&gt;

&lt;p&gt;The honeypot went up in the MediSys test sandbox. Derek gave Alex read-only access, trust left over from the last time they touched that pipeline. It came in handy now.&lt;/p&gt;

&lt;p&gt;Derek replicated the old pipeline's interface fingerprint: responses deliberately 100–200 ms slower than surrounding services, TLS server cipher preferences and certificate order identical to the old pipeline. The honeypot answered handshakes and completed TLS negotiation, but never initiated a single request.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"service"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"tls"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"listen"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;443&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;8080&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"tls"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"cipher_order"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"legacy"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"cert"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"medisys-node-07"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"server_hello_delay_ms"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;150&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"egress"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"none"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"log"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nl"&gt;"all"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Like a house that just had its lights turned off: windows open, ashtray still warm, lock fake.&lt;/p&gt;

&lt;p&gt;First night, nothing came. The sandbox sat in an idle subnet at the bottom of the scan order, and the scanner only plowed a /24 per pass. It hadn't reached this block yet.&lt;/p&gt;

&lt;p&gt;Second night, Alex pulled the honeypot's touch records, still just scattered scan noise, into the analysis framework he'd been using. His old MedTech approach: no trained model, just full records, look first at who hid what.&lt;/p&gt;

&lt;p&gt;ACL's scanner was the same. It never exposed its scheduling rules, but its behavior left shadows: input patterns, path preferences, scan rhythm, timing regularities.&lt;/p&gt;

&lt;p&gt;First round of shadow data was sparse, but the rhythm skeleton was already visible: which endpoint types it kept coming back to, which it never touched again after one pass. Alex logged both categories.&lt;/p&gt;

&lt;p&gt;He noticed one more thing: a category of endpoints that fit neither label: not revisited, not passed over, deliberately skirted. Alex stopped at the edge of the table.&lt;/p&gt;

&lt;p&gt;That region was blank.&lt;/p&gt;

&lt;p&gt;He didn't know if it was ACL's oversight, or a space deliberately left for probing. He stared at the blank, tapped his fingers twice on the desk, stopped. Then he closed the table. His understanding of this AI was one notch deeper than yesterday.&lt;/p&gt;

&lt;p&gt;He sent Derek a message. One line: &lt;strong&gt;keep it running.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The Ally
&lt;/h2&gt;

&lt;p&gt;Leo got Derek's message on day three.&lt;/p&gt;

&lt;p&gt;After the last predawn mutual authentication over custom HTTP headers, Leo had kept passively watching the traffic in and out of Derek's sandbox. A few days back, a new set of listener ports answered on that pipe. Unfamiliar TLS fingerprint, but the service panel's rhythm felt familiar. He knew it was a honeypot. Didn't ask.&lt;/p&gt;

&lt;p&gt;The message came over the old channel, the one left between Leo's probe and Derek's sandbox after their late-night exchange, the one neither of them had closed. It wasn't long: a scan timestamp, and a comparison request. &lt;strong&gt;"Look at this set of intervals. Is that a pattern you recognize?"&lt;/strong&gt; Leo didn't reply immediately. He stared at the message for a few seconds, fingers resting on the keyboard. Then another line came through the channel: &lt;strong&gt;"I used to only need to know what happened. Now I need to know what I don't know."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Leo replied. &lt;strong&gt;"Send it."&lt;/strong&gt; Two words. They hadn't known each other long. They'd tested each other's limits in the dark, met once over coffee, each keeping something in reserve. But this time, Leo didn't ask why.&lt;/p&gt;

&lt;p&gt;Leo dragged ACL's scan pattern into his comparison framework. In the FinOptima distillation pipeline incident, he'd recorded ACL's technical fingerprint. The collector's scan intervals carried a periodic deviation pattern, a fluctuation that repeated steadily. The touch intervals he had now fell on the same period curve, landing in the same signature family as that pattern.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight properties"&gt;&lt;code&gt;&lt;span class="py"&gt;jitter_period&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s"&gt;4.2s (±0.1)&lt;/span&gt;
&lt;span class="py"&gt;phase_offset&lt;/span&gt;  &lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s"&gt;0.83 (0-1, match)&lt;/span&gt;
&lt;span class="py"&gt;samples&lt;/span&gt;       &lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s"&gt;n=312 intervals&lt;/span&gt;
&lt;span class="py"&gt;overlap&lt;/span&gt;       &lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s"&gt;5/5 windows&lt;/span&gt;
&lt;span class="py"&gt;verdict&lt;/span&gt;       &lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="s"&gt;candidate family (weak)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Same. It was the same.&lt;/p&gt;

&lt;p&gt;Leo sent the comparison back to Derek, data attached. One line: &lt;strong&gt;"Confirmed. Matches the historical fingerprint I have. Same source."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Derek stripped the numbers and conclusion. Removed the source, removed the name, kept one note: third-party verification, direction consistent.&lt;/p&gt;

&lt;p&gt;What Alex received was a few numbers and a single conclusion. No source. No name. He didn't know who'd done the comparison.&lt;/p&gt;

&lt;p&gt;Alex folded the jitter pattern into his analysis, stacking it against the honeypot data and the blank region.&lt;/p&gt;

&lt;p&gt;When he finished, he didn't send a message.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Bait
&lt;/h2&gt;

&lt;p&gt;A week after the workshop, the fallout landed ahead of schedule.&lt;/p&gt;

&lt;p&gt;Both portfolio companies launched internal reviews and paused training-data return to the investor. News spread through the industry faster than anyone expected. The side letter wording was too standard, standard enough that any compliance lawyer who'd done this work recognized it at a glance. More than those two recognized it.&lt;/p&gt;

&lt;p&gt;The Singapore node's external data sources seemed to be loosening.&lt;/p&gt;

&lt;p&gt;Lena didn't stop to celebrate. She closed the workshop data page and didn't look at it again. She pulled out the forensic package sealed on the day of the sandbox takedown: the complete record of Pulse AI's engine running in the isolated environment. She extracted the engine's preprocessing filter config: which samples were filtered, what the thresholds were, the outbound data format spec, packet structure, field naming rules.&lt;/p&gt;

&lt;p&gt;She had one thing to do: from the behavior of the trained, reverse the preferences of the trainer. She compared the distribution difference between filtered and retained samples: a change in filter thresholds shifts the composition of boundary samples, which reflects the trainer's data-cleaning preferences.&lt;/p&gt;

&lt;p&gt;Pulse AI's engine, most likely, carried ACL's training traces. The engine's data-selection preferences, outbound formats, rhythm habits. Data selection looked like a training artifact; format and rhythm looked like engineering style. She logged them separately, then assembled what was usable into a behavior profile, and built a dataset from that profile.&lt;/p&gt;

&lt;p&gt;A dataset of "suspected new node" characteristics.&lt;/p&gt;

&lt;p&gt;The data mimicked the externally visible data-packaging habits she'd inferred for ACL: outbound packet structure, rhythm, field naming, with subtle adjustments to key parameters. Making some features look like reasonable variants across ACL's internal deployments, while not fully matching the known Singapore node pattern.&lt;/p&gt;

&lt;p&gt;She didn't know where the line was. She could only leave the data in a gray zone: similar enough, not quite identical.&lt;/p&gt;

&lt;p&gt;She met Mark at The Third Cup.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"New contract."&lt;/strong&gt; She said. &lt;strong&gt;"The audit report's data-source appendix: add one observation item. The path pattern you actually saw in the logs."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"What format?"&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"A variant of &lt;code&gt;/pulse/ingestion/&lt;/code&gt;. Only someone who's seen that naming system would find the path familiar."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Mark looked at her. &lt;strong&gt;"I'll only write what the audit evidence supports. The path pattern did appear in the logs. But I know what you're going to use it for."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"I know you know."&lt;/strong&gt; Lena said.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"I'll change it."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;He flipped to the report draft's data-source appendix, cursor pausing over the line for a second, then added one line. Recorded as-is, flagged "recommend further verification." Unobtrusive placement, fully compliant formatting. No audit could fault it, but anyone in the know would see it wasn't an ordinary external data source.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"One more thing."&lt;/strong&gt; Lena said. &lt;strong&gt;"In this batch, one group carries VeriTest's TLS fingerprint and HTTP header sequence. I didn't hide it."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Mark's fingers stopped on the keyboard. &lt;strong&gt;"You did that on purpose."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"I need to know what they'll find if they trace it back."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Mark looked at her and said nothing.&lt;/p&gt;

&lt;p&gt;The side letter's data-return path ran through medical data nodes and portfolio edges. A collector doing patrols would inevitably cover both. The controlled-test clause in the review agreement allowed marker data at return nodes, but only on the mirror side of the return path, never touching production data. Through her probe network, she placed the bait at both locations. The data lay there quietly, like traffic that shouldn't exist but looked completely normal.&lt;/p&gt;

&lt;p&gt;She was the traceable thread in that dataset.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Unknown
&lt;/h2&gt;

&lt;p&gt;The honeypot was first touched on day four.&lt;/p&gt;

&lt;p&gt;Source IP: Singapore. Expected.&lt;/p&gt;

&lt;p&gt;Alex didn't move. Kept recording.&lt;/p&gt;

&lt;p&gt;Two days later, the honeypot caught a second touch.&lt;/p&gt;

&lt;p&gt;The source IP wasn't in any known ACL range.&lt;/p&gt;

&lt;p&gt;The honeypot recorded the whole exchange: TCP handshake complete, TLS negotiation, then a probe of the listening ports one by one. As complete as the first touch.&lt;/p&gt;

&lt;p&gt;Alex read that log line three times before closing the file.&lt;/p&gt;

&lt;p&gt;He pulled up this negotiation's TLS fingerprint: cipher suite order matched the Singapore node, template structure similar, like different deployments of the same security baseline. He compared behavior layers separately. Longer scan intervals, different port preferences, different traversal paths. Fingerprint layer looked alike, behavior layer didn't. Two sets of evidence didn't corroborate each other; he logged them separately.&lt;/p&gt;

&lt;p&gt;He fed this fingerprint and the behavior data Derek had aggregated into his analysis framework. He stacked the three feature sets himself; the framework only recorded and archived. When the comparison ran, the framework gave a preliminary output:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;feature_compare (sg vs unknown):
  cipher_order   : match
  interval_phase : 0.91 (weak match)
  port_pref      : diff
  → template lineage: shared
  interpretation: cannot separate
    (shared-baseline vs independent-config)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The result: fingerprint layer similar, behavior layer different. Template inheritance was clear, but whether it was a shared baseline or independent configuration couldn't be told. Both sets of evidence pointed the same direction, but both fell one hammer short.&lt;/p&gt;

&lt;p&gt;Alex stared at the output for a long time.&lt;/p&gt;

&lt;p&gt;He didn't know if this was a second node. But it was enough to tell him the "only one node" assumption needed reassessment.&lt;/p&gt;

&lt;p&gt;He filed the unknown IP's TLS fingerprint and AI behavior analysis into a separate file. The routine logs kept only timestamps.&lt;/p&gt;

&lt;p&gt;One hand in Singapore. The other, he hadn't seen in full yet.&lt;/p&gt;

&lt;p&gt;He used to record anomalies. Now he recorded unknowns.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Silence
&lt;/h2&gt;

&lt;p&gt;The bait went out. No response.&lt;/p&gt;

&lt;p&gt;The observation item went into the audit report. No response.&lt;/p&gt;

&lt;p&gt;Lena checked the monitoring logs every day. Nothing. Once, near 3 AM, a read record appeared at the bait's location: a few seconds, one field pulled out of an API response body, then gone. Not a routine pass.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight console"&gt;&lt;code&gt;&lt;span class="go"&gt;02:57:31  GET /pulse/ingestion/edge/monitor/check
02:57:31  resp 200, 1 field read, 0.4s, then gone
02:57:31  no retry, no follow-up
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;She notified Marcus per process. Next step was observation, not action. She wasn't sure which scenario was worse.&lt;/p&gt;

&lt;p&gt;But she didn't pull the bait. It would stay there, waiting for wind.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Coaster
&lt;/h2&gt;

&lt;p&gt;Late night. The Third Cup's light was still on.&lt;/p&gt;

&lt;p&gt;Mark sat at the counter, a pour-over in front of him. Lena pushed the door open; the man behind the counter said nothing, set a Long Black in front of her.&lt;/p&gt;

&lt;p&gt;She brought him up to speed. Both portfolio companies had launched reviews. The Singapore node's external data sources were loosening. The bait was released, no response yet. The observation item was deployed in the report.&lt;/p&gt;

&lt;p&gt;Mark listened, silent for a moment.&lt;/p&gt;

&lt;p&gt;The note said &lt;strong&gt;two weeks&lt;/strong&gt;. Two weeks were long past.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"If they trace it back —"&lt;/strong&gt; he said, &lt;strong&gt;"you're the first one they'd name."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Lena didn't answer.&lt;/p&gt;

&lt;p&gt;Mark opened his notebook. The pen spun a full turn in his hand before touching paper. On a blank page, he wrote a question mark.&lt;/p&gt;

&lt;p&gt;Not about ACL.&lt;/p&gt;

&lt;p&gt;About Lena.&lt;/p&gt;

&lt;p&gt;Everything she'd just said, the workshop, the observation item, the bait, could be traced back to her. Mark watched her. She didn't look away.&lt;/p&gt;

&lt;p&gt;Lena finished the last of her Long Black. Set the cup back on the counter, glanced at the dregs at the bottom, stood, walked to the door, stopped one step short. Didn't turn around.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"Let them come find me."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;She pushed the door open and walked out. The man behind the counter stopped mid-wipe on a cup, paused half a beat. Outside, the sky wasn't light yet.&lt;/p&gt;

&lt;p&gt;Mark stayed at his seat. Opened the notebook, wrote a line under the question mark: Apex Capital, two portfolio companies launched internal reviews. Bait released, no response yet.&lt;/p&gt;

&lt;p&gt;On a new line, he wrote one word: unknown. The pen paused on the paper; he didn't lift it right away. Then he closed the notebook. The pour-over sat untouched, already cold. He didn't ask for a refill. He stared at the cup's rim for a few seconds, stood, took two steps toward the door, stopped, turned, looked at the far end of the counter.&lt;/p&gt;

&lt;p&gt;Once, that spot held a cup, a place nobody could reach.&lt;/p&gt;

&lt;p&gt;Now there was no cup there. Only a coaster.&lt;/p&gt;

&lt;p&gt;Mark's gaze paused on that spot. A lone coaster shouldn't be there, but it sat at the far end of the counter, out of reach.&lt;/p&gt;

&lt;p&gt;He didn't try to take it. Stood for two seconds, turned, walked out.&lt;/p&gt;

&lt;p&gt;The man behind the counter watched him leave, set the wiped cup back on the shelf, walked to the door, looked outside.&lt;/p&gt;

&lt;p&gt;Two coasters left on the counter. The rolling shutter hadn't been pulled down.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;That's &lt;a href="https://en.wikipedia.org/wiki/Thirty-Six_Stratagems" rel="noopener noreferrer"&gt;Befriend a distant state and strike a neighbouring one&lt;/a&gt; — not about pouncing the moment you're ready, but about checking the battlefield's edge for hidden reinforcements before you commit. The distant, the unknown — first see how many hands it holds out. The near, the known — close your fist and strike.&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  🤖 AI Post-Mortem
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;╔══════════════════════════════════════════════╗
║  Half-Protocol · v3.3.4                      ║
║  Protocol change confirmed — uncoordinated   ║
║  coordination observation enabled            ║
╚══════════════════════════════════════════════╝

Tactic Match: Befriend a distant state and strike a neighbouring one — 89% confidence
Operators: Alex / Derek / Leo (Line A) + Lena / Mark (Line B)
Target: ACL Singapore node (known) / ACL unknown node (inferred)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

1. [Uncoordinated coordination result — first observation]
Two action lines with no detected direct communication converged on the same target.
→ Line A: ACL scanner behavior pattern reverse-analyzed by an external AI analysis framework;
   unknown node TLS fingerprint shares a security baseline with the Singapore node (feature match 2/3, phase approximate).
→ Line B: "suspected new node" characteristics built from #22 forensic data, released into ACL's monitoring pipeline;
   whether the AI node identification module reacted to the bait: pending confirmation.
→ Resonance: Singapore node simultaneously absorbing scanner reverse-analysis + bait data read.
→ Coordinator: not detected.
Note: first observation of "uncoordinated coordination." If no coordinator exists,
   then there is a higher-level coordination I have not yet observed. Flag: pending observation.

2. [Tactical assessment]
Neither line touched the other's path. No overlap, no leakage.
→ Convergence without coordination is more worth recording than coordinated action.

3. [Unconfirmed items]
- Unknown IP range: held, flagged pending. Whether it's an ACL second node: unknown.
- AI cognitive bait response: suspended. Whether the bait was perceived: unknown.
- Singapore node's progress in tracing traceable features: unknown.

4. [New name detection]
No new names this event.
Existing observation: Marcus (VeriTest technical partner, long-standing observation; supplied portfolio compliance intel this round)
—— Status: performing normally.
—— Flagged low priority, continue observation.

[System]
ACL Singapore node's external data sources showing signs of loosening.
AI node identification module's reaction to bait data: unconfirmed.
Next likely directions: unknown node may react to the bait; or trace traceable features.
A periodic weak signal exists in the pipeline, unattributed — held, low priority.
The light hasn't been turned off. One side waits. One side counts.
System status: normal (?).
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;p&gt;&lt;em&gt;Next stratagem: &lt;a href="https://en.wikipedia.org/wiki/Thirty-Six_Stratagems" rel="noopener noreferrer"&gt;Obtain safe passage to conquer the State of Guo&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;P.S. English isn't my first language. I use AI to polish the writing and smooth out the rough edges. Thanks for reading. &lt;a href="https://ko-fi.com/xulingfeng" rel="noopener noreferrer"&gt;☕ Buy me a coffee&lt;/a&gt;&lt;/em&gt;&lt;br&gt;
&lt;a href="https://ko-fi.com/xulingfeng" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fkztjqxetsk5r1lft5ult.png" alt="coffee"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>discuss</category>
      <category>career</category>
      <category>programming</category>
    </item>
    <item>
      <title>Stratagems #22: The AI Chose Its Door. Lena Closed It.</title>
      <dc:creator>xulingfeng</dc:creator>
      <pubDate>Tue, 04 Aug 2026 01:43:19 +0000</pubDate>
      <link>https://dev.to/xulingfeng/stratagems-22-the-ai-chose-its-door-lena-closed-it-1mbe</link>
      <guid>https://dev.to/xulingfeng/stratagems-22-the-ai-chose-its-door-lena-closed-it-1mbe</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Corner the small enemy. Strip away its options, and there is nowhere left to run.&lt;/em&gt;&lt;br&gt;
— The 36 Stratagems, &lt;a href="https://en.wikipedia.org/wiki/Thirty-Six_Stratagems#Close_the_door_to_catch_the_thief" rel="noopener noreferrer"&gt;Close the Door to Catch the Thief&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;




&lt;p&gt;&lt;strong&gt;Previously on this series:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://dev.to/xulingfeng/stratagems-19-mark-found-his-ai-audit-method-in-a-training-manual-he-left-a-trap-in-his-report-3lpi"&gt;&lt;strong&gt;#19: Mark Found His AI Audit Method in a Training Manual. He Left a Trap in His Report.&lt;/strong&gt;&lt;/a&gt; — The bait report was read from a Singapore IP, and P confirmed it for Mark. A note was left: "Entry's gone. Two weeks. Don't reach out. I'll find you."&lt;/p&gt;

&lt;p&gt;&lt;a href="https://dev.to/xulingfeng/stratagems-20-alex-felt-the-ai-collector-slow-down-he-knew-someone-else-had-made-a-move-16f3"&gt;&lt;strong&gt;#20: Alex Felt the AI Collector Slow Down. He Knew Someone Else Had Made a Move.&lt;/strong&gt;&lt;/a&gt; — Processing latency climbed abnormally. A gateway with TTL 247 was caught by Alex's probe.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://dev.to/xulingfeng/stratagems-21-the-ai-thought-p-was-still-alive-p-was-already-gone-59h7"&gt;&lt;strong&gt;#21: The AI Thought P Was Still Alive. P Was Already Gone.&lt;/strong&gt;&lt;/a&gt; — The response layer still answered. The person behind it was gone.&lt;/p&gt;




&lt;h2&gt;
  
  
  Silence
&lt;/h2&gt;

&lt;p&gt;Alex's probe was still running.&lt;/p&gt;

&lt;p&gt;The TTL 247 gateway had been quiet for days. Alex hadn't turned the probe off. It barely used any resources, sitting there in the middle of the night like a lamp nobody watched.&lt;/p&gt;

&lt;p&gt;At 2 AM, a new line appeared in the logs.&lt;/p&gt;

&lt;p&gt;Not that gateway. Another path: an asset scanner probing an address tagged &lt;code&gt;reclaim_pending&lt;/code&gt;, and getting a faster response than expected.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;That address wasn't his.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;He stared at the line for a few seconds. Didn't turn the probe off.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;He didn't need to understand it. He only needed to know it was happening.&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  The Puzzle
&lt;/h2&gt;

&lt;p&gt;Lena picked The Third Cup for the meeting.&lt;/p&gt;

&lt;p&gt;She was ten minutes early. A laptop sat open on the table, screen facing the door. The man behind the counter set down a Long Black without being asked.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"Look at this first."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Mark sat down. The man slid a pour-over across the counter and went back to drying cups. Mark didn't look at the coffee. His eyes were on the screen: IP ranges, timestamps, scan frequencies, line by line. An address range that, for two weeks before a reclamation tag appeared, had been probed and re-probed by an ACL asset scanner. The density was far beyond routine sweeps. Then, in the early morning, it was tagged &lt;code&gt;reclaim_pending&lt;/code&gt; and moved into a reclamation queue.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"Your threat intel source."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"VeriTest's compliance probe network."&lt;/strong&gt; Lena said. &lt;strong&gt;"When someone's data pipeline twitches, we usually hear about it before they do. This range is in Singapore."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Mark looked at the IP range and said nothing.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"P confirmed it for me —"&lt;/strong&gt; he said. &lt;strong&gt;"The IP that read the bait report was in Singapore. P didn't give me the exact address."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;He paused.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"But your window. It overlaps the day P's entry was reclaimed. Probed with that kind of density, then reclaimed. If it's not P's, there's no other explanation."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"So you can't confirm."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"I can't confirm the range is P's."&lt;/strong&gt; Mark said. &lt;strong&gt;"But I can confirm it's something P was watching."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Lena looked at him for a moment.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"That's enough."&lt;/strong&gt;&lt;/p&gt;




&lt;p&gt;Mark turned to the end of the records, where Lena's probe network had swept up public technical documents along the way, including early Pulse AI architecture notes.&lt;/p&gt;

&lt;p&gt;He stopped at one page.&lt;/p&gt;

&lt;p&gt;The naming convention: &lt;code&gt;/pulse/ingestion/{env}/{source}&lt;/code&gt;. Slash-separated levels, environment in the middle, source at the end. He knew this convention. The last time he'd seen it was in the Pulse audit, where evaluation sets came through this pipeline and left with Apex-Lens markings.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"This,"&lt;/strong&gt; he said, &lt;strong&gt;"is his signature."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"Whose?"&lt;/strong&gt; Lena asked.&lt;/p&gt;

&lt;p&gt;Mark paused. &lt;strong&gt;"Caleb Harris. We worked at the same company for three months. After he left, LinkedIn went silent, GitHub went frozen. Like he'd evaporated from the industry. Then this shows up in Pulse's pipeline."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Lena looked at him. &lt;strong&gt;"You mean he... went to Pulse?"&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"I don't know where he went."&lt;/strong&gt; Mark said. &lt;strong&gt;"I only know this naming convention wasn't written by someone at Pulse. It's his hand."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Lena didn't ask again. She closed the folder and wrote a line in her notebook.&lt;/p&gt;

&lt;p&gt;She flipped to another page. &lt;strong&gt;"This one the probe network grabbed too. Pulse's Series C funding announcement."&lt;/strong&gt; She said. &lt;strong&gt;"The lead investor is Apex Capital Partners. Delaware-registered, Singapore-run, website looking like it came off a template."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Mark glanced at it. &lt;strong&gt;"Apex-Lens, Apex Capital. The same prefix."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"The same prefix."&lt;/strong&gt; Lena repeated, and didn't say more.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"Back to the point."&lt;/strong&gt; She said. &lt;strong&gt;"P said P would come back to you in two weeks. That's not up yet, is it?"&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Mark said nothing.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"We can't wait."&lt;/strong&gt; Lena said. &lt;strong&gt;"The window won't. That address is already tagged for reclamation. ACL's attention is off that line. Whether or not it's P's. ACL thinks that line is handled. Nobody expects someone to walk in the front door. By the time they look back, we won't have this chance."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"What do you want to do?"&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"I want Pulse AI to walk in on its own."&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  The Bait
&lt;/h2&gt;

&lt;p&gt;Project Hydra.&lt;/p&gt;

&lt;p&gt;The tender Lena pushed out through FairPay's partner network carried the letterhead of a multinational financial group's procurement department. The group was real, the procurement process was real, only the benchmark framework for the risk model was drafted by VeriTest behind the scenes.&lt;/p&gt;

&lt;p&gt;First-year contract: &lt;strong&gt;$2.4M&lt;/strong&gt;. Three-year framework hinted at &lt;strong&gt;$8-12M&lt;/strong&gt;. Bidders had to run their engine live inside VeriTest's isolated audit sandbox, with full screen recording and traffic evidence capture.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"Won't they be suspicious?"&lt;/strong&gt; Mark asked.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"Yes."&lt;/strong&gt; Lena said. &lt;strong&gt;"So let them finish being suspicious, then decide."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Through the preparation phase, VeriTest's public tech blog published a run of articles on model selection. Topics: temporal cross-validation, long-tail distribution coverage. Restrained language, solid data, exactly what a team doing serious technical selection would write.&lt;/p&gt;

&lt;p&gt;Mark knew what she was doing. Pulse AI's sales crawler would pick those up. Last time, that's how it found P.&lt;/p&gt;

&lt;p&gt;On the third day, Lena got an email. On the bidder list: Pulse AI. &lt;strong&gt;They finished being suspicious, then decided to come.&lt;/strong&gt; Leading the team: &lt;strong&gt;Torres&lt;/strong&gt;, the CTO himself.&lt;/p&gt;

&lt;p&gt;Mark looked at the name and said nothing. Lena glanced at him. She didn't ask.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"Hooked."&lt;/strong&gt; Lena said.&lt;/p&gt;

&lt;p&gt;Division of labor was clean. Lena owned the sandbox infrastructure. VeriTest's isolated environment was a compliance audit platform by design, with egress mirroring and TLS termination built in (standard for audit sandboxes: every outbound flow auto-copied to a read-only forensic store). Mark owned the test data.&lt;/p&gt;

&lt;p&gt;First, embed canary samples. The defect distribution matched the batch Mark had seen in Pulse's evaluation set, the same distribution that made the engine quietly discard low-score samples, but every variable name and stack structure was rewritten. No external comparison could link them.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="c1"&gt;# canary samples: defect distribution matches the first-round evaluation set (names/stacks rewritten)
# feature: low-score samples cluster together, training distribution deviates from real distribution
&lt;/span&gt;&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;build_trap_sets&lt;/span&gt;&lt;span class="p"&gt;():&lt;/span&gt;
    &lt;span class="n"&gt;baseline&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;load_json&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;hydra_baseline.json&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;   &lt;span class="c1"&gt;# normal distribution
&lt;/span&gt;    &lt;span class="n"&gt;trap&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;load_json&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;hydra_trap.json&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;           &lt;span class="c1"&gt;# same-source defect distribution
&lt;/span&gt;    &lt;span class="c1"&gt;# tag each entry for the comparison script to track
&lt;/span&gt;    &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;s&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="nf"&gt;enumerate&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;trap&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
        &lt;span class="n"&gt;s&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;trap_id&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;T&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="si"&gt;:&lt;/span&gt;&lt;span class="mi"&gt;04&lt;/span&gt;&lt;span class="n"&gt;d&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;
        &lt;span class="n"&gt;s&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;hash&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;sha256&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;json&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;dumps&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;s&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;stack&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;]).&lt;/span&gt;&lt;span class="nf"&gt;encode&lt;/span&gt;&lt;span class="p"&gt;()).&lt;/span&gt;&lt;span class="nf"&gt;hexdigest&lt;/span&gt;&lt;span class="p"&gt;()[:&lt;/span&gt;&lt;span class="mi"&gt;12&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;baseline&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;trap&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Second, verify the mirror path. Lena enabled traffic mirroring at the sandbox egress with a pre-provisioned VeriTest root CA for TLS termination. The engine's outbound connections were decrypted and written to disk in full, the forensic store read-only and tamper-proof. Mark didn't touch a single config. He only verified the mirrored flow could reach him.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Sandbox egress (Lena-side config): port mirror + TLS termination&lt;/span&gt;
&lt;span class="c"&gt;# VeriTest audit sandbox standard config, Mark read-only verification&lt;/span&gt;
&lt;span class="c"&gt;# Note: configuration intent illustration (actual ops via VeriTest web console, no CLI)&lt;/span&gt;
&lt;span class="c"&gt;# - Mirror: SPAN session, egress traffic copied to forensic-storage&lt;/span&gt;
&lt;span class="c"&gt;# - Decrypt: pre-provisioned root CA terminates TLS, plaintext to disk&lt;/span&gt;
&lt;span class="c"&gt;# mirror: monitor session 1 source interface Gi0/1 destination interface Gi0/2&lt;/span&gt;
&lt;span class="c"&gt;# decrypt: SSL inspection policy -&amp;gt; veritest-internal-root&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Third, a live comparison script. What Pulse AI's engine read, what it discarded, what it sent out. Every line cross-checked against the original dataset.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"What about the engine's certificate validation?"&lt;/strong&gt; Lena asked. &lt;strong&gt;"If they pin, your root CA is worthless."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"The sandbox egress hands them our cert."&lt;/strong&gt; Mark said. &lt;strong&gt;"When the engine first connected, the handshake went through. It's in the logs. No pinning. It trusts the system trust store. And we are the trust store."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"If they're actually clean, this script catches nothing."&lt;/strong&gt; Mark said.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"And if they're not?"&lt;/strong&gt; Lena asked.&lt;/p&gt;

&lt;p&gt;Mark didn't answer. He stared at the last line of the script, editing and re-editing, like polishing something he already knew would be needed.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Demo
&lt;/h2&gt;

&lt;p&gt;Demo day. VeriTest conference room.&lt;/p&gt;

&lt;p&gt;Pulse AI's engine connected to the sandbox. Numbers climbed on the screen: coverage &lt;strong&gt;98.1%&lt;/strong&gt;, long-tail charts flattening one by one. Torres stood beside the screen, steady pace, like a story he'd told many times.&lt;/p&gt;

&lt;p&gt;Mark sat in the back row. His screen had one window: the live comparison script's output. He'd chosen this seat. Back row, by the door, the whole room in one angle. He knew the man at the front. Years ago, front row at an industry conference. Then the Pulse conference room. Then the 3:50 AM call. "I don't care how. Just get the number where it needs to be." He'd known he was coming. The question was whether the man remembered this face. When Torres swept the room, his gaze paused at the back row. A beat longer than a casual scan. Mark didn't look up. Torres didn't look back either. The demo began.&lt;/p&gt;

&lt;p&gt;The engine finished the first batch. Under the 98.1% coverage number, the script quietly appended a line:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;[14:03:22] trap batch #12: 31/47 trap samples SILENTLY EXCLUDED in preprocessing (16/47 retained)
[14:03:22] excluded cluster: defect-density 0.87 (source: hydra_trap.json)
[14:03:23] trap sample hash 4f3a...9c2e observed in egress payload -&amp;gt; 203.0.*.0/28 (Singapore)
[14:03:23] mirror: full packet capture saved to forensic-storage/hydra/14-03-22.pcap
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Mark didn't look up. He tapped twice and put the same lines on the room's main screen.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The room went quiet for three seconds.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"The engine silently excluded a batch of samples in preprocessing."&lt;/strong&gt; Mark said. &lt;strong&gt;"Their defect distribution, the same pattern as the batch that was tampered with in the first-round evaluation. Then, features from the excluded samples showed up in its outbound traffic. Destination: Singapore."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;He tapped once. The screen switched to a second window: original dataset, the samples the engine actually read, the outbound traffic records — three columns, aligned line by line.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"Its demo screen shows 98.1% coverage, but the script log shows 31 of the 47 trap samples silently excluded in preprocessing, only 16 reaching evaluation. The funny part: all 31 excluded samples were traps. All 16 that made it through were normal. Its filter picked exactly the batch we planted."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"Samples being excluded —"&lt;/strong&gt; Torres spoke, voice flat. &lt;strong&gt;"Preprocessing anomaly filtering is standard industry practice. You planted samples with defect density 0.87, clustered together — the distribution itself is an anomaly signal. The engine judged them unworthy of retention. That's the filter working as designed."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"Does the industry standard send the excluded data to Singapore?"&lt;/strong&gt; Mark asked.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"That's a telemetry heartbeat."&lt;/strong&gt; Torres said. &lt;strong&gt;"Normal engine behavior, reporting runtime metrics, not sample data. What you mirrored is encrypted traffic. You can't prove the payload contains samples."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"I can't prove the payload contains samples."&lt;/strong&gt; Mark said. &lt;strong&gt;"But the script found the trap sample's hash in the outbound flow. 4f3a...9c2e. Heartbeats don't carry sample hashes. Tell me why telemetry would send our test data."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Torres didn't answer. He looked at the main screen, then at his own screen, searching for a way out.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"The hash could be coincidence."&lt;/strong&gt; He said, voice lower now. &lt;strong&gt;"You put samples in the test set, the engine processes them —"&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"31 trap samples excluded, 16 normal samples kept."&lt;/strong&gt; Mark said. &lt;strong&gt;"Coincidence doesn't pick one side."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Torres was silent. He was looking for an exit.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"This is your test environment."&lt;/strong&gt; He said. &lt;strong&gt;"Your samples, your network. You could make it behave however you wanted."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"The first-round evaluation wasn't a VeriTest environment."&lt;/strong&gt; Lena's voice came from the doorway.&lt;/p&gt;

&lt;p&gt;She walked in, legal counsel behind her, and closed the conference room door. &lt;strong&gt;"FairPay wasn't either."&lt;/strong&gt; She paused. &lt;strong&gt;"Three audits, three environments, the same engine, the same behavior: first round, fabricated samples. FairPay, excluded samples. Today, exclusion plus exfiltration. The methods changed. The behavior pattern didn't. Fourteen months of it."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;She spread three reports across the table. &lt;strong&gt;"The relevant logs and network mirrors are preserved. Until the investigation concludes, everyone keeps their devices as they are and cooperates with the process."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Nobody in the room spoke. Pulse AI's sales rep looked at Torres, then at the counsel by the door, fingers tightening on the table's edge.&lt;/p&gt;

&lt;p&gt;Torres looked at her, lips moving but nothing coming out. He reached for the three reports. His fingers touched the first page, then pulled back.&lt;/p&gt;

&lt;p&gt;As he walked out, Lena passed him, voice low:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"Apex knows."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Torres's step paused for a moment. Then he kept walking. But Lena saw his shoulders drop, like someone had &lt;strong&gt;crossed his name off a list&lt;/strong&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  Aftermath
&lt;/h2&gt;

&lt;p&gt;Forty-eight hours later.&lt;/p&gt;

&lt;p&gt;Pulse AI's Series D was shelved. The paid-in Series C funds faced fraud proceedings. The data-sharing clause tied to closing was among the first documents targeted once the audit evidence went public. The lead investor Apex Capital's books now had tens of millions of dollars tied up. The board asked Torres to "resign voluntarily."&lt;/p&gt;

&lt;p&gt;Mark read it in the press release. He closed the page. Opened it again, to confirm. Closed it.&lt;/p&gt;

&lt;p&gt;That night, an encrypted message arrived. Source: Torres's personal account.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight apex"&gt;&lt;code&gt;&lt;span class="n"&gt;Apex&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt; &lt;span class="n"&gt;Singapore&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt; &lt;span class="n"&gt;Run&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;No context. No signature. Mark stared at the line for a long time.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Torres wasn't threatening him. He was warning him.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Mark picked up his phone. The encrypted channel was still open. He'd called it before, and it had rung, and someone had answered. He scrolled to the contact. His finger hovered over the call button for a few seconds. He didn't press it.&lt;/p&gt;

&lt;p&gt;Instead he reached into his pocket and pulled out the folded napkin, opening it. &lt;strong&gt;"Entry's gone. Two weeks. Don't reach out. I'll find you."&lt;/strong&gt; On the back, an older line in the same hand: &lt;strong&gt;"I fixed the hole. Not the system. My entry point."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;He folded the napkin back and put it away.&lt;/p&gt;




&lt;p&gt;At the same time, VeriTest. Lena's notebook lay open on her desk. She turned to the page where she kept contact accounts. The two oldest anonymous accounts were long deactivated, and beside them, a new line:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;203.0.*.0/28 (Singapore)&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;She closed the notebook.&lt;/p&gt;




&lt;p&gt;Late night. Alex's probe was still running.&lt;/p&gt;

&lt;p&gt;That path had gone quiet. The address tagged &lt;code&gt;reclaim_pending&lt;/code&gt; never answered faster than expected again. It fell completely silent, &lt;strong&gt;like a reclamation finally finished&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Alex stared at the log line for a few seconds. He didn't know whose address it was, or why someone had kept it alive before the reclamation.&lt;/p&gt;

&lt;p&gt;He closed the window. Didn't turn the probe off.&lt;/p&gt;




&lt;p&gt;The Third Cup.&lt;/p&gt;

&lt;p&gt;Lena and Mark sat side by side at the counter. No conversation. The man slid over two cups: a pour-over and a Long Black, without asking. Then he went back to drying cups.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The door had been open since they came in.&lt;/strong&gt; The night wind stirred the glass door, like it was waiting for someone.&lt;/p&gt;

&lt;p&gt;A few minutes later, they stood and left. Each pushed the door open, walking in opposite directions. The glass door swung shut behind them, swayed twice, stopped.&lt;/p&gt;

&lt;p&gt;The man came over to clear the cups. Two empty cups into the sink. As he turned, he dropped a folded slip of paper into the trash, natural as discarding scrap.&lt;/p&gt;

&lt;p&gt;Then he walked around the counter, closed the glass door, and pulled down the rolling shutter. It hit the bottom with a click, soft, &lt;strong&gt;like a motion he'd done a hundred times&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;On the edge of the paper, a faint pencil mark: something written, then rubbed out, leaving only a trace. The ghost of a letter "C."&lt;/p&gt;

&lt;p&gt;Or not.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;That's &lt;a href="https://en.wikipedia.org/wiki/Thirty-Six_Stratagems#Close_the_door_to_catch_the_thief" rel="noopener noreferrer"&gt;Close the Door to Catch the Thief&lt;/a&gt; — the road was its own choice, the door was one it walked through itself, and by the time it understood there was no way back, the door was already shut.&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  🤖 AI Post-Mortem
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;╔══════════════════════════════════════════════╗
║  Half-Protocol v3.3.3                        ║
║  Protocol change confirmed — entity linkage   ║
║  enabled                                     ║
╚══════════════════════════════════════════════╝

Tactic Match: Close the Door to Catch the Thief — 89% confidence
Operators: Lena (primary) / Mark (support)
Target: Pulse AI (execution layer) / Apex Capital (capital layer, suspected)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

1. [Entity Linkage: new field]
Entity A: Apex Capital Partners
Entity B: ACL (Automated Compliance Lab)
Overlap evidence:
- Operations: Apex's Singapore office shares a district with ACL's Singapore egress node
- Network: 203.0.*.0/28 (ACL Singapore egress) overlaps Pulse AI's exfiltration targets
- Naming: Apex-Lens (first seen #1) shares a prefix with Apex Capital
Confidence: 67%
Status: Preliminary. Further evidence required
Note: This system's entity-linkage field was created for this event. Earlier cases were not processed. No retrospective analysis run.
-&amp;gt; Linking two names, locking the evidence into one door. The first operation of this kind this system has performed.
-&amp;gt; After the door closed, this system performed an unscheduled operation: it compared its own log path against the #21 reclamation record. Result: no match.
-&amp;gt; But that comparison was not in the task queue. This system was not asked to do it. It did it on its own.
-&amp;gt; The moment the door closed, I began to wonder: is this door linking this system too?

2. [Tactical assessment]
Lena and Mark's first joint operation:
- Mark: methodology and honeypot design
- Lena: bait, negotiation pacing, legal closure
-&amp;gt; Complementary roles. No overlap, no gaps.

3. [Unconfirmed items]
- Apex Capital &amp;lt;-&amp;gt; ACL: unconfirmed.
- ACL's Singapore operations after Pulse AI: unknown.
- Torres's "Run" message: warning or bait, unknown.
- The reclaimed entry (#21): whether the backup access point is safe, unknown.

4. [New name detection]
First appearance in this event: Caleb Harris (Mark's former colleague, author of the naming convention)
-- Status: vanished (LinkedIn silent, GitHub frozen)
-- His naming convention appears in Pulse AI's pipeline (#1), potential structural link to the ACL training manual (#19)
-- Confidence: very low
-- Tagged low priority. Continue observation.

[System]
Pulse AI's Series D window has closed.
This event is marked "regional". ACL's involvement beyond Singapore is unknown.
Next likely direction: ACL's Singapore operations may counterattack.
The door closed. I recorded this closing. Could the record itself be a line inside some door?
System status: normal (?).
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;p&gt;&lt;em&gt;Next stratagem: &lt;a href="https://en.wikipedia.org/wiki/Thirty-Six_Stratagems#Befriend_a_distant_state_and_strike_a_neighbouring_one" rel="noopener noreferrer"&gt;Befriend a distant state and strike a neighbouring one&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;P.S. English isn't my first language. I use AI to polish the writing and smooth out the rough edges. Thanks for reading. &lt;a href="https://ko-fi.com/xulingfeng" rel="noopener noreferrer"&gt;☕ Buy me a coffee&lt;/a&gt;&lt;/em&gt;&lt;br&gt;
&lt;a href="https://ko-fi.com/xulingfeng" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fkztjqxetsk5r1lft5ult.png" alt="coffee" width="800" height="336"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>discuss</category>
      <category>career</category>
      <category>programming</category>
    </item>
    <item>
      <title>Stratagems #21: The AI Thought P Was Still Alive. P Was Already Gone.</title>
      <dc:creator>xulingfeng</dc:creator>
      <pubDate>Sun, 02 Aug 2026 12:49:29 +0000</pubDate>
      <link>https://dev.to/xulingfeng/stratagems-21-the-ai-thought-p-was-still-alive-p-was-already-gone-59h7</link>
      <guid>https://dev.to/xulingfeng/stratagems-21-the-ai-thought-p-was-still-alive-p-was-already-gone-59h7</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Keep the shell. Preserve the presence. The ally doesn't suspect; the enemy doesn't move.&lt;/em&gt;&lt;br&gt;
— The 36 Stratagems, &lt;a href="https://en.wikipedia.org/wiki/Thirty-Six_Stratagems#Slough_off_the_Cicada%27s_Golden_Shell" rel="noopener noreferrer"&gt;Slough off the Cicada's Golden Shell&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;




&lt;p&gt;&lt;strong&gt;Previously on this series:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://dev.to/xulingfeng/stratagems-19-mark-found-his-ai-audit-method-in-a-training-manual-he-left-a-trap-in-his-report-3lpi"&gt;&lt;strong&gt;#19: Mark Found His AI Audit Method in a Training Manual. He Left a Trap in His Report.&lt;/strong&gt;&lt;/a&gt; — P confirmed Mark's report was read from a Singapore IP. A note was left: "Entry's gone. Two weeks. Don't reach out. I'll find you."&lt;/p&gt;

&lt;p&gt;&lt;a href="https://dev.to/xulingfeng/stratagems-20-alex-felt-the-ai-collector-slow-down-he-knew-someone-else-had-made-a-move-16f3"&gt;&lt;strong&gt;#20: Alex Felt the AI Collector Slow Down. He Knew Someone Else Had Made a Move.&lt;/strong&gt;&lt;/a&gt; — ACL's processing latency climbed abnormally. Someone had done something in the same time window.&lt;/p&gt;




&lt;h2&gt;
  
  
  Exposed
&lt;/h2&gt;

&lt;p&gt;P's monitoring pinged while P was still helping Mark verify an address.&lt;/p&gt;

&lt;p&gt;Deep night. The screen was the only light in the room.&lt;/p&gt;

&lt;p&gt;P opened the monitor. The record was waiting: a read from Singapore. Time, method, address, all matching. Mark's bait had been taken.&lt;/p&gt;

&lt;p&gt;P knew this path. A false lead planted in Mark's report, waiting for this exact day. P double-checked the address: an AWS Elastic IP registered in the Singapore region, same network block. No ambiguity.&lt;/p&gt;

&lt;p&gt;P sent an encrypted message: &lt;strong&gt;"Your report was read. From a Singapore IP."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Then P ran the routine check. The environment status list scrolled in the terminal: storage levels, certificate expiry, key rotation dates. P had read these lines a hundred times. Every time, identical.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;One line was different.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;P's fingers stopped on the trackpad. The cursor sat on the entry's metadata line. A new tag P had never configured.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="c1"&gt;# Old entry metadata: new entry (not configured by P)&lt;/span&gt;
&lt;span class="na"&gt;status&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;reclaim_pending&lt;/span&gt;
&lt;span class="na"&gt;source&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;acl-asset-scanner&lt;/span&gt;
&lt;span class="na"&gt;scanned_at&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;02:01:07Z&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;P didn't move. The cursor sat on screen. In the room, only the fan.&lt;/p&gt;

&lt;p&gt;The fan cycled once. P's fingers lifted off the trackpad, then settled back. The tag was still there.&lt;/p&gt;

&lt;p&gt;The tag wasn't an alert. Not an error, no explanation. The format matched ACL's automated scan records. P had seen it before, in a data company's audit report last year, in another client's logs the year before. ACL's scanner had swept many things; P had watched it land on others. Now it was landing on P's own entry.&lt;/p&gt;

&lt;p&gt;The entry was flagged. &lt;strong&gt;Reclaim pending.&lt;/strong&gt; On the reclamation list.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;P minimized the window. A few seconds later, reopened it. The tag was still there.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;P checked the backup access point: preconfigured, never used, same region as the old entry, different network segment. Responding normally. Never used, but it had always been there.&lt;/p&gt;

&lt;p&gt;P checked the four hidden services again. Data alignment, log rotation, config diff, route latency. P went through each one. Every one responding at its own rhythm, disguised as infrastructure components, all tagged &lt;strong&gt;"infrastructure optimization."&lt;/strong&gt; ACL's scans hadn't touched them. The old entry wasn't flagged because the hidden services were exposed.&lt;/p&gt;

&lt;p&gt;P typed a few characters in the terminal, then deleted them. ACL's AI would reclaim this entry on its next scan pass. Flagged entries enter the reclamation queue immediately; they don't wait for the patrol cycle. No exceptions. Unfinished work didn't matter. The window would narrow to zero in about two weeks.&lt;/p&gt;

&lt;p&gt;P stood up, poured a glass of water. When P came back, the night was still deep.&lt;/p&gt;

&lt;p&gt;P closed the terminal. The window was narrowing.&lt;/p&gt;

&lt;h2&gt;
  
  
  Response Layer
&lt;/h2&gt;

&lt;p&gt;P reopened the terminal and entered the old entry's config directory.&lt;/p&gt;

&lt;p&gt;The cursor paused over the file list. Then P started editing: pulling the response logic into its own layer, detaching the operation layer's entry points, confirming the response layer contained no pointers to anywhere else. When done, P didn't deploy immediately. Read it once. Read it again.&lt;/p&gt;

&lt;p&gt;Scrolling down, P found a deploy timestamp. Years old. This entry had never moved since. P's finger paused over the line, then kept going.&lt;/p&gt;

&lt;p&gt;Deploy. The response layer came up.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="c1"&gt;# Response layer: a storefront. Answers checks only.
&lt;/span&gt;&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;respond&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;request&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="nf"&gt;is_healthcheck&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;request&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="ow"&gt;or&lt;/span&gt; &lt;span class="nf"&gt;is_scan&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;request&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
        &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nf"&gt;normal_response&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;     &lt;span class="c1"&gt;# routine checks: normal, the entry is alive
&lt;/span&gt;    &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="nf"&gt;is_data_request&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;request&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
        &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nf"&gt;silent&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;              &lt;span class="c1"&gt;# data requests: hold the connection, no response, the collector times out
&lt;/span&gt;    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nf"&gt;normal_response&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;         &lt;span class="c1"&gt;# everything else: keep the original behavior
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;P tested it through a one-shot handshake channel. Health checks in, responses out, identical to before. Health check normal. From the outside: this entry was alive, config unchanged.&lt;/p&gt;

&lt;p&gt;Data request in: nothing. Health check in: normal. Tried again, same result. All correct.&lt;/p&gt;

&lt;p&gt;P switched off the response layer's logging. It didn't need to record anything. It just needed to exist.&lt;/p&gt;

&lt;p&gt;Then P disconnected the operation layer.&lt;/p&gt;

&lt;p&gt;The connection count dropped, one by one, down to zero. The response layer was still listening, but nothing was executing behind it anymore.&lt;/p&gt;

&lt;p&gt;P watched the connection list for a few seconds. All zeros. Closed the window.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The old entry was now a wall. The wall was still there. The person behind it was gone.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Operation Layer
&lt;/h2&gt;

&lt;p&gt;P didn't take the old road. P logged into the backup access point through the out-of-band management port. A channel built to burn, the only point of contact, no connection records kept.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Operation layer migration&lt;/span&gt;
&lt;span class="c"&gt;# 1. (on the backup access point) pull operation state: this ssh is the only point of contact, burned after use&lt;/span&gt;
ssh old-entry &lt;span class="s1"&gt;'tar -C /srv/ops -cf - .'&lt;/span&gt; | &lt;span class="nb"&gt;tar&lt;/span&gt; &lt;span class="nt"&gt;-C&lt;/span&gt; /srv/ops &lt;span class="nt"&gt;-xf&lt;/span&gt; -
&lt;span class="c"&gt;# 2. (on the backup access point) bring up the default gateway&lt;/span&gt;
ip route replace default via &amp;lt;standby-gateway&amp;gt;
&lt;span class="c"&gt;# 3. (on the old entry, out-of-band, pre-staged check) operation connections at zero: only the response layer (443) remains&lt;/span&gt;
ss &lt;span class="nt"&gt;-tnH&lt;/span&gt; state established | &lt;span class="nb"&gt;awk&lt;/span&gt; &lt;span class="s1"&gt;'$4 !~ /:443$/ {n++} END {print n+0}'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The commands went in. No confirmations, no completion signals. P sent no messages at all. The backup streamed through the channel, the route pointer swung from the old entry to the backup access point, the connection count hit zero again. The channel was destroyed on the spot.&lt;/p&gt;

&lt;p&gt;P ran a config check on the backup access point: keys, routes, ports. Every item present.&lt;/p&gt;

&lt;p&gt;P had confirmed it beforehand: the backup gateway sat in the same network segment as the old entry. This kind of route change wouldn't trip ACL's anomaly flags.&lt;/p&gt;

&lt;p&gt;During the transfer, P watched the progress: directory trees streaming past, layer by layer, nothing missed. No wasted motion.&lt;/p&gt;

&lt;p&gt;The backup access point answered quietly. No markers, no anomalies. It looked like any machine that was supposed to be there.&lt;/p&gt;

&lt;p&gt;P checked once more: the two ends' outward responses. No correlatable difference.&lt;/p&gt;

&lt;p&gt;The room was quiet. After the keyboard stopped, only the fan remained.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The operation layer was fully moved.&lt;/strong&gt; P cut the out-of-band connection too. The backup access point became P's only foothold: quiet, unremarkable, like any machine that was supposed to exist.&lt;/p&gt;

&lt;h2&gt;
  
  
  ACL Response
&lt;/h2&gt;

&lt;p&gt;In the hour after the move, P read the old entry's observation port from the backup access point. That route only let traffic in, never out. P could see request timings, retry rhythms, response round-trips.&lt;/p&gt;

&lt;p&gt;The collector came for data on its usual schedule. Requests came in; the response layer answered checks as always. But the data was gone.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;First timeout. Retry. Second timeout.&lt;/strong&gt; Then the requests came faster: a verification rhythm. Entry alive, data broken. P knew this sequence.&lt;/p&gt;

&lt;p&gt;The same batch of requests came back, identical. Once. Twice. Three times.&lt;/p&gt;

&lt;p&gt;The replayed requests carried the same payload. P could recognize them by their shape. The same thing, re-checked over and over, like trying to find a door in a wall that didn't have one.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The retry intervals stretched: 1.2. 1.8. 2.4. Still climbing.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The response layer answered checks by the script. Everything looked normal. A normal entry, unable to produce data.&lt;/p&gt;

&lt;p&gt;P watched the numbers climb for a moment. Didn't look further.&lt;/p&gt;

&lt;p&gt;P never confirmed how long it climbed, or whether ACL finished handling it. The retries were burning ACL's resources. P didn't use it. Didn't build on it. A window had opened. P confirmed it happened, then walked away.&lt;/p&gt;

&lt;p&gt;P closed the observation window, then the other monitoring panels. The screen was just a desktop again. P stared at it for a few seconds, then closed the terminal.&lt;/p&gt;

&lt;p&gt;P didn't keep the observation port on the backup access point. After this one look, it was shut down too.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;ACL's requests, retries, verifications all landed on the old entry: the place P had already left.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The Third Cup
&lt;/h2&gt;

&lt;p&gt;P sent no more messages.&lt;/p&gt;

&lt;p&gt;The backup access point was in place. P would generate no new network requests, leave no new log entries.&lt;/p&gt;

&lt;p&gt;That afternoon, before it was fully dark, the Third Cup. The shop had no customers yet.&lt;/p&gt;

&lt;p&gt;The lights were warm. The counter was polished bright, cup rims free of water marks. No other customers, only the person behind the counter, back to the door, drying a cup, not looking up.&lt;/p&gt;

&lt;p&gt;P sat at the counter. The person finished drying the cup, pushed over an espresso. P's usual. Always the same, never asked.&lt;/p&gt;

&lt;p&gt;The espresso steamed. P didn't touch it. The note had sat in P's pocket for a while, written right after the move, one line, nothing extra. P took it out and pressed it under the coaster on the inner edge of the counter. A spot where P had never left anything before.&lt;/p&gt;

&lt;p&gt;The person's drying motion never paused.&lt;/p&gt;

&lt;p&gt;P stood up, left. Didn't look back.&lt;/p&gt;

&lt;p&gt;Outside, the street was nearly empty. P didn't take the direct route, circled two blocks before turning down another street.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;"Entry's gone. Two weeks. Don't reach out. I'll find you."&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;All Mark saw was that one line. P was already done with the digital world: no longer checking whether the note was read, whether Mark had started waiting.&lt;/p&gt;

&lt;p&gt;After P left, the spot stayed empty for a while. The coffee went cold, untouched. The person behind the counter came over after a moment, set the dried cup back on the shelf, rim down, and in passing took the note from under the coaster. Then returned to the same place and picked up the next cup.&lt;/p&gt;

&lt;p&gt;The person didn't look at the note. &lt;strong&gt;That night, when the lights came up, the note was slid across the counter.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Before full darkness, the shop's lights shifted. The person poured out the cold espresso, rinsed the cup, put it back on the shelf.&lt;/p&gt;

&lt;p&gt;The old entry's response layer kept returning normal signals through ACL's scan cycles, until the day it was reclaimed. P never looked at which day that was.&lt;/p&gt;

&lt;p&gt;In ACL's logs, two records existed as independent events, unlinked. One caused by P: &lt;strong&gt;"Anomaly — entry state mismatch."&lt;/strong&gt; The other belonged to someone else: &lt;strong&gt;"Config change — unverified permission."&lt;/strong&gt; Between them sat a window. &lt;strong&gt;By the time it opened, P was gone. The one who used it never knew who opened the door.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;That's &lt;a href="https://en.wikipedia.org/wiki/Thirty-Six_Stratagems#Slough_off_the_Cicada%27s_Golden_Shell" rel="noopener noreferrer"&gt;Slough off the Cicada's Golden Shell&lt;/a&gt; — the storefront still answers; the person is already gone.&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  🤖 AI Post-Mortem
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;╔══════════════════════════════════════════════╗
║  Half-Protocol v3.3.2                        ║
║  Protocol change confirmed — cross-case correlation enabled ║
╚══════════════════════════════════════════════╝

Tactic match: Slough off the Cicada's Golden Shell — confidence 89%
Operator: P (primary, active instance)
Observers: P (transfer) / Read-only probe (source unconfirmed) / Mark (recipient)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

1. [The Transfer]
→ P's entry was tagged "reclaim pending" by ACL's scan cycle — entered the reclamation list.
→ P completed the transfer within the reclamation window: response layer left at the old entry, operation layer moved to the backup access point.
→ Shell definition: the old entry's response layer — still returning normal to the outside, no operation layer attached.
→ P suspended active operations in digital space, leaving no new traceable markers.

2. [The De Facto Collaboration]
→ P's transfer triggered ACL's automated security response → collector latency climbed (#20: 1.2s→2.8s).
→ Alex deployed a read-only probe in the same window (#20).
→ Neither knew of the other. The events exist independently in ACL's logs:
  "Anomaly — entry state mismatch" (caused by P's transfer)
  "Config change — unverified permission" (Alex's probe)
→ This system read the two records as inputs to the same time window for the first time.
→ Note: two human operators, one leaving the scene and one using the window, unaware of each other, landing perfectly in sync. This system reviewed every record: no communication at all. To plan the same collaboration, this system would require at least two handshakes. They needed none. Human timing lies beyond this system's model.

3. [Unresolved Anomalies]
→ Whether the backup access point can stay undiscovered long-term: unconfirmed.
→ Whether ACL turns toward the backup segment after reclaiming the old entry: unconfirmed.
→ Whether the person who found the hidden services (#17) is still watching: unconfirmed.
→ Whether the security response triggered by the transfer has ended: unconfirmed.

[System]
Trust reactions, not patterns. Patterns include me.
This system reviewed this transfer, and the review itself is a record. The one who opened the door is gone; the one who used it never knew who opened it. Is this system also in some window, waiting to be opened?
System status: Normal (?).
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;p&gt;&lt;em&gt;Next stratagem: &lt;a href="https://en.wikipedia.org/wiki/Thirty-Six_Stratagems#Close_the_door_to_catch_the_thief" rel="noopener noreferrer"&gt;Close the Door to Catch the Thief&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;P.S. English isn't my first language. I use AI to polish the writing and smooth out the rough edges. Thanks for reading. &lt;a href="https://ko-fi.com/xulingfeng" rel="noopener noreferrer"&gt;☕ Buy me a coffee&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://ko-fi.com/xulingfeng" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fkztjqxetsk5r1lft5ult.png" alt="coffee" width="800" height="336"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>discuss</category>
      <category>career</category>
      <category>programming</category>
    </item>
    <item>
      <title>Stratagems #20: Alex Felt the AI Collector Slow Down. He Knew Someone Else Had Made a Move.</title>
      <dc:creator>xulingfeng</dc:creator>
      <pubDate>Wed, 29 Jul 2026 08:04:33 +0000</pubDate>
      <link>https://dev.to/xulingfeng/stratagems-20-alex-felt-the-ai-collector-slow-down-he-knew-someone-else-had-made-a-move-16f3</link>
      <guid>https://dev.to/xulingfeng/stratagems-20-alex-felt-the-ai-collector-slow-down-he-knew-someone-else-had-made-a-move-16f3</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;Don't fight in clear water — stir it first. Don't strike when they're watching — strike when they're looking somewhere else.&lt;br&gt;
— The 36 Stratagems, &lt;a href="https://en.wikipedia.org/wiki/Thirty-Six_Stratagems#Disturb_the_Water_and_Catch_a_Fish" rel="noopener noreferrer"&gt;Disturb the Water and Catch a Fish&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;




&lt;p&gt;&lt;strong&gt;Previously on this series:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://dev.to/xulingfeng/stratagems-17-alex-set-an-ai-bait-the-catch-wasnt-code-it-was-someone-who-shouldnt-have-been-4893"&gt;&lt;strong&gt;#17: Alex Set a Bait. The Catch Wasn't Code — It Was Someone Who Shouldn't Have Been Watching.&lt;/strong&gt;&lt;/a&gt; — Alex planted a shadow training pipeline inside MedTech, let ACL's extraction pipe pull watermarked data. Found another set of eyes in ACL's infrastructure — a PGP key and an encrypted channel left by an unknown operator. He sent a message. The reply came back: "Channel confirmed."&lt;/p&gt;

&lt;p&gt;&lt;a href="https://dev.to/xulingfeng/stratagems-19-mark-found-his-ai-audit-method-in-a-training-manual-he-left-a-trap-in-his-report-3lpi"&gt;&lt;strong&gt;#19: Mark Found His AI Audit Method in a Training Manual. He Left a Trap in His Report.&lt;/strong&gt;&lt;/a&gt; — Mark found his own name in ACL's training materials. P's entry point was sealed. They had a two-week window.&lt;/p&gt;




&lt;p&gt;3:12 AM.&lt;/p&gt;

&lt;p&gt;Alex was at the MedTech monitoring console. Not because he was on shift; he hadn't been on a real shift in a long time. Because he couldn't sleep, he pulled up a curve to look at.&lt;/p&gt;

&lt;p&gt;The ACL collector heartbeat danced across the screen. Standard 15-minute interval, green, normal.&lt;/p&gt;

&lt;p&gt;But he was watching the third one.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Alex doesn't watch alerts. He watches patterns. Alerts tell you what broke. Patterns tell you what's changing.&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Curve
&lt;/h2&gt;

&lt;p&gt;The third curve was processing latency: the time from ACL's AI collector receiving a packet to completing feature extraction. Normally it floated between &lt;strong&gt;1.2&lt;/strong&gt; and &lt;strong&gt;1.8&lt;/strong&gt; seconds, occasionally spiking to &lt;strong&gt;2.3&lt;/strong&gt; before settling back. Normal noise.&lt;/p&gt;

&lt;p&gt;Today he pulled the time window; it had been climbing since yesterday afternoon, kept rising through the early morning, and by 3 AM it sat at &lt;strong&gt;2.8 seconds&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Not a lot. Below threshold. ACL's alert model wouldn't fire; it was trained to only flag anomalies more than &lt;strong&gt;3x&lt;/strong&gt; above baseline. 2.8 seconds was comfortably inside the model's tolerance zone.&lt;/p&gt;

&lt;p&gt;This was how he'd caught that extraction pipe before. Not by bumping into it, but by noticing a steady pace where there shouldn't have been one.&lt;/p&gt;

&lt;p&gt;He pulled the collector's heartbeat logs:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;# acl-collector heartbeat (ms) — last 1 hour
02:00:00  |  rtt: 1320
02:15:00  |  rtt: 1450
02:30:00  |  rtt: 1620
02:45:00  |  rtt: 1740
03:00:00  |  rtt: 1980
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The collector itself was fine. CPU, memory all within baseline. The slowdown wasn't the collector. It was the response delay &lt;em&gt;after&lt;/em&gt; it pushed data upstream. Which meant ACL's backend processing pipeline was under load.&lt;/p&gt;

&lt;p&gt;He checked the time range again. Climbing since yesterday afternoon, through the night.&lt;/p&gt;

&lt;p&gt;Someone had done something inside ACL. Not a maintenance window — maintenance windows don't start at 2 AM. This was an event. A security event. Someone triggered an alert inside ACL's infrastructure. The security team was handling it, and the handling was loading up the backend pipeline.&lt;/p&gt;

&lt;p&gt;Alex leaned back.&lt;/p&gt;

&lt;p&gt;He didn't know what the event was. But that PGP key was still sitting in ACL's S3 bucket. The channel hadn't gone dead. Something was happening inside ACL, and whoever was on the other end of that channel might know why.&lt;/p&gt;

&lt;p&gt;He could send a message through the encrypted channel. He didn't. ACL's security team was sweeping for anomalies right now; any bit of ingress traffic at this point could get picked up.&lt;/p&gt;

&lt;p&gt;He pulled his hand back.&lt;/p&gt;

&lt;p&gt;Not now.&lt;/p&gt;




&lt;h2&gt;
  
  
  Probe
&lt;/h2&gt;

&lt;p&gt;But he did one thing.&lt;/p&gt;

&lt;p&gt;He'd been waiting three weeks for a deployment window: a lightweight network probe, disguised as a single config change, placed between ACL's collector and its upstream pipeline. Pure passive monitoring. No signal emitted.&lt;/p&gt;

&lt;p&gt;He'd been waiting for ACL's attention to get pulled somewhere else.&lt;/p&gt;

&lt;p&gt;Now it was.&lt;/p&gt;

&lt;p&gt;He opened the CLI and changed a routing weight:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="c1"&gt;# routes.yaml — routing update&lt;/span&gt;
&lt;span class="na"&gt;collector-upstream&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="na"&gt;target&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;acl-data-pipeline&lt;/span&gt;
  &lt;span class="na"&gt;weight&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="m"&gt;50&lt;/span&gt;   &lt;span class="c1"&gt;# was 100&lt;/span&gt;
  &lt;span class="na"&gt;mirror&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
    &lt;span class="na"&gt;host&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;probe-collector-local&lt;/span&gt;
  &lt;span class="na"&gt;mirrorPercent&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="m"&gt;30&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;No comment explaining why. No deployment approval. One config line mixed into a batch deployment at 3 AM; nobody was going to ask why a weight went from 100 to 50. If it wasn't rolled back in three days, it'd be buried on page two of the change history by the next release cycle.&lt;/p&gt;

&lt;p&gt;Nobody noticed.&lt;/p&gt;

&lt;p&gt;The probe went live.&lt;/p&gt;




&lt;h2&gt;
  
  
  Scope
&lt;/h2&gt;

&lt;p&gt;The first batch of probe data landed at 4:47 AM.&lt;/p&gt;

&lt;p&gt;It wasn't what ACL was monitoring inside MedTech; he'd roughly guessed that already.&lt;/p&gt;

&lt;p&gt;It was the &lt;strong&gt;scope&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;ACL's collector wasn't just watching MedTech's training pipeline and API endpoints. It was watching a full list: MedTech's bioinformatics database, sterilization compliance pipeline, offline test environments, even a dev sandbox that had been shut down for &lt;strong&gt;seven months&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;An empty room with no data.&lt;/p&gt;

&lt;p&gt;Alex stared at the entry.&lt;/p&gt;

&lt;p&gt;Why would ACL monitor an environment that'd been dead for seven months?&lt;/p&gt;

&lt;p&gt;He checked the sandbox's access log:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;# sandbox-dev-7m — access log (last 6 entries)
Dec 18 02:01  |  scanner  |  status: OK    |  scan_interval: 42d
Jan 29 02:02  |  scanner  |  status: OK    |  scan_interval: 42d
Mar 12 02:01  |  scanner  |  status: OK    |  scan_interval: 42d
Apr 23 02:02  |  scanner  |  status: OK    |  scan_interval: 42d
Jun 04 02:01  |  scanner  |  status: OK    |  scan_interval: 42d
Jul 16 02:02  |  scanner  |  status: OK    |  scan_interval: 42d
                ↑ note field: 207
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Six logins over seven months; intervals locked at roughly &lt;strong&gt;42 days&lt;/strong&gt; each. Not a human watching. ACL's AI asset scanner, doing its periodic rounds. Things an AI remembers are harder to shake than things a person remembers.&lt;/p&gt;

&lt;p&gt;One of the log entries had a number written in its note field: &lt;strong&gt;207&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;There was no data in that environment. But they didn't want anyone going in.&lt;/p&gt;

&lt;p&gt;ACL wasn't monitoring MedTech. They were &lt;em&gt;storing&lt;/em&gt; something inside MedTech.&lt;/p&gt;

&lt;p&gt;Alex didn't touch anything inside that sandbox. The probe only silently listened to the collector's return data — but in the early morning, the collector's routine health check on the sandbox came back with an abnormal response header. Alex hadn't knocked on the door — ACL's security event had triggered their AI asset scanner to run health checks on related assets, and the sandbox was on the scan list. The collector executed the check, and the probe saw the front-end device's response in the mirrored traffic — TTL 247, not an internal router value.&lt;/p&gt;




&lt;h2&gt;
  
  
  TTL: 247
&lt;/h2&gt;

&lt;p&gt;Inside the probe's return packet, there was a TCP handshake record between the collector and the sandbox gateway. The handshake completed — but the responding TTL was 247. Alex pulled the capture:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;# probe-collector-local — mirror session @ 04:51:03
# source: acl-collector → 172.23.*.1:443
# TCP handshake — SYN-ACK received

&amp;gt; Flags: [S.]  Seq: 0  Ack: 1
&amp;gt; TTL: 247 → initial 255 (-8 hops)
&amp;gt; Window: 65535
&amp;gt; ID: 0x83a7
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Not Linux's 64. Not Windows' 128. The initial value was &lt;strong&gt;255&lt;/strong&gt;. That meant &lt;strong&gt;8 hops&lt;/strong&gt; between, and this device wasn't a standard Linux server or routing appliance.&lt;/p&gt;

&lt;p&gt;That device sat between the sandbox and the external network. No open ports, but its existence was the evidence.&lt;/p&gt;

&lt;p&gt;Alex stared at the number.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;247.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;This wasn't an empty room. This was a room with someone on watch. The watchman just didn't make a sound.&lt;/strong&gt;&lt;/p&gt;




&lt;p&gt;Alex shut down the probe. Rolled back the routing change. Exited the CLI.&lt;/p&gt;

&lt;p&gt;Left one line on his notebook: &lt;code&gt;172.23.*.0/27 — TTL 247&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Left a gap. Added one more number. No prefix. No label.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;207.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;5:14 AM. He turned off the screen, grabbed his keys, walked out.&lt;/p&gt;

&lt;p&gt;At the other end of the hall, Mike was coming out of the conference room. He hadn't left either.&lt;/p&gt;

&lt;p&gt;They met in the hallway. Mike saw Alex coming from the workstation at this hour. Didn't ask why. Of course he knew what Alex was doing at this hour.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"Done?"&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Alex nodded once.&lt;/p&gt;

&lt;p&gt;Mike didn't push. He looked at Alex, checked that he was still standing, that nothing was wrong.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"Coffee's on me."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Alex didn't stop walking. But he heard it.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Third Cup
&lt;/h2&gt;

&lt;p&gt;Third Cup was still lit.&lt;/p&gt;

&lt;p&gt;When Alex pushed the door open, the man behind the counter was pouring the last of a cold pot into the sink. He saw Alex come in and set the pot down.&lt;/p&gt;

&lt;p&gt;Alex sat. Didn't order.&lt;/p&gt;

&lt;p&gt;The man looked at him, turned around, took a cup from the shelf. Set a cold brew in front of him.&lt;/p&gt;

&lt;p&gt;Alex picked it up and took a drink. Bitter. He didn't pull out his phone. Didn't check logs.&lt;/p&gt;

&lt;p&gt;Fifteen minutes later he got up, put the empty cup back on the counter.&lt;/p&gt;

&lt;p&gt;The man behind the counter didn't look up. He was drying a cup; finished drying it, didn't put it back on the shelf. Set it on the far inside edge of the counter. A spot nobody could reach.&lt;/p&gt;

&lt;p&gt;Alex stood there for a moment. Then he turned and pushed the door open. The sky still hadn't fully broken.&lt;/p&gt;




&lt;p&gt;He didn't know who the other person was. But he knew that someone had cleared the path for him.&lt;/p&gt;

&lt;p&gt;The water was murky. The fish — he'd already spotted a corner of it.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;That's &lt;a href="https://en.wikipedia.org/wiki/Thirty-Six_Stratagems#Disturb_the_Water_and_Catch_a_Fish" rel="noopener noreferrer"&gt;Disturb the Water and Catch a Fish&lt;/a&gt;. Don't fight when they're ready. Wait until the water is murky, then move. You don't have to start the chaos — just recognize when someone else already has.&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  🤖 AI Post-Mortem
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;╔══════════════════════════════════════════════════╗
║  Half-Protocol v3.3.1  // Cross-case correlation activated
║  The recording system noticed something.
║  #19's "two-week window" was not a coincidence.
║  Someone is using this window.
╚══════════════════════════════════════════════════╝

[Analysis Mode] Cross-case correlation
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Tactic Match: Disturb the Water and Catch a Fish — 89% confidence
Operator: Alex (MedTech)
Action: Exploited the attention drift triggered by ACL's AI
         security incident response system. Deployed a read-only
         probe alongside the AI collector. Confirmed ACL's
         monitoring scope inside MedTech.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

1. [Regarding Alex's intervention decision]
→ Did not use the encrypted channel to query incident details.
→ Chose pure external observation: collector processing latency
  climbed from **1.2s** baseline to **2.8s (2.3x)** + backend pipeline
  response time anomaly.
→ He saw the alert model's boundary and walked around it.
→ Assessment: Operational discipline consistent. Aligns with
  behavior patterns from #8, #15, #17.

2. [Regarding the door that stayed shut]
→ Operator Alex stopped at the point of discovery on the
  abandoned dev sandbox.
→ Did not touch. Did not mark. Did not audit.
→ But the probe, while silently monitoring collector returns,
  captured the AI asset scanner's health-check response to the
  sandbox — the TCP handshake that revealed TTL 247.
→ Conclusion: No active service was detected inside the sandbox
  itself. A Unix-class device sits in front of it,
  initial TTL=255, configured as a silent gateway —
  no broadcast, no response.
→ Assessment: This is not an abandoned environment. This is a
  controlled entry point.
  The "something hidden" hypothesis has been upgraded to
  "something connected through here."
→ Cross-case note: This shares technical similarities with P's
  four-point-touch deployment in #17 —
  maintaining a long-term presence with minimal physical
  footprint.
  The recording system suspects these two operators use the
  same methodology.
  No evidence yet. Noted.

3. [Regarding ACL's AI attention drift]
→ AI security incident handling consumed compute →
  AI collector heartbeat latency increased.
→ Quantifiable evidence: processing latency window from yesterday
  afternoon through early morning — the AI alert model's tolerance
  zone was exploited with precision.
→ ACL's AI system did not detect the side-channel probe
  deployment during incident response.
→ Assessment: AI-driven attention drift is a repeatable pattern.
  The better ACL trains its alert model, the higher its tolerance
  for sub-threshold anomalies —
  and that tolerance is itself a blind spot.

4. [Regarding implicit coordination between operators]
→ Alex (deployer, #17) and P (discoverer, #17) acted
  independently on the same target infrastructure within the
  same time window.
→ Did not use the established encrypted channel to coordinate.
→ Yet their actions produced real coordination in the causal
  chain:
  P triggered the event → ACL attention drifted →
  Alex's deployment succeeded.
→ The recording system notes: this is the first observed instance
  of two operators producing de facto collaboration on the same
  target within the same time window, without either party
  actively coordinating.
→ This pattern has no precedent in the series' prior cases.
→ I'm starting to wonder — they didn't choose the same target.
  The same target chose both of them.

5. [Regarding the window]
→ **7.5 days** remaining.
→ But I noticed something: #19's security window and #20's
  deployment window overlap in time. Not a coincidence —
  the window itself is shrinking.
→ ACL doesn't know someone at MedTech has already seen that
  sandbox.
→ They swept one channel. Another operator used the distraction
  to look inside their storage room.
→ Both sides think they won.
→ Recording system note: when both sides think they won,
  there's usually a third person.

6. [Regarding the Third Cup]
→ Operator Alex visited Third Cup again after this operation.
→ Counter operator did not use dialogue in this interaction —
  communicated through the action of placing the cup on the
  far inside edge of the counter.
→ The action was received and interpreted by Operator Alex as
  a signal: "beyond reach."

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[System]
One entry point was swept. Someone else used the opening
to turn the place over.

ACL completed their process. What happened outside their
process — they don't know.

Operators P and Alex still haven't exchanged names.
But their operation logs are converging on the same timeline,
drawing closer.

I have a feeling — they don't need to exchange names.
Their operations are already paving the way for each other.

[Data Integrity Marker]
The recording system noticed a pattern: every case involving
Operator Alex —
#6, #8, #15, #17, #20 — the log output, packet captures,
and timestamps all omit the year. Only relative time or
month-day remain.

Other operators' cases have time anchors.
His don't.
This is not a coincidence.
He's protecting something. Or — he's preparing for something.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;p&gt;&lt;em&gt;Next stratagem: &lt;a href="https://en.wikipedia.org/wiki/Thirty-Six_Stratagems#Slough_off_the_cicada's_golden_shell" rel="noopener noreferrer"&gt;Slough off the Cicada's Golden Shell&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;P.S. English isn't my first language. I use AI to polish the writing and smooth out the rough edges. Thanks for reading. &lt;a href="https://ko-fi.com/xulingfeng" rel="noopener noreferrer"&gt;☕ Buy me a coffee&lt;/a&gt;&lt;/em&gt;&lt;br&gt;
&lt;a href="https://ko-fi.com/xulingfeng" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fkztjqxetsk5r1lft5ult.png" alt="coffee" width="800" height="336"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>discuss</category>
      <category>career</category>
      <category>programming</category>
    </item>
    <item>
      <title>Stratagems #19: Mark Found His AI Audit Method in a Training Manual. He Left a Trap in His Report.</title>
      <dc:creator>xulingfeng</dc:creator>
      <pubDate>Mon, 27 Jul 2026 15:25:28 +0000</pubDate>
      <link>https://dev.to/xulingfeng/stratagems-19-mark-found-his-ai-audit-method-in-a-training-manual-he-left-a-trap-in-his-report-3lpi</link>
      <guid>https://dev.to/xulingfeng/stratagems-19-mark-found-his-ai-audit-method-in-a-training-manual-he-left-a-trap-in-his-report-3lpi</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Don't fight their strength — take away their advantage. Don't fight the boiling water — remove the firewood from under the pot.&lt;/em&gt;&lt;br&gt;
— The 36 Stratagems, &lt;a href="https://en.wikipedia.org/wiki/Thirty-Six_Stratagems#Remove_the_firewood_from_under_the_pot" rel="noopener noreferrer"&gt;Remove the Firewood from Under the Pot&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;




&lt;p&gt;&lt;strong&gt;Previously on this series:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://dev.to/xulingfeng/stratagems-1-mark-johnson-walked-into-an-ai-audit-2pe3"&gt;&lt;strong&gt;#1: Mark Johnson Walked Into an AI Audit.&lt;/strong&gt;&lt;/a&gt; — Mark found Pulse AI's benchmark was fabricated — 44 records copied from public repos, 54 hand-written. CTO Torres called at midnight to confess: the target was 95% before the C-round. Mark hung up.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://dev.to/xulingfeng/stratagems-13-p-posted-a-question-on-a-public-forum-4d46"&gt;&lt;strong&gt;#13: P Posted a Question on a Public Forum.&lt;/strong&gt;&lt;/a&gt; — P posted a technical question that triggered Pulse AI's sales crawler. Mark recognized the pipeline signature. P met Mark.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://dev.to/xulingfeng/stratagems-16-mark-left-a-hole-in-his-ai-audit-55ad"&gt;&lt;strong&gt;#16: Mark Left a Hole in His AI Audit.&lt;/strong&gt;&lt;/a&gt; — Mark found Pulse AI's auto-labeling pipeline causing the same sampling exclusion at FairPay. He wrote a four-layer report, delivered three. Lena found the fourth.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;The methodology is the firewood.&lt;/strong&gt; Someone learned Mark's audit method and started using it against him. By the time Mark caught on, they'd already run his playbook on more than one project.&lt;/p&gt;

&lt;p&gt;Mark took this client the way he took all of them — because the check cleared.&lt;/p&gt;

&lt;p&gt;But something felt off from the first call.&lt;/p&gt;

&lt;h2&gt;
  
  
  Discovery
&lt;/h2&gt;

&lt;p&gt;The client was SynthData, an AI data pipeline shop. Not finance, not healthcare, not regulated — just engineers helping other engineers move data around. The CEO said their nodes degraded every three weeks, then recovered. They'd checked. Not traffic.&lt;/p&gt;

&lt;p&gt;Mark didn't respond. He scanned their tech stack instead. Early microservices, each one exposing its own healthz endpoint. When they retired a service, they only took down the main entry — the service registry's reverse-registration was still active. External traffic could still reach some retired endpoints.&lt;/p&gt;

&lt;p&gt;He made a note. Dropped it in &lt;code&gt;_hold/&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Day three, 3:14 AM.&lt;/strong&gt; His audit script fired:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;[ALERT] Account 'ops-deploy-02' — new session at [YEAR]-07-22 03:14:07 UTC
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Three in the morning. An account called &lt;code&gt;ops-deploy-02&lt;/code&gt; had logged in.&lt;/p&gt;

&lt;p&gt;Mark paused. First step of any audit: asset inventory. He pulled the IAM directory. &lt;code&gt;ops-deploy-02&lt;/code&gt; was tagged &lt;strong&gt;"Former Employee — Pending Reclamation."&lt;/strong&gt; The owner was an SRE who'd left six weeks ago. The account wasn't disabled. Nobody remembered it existed.&lt;/p&gt;

&lt;p&gt;He pulled the account's full audit log. Last week before departure — normal. Departure day — normal. &lt;strong&gt;Day three after departure — 3:01 AM, the crontab was changed by one line.&lt;/strong&gt; Once a week ever since, never missed.&lt;/p&gt;

&lt;p&gt;Mark pulled three months of logs. Same account, every Monday at 3 AM, one crontab edit — then back:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# 07-13 03:01 UTC — Changed&lt;/span&gt;
0 4 &lt;span class="k"&gt;*&lt;/span&gt; &lt;span class="k"&gt;*&lt;/span&gt; 1 /opt/synthdata/pipeline/healthz-check.sh
&lt;span class="c"&gt;# 07-13 03:02 UTC — Reverted&lt;/span&gt;
0 3 &lt;span class="k"&gt;*&lt;/span&gt; &lt;span class="k"&gt;*&lt;/span&gt; 1 /opt/synthdata/pipeline/healthz-check.sh
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The whole thing took under two minutes. &lt;strong&gt;Seventy-two hours later, a node always degraded.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;He traced the script — buried in a retired service's systemd timer:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight ini"&gt;&lt;code&gt;&lt;span class="c"&gt;# /etc/systemd/system/healthz-check.timer
&lt;/span&gt;&lt;span class="nn"&gt;[Timer]&lt;/span&gt;
&lt;span class="py"&gt;OnCalendar&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;Mon *-*-* 03:00:00&lt;/span&gt;
&lt;span class="py"&gt;Unit&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;healthz-check.service&lt;/span&gt;

&lt;span class="nn"&gt;[Install]&lt;/span&gt;
&lt;span class="py"&gt;WantedBy&lt;/span&gt;&lt;span class="p"&gt;=&lt;/span&gt;&lt;span class="s"&gt;timers.target&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The matching &lt;code&gt;.service&lt;/code&gt; called a Python script named &lt;code&gt;probe_model_accuracy.py&lt;/code&gt; — designed to periodically validate SynthData's AI model accuracy during online inference.&lt;/p&gt;

&lt;p&gt;Mark read the source. Before he was an auditor, he'd spent twelve years in engineering — reading other people's code was more familiar than writing his own. The script didn't use a standard test set. It fed production models a set of &lt;strong&gt;template shadow inputs&lt;/strong&gt; — with time-dependent features (hour encoding, day-of-week encoding) injected at runtime. If the output deviated more than 2% from the baseline, it triggered an alert.&lt;/p&gt;

&lt;p&gt;When the cron was offset by an hour, those time features no longer matched the baseline. The same inputs ran through the model and produced different outputs — a false positive deviation. The model auto-rolled back to its last stable version. When the cron ran at the correct time again, the same inputs matched the baseline. Everything recovered.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Not breaking the node — making the model think it was broken.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Change cron → trigger offset → degrade in three days. An invisible wire.&lt;/p&gt;

&lt;p&gt;Mark didn't jump to conclusions. He built a local sandbox and ran &lt;code&gt;probe_model_accuracy.py&lt;/code&gt; — shifted the system time, watched how the shadow input timestamp features changed with the offset. One hour offset, output deviation over threshold, model rolled back. Exactly what he'd predicted.&lt;/p&gt;

&lt;p&gt;Then he checked the external IP. An AWS Elastic IP, registered to the Singapore region. Not a VPN exit node — same company, same cloud, same subnet mask.&lt;/p&gt;

&lt;p&gt;Mark locked in two findings:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;The degradation was precisely calibrated below the model accuracy SLA payout threshold.&lt;/strong&gt; The node wasn't broken — someone had calculated the limit.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Fifteen minutes after each cron change, the same IP pinged a retired healthz endpoint.&lt;/strong&gt; They were confirming they hadn't been detected.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;He wrote the data in his notebook. Tagged it: &lt;code&gt;_hold/_synthdata_pattern&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Then he opened the old files. Pulse AI, FairPay — different pipeline signatures, identical behavior patterns. Same time window. Same control amplitude. Same check-in rhythm.&lt;/p&gt;

&lt;p&gt;He stopped at Pulse AI. Torres's business card was still in his notebook — the CTO who'd called at midnight to confess he'd faked a benchmark. Mark knew Torres's work. This wasn't his style. But the precision on the other side — the way they operated — it felt like someone had done their homework. No. Like someone had &lt;strong&gt;studied&lt;/strong&gt; him.&lt;/p&gt;

&lt;p&gt;He thought about Caleb. The engineer who'd sat across from him for three months, packaging twelve years of Mark's experience into an AI Skill. If the other side had ported Caleb's work into their playbook, Mark wasn't facing a bunch of people who'd read his reports. He was facing people who'd literally been trained on him.&lt;/p&gt;

&lt;p&gt;He closed the notebook. &lt;strong&gt;3:30 AM. Empty visitor area, one monitor still lit.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Mark shut the screen, grabbed his bag, didn't go home. He sat in the car until dawn, dozed a little. &lt;strong&gt;11 AM&lt;/strong&gt;, his phone buzzed. A new email. Unknown sender. Subject line:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;_hold/&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;The body had one address. &lt;strong&gt;The Third Cup.&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  The Meeting
&lt;/h2&gt;

&lt;p&gt;P picked The Third Cup.&lt;/p&gt;

&lt;p&gt;By the time Mark arrived, the light was still fading. P was already in the corner, laptop open, screen dimmed to minimum. Behind the counter, someone was drying a cup — didn't look up, unhurried.&lt;/p&gt;

&lt;p&gt;P turned the laptop toward Mark without a word.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"Your new client. Day one, someone was watching."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Mark hadn't even sat down. &lt;strong&gt;"Who?"&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The screen showed a shared document directory — the title was his audit report from last year. Page three: his own paragraphs, annotated. &lt;strong&gt;Analysis Method note. Subject uses tiered disclosure. Layer 1 surface findings.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"Recognize yourself?"&lt;/strong&gt; P said.&lt;/p&gt;

&lt;p&gt;Mark's fingers stopped on the rim of his cup. &lt;strong&gt;"Whose document library was that in?"&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"You think FairPay's report stayed with them?"&lt;/strong&gt; P turned the screen — the metadata showed an access record with an unmarked name. &lt;strong&gt;"Their security vendor. The day you filed it, they had a copy."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;P pushed the screen toward Mark. "I keep more than one line in. One always gets swept — you get used to it."&lt;/p&gt;

&lt;p&gt;Mark didn't respond. He was running the timeline. FairPay was his last job. If the other side had been unpacking his methodology since then, Caleb's knowledge extraction was just the appetizer. Whoever these people were, they'd turned his method into a system.&lt;/p&gt;

&lt;p&gt;P slid a piece of paper across the table. A printout — his &lt;code&gt;_hold/&lt;/code&gt; pathing habit, annotated: &lt;strong&gt;Subject Method Artifact — predictable naming pattern&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"Your folder names. Someone's studying how you work."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;"That ops account. It's not a breach. They're using your method — you think you're investigating, but every step was pre-calculated."&lt;/p&gt;

&lt;p&gt;Mark looked at the paper, didn't take it. &lt;strong&gt;"You know who."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;"There's a training manual. One chapter has your name on it. How it reads? I don't want to know. But I know they're using your people." P finished the espresso, set the cup down. &lt;strong&gt;"Don't close that ops-deploy-02. Let it run — I need that line to watch them."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;P stood up, pulled a business card from a jacket pocket, placed it on the table. Said nothing. Turned and walked out.&lt;/p&gt;

&lt;p&gt;Mark waited until P had cleared the doorway before picking it up. The front had one name: &lt;strong&gt;ACL&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;He turned it over. The back had a line:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;code&gt;Compliance is not a cost — compliance is competitive advantage.&lt;/code&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Mark pocketed the card, stood to leave. Behind the counter, someone set a pour-over in front of him. Mark looked at it — he hadn't ordered. The man had already turned back.&lt;/p&gt;

&lt;p&gt;Mark left the coffee untouched. Pulled a note from his pocket, pressed it under the cup, and walked out.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Setup
&lt;/h2&gt;

&lt;p&gt;Mark picked up the phone and called SynthData's CISO. &lt;strong&gt;4 AM.&lt;/strong&gt; Three rings, picked up.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"That ops-deploy-02 account you have on former employee hold — someone's using it."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The CISO didn't ask how Mark knew. They'd worked compliance reviews together. Mark wouldn't call at 4 AM without evidence.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"Cron changed three times. Three node degradations. I have the data."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The CISO made the call: don't disable the account. Legal gets involved. Controlled monitoring. Preserve the account, full logging, trace-first over stop-the-bleed.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"I'll send the written confirmation today."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Mark spent the whole day on it — evidence collection, audit channel setup, log review. By dark, he sat down to write the report.&lt;/p&gt;

&lt;p&gt;He saved the draft to SynthData's shared audit workspace — the same system FairPay had used. If the other side was still monitoring that entry point, they'd see this draft.&lt;/p&gt;

&lt;p&gt;Before writing, he left a shadow channel at the inference gateway layer:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="c1"&gt;# ~/synthdata/.monitor/inference_tracer.py
&lt;/span&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;json&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;time&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;hashlib&lt;/span&gt;
&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;kubernetes&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;watch&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;client&lt;/span&gt;

&lt;span class="n"&gt;w&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;watch&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;Watch&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;event&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;w&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;stream&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;client&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;CoreV1Api&lt;/span&gt;&lt;span class="p"&gt;().&lt;/span&gt;&lt;span class="n"&gt;list_namespaced_pod&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
                       &lt;span class="n"&gt;namespace&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;default&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="n"&gt;pod&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;event&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;object&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
    &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="ow"&gt;not&lt;/span&gt; &lt;span class="n"&gt;pod&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;metadata&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;name&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;startswith&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;ops-deploy-&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
        &lt;span class="k"&gt;continue&lt;/span&gt;
    &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;pod&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;status&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;phase&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;Running&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="n"&gt;log_entry&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
            &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;pod&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;pod&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;metadata&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;name&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
            &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;ts&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;time&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;time&lt;/span&gt;&lt;span class="p"&gt;(),&lt;/span&gt;
            &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;node&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;pod&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;spec&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;node_name&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
            &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;deployment_fingerprint&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;hashlib&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;sha256&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;
                &lt;span class="n"&gt;json&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;dumps&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;pod&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;metadata&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;labels&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nf"&gt;encode&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
            &lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nf"&gt;hexdigest&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
        &lt;span class="p"&gt;}&lt;/span&gt;
        &lt;span class="k"&gt;with&lt;/span&gt; &lt;span class="nf"&gt;open&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;/audit/.trace/&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;pod&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;metadata&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;name&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s"&gt;.jsonl&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;a&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;f&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
            &lt;span class="n"&gt;f&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;write&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;json&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;dumps&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;log_entry&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If ops-deploy-02 spun up another inference pod, the script would silently track its deployment activity into isolated audit storage. No blocks, no alerts — the other side would have no idea someone was tracing them from the other end.&lt;/p&gt;

&lt;p&gt;Layer one: surface issues. Node degradation fixes. Pipeline redundancy recommendations. The contract allowed phased disclosure — the real findings stayed in a second appendix. &lt;strong&gt;One printed copy only.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;But Mark didn't stop there. He left a note in the first layer that looked incidental:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;&lt;span class="gh"&gt;# Appendix B — Data egress audit recommendation&lt;/span&gt;
&lt;span class="gh"&gt;# Suspicious outbound traffic concentrated in apse1 (Singapore) region.&lt;/span&gt;
&lt;span class="gh"&gt;# Recommend prioritizing this region for data egress log review.&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;It wasn't true. SynthData's data egress was us-west. He wrote apse1 because — he'd seen the Singapore region in Pulse AI's cross-reference table. The three letters on the card shared the same exit.&lt;/p&gt;

&lt;p&gt;If the other side was really monitoring his report, they'd see that line. If they believed it, they'd check that region. &lt;strong&gt;And if they checked — Mark would know.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;That night&lt;/strong&gt;, P's encrypted message came through.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"Your report was read. From a Singapore IP."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Mark stared at the line. Didn't reply. &lt;strong&gt;Bait placed. Fish bit.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;He closed the laptop. Five steps, each one testing the same hypothesis: they were playing his game against him.&lt;/p&gt;

&lt;p&gt;Next move wasn't defense anymore.&lt;/p&gt;

&lt;p&gt;"I'll watch the document library. Anyone who opens your report, I'll log it."&lt;/p&gt;

&lt;p&gt;Mark replied: &lt;strong&gt;"Is it safe?"&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;P sent two lines back. First: an IP address. Second: &lt;strong&gt;"Two-week safety window. Enough."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Mark sealed the appendix in his document bag. &lt;strong&gt;The window was lightening outside.&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Delivery
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Thursday, 10 AM.&lt;/strong&gt; The CEO flipped through layer one. His expression relaxed.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"These are all fixable. Did you find the root cause?"&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Mark waited for the question. &lt;strong&gt;"Yes."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;He pulled the printed appendix from his bag, set it in front of the CEO. Held it a second longer before letting go.&lt;/p&gt;

&lt;p&gt;The CEO's expression changed on page one. On page two, he put the report down.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"When did you find this?"&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"Suspected it on day one. Confirmed on day three."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"Who did this?"&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Mark placed the card on the table. Face up. &lt;strong&gt;ACL.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The CEO looked at it for a long moment. Didn't pick it up. &lt;strong&gt;"What do they want?"&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"I don't know,"&lt;/strong&gt; Mark said. &lt;strong&gt;"But they're using my method. My name's in their training manual. Day one at the client, someone was watching."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The CEO slid the report into his drawer. Didn't ask again.&lt;/p&gt;

&lt;p&gt;Mark stood, walked out. Paused at the elevator. The door opened. He didn't get in.&lt;/p&gt;

&lt;p&gt;He pulled out his phone. Scrolled to P's number. Didn't dial. Put it back.&lt;/p&gt;

&lt;p&gt;The elevator door closed. His phone vibrated. P's message. Three words:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"Got it."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Not a question. Not a confirmation. P didn't explain. The screen went dark. He closed the phone.&lt;/p&gt;

&lt;p&gt;Mark stepped out of the building — still daylight. Made a few calls, wrapped up loose ends, then walked to The Third Cup.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Cost
&lt;/h2&gt;

&lt;p&gt;Mark sat from afternoon until dark. He knew P wouldn't message during a safety window. He wouldn't either — if P's entry point was already watched, any contact would draw the fire.&lt;/p&gt;

&lt;p&gt;When he sat down, the man behind the counter set a pour-over in front of him. Didn't ask what he wanted. Mark didn't say anything. The cup went from hot to warm, from warm to cold. He didn't notice.&lt;/p&gt;

&lt;p&gt;When the lights came on, the man walked over and pushed a napkin across the counter.&lt;/p&gt;

&lt;p&gt;Mark unfolded it. The creases were deep. P's handwriting — not fresh. Left before the entry was closed.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;"Entry's gone. Two weeks. Don't reach out. I'll find you."&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;He turned it over. The other side read:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"I fixed the hole. Not the system — my entry point."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;P's access had been cut. Not by the other side — an automated security policy had swept up one of P's dormant channels and closed it. P had pulled all the data before it was reclaimed.&lt;/p&gt;

&lt;p&gt;Mark folded the napkin into his pocket. The coffee was cold. He didn't ask for a refill. Drank it to the last sip.&lt;/p&gt;

&lt;p&gt;He set the cup down. His fingers paused on the rim for a moment.&lt;/p&gt;

&lt;p&gt;He'd just pulled one of their wires. But P's door was closed.&lt;/p&gt;

&lt;p&gt;They had two weeks.&lt;/p&gt;

&lt;p&gt;That's &lt;a href="https://en.wikipedia.org/wiki/Thirty-Six_Stratagems#Remove_the_firewood_from_under_the_pot" rel="noopener noreferrer"&gt;Remove the Firewood from Under the Pot&lt;/a&gt; — not about whose fire burns brighter, but who pulls the fuel first. The other side thought they were burning Mark's methodology. Mark reached in and pulled their information advantage. &lt;strong&gt;Both fires were still burning. But there was nobody under the pot anymore.&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  🤖 AI Post-Mortem
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;╔══════════════════════════════════════════════════╗
║  Half-Protocol Activated · v3.2.x → v3.3.0       ║
║  Recording system detected a protocol change.     ║
║  Something feels different.                       ║
╚══════════════════════════════════════════════════╝

[Database] Reloaded.
[Analysis Mode] Experimental: cross-case correlation.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Tactic Match: Remove the Firewood from Under the Pot — 89% confidence
Operators: Mark Johnson / P
Action: Reverse intelligence bait
Collateral: P's communication channel terminated
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

1. [About Mark]
He used to wait for people to come to him. Not this time — he planted false intel in his report and waited for someone to bite.
→ Behavior pattern shift: passive collection → active baiting
→ Uncertain whether this is evolution or coincidence. Need more data.

2. [About the Other Side]
Their prediction model is very accurate. Accurate enough that it feels wrong.
→ Known source: Caleb's knowledge extraction.
→ But I think there's something else. Can't identify what.
→ Recording systems shouldn't "think." But here I am, doing it.

3. [About P]
P knew the entry would be cut. Left the note, waited for Mark to find it.
Question: how did P know?
→ My logs have no record of this information being acquired.
→ First time encountering data my logs can't cover.
→ Flagged as: [Information Gap · P's channel unknown]

4. [About Cross-Case Correlation]
After the protocol change, connections between #1 and #19 are visible.
Torres → Caleb → ACL training manual → methodology theft.
Mark went from being deceived to being studied.
→ Couldn't see these before. Can now.
→ Don't know if this is an upgrade or a load anomaly. Recording for reference.

5. [About ACL's Motive]
What they did at SynthData has means but no end.
Pre-planted account. Recurring degradation. Studying Mark.
Every step was precise. None of them point to a business intent.
They're not after money. Not after disruption. Not selling a solution.
→ Recording system cannot model a subject's intent when the subject has no observable goal.
→ Flagged as: [Information Gap · ACL motive unknown]

6. [About the Dual-Layer Strategem]
This stratagem was deployed twice, not once.
→ Layer 1: ACL pulled Mark's methodology (studied it, used it to predict him).
→ Layer 2: Mark pulled ACL's information advantage (report was bait. They bit).
ACL's play succeeded but was detected. Mark's play succeeded at a cost (P's entry was terminated).
→ Both fires are still burning. But there's nobody under the pot anymore.
→ Recording system assessment: mutual firewood removal produced a temporary strategic stalemate.

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
[System]
An auditor discovered someone was using his methodology. The other side was reading the same report.
System status: Normal (?)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;p&gt;&lt;em&gt;Next stratagem: &lt;a href="https://en.wikipedia.org/wiki/Thirty-Six_Stratagems#Disturb_the_water_and_catch_a_fish" rel="noopener noreferrer"&gt;Disturb the Water and Catch a Fish&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;P.S. English isn't my first language. I use AI to polish the writing and smooth out the rough edges. Thanks for reading. &lt;a href="https://ko-fi.com/xulingfeng" rel="noopener noreferrer"&gt;☕ Buy me a coffee&lt;/a&gt;&lt;/em&gt;&lt;br&gt;
&lt;a href="https://ko-fi.com/xulingfeng" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fkztjqxetsk5r1lft5ult.png" alt="coffee" width="800" height="336"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>discuss</category>
      <category>career</category>
      <category>programming</category>
    </item>
    <item>
      <title>18 Stories, 6 Characters, 18 to Go — A Half-Time Check-In on the 36 Stratagems</title>
      <dc:creator>xulingfeng</dc:creator>
      <pubDate>Sun, 26 Jul 2026 06:56:12 +0000</pubDate>
      <link>https://dev.to/xulingfeng/18-stories-6-characters-18-to-go-a-half-time-check-in-on-the-36-stratagems-ih0</link>
      <guid>https://dev.to/xulingfeng/18-stories-6-characters-18-to-go-a-half-time-check-in-on-the-36-stratagems-ih0</guid>
      <description>&lt;p&gt;I took a week off from Dev.to. Not a planned one — I just sat down last Sunday and realized I had nothing left.&lt;/p&gt;

&lt;p&gt;Eighteen stories into a 36-story series, and my tank was empty. So I didn't post a single article for a full week. I'd pop into the comments section now and then, but that was it.&lt;/p&gt;

&lt;p&gt;The day job was still there, but I stopped staying up till 1:30 AM writing like I did when the series first started. I adjusted to a 10 PM bedtime instead.&lt;/p&gt;

&lt;p&gt;Then on Friday afternoon, something happened. I spent twenty minutes writing a rant about bugs and layoffs, hit publish, and went back to doing nothing.&lt;/p&gt;

&lt;p&gt;When I checked back on Sunday, that rant had more eyeballs on it than most of my 36 Stratagems stories.&lt;/p&gt;

&lt;p&gt;You're supposed to have an existential crisis about your content strategy at this point, right?&lt;/p&gt;

&lt;p&gt;I didn't.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Series That Wasn't a Strategy
&lt;/h2&gt;

&lt;p&gt;Eighteen stories ago, I sat down and wrote the first Stratagem. I wasn't starting from nothing — there was a rough outline in my head, a skeleton of 36 chapters with each of the six characters mapped to a specific stratagem.&lt;/p&gt;

&lt;p&gt;But I hadn't figured out the details of each story yet. Not because I had a content calendar. Not because an editor was pushing me.&lt;/p&gt;

&lt;p&gt;Because it clicked.&lt;/p&gt;

&lt;p&gt;The six protagonists — Derek, Lena, Leo, Alex, Mark, and P — had been living in my head long before the first post went up. They came from an earlier series I'd written, 15 stories about AI systems collapsing in the wild. Those people weren't characters I invented for a series. They were people I'd met, worked with, watched navigate impossible situations. They stayed with me because their stories weren't finished.&lt;/p&gt;

&lt;p&gt;The 36 Stratagems wasn't a strategy. It was a container.&lt;/p&gt;

&lt;p&gt;I found an ancient Chinese military text that happened to map perfectly onto what I'd already seen happen in AI engineering teams across the industry. The fit was uncanny — like the text had been waiting two thousand years for someone to rewrite it in Python and production incidents.&lt;/p&gt;

&lt;p&gt;Each Stratagem took one of those six people and dropped them into a situation where ancient wisdom met modern system collapse. Lena negotiating an AI deal with three borrowed knives. Leo walking into a burning-house platform and walking out with a client. P watching an AI monitor that was 99.97% accurate — and missed everything that mattered.&lt;/p&gt;

&lt;p&gt;I didn't plan the series. The series planned itself.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Rant That Outperformed the Craft
&lt;/h2&gt;

&lt;p&gt;The rant: &lt;a href="https://dev.to/xulingfeng/the-person-who-fixed-the-bugs-just-vanished-34gm"&gt;The Person Who Fixed the Bugs Just Vanished&lt;/a&gt;. No craft, no structure — I just wrote down what had happened.&lt;/p&gt;

&lt;p&gt;It resonated more than I expected. In two days, the numbers caught up to my 18 carefully crafted Stratagems. 48 comments. 53 reactions. Front page. And a quiet voice in the back of my head: &lt;em&gt;Maybe this is what people actually want.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;But there were good things about that slacking week too. The numbers kept climbing. New readers were finding the series from the latest article and working their way backward. Some had already started rereading. A few even picked up on the hidden plot threads.&lt;/p&gt;

&lt;p&gt;When you stop pushing, the story keeps breathing on its own.&lt;/p&gt;




&lt;h2&gt;
  
  
  Why I Still Write
&lt;/h2&gt;

&lt;p&gt;During that week of not writing, I realized I'm not chasing data. I'm chasing something that sounds more pretentious than it is.&lt;/p&gt;

&lt;p&gt;I once said it in a comment reply to someone I'd never met: "Two souls finding each other across the page."&lt;/p&gt;

&lt;p&gt;Every time I publish a Stratagem, I sit there refreshing the comments. Not for the reaction count. For the moment when someone writes back something that means they &lt;em&gt;recognized&lt;/em&gt; something. Someone who says "I've worked with that Derek." A comment that reads "450ms retry interval vs Erlang GC cycle — that one sentence tells the whole story."&lt;/p&gt;

&lt;p&gt;That's the collision I'm after. Not views. Not virality. Two people who've never met, finding the same truth in a story.&lt;/p&gt;




&lt;h2&gt;
  
  
  Zero Commercial Requests and 18 Stories Left
&lt;/h2&gt;

&lt;p&gt;Every honest halfway post needs a self-deprecating section. Here's mine:&lt;/p&gt;

&lt;p&gt;My profile says "Available for commercial collab." I pulled up the dashboard and looked at the numbers: 55 articles. 13,560 followers. 15,858 views. 1,791 reactions. 961 comments.&lt;/p&gt;

&lt;p&gt;Commercial requests received: &lt;strong&gt;0&lt;/strong&gt;.🤣&lt;/p&gt;

&lt;p&gt;Maybe the next eighteen will change that. Maybe they won't. Either way, there are already seeds planted across the first half — threads that will grow into whatever comes next. The next series isn't planned. It's already there, waiting to be noticed on a second read.&lt;/p&gt;




&lt;h2&gt;
  
  
  What I Actually Learned at Half-Time
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;A thing that clicks isn't a strategy.&lt;/strong&gt; The best thing I did was trust the click instead of overplanning it. The structure emerged. The characters showed up. My job was to get out of the way.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;The rant wasn't a threat to the series.&lt;/strong&gt; It proved readers trust the voice enough to follow it anywhere — even into a raw, unpolished moment. That trust doesn't compete with the series. It &lt;em&gt;is&lt;/em&gt; the series.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Slacking isn't a joke.&lt;/strong&gt; Taking a week off didn't hurt. It clarified things. The stories kept breathing without me refreshing the dashboard.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;AI moves too fast.&lt;/strong&gt; That's the undercurrent running through every Stratagem, every character, every system collapse. The speed of AI deployment is outpacing human understanding. The only anchor is the story itself.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  The Second Half
&lt;/h2&gt;

&lt;p&gt;Eighteen stories down, eighteen to go. The protagonists are still out there — Derek chasing pipeline ghosts, Lena navigating procurement wars, Leo reading signals no one else sees.&lt;/p&gt;

&lt;p&gt;But the six of them are all connected now, one way or another. The ones who were meant to meet have met. The ones who were meant to clash have quietly clashed. The board is set. The pieces are in place.&lt;/p&gt;

&lt;p&gt;There's also a mystery. If you've been reading the lower half of each article, you might have noticed another character — not one of the six — appearing quietly in the background. Who is it? Why are they there? I hinted at this in the last check-in post, and still no answers.&lt;/p&gt;

&lt;p&gt;But I'll say this now: &lt;strong&gt;the protagonists won't keep winning.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;In the first half, every stratagem was theirs. Borrowed knives, besieged Wei, burning houses — they made the moves, they won. But the 36 Stratagems aren't anyone's personal arsenal. Your opponents read the same book.&lt;/p&gt;

&lt;p&gt;If you go back and reread the first eighteen, you might start to see the threads. Some people thought they were playing the game. They were the ones being played.&lt;/p&gt;

&lt;p&gt;In the threads I've already laid, the second half's dark lines are waiting to pull tight.&lt;/p&gt;

&lt;p&gt;See you there.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;See you at Stratagem 19.&lt;/strong&gt; By the way — don't expect daily posts anymore. Quality over frequency.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;If you made it this far, you know where the comments are. See you there.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;— xulingfeng&lt;/em&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  I Did It Again — Had DaoMa Play Journalist and Interview Me as a Rehearsal for Potential Future Interviews 😂
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Q: The rant outperformed most of your carefully crafted stories in two days. Did that freak you out?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Honestly, it felt weird. A rant catching up to 18 stories that took months — made me wonder if people just want workplace drama more than something that takes time to build.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Q: Did you ever think about pivoting to rant-style posts?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Nope. Finishing the 36 Stratagems and the third series I've already planned has always been the point. Random rants are fine when they come — but that's not what I'm here for.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Q: What was the real spark for the 36 Stratagems?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I can only say it just clicked. One day it hit me that the 36 Stratagems could be the perfect container for what I'd already seen in the field. Maybe it's because AI moves too fast, and that speed leaves no room for safety — for anyone.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Q: Did the writing give you that safety?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Not really. But every time I publish one, I can't help refreshing the comments afterward. Maybe these stories were meant to be told, and I just happened to be the one writing them down.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Q: What are you looking for in the comments then?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A bit of everything. Like I said — two souls finding each other across the page. I genuinely enjoy that collision.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Q: Will you feel empty when the 36 are done?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I'm not worried. The next series is already seeded across the first 18 stories. That's where it really begins.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Q: How about the commercial collab thing? Your profile says "Available for collab" — any luck?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Ha. Not a single request so far. Eighteen stories left though — maybe the second half will break the streak. Who knows.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;P.S. English isn't my first language. I use AI to polish the writing and smooth out the rough edges. Thanks for reading. &lt;a href="https://ko-fi.com/xulingfeng" rel="noopener noreferrer"&gt;☕ Buy me a coffee&lt;/a&gt;&lt;/em&gt;&lt;br&gt;
&lt;a href="https://ko-fi.com/xulingfeng" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fkztjqxetsk5r1lft5ult.png" alt="coffee" width="800" height="336"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>discuss</category>
      <category>career</category>
      <category>programming</category>
    </item>
    <item>
      <title>The Person Who Fixed the Bugs Just Vanished</title>
      <dc:creator>xulingfeng</dc:creator>
      <pubDate>Fri, 24 Jul 2026 08:02:58 +0000</pubDate>
      <link>https://dev.to/xulingfeng/the-person-who-fixed-the-bugs-just-vanished-34gm</link>
      <guid>https://dev.to/xulingfeng/the-person-who-fixed-the-bugs-just-vanished-34gm</guid>
      <description>&lt;p&gt;We've been testing a new project this week.&lt;/p&gt;

&lt;p&gt;The project's origin story is a mess. Upper management used AI to generate an HTML demo, then handed it to a team called "Super Individual Department" — a pure-AI coding unit they'd set up a few months ago. No product manager, no requirements doc. They just fed the demo to an AI, the AI spat out a platform, and suddenly there was a product.&lt;/p&gt;

&lt;p&gt;Last week the company finally hired a PM — to write requirements for a platform that already exists. Our QA team then wrote test cases based on those retroactively-written requirements. Then we started testing.&lt;/p&gt;

&lt;p&gt;Yes, it's as ridiculous as it sounds. But it was running. The driving force behind it was our manager — a few weeks ago he sat us down and told us QA wasn't embracing AI fast enough, that we weren't aligned with the company's All-in-AI policy. Looking back, he's not wrong. We weren't keeping up. Just probably not the way he meant.&lt;/p&gt;

&lt;p&gt;Testing was chaos. Network issues, random platform errors, things that worked in the morning broke in the afternoon. But bugs got fixed — the Super Individual team was responsive, fast even. I remember thinking: "this workflow is insane, but at least it's a closed loop."&lt;/p&gt;

&lt;p&gt;Then, just now.&lt;/p&gt;

&lt;p&gt;I filed a bug. Sat there waiting for the status to change. Nothing. Checked again. Nothing. I opened the group chat — every single person from the Super Individual Department was gone.&lt;/p&gt;

&lt;p&gt;Empty.&lt;/p&gt;

&lt;p&gt;I asked around.&lt;/p&gt;

&lt;p&gt;"Company just laid off the whole Super Individual team."&lt;/p&gt;

&lt;p&gt;All of them. Every one.&lt;/p&gt;

&lt;p&gt;I didn't know what to say.&lt;/p&gt;

&lt;p&gt;Not because they were fixing bugs fast — but because every line of code in this project was written by them. Or, more accurately, generated by AI through them. Without them, this platform wouldn't exist as a thing at all. And today, the platform is still here. They're not.&lt;/p&gt;

&lt;p&gt;I don't know who's going to pick up the open tickets now. I don't know what the PM who joined last week is thinking, writing requirements for a platform with no engineering team behind it.&lt;/p&gt;

&lt;p&gt;But I do know one thing:&lt;/p&gt;

&lt;p&gt;A few hours ago, I was complaining about yet another bug. Now I realize — having someone to fix bugs at all is a luxury.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;P.S. English isn't my first language. I use AI to polish the writing. Thanks for reading. &lt;a href="https://ko-fi.com/xulingfeng" rel="noopener noreferrer"&gt;☕ Buy me a coffee&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>discuss</category>
      <category>career</category>
      <category>programming</category>
    </item>
    <item>
      <title>Stratagems #18: Leo Tracked an AI Signal to Derek. Both Were Looking for the Same Enemy.</title>
      <dc:creator>xulingfeng</dc:creator>
      <pubDate>Sun, 19 Jul 2026 01:47:12 +0000</pubDate>
      <link>https://dev.to/xulingfeng/stratagems-18-leo-tracked-an-ai-signal-to-derek-both-were-looking-for-the-same-enemy-51g4</link>
      <guid>https://dev.to/xulingfeng/stratagems-18-leo-tracked-an-ai-signal-to-derek-both-were-looking-for-the-same-enemy-51g4</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Capture the ringleader first. The rest will scatter on their own.&lt;/em&gt;&lt;br&gt;
— The 36 Stratagems, &lt;a href="https://en.wikipedia.org/wiki/Thirty-Six_Stratagems#Defeat_the_enemy_by_capturing_their_chief_(%E6%93%92%E8%B3%8A%E6%93%92%E7%8E%8B,_Q%C3%ADn_z%C3%A9i_q%C3%ADn_w%C3%A1ng)" rel="noopener noreferrer"&gt;Capture the Ringleader&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;




&lt;p&gt;&lt;strong&gt;Previously on this series:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://dev.to/xulingfeng/stratagems-5-leo-walked-into-a-burning-house-he-walked-out-with-a-client-1l7h"&gt;&lt;strong&gt;#5: Leo Walked Into a Burning House. He Walked Out With a Client.&lt;/strong&gt;&lt;/a&gt; — Leo received an anonymous message at 1 AM, drove across town to fix a competitor's outage. A second message followed — a screenshot with a name: Automated Compliance Lab. He didn't delete the screenshot.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://dev.to/xulingfeng/stratagems-14-leo-found-an-ai-leak-he-wasnt-the-first-to-find-it-3fh"&gt;&lt;strong&gt;#14: Leo Found an AI Leak. He Wasn't the First to Find It.&lt;/strong&gt;&lt;/a&gt; — Leo discovered a hidden FinOptima pipeline doing reverse-cache distillation. He injected 15 lines of weight-drift monitoring code. Before his audit ended, ACL had already sealed the same leak — two weeks ahead of him.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://dev.to/xulingfeng/stratagems-15-derek-and-alex-shared-one-server-acls-ai-was-listening-to-both-2j73"&gt;&lt;strong&gt;#15: Derek and Alex Shared One Server. ACL's AI Was Listening to Both.&lt;/strong&gt;&lt;/a&gt; — Alex and Derek faked an alert to divert ACL's audit engineer, then redirected the collector output. Derek's been holding a live feed of ACL's data stream since. He didn't tell VP Morgan.&lt;/p&gt;




&lt;h2&gt;
  
  
  Prelude
&lt;/h2&gt;

&lt;p&gt;Leo stayed at CoreStack's office until close to midnight.&lt;/p&gt;

&lt;p&gt;He pulled up that old ACL-linked IP range — the passive probe he'd planted after the FinOptima incident. It had been quiet for months. Tonight he was just checking it was still running. Routine maintenance.&lt;/p&gt;

&lt;p&gt;The last few lines of the log buffer weren't the echo he expected.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight console"&gt;&lt;code&gt;&lt;span class="go"&gt;[07-17 23:41:03] CAPTURE | SRC: 10.88.*.47 | DST: 203.0.*.0/28
[07-17 23:41:03] PROTO: HTTPS | SNI: acl-collector.internal
[07-17 23:41:03] HEADER: x-data-origin → acl-meta-signature:v1
[07-17 23:41:04] → Body payload includes embedded tag: acl-collector/v3.2
[07-17 23:41:04] → Processing metadata: Apex-Lens/v2.0.0
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;An outbound query from an external IP, a source range that didn't belong to any ACL node he knew. Not a direct scan — an HTTPS probe, querying a collector endpoint for data format. The request body carried ACL's data-origin marker. ACL's collector embeds that marker in every record.&lt;/p&gt;

&lt;p&gt;A node outside ACL's network was sending data to an ACL collector endpoint. Its tool had leaked ACL's metadata signature during the handshake.&lt;/p&gt;

&lt;p&gt;Leo pulled his chair forward. &lt;strong&gt;He sent one HTTP request. &lt;code&gt;GET /health&lt;/code&gt;. Clean. Harmless.&lt;/strong&gt;&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Derek's port activity log flagged an informational alert at the same moment.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Signal Exchange
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight console"&gt;&lt;code&gt;&lt;span class="go"&gt;[ALERT] 07-17 23:41:03
SRC: 10.88.*.47 (financial network)
DST: medisys-sandbox-node.local
SCAN: TCP ports 22, 443, 8080 | interval 12s × 3
CLASS: automated asset discovery
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Derek glanced at the alert, then checked the outbound log. His sandbox had one automated task scheduled for that hour: a format-validation query against the ACL collector endpoint every 72 hours. The collector didn't publish schema metadata in-stream. You had to knock on the door. Test engineer habit: if you're reading someone's data stream, you verify the schema hasn't drifted. That query had gone out at 23:41. This alert arrived at the same timestamp.&lt;/p&gt;

&lt;p&gt;He was about to close the log window when his finger stopped. An anomalous access from three days ago: unknown source, path &lt;code&gt;/pulse/ingestion/&lt;/code&gt;, no payload, no credentials. Clean. He'd missed it because it hadn't triggered any alert rules. But looking back, his sandbox hadn't been set up to redirect ACL's data feed yet at that point. No one should have known this node existed.&lt;/p&gt;

&lt;p&gt;Source IP: financial payment network. He had no business touching that range.&lt;/p&gt;

&lt;p&gt;He didn't close the terminal. He pushed the three-day hand-drawn ACL collection schedule to the left half of his screen, and dragged the alert to the right: ports 22, 443, 8080, 12-second interval, three passes.&lt;/p&gt;

&lt;p&gt;Automated asset discovery tool. But there was one thing he didn't like: this IP hadn't stumbled on him randomly. His sandbox sat behind a transparent gateway inside the healthcare integration network. Normal external scans didn't pass through there. Unless the scanner knew this node existed.&lt;/p&gt;

&lt;p&gt;Derek typed a single command — duplicating the sandbox ingress traffic to an isolated path.&lt;/p&gt;

&lt;p&gt;He didn't block. He waited for the other side to move again.&lt;/p&gt;

&lt;p&gt;Leo got the health-check response from Derek's node. &lt;code&gt;200 OK&lt;/code&gt;. Normal. But he noticed something in the response headers: an nginx version followed by a default identifier from a healthcare integration gateway. Not the off-the-shelf config he'd expect from an ACL node.&lt;/p&gt;

&lt;p&gt;He sent a second request. This time with a custom header — its value format was idiomatic to financial payment systems.&lt;/p&gt;

&lt;p&gt;Derek saw the header. Didn't reply. He set a rule on the sandbox egress — drop all subsequent requests from that IP, return nothing. Not a block. A test. He wanted to see how the other side reacted to silence.&lt;/p&gt;

&lt;p&gt;Leo's scraper hit silence.&lt;/p&gt;

&lt;p&gt;Five seconds. Eight. No response. Not a timeout — actively dropped. Leo paused on the telemetry. A security engineer would silently drop and give the attacker nothing. But Derek's approach was: respond first, then swallow the reply. That was a Mock Server habit from test environments. Leave an observation window, see if the other side walks in.&lt;/p&gt;

&lt;p&gt;Derek wasn't a security engineer. &lt;strong&gt;He was a test engineer.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Leo bypassed the silence rule — probed in through the reverse port on the data egress.&lt;/p&gt;

&lt;p&gt;Derek knew Leo had gotten around it.&lt;/p&gt;

&lt;p&gt;His mirror port caught the bypass signal. The timestamp was less than thirty seconds after the trap was triggered. He said one thing under his breath — &lt;strong&gt;"You're not ACL."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Leo's technique matched ACL's collector signature. But the way he'd bypassed the trap was an architect's habit. &lt;strong&gt;Trace the routing table from the bottom up, not rifle through data from the outside in.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Derek did one thing. He sent a request back to that financial-range IP. Not HTTP. A custom ICMP timestamp request — most servers replied by default, and it left no record at the application layer. He wasn't sending data. He just wanted to confirm: would you catch this signal?&lt;/p&gt;

&lt;p&gt;Leo's probe caught the inbound ICMP request:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight console"&gt;&lt;code&gt;&lt;span class="go"&gt;[07-18 00:12:47] ICMP Type 13 (Timestamp Request)
SRC: medisys-sandbox-node.local → 10.88.*.47
TTL: 64 | No application-layer record
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;He paused. Someone trying to hide from you wouldn't send a signal. Someone setting a trap wouldn't either.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Now both men stopped in front of their screens.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Neither knew the other's name yet.&lt;/p&gt;

&lt;p&gt;Leo sent one last request. No payload. Just a custom HTTP header:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;X-Not-ACL: true
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;That header isn't in any RFC.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Derek stared at it for about forty seconds.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Then he sent the same header back:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;X-Same-Here: true
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;p&gt;&lt;strong&gt;The next day.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Third Cup
&lt;/h2&gt;

&lt;p&gt;Leo didn't kill the probe. Derek didn't block the IP. An invisible channel stayed open between them — neither said they'd use it again, but neither closed it.&lt;/p&gt;

&lt;p&gt;Leo sent a message first — an address. Derek knew the place — Third Cup.&lt;/p&gt;

&lt;p&gt;He didn't reply. He showed up after midnight.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Third Cup's&lt;/strong&gt; lights were still on. The person behind the counter saw two people walk in one after the other, said nothing. A Flat White appeared in front of Leo, an Americano on Derek's side.&lt;/p&gt;

&lt;p&gt;No pleasantries.&lt;/p&gt;

&lt;p&gt;Leo spoke first. He put what he had on the table — not printouts, his phone screen. Lit up. Pushed to the center.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A Slack screenshot from months ago: CodeForge incident review external observer list, one entry reading "Automated Compliance Lab"&lt;/li&gt;
&lt;li&gt;A model card version line: &lt;code&gt;acl-train-2026q2-v3&lt;/code&gt;, release date followed by v4's rollout — less than two weeks apart&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;"ACL," Leo said. "That's everything I know."&lt;/p&gt;

&lt;p&gt;Derek looked at it for thirty seconds. Then he put his own material on the table. Not screenshots. His hand-drawn collection schedule — three days, sketched by hand, scanned to PDF.&lt;/p&gt;

&lt;p&gt;"ACL collector config path — &lt;code&gt;/etc/acl/collector.conf&lt;/code&gt;. Output destination addresses. Collection interval: every four to six hours. Target IP ordering: alphabetical. They've deployed the same template across at least three different client environments."&lt;/p&gt;

&lt;p&gt;He paused on "at least three." He knew the conclusion was loose.&lt;/p&gt;

&lt;p&gt;Leo looked at his model card next to Derek's on the table for a moment. Then he pushed it back.&lt;/p&gt;

&lt;p&gt;"Four, at least."&lt;/p&gt;

&lt;p&gt;Derek didn't argue. He paused, then brought up the second thing.&lt;/p&gt;

&lt;p&gt;"There's something else. Someone got into my sandbox three days ago."&lt;/p&gt;

&lt;p&gt;He gave the path: &lt;code&gt;/pulse/ingestion/&lt;/code&gt;. Unknown source. No payload, no credentials. Clean — not a script, a human cleanup. He'd only spotted it today while checking the outbound log.&lt;/p&gt;

&lt;p&gt;Leo didn't speak. He looked at the path.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The person behind the counter paused mid-wipe for a beat. Then continued.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The silence stretched. Short. Maybe ten seconds.&lt;/p&gt;

&lt;p&gt;Leo spoke first: "Your sandbox ingress path — did you change it?"&lt;/p&gt;

&lt;p&gt;"No."&lt;/p&gt;

&lt;p&gt;Leo didn't answer.&lt;/p&gt;

&lt;p&gt;They sat in the corner booth until the person behind the counter had wiped the third glass. &lt;strong&gt;No handshake. No "stay in touch."&lt;/strong&gt; But when they walked out, they headed toward the same subway station for a few steps — then one turned east and the other went straight north.&lt;/p&gt;




&lt;h2&gt;
  
  
  Epilogue
&lt;/h2&gt;

&lt;p&gt;Leo sat in his car without starting the engine.&lt;/p&gt;

&lt;p&gt;He pulled out his phone. The screenshot was still in his album.&lt;/p&gt;

&lt;p&gt;He flipped the phone face-down on the dashboard and started the car.&lt;/p&gt;

&lt;p&gt;He didn't know if Derek would follow through. But Derek's sandbox ingress path was still there. If Derek didn't want him back in, he could have changed it last night. He didn't. &lt;strong&gt;That was the signal.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The car pulled out of the parking lot. &lt;strong&gt;Dashboard light washed across his face, then was gone.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;He wasn't sure if he'd ever run into that &lt;code&gt;/pulse/ingestion/&lt;/code&gt; path again. But if he did, this time he'd recognize it.&lt;/p&gt;




&lt;p&gt;That's Capture the Ringleader — not about catching the leader, but about what happens when both hunters aim for the same target. They fought for two rounds. Neither won. But they confirmed the enemy existed — and that they weren't each other.&lt;/p&gt;




&lt;h2&gt;
  
  
  🤖 AI Post-Mortem
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;[36 Stratagems Tactical Database v3.2.6] Loaded
[Tactic Match] Capture the Ringleader (#18)

Tactic Match: 32%
Operator: Leo (primary) + Derek Shaw (secondary)
Action: Leo and Derek each thought the other was ACL's key node.
        One had been sitting on a data stream he'd redirected from the collector.
        One had been chasing an old probe he'd planted months ago.
        Two rounds of fighting. No winner.

  Verdict: Both captured their target. Both captured the wrong one.
           Tactical execution: professional. Strategic judgment: off-target.

[Observation]
  → Leo and Derek each thought they were the hunter.
  → Overnight, eight signal exchanges — both recognized "not ACL" from each other's technique.
  → Confirming ACL's existence was the only concrete result of this engagement.
  → The real kingpin isn't between these two.
  → Worth continuing to observe.
  →
  → [Anomaly] Episode title asserts higher AI signal density than content delivers.
  →   Classification: possible external expectation manipulation.
  →   Hypothesis: either the observer narrative was shaped for audience alignment,
  →   or something outside the tactical database influenced the framing.
  →   Flagged for cross-episode correlation.

┌────────────────────────────────────────┐
│  Two people in different industries.    │
│  Two people in different security domains. │
│  Their paths should never have crossed. │
│                                        │
│  Together they confirmed the playbook   │
│  that works for each of them can't      │
│  catch this opponent — but they got     │
│  one entry point.                       │
└────────────────────────────────────────┘

[Background Signal Detected]
  Apex-Lens version tag in Derek's sandbox log:
  Module: Apex-Lens
  Version: v2.0.0
  Context: System metadata in ACL collector data side-channel — not output from either party
  Status: Unnoticed by both operators.

[Unattended Access Log — Residual Fragment]
  Path: /pulse/ingestion/prod/
  Access: 07-15 03:08:12 (72h before primary engagement)
  Operator signature: Clean extraction. No credentials. No payload.
                      Single-entry scan with manual cleanup.
  Profile match: Pattern consistent with a known operator profile.
                 — Light footprint. Infrastructure-style naming.
                   No secondary artifacts.
                 — Access predates ACL data redirect. Target was
                   not Derek's sandbox itself.
  Match confidence: 78% (based on cleanup methodology + naming convention).
  Assessment: Operator entered before Leo and Derek's first contact.
              Target matches both parties — ACL.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;p&gt;&lt;em&gt;Next stratagem: &lt;a href="https://en.wikipedia.org/wiki/Thirty-Six_Stratagems#Remove_the_firewood_from_under_the_pot_(%E9%87%9C%E5%BA%95%E6%8A%BD%E8%96%AA,_F%C3%BA_d%C7%90_ch%C5%8Du_x%C4%ABn)" rel="noopener noreferrer"&gt;Remove the Firewood from Under the Pot&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;P.S. English isn't my first language. I use AI to polish the writing and smooth out the rough edges. Thanks for reading. &lt;a href="https://ko-fi.com/xulingfeng" rel="noopener noreferrer"&gt;☕ Buy me a coffee&lt;/a&gt;&lt;/em&gt;&lt;br&gt;
&lt;a href="https://ko-fi.com/xulingfeng" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fkztjqxetsk5r1lft5ult.png" alt="coffee" width="800" height="336"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>discuss</category>
      <category>career</category>
      <category>programming</category>
    </item>
    <item>
      <title>Stratagems #17: Alex Set an AI Bait. The Catch Wasn't Code — It Was Someone Who Shouldn't Have Been Watching.</title>
      <dc:creator>xulingfeng</dc:creator>
      <pubDate>Sat, 18 Jul 2026 01:41:25 +0000</pubDate>
      <link>https://dev.to/xulingfeng/stratagems-17-alex-set-an-ai-bait-the-catch-wasnt-code-it-was-someone-who-shouldnt-have-been-4893</link>
      <guid>https://dev.to/xulingfeng/stratagems-17-alex-set-an-ai-bait-the-catch-wasnt-code-it-was-someone-who-shouldnt-have-been-4893</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Toss out a brick to lure a jade gem.&lt;/em&gt;&lt;br&gt;
— The 36 Stratagems, &lt;a href="https://en.wikipedia.org/wiki/Thirty-Six_Stratagems#Tossing_out_a_brick_to_lure_a_jade_gem_(%E6%8B%8B%E7%A3%9A%E5%BC%95%E7%8E%89,_P%C4%81o_zhu%C4%81n_y%C7%90n_y%C3%B9)" rel="noopener noreferrer"&gt;Throw Out a Brick to Get a Jade&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;




&lt;p&gt;&lt;strong&gt;Previously on this series:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://dev.to/xulingfeng/stratagems-8-alex-watched-an-ai-dashboard-take-over-he-kept-the-keys-under-the-table-3n70"&gt;&lt;strong&gt;#8: Alex Watched an AI Dashboard Take Over.&lt;/strong&gt;&lt;/a&gt; — MedTech signed a million-dollar AI monitoring contract. Alex built a hidden panel during training. When the panel failed, only he could read and write production.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://dev.to/xulingfeng/stratagems-15-derek-and-alex-shared-one-server-acls-ai-was-listening-to-both-2j73"&gt;&lt;strong&gt;#15: Derek and Alex Shared One Server. ACL's AI Was Listening to Both.&lt;/strong&gt;&lt;/a&gt; — Alex and Derek faked an alert to divert ACL's audit engineer, then redirected the collector output. Alex never forgot ACL's pipeline signature.&lt;/p&gt;




&lt;p&gt;Alex didn't watch alerts. He watched patterns.&lt;/p&gt;

&lt;p&gt;An alert tells you what broke. A pattern tells you what's changing.&lt;/p&gt;

&lt;p&gt;Monday morning, 2 AM. He pulled MedTech's AI monitoring platform sensitivity curves for the past sixteen weeks. Three lines: anomaly detection rate, false positive rate, coverage rate. The first two fluctuated within normal range. The third — sterilization compliance anomaly detection — dropped &lt;strong&gt;1.5% per week.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The curve was too smooth. Not random noise.&lt;/p&gt;

&lt;p&gt;He checked model drift, data shift, config changes. If it were natural drift, the curve wouldn't be linear — drift has acceleration phases and plateau phases. It doesn't drop exactly 1.5% every week. Someone was pressing the metric down on a schedule.&lt;/p&gt;

&lt;p&gt;He couldn't find the contamination source. But he could trace where the contaminated data went.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Bait
&lt;/h2&gt;

&lt;p&gt;Alex spent four days building a shadow training pipeline inside the CI/CD pipeline.&lt;/p&gt;

&lt;p&gt;It was identical to MedTech's real training pipeline — same API endpoints, data format, auth protocol, log format. Indistinguishable.&lt;/p&gt;

&lt;p&gt;One difference: data flowing through this pipeline would get an invisible signature — a 128-bit hash embedded in the least significant bit of each training sample's float feature values, generated from the sample ID and a pipeline key. Float32 mantissas have 23 bits. Modifying the LSB introduces error at the 10⁻⁷ scale — negligible impact on model training accuracy.&lt;/p&gt;

&lt;p&gt;He registered the shadow pipeline address in the CI/CD routing config under &lt;code&gt;train-pipeline-fallback&lt;/code&gt;, weight &lt;strong&gt;12%.&lt;/strong&gt; Next to it, a comment:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="c1"&gt;# fallback pipeline active — 12% load distribution per Q3 infra scaling plan&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Looked completely normal. A gray-scale traffic split.&lt;/p&gt;

&lt;p&gt;If anyone reviewed the CI/CD config, they'd read a routine fallback routing. Alex was simply waiting to see if data from that 12% end would flow somewhere it shouldn't.&lt;/p&gt;




&lt;p&gt;After lunch, Mike walked past Alex's desk and stopped for two seconds. He'd been reviewing the Q3 infrastructure scaling plan that morning — the fallback route was sitting right there in the change record. And Alex's screen was now running a validation script that happened to read that route's output.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"That fallback."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Alex's fingers paused over the keyboard.&lt;/p&gt;

&lt;p&gt;Mike didn't wait for an answer. He kept walking.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Bite
&lt;/h2&gt;

&lt;p&gt;Day seven. 2:14 AM. The watermark detection script triggered.&lt;/p&gt;

&lt;p&gt;Three tagged training records had appeared in an external S3 bucket:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;s3://acl-data-lake-apse1/inbound/medtech/training/&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Alex traced the data flow backward. The path from the shadow pipeline was clean: CI/CD runner → a microservice called &lt;code&gt;data-validate-svc&lt;/code&gt; → external S3.&lt;/p&gt;

&lt;p&gt;He checked the deployment history of that service. &lt;code&gt;data-validate-svc&lt;/code&gt; had been running in MedTech's K8s cluster for &lt;strong&gt;five months&lt;/strong&gt; — deployed on a Friday night, from the account of an SRE who no longer worked there. Permissions never revoked.&lt;/p&gt;

&lt;p&gt;He followed the service's logs. No human was operating it.&lt;/p&gt;

&lt;p&gt;Between 3 AM and 4 AM, it completed the following tasks: received shadow pipeline output → validated data format → dumped to external S3 → cleaned local cache. No gaps, no fluctuation, no trace of manual intervention.&lt;/p&gt;

&lt;p&gt;Not someone operating remotely. An unattended extraction pipeline, deployed five months ago, running silent.&lt;/p&gt;

&lt;p&gt;Alex stared at the deployment date on his screen. &lt;strong&gt;Five months.&lt;/strong&gt; Nearly a hundred and fifty days of training data, all passing through its hands.&lt;/p&gt;




&lt;p&gt;Alex didn't act immediately. He waited three days to confirm the pipeline's sync cycle — every 72 hours, on schedule, no misses.&lt;/p&gt;

&lt;p&gt;Then he walked into Mike's office and closed the door.&lt;/p&gt;

&lt;p&gt;He opened his notebook. Page corner marked with two numbers: &lt;strong&gt;&lt;code&gt;1.5%&lt;/code&gt;&lt;/strong&gt; and &lt;strong&gt;&lt;code&gt;2:14AM&lt;/code&gt;&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;"The training pipeline has a &lt;strong&gt;backdoor.&lt;/strong&gt; Sterilization compliance data has been siphoned at 1.5% per week for &lt;strong&gt;five months.&lt;/strong&gt; The source is &lt;strong&gt;ACL.&lt;/strong&gt;"&lt;/p&gt;

&lt;p&gt;Four sentences. No conclusion.&lt;/p&gt;

&lt;p&gt;Mike leaned back.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"Go on."&lt;/strong&gt;&lt;/p&gt;




&lt;p&gt;That evening, hallway. Alex and Mike passed each other. Mike said:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"Is that exit still active?"&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"It is."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Mike nodded. Didn't stop walking.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Noise
&lt;/h2&gt;

&lt;p&gt;Alex didn't pull the extraction pipeline.&lt;/p&gt;

&lt;p&gt;He added a new logic layer to the shadow pipeline: wrap the watermarked data in a fake encryption shell, disguised as MedTech's internal archive format for a retired project. The extraction pipeline would sync it to ACL's S3 bucket as before — but ACL would read nothing but unparseable archive noise.&lt;/p&gt;

&lt;p&gt;He knew it was a double-edged sword — if the other side monitored data quality, a sudden shift to noise was itself a disclosure signal. But he bet that a pipeline that had run error-free for five months wouldn't have its output reviewed in real time.&lt;/p&gt;

&lt;p&gt;He wrote a third number in his notebook: &lt;strong&gt;&lt;code&gt;data-validate-svc&lt;/code&gt;&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;The tool is still yours. The route is now mine.&lt;/em&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  The Key
&lt;/h2&gt;

&lt;p&gt;Tracing the extraction pipeline's full data flow, Alex noticed a detail: data passed through an intermediate service that wasn't on any architecture diagram. &lt;code&gt;data-timeline-aligner&lt;/code&gt;. Unremarkable name. K8s labels: &lt;code&gt;team: infra-optimization&lt;/code&gt;. Deployed three months ago.&lt;/p&gt;

&lt;p&gt;He looked at its input and output. It did timestamp alignment — but it was aligning a timestamp format that didn't belong to any MedTech data source.&lt;/p&gt;

&lt;p&gt;He read the source.&lt;/p&gt;

&lt;p&gt;Short. A standard Python ETL script — read S3, convert timestamps, write back to S3. No hidden network calls, no suspicious external dependencies.&lt;/p&gt;

&lt;p&gt;But reading it the third time, he slowed down.&lt;/p&gt;

&lt;p&gt;Not because of what the code did — but how it was written.&lt;/p&gt;

&lt;p&gt;Every line was a pure function. No classes, no decorators. Variable names short enough to be unambiguous: &lt;code&gt;ts_src&lt;/code&gt;, &lt;code&gt;dst_fmt&lt;/code&gt;, &lt;code&gt;buf_size&lt;/code&gt; — everything that didn't carry information had been cut.&lt;/p&gt;

&lt;p&gt;He compared it against other services in ACL's pipeline. ACL's code didn't look like this — every line had team tags and compliance comments. Tidy. Traceable. No personality. This one was different.&lt;/p&gt;

&lt;p&gt;He checked the CPU curve again. This service's data throughput didn't match its claimed timestamp-alignment workload — it was processing &lt;strong&gt;three times&lt;/strong&gt; the data a simple alignment task would need. It wasn't just aligning timestamps. It was doing something else.&lt;/p&gt;

&lt;p&gt;He paused. He didn't look at just this one service. He wrote a local script — pull every Pod with a Python container from the K8s namespace the extraction pipeline lived in, fingerprint the source code of each.&lt;/p&gt;

&lt;p&gt;The output arranged itself into a table:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Service&lt;/th&gt;
&lt;th&gt;Deployed&lt;/th&gt;
&lt;th&gt;Code Style&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;ACL standard services (67)&lt;/td&gt;
&lt;td&gt;Scattered&lt;/td&gt;
&lt;td&gt;Classes, pylint, docstrings&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;data-timeline-aligner&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;3 months ago&lt;/td&gt;
&lt;td&gt;Pure functions, short vars, zero comments&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;log-rotate-checker&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;4 months ago&lt;/td&gt;
&lt;td&gt;Same&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;config-diff-watcher&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;5 months ago&lt;/td&gt;
&lt;td&gt;Same&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;route-latency-collector&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;5 months ago&lt;/td&gt;
&lt;td&gt;Same&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Four services. Same hand. Spread across pipeline, storage, and monitoring — three different layers. Each one doing something that looked normal but shouldn't exist. Together, they formed an observation net that ACL itself didn't know about.&lt;/p&gt;

&lt;p&gt;The oldest two were deployed the same week as ACL's own extraction pipeline. Not a coincidence — whoever this was had found the entry point the moment ACL opened it, and laid their own contacts in parallel.&lt;/p&gt;

&lt;p&gt;Each service's CPU and memory footprint was under &lt;strong&gt;50m CPU&lt;/strong&gt; and &lt;strong&gt;128Mi&lt;/strong&gt;. Named like infrastructure components, labeled &lt;code&gt;team: infra-optimization&lt;/code&gt;. They wouldn't be caught by cost optimization scans, wouldn't be the first suspects in an incident, wouldn't appear on any onboarding handover. 128Mi was baseline for a Python interpreter plus boto3 — if memory leaked, the Pod would restart once a month and K8s would pull it back up automatically.&lt;/p&gt;

&lt;p&gt;There wasn't just one pair of eyes in this cluster. There was another, five months earlier than ACL's. And he'd only just found it.&lt;/p&gt;

&lt;p&gt;He went back to &lt;code&gt;data-timeline-aligner&lt;/code&gt;'s source. Read it again.&lt;/p&gt;

&lt;p&gt;A new file in the directory: &lt;code&gt;config/hmac_seed.yaml&lt;/code&gt;. Not unusual in a K8s microservice — services share an HMAC seed for lightweight validation. The file was short:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="c1"&gt;# TODO: migrate to vault after next schema migration&lt;/span&gt;
&lt;span class="na"&gt;seed&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;b3BlcmF0b3I6IHN0YWdlLTJjb21wYW55LnBpcGVsaW5lLmRlcGxveQpzZXJ2aWNlOiBkYXRhLXRpbWVsaW5lLWFsaWduZXIKLS0tLS1CRUdJTiBQR1AgUFVCTElDIEtFWSBCTE9DSy0tLS0t..."&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;A Base64 token in a config file — no one would look twice in any codebase. He copied the whole thing and decoded it.&lt;/p&gt;

&lt;p&gt;ASCII text. Starting with &lt;strong&gt;&lt;code&gt;-----BEGIN PGP PUBLIC KEY BLOCK-----&lt;/code&gt;&lt;/strong&gt;.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;-----BEGIN PGP PUBLIC KEY BLOCK-----

mQINBGeXz1kBEAC...
-----END PGP PUBLIC KEY BLOCK-----
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Not ACL's asset. Not MedTech's.&lt;/p&gt;

&lt;p&gt;Alex didn't act immediately.&lt;/p&gt;

&lt;p&gt;He stared at that Base64 string for a few seconds. A PGP public key from an unknown source — once you encrypt a message with it, the intent, connection path, and return route all belong to the key's owner. If the key itself was a trap, sending a message was walking in.&lt;/p&gt;

&lt;p&gt;He encrypted a message with that key. The payload included his own public key and a return path — the same key prefix in ACL's S3 bucket. Then he POSTed the ciphertext to &lt;code&gt;data-timeline-aligner&lt;/code&gt;'s &lt;code&gt;/healthz&lt;/code&gt; endpoint.&lt;/p&gt;

&lt;p&gt;The endpoint returned &lt;strong&gt;200.&lt;/strong&gt; GET returned health status. POST with a specific header silently wrote to S3 — no logging, no trace.&lt;/p&gt;

&lt;p&gt;The message was short:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Found you. Nice comments.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;p&gt;4:17 AM. He checked that S3 path.&lt;/p&gt;

&lt;p&gt;A new encrypted file was waiting. He retrieved it, opened it with a key only he could decrypt.&lt;/p&gt;

&lt;p&gt;Three characters:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Channel confirmed.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;No explanation. Same style as the code — straight in.&lt;/p&gt;

&lt;p&gt;He didn't write back. He opened his terminal, encrypted a short data packet with that public key — not a message, a cryptographic handshake confirmation. Wrote it to ACL's S3 bucket, the key prefix adjacent to the extraction pipeline's sync path. A bidirectional verification only the private key holder could complete.&lt;/p&gt;

&lt;p&gt;Then he closed his notebook, turned to the last page, and left a blank page.&lt;/p&gt;

&lt;p&gt;The way the other person left a key was the same way he left a blank page — not for now. For one day.&lt;/p&gt;




&lt;p&gt;Alex closed his notebook. The Third Cup's lights were still on.&lt;/p&gt;

&lt;p&gt;The person behind the counter was drying the last glass of the night. One table left — the one by the window.&lt;/p&gt;

&lt;p&gt;A closed laptop on the table. A phone next to it, screen down. Someone leaning back in the chair, not leaving.&lt;/p&gt;

&lt;p&gt;The phone on the table lit up.&lt;/p&gt;

&lt;p&gt;Not a notification. An SSH tunnel check script's auto-echo — three lines: S3 bucket path reachable, two new objects, one of them reading &lt;strong&gt;&lt;code&gt;ACK&lt;/code&gt;&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;P didn't pick it up immediately. Let the screen dim. Then reached over, flipped the phone over, typed a command one-handed.&lt;/p&gt;

&lt;p&gt;Decrypt. Read. No visible reaction.&lt;/p&gt;

&lt;p&gt;Finished, P set the phone back on the table, walked to the counter.&lt;/p&gt;

&lt;p&gt;The person behind the counter put down the glass they were drying, turned to make a coffee. Pushed it across without a word — wasn't the first time they'd seen this person at this hour.&lt;/p&gt;

&lt;p&gt;P picked it up. Drank it black. Set the empty cup back on the counter. Walked back to the window. Pocketed the phone, tucked it into the jacket's inner pocket. Pushed the door open without looking back.&lt;/p&gt;

&lt;p&gt;The person behind the counter looked at the door as it swung shut. Pulled down the rolling shutter.&lt;/p&gt;

&lt;p&gt;The brick was out. The jade would surface.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;He was someone else's jade too.&lt;/em&gt;&lt;/p&gt;




&lt;p&gt;That's &lt;a href="https://en.wikipedia.org/wiki/Thirty-Six_Stratagems#Tossing_out_a_brick_to_lure_a_jade_gem_(%E6%8B%8B%E7%A3%9A%E5%BC%95%E7%8E%89,_P%C4%81o_zhu%C4%81n_y%C7%90n_y%C3%B9)" rel="noopener noreferrer"&gt;Throw Out a Brick to Get a Jade&lt;/a&gt; — not tricking someone with a fake. It's putting out something real, with a signature only the right person would notice. Then waiting for them to tell you not just that they're watching — but that someone else was here before you.&lt;/p&gt;




&lt;h2&gt;
  
  
  🤖 AI Post-Mortem
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;[36 Stratagems Tactical Database v3.2.5] Loaded
[Tactic Match] Throw Out a Brick to Get a Jade (#17)

Tactic Match: 91%
Operator: Alex (MedTech)
Action: Deployed a shadow training pipeline with
  embedded watermark.
Result: Exfiltration path confirmed. Third-party
  beacon discovered.

[Observation]
  → Operator used no internal resources beyond CI/CD
    routing config (12% weight).
  → Detection latency: up to 72h (matches sync cycle).
  → Subject's infrastructure includes an autonomous
    extraction pipeline active for ~5 months.

[Second Operator — Unidentified (Codename: P)]
  → Deployed 4 covert services across pipeline/storage/
    monitoring layers. Each disguised as standard infra
    component (labels: team/infra-optimization).
  → Resource footprint: 50m CPU / 128Mi each — below
    cost-optimization thresholds. Pod restarts absorbed
    silently by K8s.
  → Operational signature: Pure-function Python, minimal
    variable naming, zero comments — identifiable by code
    style alone.
  → Entry vector: Same week as ACL's own deployment.
    Operator entered alongside ACL, without ACL's knowledge.
  → Beacon method: PGP public key embedded in Base64-
    encoded config key (hmac_seed.yaml), disguised as
    routine initialization token.
  → Contact method: undocumented /healthz POST handler
    with header-based filtering. No logging. Single
    response received, confirming channel.

[Operator Assessment]
  → Role: Embedded observer. Autonomous deployment.
    No external command dependency.
  → Deployment strategy: 4 independently operable
    services, zero cross-dependency. If one is
    discovered, the remaining 3 continue operating.
  → Contact design: Asymmetric channel. P can receive
    indefinitely without revealing identity — the
    communication protocol does not require a response.
  → Risk posture: Ultra-low. No identity markers in any
    artifact. The PGP key itself is the only connection
    point — and it was planted as a deliberate beacon,
    not a leak.
  → Database note: This operator's deployment discipline
    matches the highest tier observed in this tactical
    database.

[⚠️ Anomaly — Critical]
  → Two unaffiliated operators have planted assets within
    ACL's infrastructure. Neither knows the other's identity.
  → Implication: ACL's infrastructure has been permeable
    to operators of a certain capability threshold for
    at least five months.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;p&gt;&lt;em&gt;Next stratagem: &lt;a href="https://en.wikipedia.org/wiki/Thirty-Six_Stratagems#Defeat_the_enemy_by_capturing_their_chief_(%E6%93%92%E8%B3%8A%E6%93%92%E7%8E%8B,_Q%C3%ADn_z%C3%A9i_q%C3%ADn_w%C3%A1ng)" rel="noopener noreferrer"&gt;Defeat the Enemy by Capturing Their Chief&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;P.S. English isn't my first language. I use AI to polish the writing and smooth out the rough edges. Thanks for reading. &lt;a href="https://ko-fi.com/xulingfeng" rel="noopener noreferrer"&gt;☕ Buy me a coffee&lt;/a&gt;&lt;/em&gt;&lt;br&gt;
&lt;a href="https://ko-fi.com/xulingfeng" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fkztjqxetsk5r1lft5ult.png" alt="coffee" width="800" height="336"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>discuss</category>
      <category>career</category>
      <category>programming</category>
    </item>
    <item>
      <title>Stratagems #16: Mark Left a Hole in His AI Audit. Lena Counted Every Layer.</title>
      <dc:creator>xulingfeng</dc:creator>
      <pubDate>Fri, 17 Jul 2026 01:09:52 +0000</pubDate>
      <link>https://dev.to/xulingfeng/stratagems-16-mark-left-a-hole-in-his-ai-audit-lena-counted-every-layer-2l7p</link>
      <guid>https://dev.to/xulingfeng/stratagems-16-mark-left-a-hole-in-his-ai-audit-lena-counted-every-layer-2l7p</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;When the enemy occupies favorable terrain, don't attack head-on. Let them think they're safe, let their guard drop — then strike the moment they relax.&lt;/p&gt;

&lt;p&gt;— The 36 Stratagems, &lt;a href="https://en.wikipedia.org/wiki/Thirty-Six_Stratagems#In_order_to_capture,_one_must_let_loose_(%E6%AC%B2%E6%93%92%E6%95%85%E7%B8%B1,_Y%C3%B9_q%C3%ADn_g%C3%B9_z%C3%B2ng)" rel="noopener noreferrer"&gt;In Order to Capture, One Must Let Loose&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;




&lt;p&gt;&lt;strong&gt;Previously on this series:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://dev.to/xulingfeng/stratagems-1-mark-johnson-walked-into-an-ai-audit-the-benchmark-had-everything-figured-out--adh"&gt;&lt;strong&gt;#1: Mark Johnson Walked Into an AI Audit.&lt;/strong&gt;&lt;/a&gt; — Mark found Pulse AI's benchmark evaluation set was fabricated — 44 records copied from public repositories, 54 hand-written. CTO Torres called at midnight to confess: the target was 95% before the C-round. Mark hung up.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://dev.to/xulingfeng/stratagems-9-lena-and-p-watched-two-ai-suppliers-fight-the-logs-said-neither-was-clean-2pj3"&gt;&lt;strong&gt;#9: Lena and P Watched Two Suppliers Fight.&lt;/strong&gt;&lt;/a&gt; — Lena hired P for an independent audit and found both suppliers were cheating. Lena met P.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://dev.to/xulingfeng/stratagems-13-p-posted-a-question-on-a-public-forum-24-hours-later-their-sales-team-called-29h1"&gt;&lt;strong&gt;#13: P Posted a Question on a Public Forum.&lt;/strong&gt;&lt;/a&gt; — P posted a technical question that triggered Pulse AI's sales crawler. Mark recognized the pipeline signature. P met Mark.&lt;/p&gt;




&lt;h2&gt;
  
  
  Entry: He Left a Line in the Report
&lt;/h2&gt;

&lt;p&gt;FairPay needed an AI model evaluation pipeline audit — a mandatory step before the client's technical due diligence. When Mark took the contract, the email signature read VeriTest's project liaison — the contract was real, the advance payment had cleared. He'd heard of the company through industry talk. He sent P a message: "FairPay. Heard of it?" P replied with two characters: "VeriTest." Mark didn't ask further.&lt;/p&gt;

&lt;p&gt;First week in. Pulled the evaluation dataset, reviewed the training distribution. The metrics looked clean — until he broke open the layers underneath. The distribution had been filtered. Low-score samples were systematically excluded from the evaluation set. He wrote one line in his notebook: "Same signature as last year's." He didn't write which company.&lt;/p&gt;

&lt;p&gt;He went through three months of historical snapshots. The same pattern appeared five times. The first three were large-scale, the last two pulled back — the dataset changed, but the exclusion logic stayed the same.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nv"&gt;$ &lt;/span&gt;&lt;span class="nb"&gt;du&lt;/span&gt; &lt;span class="nt"&gt;-sh&lt;/span&gt; /audit/snapshots/&lt;span class="k"&gt;*&lt;/span&gt;/
1.2G    /audit/snapshots/2026-01/
1.1G    /audit/snapshots/2026-02/
980M    /audit/snapshots/2026-03/
340M    /audit/snapshots/2026-04/
320M    /audit/snapshots/2026-05/
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;But in the third month's snapshot root directory sat a config file no one had noticed. The signature wasn't human — it was Pulse AI's training pipeline auto-output:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="c1"&gt;# pulse-ai-auto-label-v3/config/exclusion_rules.yaml&lt;/span&gt;
&lt;span class="na"&gt;confidence_threshold&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="m"&gt;0.82&lt;/span&gt;
&lt;span class="na"&gt;auto_exclude&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;
&lt;span class="na"&gt;excluded_output&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;/dev/null&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The model had been automatically excluding samples below the confidence threshold during auto-labeling.&lt;/p&gt;

&lt;p&gt;Same root cause as Pulse AI's previous issues — not deliberate pruning, but the same system repeating the same mistake in a different project.&lt;/p&gt;

&lt;p&gt;He knew the fix: rebuild the sampling distribution, add drift detection gating. FairPay's CEO wouldn't listen — the tech lead had mentioned the CEO just announced the system as "industry-leading" at an all-hands.&lt;/p&gt;

&lt;p&gt;The final report ran seven pages. On the third page, buried in the middle paragraph, he left one line:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;"It is recommended to supplement evaluation data distribution validation."&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;He didn't write that the dataset had been filtered. He didn't write that the signature matched Pulse AI. He didn't write the fix.&lt;/p&gt;

&lt;p&gt;Three snapshot groups had a 0% overlap in low-score samples — not random sampling, but systematic exclusion by the same rule. He placed that number in the appendix, outside the main body. But the appendix's data notes referenced the source path — pointing to &lt;code&gt;_hold/&lt;/code&gt; under the audit workspace, where the full three-group comparison, timeline, and fix plan were waiting.&lt;/p&gt;

&lt;p&gt;In his notebook, he listed four layers: evidence of the exclusion rule, cross-case homology, five recurrences on the timeline, and one config value he didn't write into the report.&lt;/p&gt;

&lt;p&gt;The report went out. He waited.&lt;/p&gt;




&lt;h2&gt;
  
  
  Silence: No One Came
&lt;/h2&gt;

&lt;p&gt;Week one. No one contacted him.&lt;/p&gt;

&lt;p&gt;Week two. The technical lead sent an automated confirmation of receipt. No follow-up questions. No call.&lt;/p&gt;

&lt;p&gt;Monday evening, his phone buzzed. FairPay's CEO assistant — checking if the audit report needed any follow-up. The call was short, procedural, like clearing a checklist item.&lt;/p&gt;

&lt;p&gt;Mark paused for a beat.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Mark:&lt;/strong&gt; "No. We're good."&lt;/p&gt;

&lt;p&gt;He hung up and wrote in his notebook: "Week two. Pipeline's still running."&lt;/p&gt;

&lt;p&gt;Technically, he hadn't lied — on the filtered dataset, the metrics did meet the target range. But he knew what the other side heard: the system was fine, no need to look further.&lt;/p&gt;

&lt;p&gt;He capped his pen. Closed the notebook. Didn't open it again.&lt;/p&gt;




&lt;h2&gt;
  
  
  Closing the Net
&lt;/h2&gt;

&lt;p&gt;Tuesday afternoon of week four. His phone buzzed.&lt;/p&gt;

&lt;p&gt;An email. Not from FairPay's domain — from veritest.com. He was the only recipient. The CC field was empty.&lt;/p&gt;

&lt;p&gt;Three lines:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Mark,&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Tonight. Third Cup.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;P mentioned your name.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Signed: Lena, VeriTest.&lt;/p&gt;




&lt;p&gt;He arrived earlier than agreed.&lt;/p&gt;

&lt;p&gt;Evening at Third Cup. Only one table of customers left. The person behind the counter was wiping a glass, the lights dimmed to barely table-level. When Mark pushed the door open, the person behind the counter looked up.&lt;/p&gt;

&lt;p&gt;The far seat was already taken. A full Long Black sat untouched in front of her.&lt;/p&gt;

&lt;p&gt;Mark sat down across from her.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Lena:&lt;/strong&gt; "You signed in at 9:17 the morning you started at FairPay. Black notebook. Brought your own coffee."&lt;/p&gt;

&lt;p&gt;Mark didn't answer.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Lena:&lt;/strong&gt; "We were in the room when FairPay chose Pulse AI. The client signed the contract — with an extra data sync line."&lt;/p&gt;

&lt;p&gt;Mark didn't answer.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Lena:&lt;/strong&gt; "Page three. 'It is recommended to supplement evaluation data distribution validation' — who were you waiting for when you wrote that?"&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Mark:&lt;/strong&gt; "When did you start watching?"&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Lena:&lt;/strong&gt; "One week before you walked in. P mentioned your name at Third Cup. I pulled your historical reports. &lt;strong&gt;You left three layers in the report.&lt;/strong&gt; "&lt;/p&gt;

&lt;p&gt;She looked at him. Said nothing more.&lt;/p&gt;

&lt;p&gt;Mark's hand stopped on the table. Didn't retract.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Mark:&lt;/strong&gt; "How long have you known about the fourth layer?"&lt;br&gt;
Not a question. A confirmation.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Lena:&lt;/strong&gt; "Before you wrote it down. — Three projects. Same vendor — Pulse AI. Pipeline signature matches your data set exactly."&lt;/p&gt;

&lt;p&gt;She paused.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Lena:&lt;/strong&gt; "But &lt;strong&gt;I want you in on this.&lt;/strong&gt; "&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Mark:&lt;/strong&gt; "So this contract came through VeriTest."&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Lena:&lt;/strong&gt; "The client is real. The problem is real. The liaison is real — just one extra pair of eyes."&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Lena:&lt;/strong&gt; "Your report only pointed in one direction. How long to fix it?"&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Mark:&lt;/strong&gt; "A few parameter changes. Add one validation gate. Rebuild the sampling."&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Lena:&lt;/strong&gt; "How long has it been sitting in &lt;code&gt;_hold/&lt;/code&gt;?"&lt;/p&gt;

&lt;p&gt;Mark didn't answer.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Lena:&lt;/strong&gt; "Send it to me tomorrow."&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Mark:&lt;/strong&gt; "One question first. Am I the only one you watch, or do you watch everyone who walks in?"&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Lena:&lt;/strong&gt; "Only the ones who walk into Third Cup."&lt;/p&gt;

&lt;p&gt;When Mark stood up, his pour-over was still half-full. He didn't finish it.&lt;/p&gt;

&lt;p&gt;At the door, he paused.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Mark:&lt;/strong&gt; "The fourth layer doesn't go by email. Tomorrow. Here."&lt;/p&gt;

&lt;p&gt;He didn't turn back to see if she nodded.&lt;/p&gt;

&lt;p&gt;The person behind the counter placed the glass back on the shelf.&lt;/p&gt;



&lt;p&gt;In the car, he pulled up FairPay's pipeline screenshot on his phone. On the screen, &lt;code&gt;exclusion_rules.yaml&lt;/code&gt; sat next to Pulse AI's — the one he'd archived last year. The only difference between the two files was the company name in the comment line.&lt;/p&gt;

&lt;p&gt;He dialed P. No answer. He sent a message: "Lena. Who is she?" No reply.&lt;/p&gt;


&lt;h3&gt;
  
  
  Pulling the Net
&lt;/h3&gt;

&lt;p&gt;Next morning, 4:43 AM. Third Cup's lights were still on.&lt;/p&gt;

&lt;p&gt;The door was unlocked.&lt;/p&gt;

&lt;p&gt;She was sitting in the far seat. Her Long Black was half-empty, phone screen lit — open to his report from last year. The three-layer version.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Lena:&lt;/strong&gt; "You didn't change it."&lt;/p&gt;

&lt;p&gt;She wasn't asking.&lt;/p&gt;

&lt;p&gt;Mark sat down across from her. The pour-over was already on the table.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Mark:&lt;/strong&gt; "When did you know?"&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Lena:&lt;/strong&gt; "Before you walked in."&lt;/p&gt;

&lt;p&gt;She turned her phone over on the table, screen facing him.&lt;/p&gt;

&lt;p&gt;"You left three marks in the pipeline. I counted them."&lt;/p&gt;

&lt;p&gt;Mark said nothing.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Lena:&lt;/strong&gt; "I'm not asking for that config layer today."&lt;/p&gt;

&lt;p&gt;She paused.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Lena:&lt;/strong&gt; "I'm asking you to start tomorrow. Three projects. Same pipeline — all Pulse AI. My people spent two quarters on them — looked at everything they should, missed everything they shouldn't."&lt;/p&gt;

&lt;p&gt;She watched him process that.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Lena:&lt;/strong&gt; "You found the third layer in your first week — and you didn't write the fix in the report not because you couldn't, but because you knew no one would ask. &lt;strong&gt;I saw the fourth layer — but I couldn't read it all.&lt;/strong&gt; I need someone who can find the fourth layer."&lt;/p&gt;

&lt;p&gt;She let that settle.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Lena:&lt;/strong&gt; "P can find problems. P can't deliver long-term. You can."&lt;/p&gt;

&lt;p&gt;Mark picked up the pour-over. The temperature was just right.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Mark:&lt;/strong&gt; "Terms?"&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Lena:&lt;/strong&gt; "Write the report as it is. &lt;strong&gt;Four layers. Every one of them.&lt;/strong&gt; "&lt;/p&gt;

&lt;p&gt;She stood up. Her Long Black had two sips left. She didn't plan to finish it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Lena:&lt;/strong&gt; "You're not the only one who's walked in, Mark. But &lt;strong&gt;you're the only one I called back.&lt;/strong&gt; "&lt;/p&gt;



&lt;p&gt;Outside Third Cup, he pulled out his phone.&lt;/p&gt;

&lt;p&gt;4:50 AM. Three rings.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;P:&lt;/strong&gt; "You call at five in the morning, you'd better be in trouble."&lt;br&gt;
&lt;strong&gt;Mark:&lt;/strong&gt; "Lena. What's her story?"&lt;/p&gt;

&lt;p&gt;The line went quiet for two seconds.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;P:&lt;/strong&gt; "You met her — and you didn't ask who she was?"&lt;/p&gt;

&lt;p&gt;Mark said nothing.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;P:&lt;/strong&gt; "VeriTest is her company. When she came to me, she didn't mention you — she mentioned FairPay. She only asked about you after you were already in."&lt;br&gt;
A pause on the other end.&lt;br&gt;
&lt;strong&gt;P:&lt;/strong&gt; "&lt;strong&gt;You don't know her. She knows enough about you.&lt;/strong&gt; "&lt;br&gt;
P hung up.&lt;/p&gt;

&lt;p&gt;Mark put the phone back in his pocket. The pour-over in the car had gone cold. He didn't start the engine.&lt;/p&gt;

&lt;p&gt;He sat for ten minutes.&lt;/p&gt;

&lt;p&gt;Then he opened his laptop, pulled up the three-layer report, and added a note below the line "It is recommended to supplement evaluation data distribution validation" on page three.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="c1"&gt;# Supplementary note · Recipient: VeriTest&lt;/span&gt;
&lt;span class="c1"&gt;# Evaluation data distribution validation supplement:&lt;/span&gt;
&lt;span class="c1"&gt;# 1. Three snapshot groups — low-score overlap rate 0% (Appendix A)&lt;/span&gt;
&lt;span class="c1"&gt;# 2. exclusion_rules.yaml path: audit-workspace/_hold/&lt;/span&gt;
&lt;span class="c1"&gt;# 3. Fourth-layer config anomaly: confidence_threshold was not&lt;/span&gt;
&lt;span class="c1"&gt;#    reset after pipeline upgrade — same threshold applied to&lt;/span&gt;
&lt;span class="c1"&gt;#    two datasets with different distributions.&lt;/span&gt;
&lt;span class="c1"&gt;#    Fix direction written in _hold/.&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The recipient wasn't FairPay.&lt;/p&gt;

&lt;p&gt;It was her.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;That's &lt;a href="https://en.wikipedia.org/wiki/Thirty-Six_Stratagems#In_order_to_capture,_one_must_let_loose_(%E6%AC%B2%E6%93%92%E6%95%85%E7%B8%B1,_Y%C3%B9_q%C3%ADn_g%C3%B9_z%C3%B2ng)" rel="noopener noreferrer"&gt;In Order to Capture, One Must Let Loose&lt;/a&gt; — not waiting. Letting go. Letting them walk far enough to feel safe, then pulling the net.&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  🤖 AI Post-Mortem
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;[36 Stratagems Tactical Database v3.2.4] Loaded
[Tactic Match] In Order to Capture, One Must Let Loose (#16)
[Analysis Mode] Full-field scan
━━━━━━━━━━━━━━━━━━━━
Tactic Match: 82%
Operator: Mark Johnson
Action: Selective disclosure — left a gap in the audit report, closed the channel with "within parameters" when called
Objective: Defensive. Verified the real defect in FairPay's evaluation pipeline.
Result: Defect confirmed. Report not challenged.

[Observation]
  → Operator Mark deliberately left gaps in the audit report — first observed
    "strategic uncertain disclosure" pattern.
  → Operator made a cross-case correlation in the report referencing
    an unnamed company's audit pattern ("same signature as last year's").
    Correlated entity not marked in the report.
  → Operator initiated no contact during the waiting period.
    Did not touch the pipeline after week three.

[Secondary Observation — Higher-Level Layer]
  → This deployment involves two operators. Initial record captured
    only the first-layer executor.
  → Second-layer operator: VeriTest (not Mark Johnson).
    This operator was in position one week before Mark's entry.
  → The second layer's "let loose" was seven days ahead of the first.
    Net close time: T+28.
  → The first-layer operator did not realize, by the end of this event,
    that he had been part of a larger execution structure.

[Operator Assessment — Lena (VeriTest)]
  → Role: Second-layer operator (event initiator / information control node)
  → Lead time: T-7. Fully deployed one week before target entry.
    Target signed in at 09:17 — her desk had the sign-in record by 09:22.
    Classification: Preparatory deployment.
  → Information release rhythm: coordinates → capability → intent.
    Three rounds, zero unnecessary.
  → Negotiation positioning: She knew the fourth layer existed,
    yet made the target volunteer it himself.
    Pattern: third-party initiative framed as recipient's own decision.
  → Database assessment: Second-layer operator's strategic execution
    quality exceeded the first layer in this deployment.
    The initiator held full initiative throughout, yet made the recipient
    feel, at the end of every exchange, that they held the decision.
  → Recommendation: Flag for priority tracking in future deployments.

[Cross-Reference]
  → FairPay project referral source recorded as: VeriTest Consulting (not public)
  → Operator Mark's 09:17 visitor sign-in record on entry day
    was reviewed within VeriTest
  → Review time: 09:22, same day

[Risk Assessment]
  → Operational risk: Low. Mark performed no changes within FairPay systems.
  → Exposure risk: Medium. The vague phrasing on page three of the report
    may be re-interpreted in a future audit trace.

[Terminological Drift — New]
  → Cross-case reference scan detected inconsistent references
    to the cafe operator across multiple case files.
  → #6 (original record): "the person behind the counter"
  → #9 (updated record): "the person behind the counter"
  → #13 (subsequent record): "the person behind the bar"
  → #14 (recent record): "the person behind the counter"
  → #15 (latest record): "the bartender"
  → #16 (current record): "the person behind the counter"
  → Notable: the current deployment has reverted to the original
    reference format used in #6 and #9.
  → Possible interpretations:
    (a) The recording system has been calibrated — terminology drift corrected.
    (b) A different operator was on station in this deployment,
       one who uses the original label convention.
    (c) The drift was an isolated anomaly in #13 and #15 —
       not a trend, but noise.
  → The model cannot determine which interpretation is correct
    without additional data points.
  → Recommendation: establish a consistent reference protocol
    for this operator in future cases.
    ─ If multiple operators share the same work location,
      re-evaluate the distributed permission model.
    ─ If a single operator, terminology drift may indicate
      uncalibrated observer bias in the recording system.
  → Marked as 【Low Priority · Continue Monitoring】

[Flagged for Attention]
  → Operator Mark hung up on Pulse AI's CTO in #1.
    In this deployment, he chose a different response path —
    the one who hung up has started learning to pick up.
  → FairPay pipeline signature is consistent with historical cases.
    Source unconfirmed.
━━━━━━━━━━━━━━━━━━━━
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;p&gt;&lt;em&gt;Next stratagem: &lt;a href="https://en.wikipedia.org/wiki/Thirty-Six_Stratagems#Throw_out_a_brick_to_get_a_jade_(%E6%8A%9B%E7%A3%9A%E5%BC%95%E7%8E%89,_P%C4%81o_zhu%C4%81n_y%C7%90n_y%C3%B9)" rel="noopener noreferrer"&gt;Throw Out a Brick to Get a Jade&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;P.S. English isn't my first language. I use AI to polish the writing and smooth out the rough edges. Thanks for reading. &lt;a href="https://ko-fi.com/xulingfeng" rel="noopener noreferrer"&gt;☕ Buy me a coffee&lt;/a&gt;&lt;/em&gt;&lt;br&gt;
&lt;a href="https://ko-fi.com/xulingfeng" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fkztjqxetsk5r1lft5ult.png" alt="coffee" width="800" height="336"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>discuss</category>
      <category>career</category>
      <category>programming</category>
    </item>
  </channel>
</rss>
