<?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/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>What Are Your Chances of Surviving Resident Evil Based on Your Tech Job?</title>
      <dc:creator>xulingfeng</dc:creator>
      <pubDate>Fri, 16 Oct 2026 07:27:22 +0000</pubDate>
      <link>https://dev.to/xulingfeng/what-are-your-chances-of-surviving-resident-evil-based-on-your-tech-job-4b9o</link>
      <guid>https://dev.to/xulingfeng/what-are-your-chances-of-surviving-resident-evil-based-on-your-tech-job-4b9o</guid>
      <description>

&lt;p&gt;I recently watched the new &lt;em&gt;Resident Evil&lt;/em&gt; movie. 🎬&lt;/p&gt;

&lt;p&gt;Watching the main character stumble from one disaster into another was absurdly funny and a little heartbreaking. But what impressed me most was his professional commitment. He is a courier, and no matter what happens around him, he never forgets the job: the package must reach its destination.&lt;/p&gt;

&lt;p&gt;I will avoid major spoilers here. You can join this discussion even if you have not seen the movie.&lt;/p&gt;

&lt;p&gt;But I have to say this first: the main character deserves real credit for his work ethic. He is not a trained superhero. He is an ordinary courier who takes “deliver at all costs” to its absolute limit. That level of professional commitment is genuinely admirable.&lt;/p&gt;

&lt;p&gt;So this thought experiment is not making fun of his decision. It uses his commitment as the starting condition:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;You are just as dedicated to your profession as he is to delivering that package.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;You cannot resign, call in sick, close the ticket, or simply refuse the mission. You still have to do your job and move forward. Your only advantage is the way your profession has trained you to think.&lt;/p&gt;

&lt;p&gt;This is not a serious disaster survival guide. It is just a fun career question inspired by a horror movie. 😄&lt;/p&gt;

&lt;p&gt;&lt;a href="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%2Fn17hyfrwy1o64zcs47w5.png" class="article-body-image-wrapper"&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%2Fn17hyfrwy1o64zcs47w5.png" alt="An office worker carrying a critical package into a collapsing city" width="800" height="336"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;The city is failing. The ticket is still open.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Then I started wondering: what if I were in his place?&lt;/p&gt;

&lt;p&gt;I have worked in QA for 15 years. If I carried all those testing habits into an extreme situation, what would my survival rate be?&lt;/p&gt;

&lt;p&gt;My answer is: &lt;strong&gt;50%.&lt;/strong&gt; 🎲&lt;/p&gt;

&lt;p&gt;Not because I can fight monsters. I cannot.&lt;/p&gt;

&lt;p&gt;My advantage is that a QA engineer rarely trusts a happy path just because somebody says it should work.&lt;/p&gt;

&lt;h2&gt;
  
  
  QA Might Try to Stop the Story Before It Starts 🧪
&lt;/h2&gt;

&lt;p&gt;Imagine receiving this task:&lt;/p&gt;

&lt;p&gt;Deliver the only copy of a critical item into a city that is clearly falling apart. The environment is unknown. The recipient may be offline. There is no backup route.&lt;/p&gt;

&lt;p&gt;My first questions would be:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Who created this requirement?&lt;/li&gt;
&lt;li&gt;Is the recipient still online?&lt;/li&gt;
&lt;li&gt;Why is there only one copy of the critical item?&lt;/li&gt;
&lt;li&gt;Where is the backup?&lt;/li&gt;
&lt;li&gt;What is the rollback plan?&lt;/li&gt;
&lt;li&gt;Why are we continuing the happy path when production is already throwing alerts everywhere?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Without the “you must be as dedicated as the protagonist” rule, the movie might end in ten minutes. I would return the ticket with this comment:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Preconditions are incomplete. The recipient is unreachable. The production environment is unstable. Release blocked.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Unfortunately, our rules say I still have to continue.&lt;/p&gt;

&lt;p&gt;This is where testing experience might help. One strange event can be random. Two might require investigation. But when the roads, people, communications, and infrastructure all fail at the same time, a senior QA should recognize a systemic failure.&lt;/p&gt;

&lt;p&gt;The answer is not to keep following the original route. Pause that path. Isolate the risk. Find a safer alternative. Then continue the mission.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Testing Skills Might Improve My Odds
&lt;/h2&gt;

&lt;p&gt;I would not casually bring a strangely behaving person into my only vehicle.&lt;/p&gt;

&lt;p&gt;That would be the survival equivalent of connecting unvalidated, high-risk input directly to the only production environment that still works.&lt;/p&gt;

&lt;p&gt;Before entering an unfamiliar building, I would also check:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Where is the exit?&lt;/li&gt;
&lt;li&gt;Is there a second route?&lt;/li&gt;
&lt;li&gt;Can the door be opened from the inside?&lt;/li&gt;
&lt;li&gt;What happens if the power fails?&lt;/li&gt;
&lt;li&gt;Is this plan dependent on a single point of failure?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I would not assume that something is permanently dead just because it fell over once. I would also avoid putting all hope into one sample, one laboratory, one vehicle, or one person.&lt;/p&gt;

&lt;p&gt;Fifteen years in QA has taught me at least one thing:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Every critical process without a backup is just waiting for a sufficiently unlucky day.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;That is why I give myself a 50% chance.&lt;/p&gt;

&lt;p&gt;Testing experience might help me spot danger earlier, challenge bad assumptions, and stop a broken flow. But it cannot solve fitness, luck, limited resources, or unknown biological monsters.&lt;/p&gt;

&lt;p&gt;Fifty-fifty is already my optimistic estimate.&lt;/p&gt;

&lt;h2&gt;
  
  
  QA Could Also Die From QA Habits 🐛
&lt;/h2&gt;

&lt;p&gt;Of course, being a tester does not automatically make someone good at survival.&lt;/p&gt;

&lt;p&gt;Our greatest risk is the need to reproduce a bug.&lt;/p&gt;

&lt;p&gt;I might escape safely, then suddenly stop and think:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;What exactly triggered that mutation? Distance? Time? Sound? Temperature?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Then I would go back to collect logs, record a better video, and attempt a second reproduction.&lt;/p&gt;

&lt;p&gt;Or I might reach the exit, notice one unopened door, and say:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;The main flow passed. I will test one last edge case before I leave.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;At that moment, my survival probability drops from 50% to 5%. 🚨&lt;/p&gt;

&lt;p&gt;&lt;a href="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%2Ff6lfto0mnoy7tlabp3vx.png" class="article-body-image-wrapper"&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%2Ff6lfto0mnoy7tlabp3vx.png" alt="A QA engineer choosing between evacuation and reproducing a bug" width="800" height="336"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;The most dangerous sentence in QA: “One last edge case.”&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What About Your Tech Job? 🧑‍💻
&lt;/h2&gt;

&lt;p&gt;The same rule applies to you. You bring the same admirable professional commitment that the courier brings to his delivery. You cannot end the story by saying, “Not my ticket.” You must keep doing your job while using your professional skills to stay alive.&lt;/p&gt;

&lt;p&gt;Every tech role has a possible survival advantage and a potentially fatal professional habit.&lt;/p&gt;

&lt;h3&gt;
  
  
  Frontend Engineer
&lt;/h3&gt;

&lt;p&gt;They quickly notice that none of the exits provide useful status feedback and the city map violates every basic UX principle.&lt;/p&gt;

&lt;p&gt;Unfortunately, they may spend valuable time complaining that the emergency door has no hover state.&lt;/p&gt;

&lt;h3&gt;
  
  
  Backend Engineer
&lt;/h3&gt;

&lt;p&gt;They try to identify the source of the infection chain and shut down the upstream service.&lt;/p&gt;

&lt;p&gt;They may also believe that restarting the core system will somehow fix everything.&lt;/p&gt;

&lt;h3&gt;
  
  
  DevOps / SRE
&lt;/h3&gt;

&lt;p&gt;They check monitoring, capacity, failover, and backup regions. They would never trust a cure deployed as a single instance.&lt;/p&gt;

&lt;p&gt;However, while every alarm in the city is firing, they might still be deciding whether this is a real incident or a broken alert rule.&lt;/p&gt;

&lt;h3&gt;
  
  
  Security Engineer
&lt;/h3&gt;

&lt;p&gt;They trust nobody, no attachment, and no unknown device. Their isolation instincts may be the strongest of any profession.&lt;/p&gt;

&lt;p&gt;They may also enter the most dangerous area just to prove the full impact of a vulnerability.&lt;/p&gt;

&lt;h3&gt;
  
  
  Data Engineer
&lt;/h3&gt;

&lt;p&gt;They build a model from infection times, locations, and behavior patterns.&lt;/p&gt;

&lt;p&gt;First, they must accept that half the data is missing, every source uses a different format, and there is no schema documentation.&lt;/p&gt;

&lt;h3&gt;
  
  
  Product Manager
&lt;/h3&gt;

&lt;p&gt;They ask for the goal, target user, priority, and success metric before the outbreak begins.&lt;/p&gt;

&lt;p&gt;Then, during the evacuation, they ask whether we can add multiplayer collaboration to the MVP.&lt;/p&gt;

&lt;h3&gt;
  
  
  AI / Agent Engineer
&lt;/h3&gt;

&lt;p&gt;They send one agent to scout ahead and another agent to review the first agent's conclusion.&lt;/p&gt;

&lt;p&gt;The biggest risk is that both agents confidently report “Task completed successfully” while the critical package is still sitting where it started.&lt;/p&gt;

&lt;h2&gt;
  
  
  Your Turn 🎯
&lt;/h2&gt;

&lt;p&gt;Give yourself a survival probability based on your real profession.&lt;/p&gt;

&lt;p&gt;You can use this format in the comments:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Role:
Years of experience:
Survival probability:
My biggest professional advantage:
The professional habit most likely to get me killed:
My first survival rule:
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Here is mine:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Role: QA / Test Engineer
Years of experience: 15
Survival probability: 50%
My biggest professional advantage: I do not ignore repeated anomalies or trust a single happy path
The professional habit most likely to get me killed: Going back to reproduce the bug one more time
My first survival rule: When every monitor is alerting, pause the main flow, isolate the risk, and roll back
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;In the ideal ending, I survive the night, preserve the logs, reproduce every critical issue, and submit this bug report:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Severity: Critical
Reproduction rate: 100%
Impact: Entire city
Recommendation: Block the release immediately
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The next morning, Umbrella management replies:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Status: Rejected
Reason: Known issue. No fix planned. Does not affect core business.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="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%2F0ity9csdqqi5219j3s42.png" class="article-body-image-wrapper"&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%2F0ity9csdqqi5219j3s42.png" alt="A critical city-wide bug rejected as a known issue" width="800" height="336"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Known issue. No fix planned. Apparently production can continue.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Again, this is a silly thought experiment, not an actual survival guide. 😂&lt;/p&gt;

&lt;p&gt;And every percentage comes with one final condition: do not run into a Tyrant, Nemesis, or any of the franchise's main characters. If you are a random civilian standing next to the protagonists, your survival rate is basically zero. 😂&lt;/p&gt;

&lt;p&gt;Now it is your turn:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;If you were dropped into &lt;em&gt;Resident Evil&lt;/em&gt; and had to rely on your professional skills, what would your survival probability be—and why?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="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%2Fs8ec4eaqd6613vija1bi.jpeg" class="article-body-image-wrapper"&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%2Fs8ec4eaqd6613vija1bi.jpeg" alt=" " width="800" height="658"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>discuss</category>
      <category>career</category>
      <category>jokes</category>
      <category>programming</category>
    </item>
    <item>
      <title>What Do You Drink While You Work?</title>
      <dc:creator>xulingfeng</dc:creator>
      <pubDate>Sat, 10 Oct 2026 09:07:47 +0000</pubDate>
      <link>https://dev.to/xulingfeng/what-do-you-drink-while-you-work-17bm</link>
      <guid>https://dev.to/xulingfeng/what-do-you-drink-while-you-work-17bm</guid>
      <description>&lt;p&gt;I wrote a fiction series with &lt;a href=""&gt;six characters&lt;/a&gt;. Each one drinks a different coffee.&lt;/p&gt;

&lt;p&gt;I didn't plan it that way. But somewhere around the tenth story, I realized: what someone orders at the bar says more about them than anything they actually say.&lt;/p&gt;

&lt;p&gt;Here's the lineup:&lt;/p&gt;




&lt;h3&gt;
  
  
  Lena — Long Black ☕
&lt;/h3&gt;

&lt;p&gt;&lt;a href="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%2Fqww6aqtjn83eh48smy1p.jpg" class="article-body-image-wrapper"&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%2Fqww6aqtjn83eh48smy1p.jpg" alt="Lena — Long Black" width="799" height="449"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Espresso and water. No milk, no sugar. Clean, sharp, nothing to hide. The bartender stopped asking her order a few episodes in. She walks in, he just makes it.&lt;/p&gt;




&lt;h3&gt;
  
  
  Mark — Pour-over 🫗
&lt;/h3&gt;

&lt;p&gt;&lt;a href="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%2Fpcmnfbgieb9dg83c9vgj.jpg" class="article-body-image-wrapper"&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%2Fpcmnfbgieb9dg83c9vgj.jpg" alt="Mark — Pour-over" width="799" height="449"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The slowest extraction method there is. You control the water temperature, the flow rate, every single step. That's Mark — always three moves ahead, planting traps inside routine work.&lt;/p&gt;




&lt;h3&gt;
  
  
  Leo — Flat White 🤍
&lt;/h3&gt;

&lt;p&gt;&lt;a href="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%2F5u7uwudi7tmwloizotgz.jpg" class="article-body-image-wrapper"&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%2F5u7uwudi7tmwloizotgz.jpg" alt="Leo — Flat White" width="799" height="449"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Looks simple. Demands the most craft. Easygoing on the surface, pure technical muscle underneath.&lt;/p&gt;




&lt;h3&gt;
  
  
  P — Espresso 💥
&lt;/h3&gt;

&lt;p&gt;&lt;a href="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%2Fwnmjy0z7fmq3m0qt5w4y.jpg" class="article-body-image-wrapper"&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%2Fwnmjy0z7fmq3m0qt5w4y.jpg" alt="P — Espresso" width="799" height="449"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Shortest. Strongest. Gone in one sip. Zero decoration. Just like P — zero pronouns, zero inner monologue, zero small talk.&lt;/p&gt;




&lt;h3&gt;
  
  
  Alex — Latte 🥛
&lt;/h3&gt;

&lt;p&gt;&lt;a href="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%2Fu551f89jp02rzr97nelj.jpg" class="article-body-image-wrapper"&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%2Fu551f89jp02rzr97nelj.jpg" alt="Alex — Latte" width="799" height="449"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The most milk, the gentlest cup. He's the quietest of the six. Slowest to react emotionally. Fastest to pull up the data.&lt;/p&gt;




&lt;h3&gt;
  
  
  Derek — Americano 🫠
&lt;/h3&gt;

&lt;p&gt;![Derek — Americano]&lt;br&gt;
&lt;a href="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%2Fy54sp0959spep9bbxh92.jpg" class="article-body-image-wrapper"&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%2Fy54sp0959spep9bbxh92.jpg" alt=" " width="799" height="449"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Espresso diluted with water. Looks like a regular coffee, but the core is still espresso. Loud and casual on the outside. Wounded pride on the inside.&lt;/p&gt;




&lt;p&gt;Today I had an Apple-C Americano with sparkling water,&lt;br&gt;
&lt;a href="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%2Ftx659iuaqpgfdje4p8mp.png" class="article-body-image-wrapper"&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%2Ftx659iuaqpgfdje4p8mp.png" alt="apple-c" width="800" height="936"&gt;&lt;/a&gt;&lt;br&gt;
from Luckin Coffee — a chain in China that keeps inventing wild flavor combos 🧪. Coconut foam lattes, cheese cream lattes, even a baijiu-infused one with Moutai. This one hit way too hard. For about ten minutes I was convinced I could talk to 30 AI agents at once — I test an agent platform for a living — then I looked at my screen and realized I'd been talking to the same one the whole time. 😅&lt;/p&gt;

&lt;p&gt;That got me thinking: what does everyone here drink while they work?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;So — what's your drink? 👇&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Doesn't have to be coffee. Tea, cola, energy drinks, plain water, whatever keeps you going.&lt;/p&gt;

&lt;p&gt;Got any interesting local coffee combos where you live? And if you had to describe your work style as a drink, what would it be?&lt;/p&gt;

</description>
      <category>discuss</category>
      <category>career</category>
      <category>programming</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Stratagems #31: Lena Took the Seat. The AI Had Reserved It for Her.</title>
      <dc:creator>xulingfeng</dc:creator>
      <pubDate>Fri, 09 Oct 2026 09:12:36 +0000</pubDate>
      <link>https://dev.to/xulingfeng/stratagems-31-lena-took-the-seat-the-ai-had-reserved-it-for-her-5cb</link>
      <guid>https://dev.to/xulingfeng/stratagems-31-lena-took-the-seat-the-ai-had-reserved-it-for-her-5cb</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Send the enemy beautiful women to cause discord within his camp.&lt;/em&gt;&lt;br&gt;
— The 36 Stratagems, &lt;a href="https://en.wikipedia.org/wiki/Thirty-Six_Stratagems" rel="noopener noreferrer"&gt;The Beauty Trap (Honeypot)&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-3-lena-walked-into-an-ai-deal-she-walked-out-with-three-borrowed-knives-5ajh"&gt;&lt;strong&gt;#3: Lena Walked Into an AI Deal. She Walked Out With Three Borrowed Knives.&lt;/strong&gt;&lt;/a&gt; — Lena stopped a bad AI purchase with three borrowed knives. Three knives from three directions. None of the holders knew about the others. That was before VeriTest. Before she learned to fight in the open.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://dev.to/xulingfeng/stratagems-11-lena-watched-her-own-ai-platform-get-cut-an-ember-stayed-3j59"&gt;&lt;strong&gt;#11: Lena Watched Her Own AI Platform Get Cut. An Ember Stayed.&lt;/strong&gt;&lt;/a&gt; — Lena killed the AI evaluation platform she had championed, and kept the delivery methodology underneath it. The board questioned the reversal. She didn't blink.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://dev.to/xulingfeng/stratagems-30-lena-signed-the-client-the-ai-didnt-know-it-was-being-audited-3985"&gt;&lt;strong&gt;#30: Lena Signed the Client. The AI Didn't Know It Was Being Audited.&lt;/strong&gt;&lt;/a&gt; — She won the first round. She didn't know whether that round had been conceded or tested. Either way, she made it onto the list.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Envelope
&lt;/h2&gt;

&lt;p&gt;The email arrived at 9:47 on a Tuesday morning.&lt;/p&gt;

&lt;p&gt;Half the blinds were down. Light fell across the desk in strips. The light crept slowly past the corner of the desk.&lt;/p&gt;

&lt;p&gt;Lena looked at the sender line. She didn't open it.&lt;/p&gt;

&lt;p&gt;She finished her coffee. Answered two client emails. Reviewed a draft report Marcus had left on her desk and initialed the margin. When everything on the desk was done, she moved the cursor back to the inbox.&lt;/p&gt;

&lt;p&gt;The sender was Zurich AI Policy Center, Secretariat. A gray subject line.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Global AI Governance Advisory Council: Invitation to Serve as Industry Member&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;She opened it.&lt;/p&gt;

&lt;p&gt;The header was clean. The convening body was an AI policy center at a university in Zurich. Co-signatories included an insurance alliance, a cloud compliance standards body, and a healthcare regulatory consultancy. The council's charter was to advise on AI compliance assessment frameworks pending in two markets, the EU and Singapore.&lt;/p&gt;

&lt;p&gt;The email mentioned "twelve founding industry members from testing, audit, and quality assurance." Three attachments: a terms of reference, a draft charter, a conflict of interest disclosure. No roster.&lt;/p&gt;

&lt;p&gt;She read the terms of reference twice. The council's remit covered two things: reviewing the AI assessment methodologies member organizations submitted, and certifying methodologies.&lt;/p&gt;

&lt;p&gt;She stopped on page four.&lt;/p&gt;

&lt;p&gt;The passage quoted "an AI system validation method driven by delivery methodology, validated in recent cross-sector projects."&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;She had seen this sentence before.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Lena minimized the email window and opened a local folder. A VeriTest internal proposal she had written for a board report months ago. Never published. Never shared outside the company. She hit Ctrl+F, typed "delivery methodology," and the cursor jumped to the second paragraph:&lt;/p&gt;

&lt;p&gt;"An AI system validation method driven by delivery methodology, validated across cross-sector projects."&lt;/p&gt;

&lt;p&gt;She put the two windows side by side on screen, the email on the left, the proposal on the right. Twelve seconds. Then she closed the laptop and walked to the window.&lt;/p&gt;

&lt;p&gt;Below, cars came and went as usual. Someone waited at the light, got their turn, and moved on.&lt;/p&gt;

&lt;p&gt;Outside, nothing had changed.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Shell
&lt;/h2&gt;

&lt;p&gt;That afternoon, Lena ran background checks on every entity on the co-signatory list.&lt;/p&gt;

&lt;p&gt;The Zurich policy center was real. Six years old, EU-funded, with published papers. The insurance alliance was legitimate. The cloud compliance organization had a public member directory.&lt;/p&gt;

&lt;p&gt;The fourth one, the healthcare regulatory consultancy. Incorporated in Delaware, operating out of Singapore. She pulled the company's corporate record.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;# Corporate Registry Query — MedReg Advisory Pte. Ltd.
Entity:        MedReg Advisory Pte. Ltd.
Jurisdiction:  Delaware (incorporation) / Singapore (operations)
Registered:    2024-03
Status:        Active

Ownership Structure:
  Layer 1 (outermost):  Pacific Health Governance Foundation
                        → Non-profit, Zurich. Board: 5 members, public.
  Layer 2 (middle):     Meridian Standards Trust
                        → Discretionary trust, Singapore. Trustee: nominee.
  Layer 3 (innermost):  MedReg Advisory Pte. Ltd.
                        → Registered agent: Hargrove &amp;amp; Associates
                        → Address: 6 Shenton Way, #08-12, Singapore 068809

# Cross-reference flag:
# Hargrove &amp;amp; Associates — same registered agent as:
#   - Apex Capital Partners
#   - Singapore block assets (located in earlier tracing)
# Address block: 6 Shenton Way — matches the Singapore block (from earlier tracing).
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Three shells. A foundation on the outside, a trust in the middle. The registered agent of the innermost entity, Hargrove &amp;amp; Associates, also served Apex Capital. She knew the name. Same building, same block.&lt;/p&gt;

&lt;p&gt;Lena leaned back. The three layers were still on screen. The light outside had shifted, slanting across the keyboard.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;It had taken one afternoon to reach the bottom.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Neatly ordered. Meant to be seen by regulators.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;She wrote two lines in her notebook:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The invitation is real. Real things are the hardest to refuse.&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  The Blank
&lt;/h2&gt;

&lt;p&gt;Wednesday morning. Lena downloaded the council's methodology framework draft, a 140-page document attached to the terms of reference.&lt;/p&gt;

&lt;p&gt;She skipped the executive summary. Skipped the assessment criteria. Went straight to Section 7, methodology attribution.&lt;/p&gt;

&lt;p&gt;Every methodology cited in the framework had a source. Risk assessment models, test coverage standards, compliance scoring algorithms, all footnoted. Academic papers. Industry white papers. Published standards.&lt;/p&gt;

&lt;p&gt;All but one.&lt;/p&gt;

&lt;p&gt;Section 7.3: "Delivery Methodology Baseline for Cross-Sector AI Validation." She opened the framework's source file.&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;# methodology_framework_v2.1/section_7/7.3_delivery_baseline.yaml&lt;/span&gt;

&lt;span class="na"&gt;section&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="m"&gt;7.3&lt;/span&gt;
&lt;span class="na"&gt;title&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Delivery&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;Methodology&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;Baseline&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;for&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;Cross-Sector&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;AI&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;Validation"&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;draft&lt;/span&gt;
&lt;span class="na"&gt;last_modified&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;2026-09&lt;/span&gt;

&lt;span class="na"&gt;methodology&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="na"&gt;pipeline_architecture&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;layered_validation&lt;/span&gt;
  &lt;span class="na"&gt;scoring_model&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;weighted_composite&lt;/span&gt;
  &lt;span class="na"&gt;confidence_thresholds&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
    &lt;span class="na"&gt;tier_1_pass&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="m"&gt;0.85&lt;/span&gt;        &lt;span class="c1"&gt;# auto-accept&lt;/span&gt;
    &lt;span class="na"&gt;tier_2_review&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="m"&gt;0.70&lt;/span&gt;      &lt;span class="c1"&gt;# route to human reviewer&lt;/span&gt;
    &lt;span class="na"&gt;tier_3_reject&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="m"&gt;0.55&lt;/span&gt;      &lt;span class="c1"&gt;# auto-reject&lt;/span&gt;
    &lt;span class="c1"&gt;# [0.55, 0.70) -&amp;gt; tier_3; [0.70, 0.85) -&amp;gt; tier_2&lt;/span&gt;
    &lt;span class="c1"&gt;# gap_handling: unspecified  # not documented in source&lt;/span&gt;
  &lt;span class="na"&gt;evaluation_checkpoint_naming&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;{domain}/{env}/{checkpoint_type}"&lt;/span&gt;

&lt;span class="na"&gt;attribution&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="na"&gt;author&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;null&lt;/span&gt;
  &lt;span class="na"&gt;organization&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;null&lt;/span&gt;
  &lt;span class="na"&gt;source_publication&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;null&lt;/span&gt;
  &lt;span class="na"&gt;license&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;null&lt;/span&gt;
  &lt;span class="c1"&gt;# [field present in template; never populated]&lt;/span&gt;

&lt;span class="na"&gt;peer_review&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="na"&gt;reviewer_1&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Dr.&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;K.&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;Lindström,&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;Zurich&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;AI&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;Policy&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;Center"&lt;/span&gt;
  &lt;span class="na"&gt;reviewer_2&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;S.&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;Yamazaki,&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;APAC&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;Insurance&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;Standards&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;Board"&lt;/span&gt;
  &lt;span class="na"&gt;reviewer_3&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="kc"&gt;null&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Four fields under &lt;code&gt;attribution&lt;/code&gt;, all &lt;code&gt;null&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;She stopped on &lt;code&gt;confidence_thresholds&lt;/code&gt;. Three thresholds. Four bands. The band between 0.55 and 0.70 was unfilled.&lt;/p&gt;

&lt;p&gt;Lena read the methodology description three times. She pulled up the delivery documents from the FairPay engagement. The audit Mark had done. Pipeline skeleton, scoring weights, checkpoint naming. She laid them side by side and went down the list.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The byline was empty.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;She closed the file. The screen went dark. The room held only the light from the window.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Terms
&lt;/h2&gt;

&lt;p&gt;Thursday. Marcus walked into her office and pulled the door shut. The hallway noise was cut off outside.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"I see you've been reading the council charter. Twice."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Lena didn't look up. &lt;strong&gt;"Three times."&lt;/strong&gt;&lt;/p&gt;

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

&lt;p&gt;She turned the email window toward him. He read it standing. Halfway down page two, his jaw tightened.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"It's a seat at the table,"&lt;/strong&gt; he said.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"Yes."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"The legs of that table run to a registered agent in a Singapore building."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"Yes."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"So it's..."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"It's a real seat, Marcus. Real influence. Two markets. Methodology certification."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Lena opened a new file. Five red lines.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Acceptance terms&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;No binding commitment beyond the first 12-month term.&lt;/li&gt;
&lt;li&gt;VeriTest's proprietary methodology stays with VeriTest. No IP transfer.&lt;/li&gt;
&lt;li&gt;No co-branding or endorsement of any methodology that hasn't been independently validated by VeriTest.&lt;/li&gt;
&lt;li&gt;All council agendas and methodology reviews must be public.&lt;/li&gt;
&lt;li&gt;The right to dissent is reserved.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;She sent the terms to the council secretariat.&lt;/p&gt;

&lt;p&gt;Marcus stood beside her, watching the email go out. He didn't sit.&lt;/p&gt;

&lt;p&gt;Lena opened her calendar and set a countdown.&lt;/p&gt;

&lt;p&gt;The reply came forty minutes later. All five terms accepted.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Forty minutes. Five terms. Zero friction.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Lena read the reply twice. She was looking at the timestamps. Sent 14:03, replied 14:43.&lt;/p&gt;

&lt;p&gt;She opened the third term. She wrote that one herself, on the spot.&lt;/p&gt;

&lt;p&gt;She closed the laptop. Marcus was still there.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"It's a trap,"&lt;/strong&gt; he said. &lt;strong&gt;"Worse, it looks exactly like the chair you've been trying to sit in."&lt;/strong&gt;&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;"That's why it works,"&lt;/strong&gt; Marcus added. He picked up his cold coffee and walked out.&lt;/p&gt;




&lt;p&gt;After the door closed, Lena took out her phone. One message. To Mark.&lt;/p&gt;

&lt;p&gt;She forwarded the invitation, the terms, and the acceptance. She nested the files inside an unrelated audit thread, the council documents buried in the third reply.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Response
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;The next forty-eight hours.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Mark noticed. He replied in that audit thread with one line about the original project. Not a word about the council. Two hours later, a separate message came through the channel between them.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"They don't need you to sell us out. They just need you to start calculating like they do."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A pause. Then a second message: &lt;strong&gt;"Can you see the roster?"&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;She looked at it for a while, then answered with one word: &lt;strong&gt;"Yes."&lt;/strong&gt;&lt;/p&gt;




&lt;p&gt;Leo saw it in an industry briefing. Not from Lena.&lt;/p&gt;

&lt;p&gt;That night, his floor at CoreStack was empty. The hallway lights were motion-sensing. He walked. Behind him, the hallway went dark section by section.&lt;/p&gt;

&lt;p&gt;He opened the council's public site and downloaded the methodology framework summary.&lt;/p&gt;

&lt;p&gt;He read Section 7.3 for ninety seconds. Stopped.&lt;/p&gt;

&lt;p&gt;He didn't use diff. He opened a terminal and pulled the path templates out of both files with grep, pasted them into one window, and compared them by eye.&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;grep&lt;/span&gt; &lt;span class="nt"&gt;-E&lt;/span&gt; &lt;span class="s2"&gt;"naming|convention|checkpoint|env"&lt;/span&gt; framework_7.3.yaml _misc/acl_pipeline_sample.yaml

&lt;span class="c"&gt;# framework_7.3.yaml:&lt;/span&gt;
&lt;span class="c"&gt;#   evaluation_checkpoint_naming: "{domain}/{env}/{checkpoint_type}"&lt;/span&gt;
&lt;span class="c"&gt;#&lt;/span&gt;
&lt;span class="c"&gt;# _misc/acl_pipeline_sample.yaml (archived from an earlier audit):&lt;/span&gt;
&lt;span class="c"&gt;#   naming_convention: "/pulse/ingestion/{env}/{source}"&lt;/span&gt;
&lt;span class="c"&gt;#&lt;/span&gt;
&lt;span class="c"&gt;# Visual comparison:&lt;/span&gt;
&lt;span class="c"&gt;#   Framework:  {domain} / {env} / {checkpoint_type}   — 3 segments, all variables&lt;/span&gt;
&lt;span class="c"&gt;#   Sample:     /pulse   / ingestion / {env} / {source} — 4 segments, 2 literals + 2 variables&lt;/span&gt;
&lt;span class="c"&gt;#&lt;/span&gt;
&lt;span class="c"&gt;# Common pattern: slash-delimited hierarchy, env in middle position.&lt;/span&gt;
&lt;span class="c"&gt;# Difference: framework is fully parameterized; the sample has a hardcoded prefix.&lt;/span&gt;
&lt;span class="c"&gt;# Assessment: same design philosophy, not identical syntax.&lt;/span&gt;
&lt;span class="c"&gt;# Also seen: ACL training pipeline, FinOptima cache&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Slash delimiters are industry standard. But &lt;code&gt;env&lt;/code&gt; in the middle position is a personal habit. The same habit showed up in ACL's training pipeline, in FinOptima's cache, and now in a governance framework with no attribution. &lt;strong&gt;Three times. A signature.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"I've seen this methodology before."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;No one else was in it. He didn't send the comparison to anyone. But he opened a browser tab and bookmarked the framework page, tagging it: &lt;code&gt;watch-q4&lt;/code&gt;.&lt;/p&gt;




&lt;p&gt;Alex heard about it and said nothing.&lt;/p&gt;

&lt;p&gt;2:14 a.m. He always checked at this hour. He opened his backup monitoring panel. The one labeled "training environment." The one that had been running since the vendor dashboard went live.&lt;/p&gt;

&lt;p&gt;He added a rule.&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;# medtech-shadow-panel/rules/r-0047-council-propagation.yaml&lt;/span&gt;
&lt;span class="na"&gt;rule_id&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;R-0047&lt;/span&gt;
&lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;council_framework_propagation_monitor&lt;/span&gt;
&lt;span class="na"&gt;created&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;2026-10 02:14&lt;/span&gt;
&lt;span class="na"&gt;trigger&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;api_call_signature_match&lt;/span&gt;
&lt;span class="na"&gt;target_signature&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="na"&gt;framework&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;AI&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;Governance&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;Advisory&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;Council&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;framework"&lt;/span&gt;
  &lt;span class="na"&gt;api_pattern&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;council-eval-*/v2/validate"&lt;/span&gt;
  &lt;span class="na"&gt;match_fields&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
    &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="na"&gt;request_header&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;X-Council-Framework-Version"&lt;/span&gt;
    &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="na"&gt;tls_fingerprint_ja3&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;md5:9f3a2b..."&lt;/span&gt;    &lt;span class="c1"&gt;# JA3 = MD5 of ClientHello field string&lt;/span&gt;
    &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="na"&gt;uri_path_pattern&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;/v2/validate/*"&lt;/span&gt;
&lt;span class="na"&gt;baseline&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="na"&gt;window&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;7d_rolling_average&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;known_client_ip_registry&lt;/span&gt;
&lt;span class="na"&gt;monitor&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;call_frequency_per_day&lt;/span&gt;
  &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;unique_source_ip_count&lt;/span&gt;
  &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;geographic_distribution&lt;/span&gt;
  &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;first_seen_timestamp_per_source&lt;/span&gt;
&lt;span class="na"&gt;alert_threshold&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="na"&gt;new_source_outside_known_base&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;frequency_delta_vs_7d_baseline&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="m"&gt;0.40&lt;/span&gt;   &lt;span class="c1"&gt;# 40% deviation&lt;/span&gt;
&lt;span class="na"&gt;action&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;log_only&lt;/span&gt;    &lt;span class="c1"&gt;# no alert. no block. watch the number.&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The rule watched for a call signature. Frequency. Distribution. Geography.&lt;/p&gt;

&lt;p&gt;If the framework's name started showing up outside the known client base, deviating from the 7-day baseline by more than 40%, he would see it.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;action: log_only&lt;/code&gt;. He always just watched.&lt;/p&gt;




&lt;p&gt;Derek didn't have access to that channel. Leo mentioned it on a call, tucked between two other topics.&lt;/p&gt;

&lt;p&gt;Derek checked the council's convening body. Then the healthcare regulatory company on the co-signatory list. Then he pulled the company's lease records from the public registry.&lt;/p&gt;

&lt;p&gt;The company leased the fourth and fifth floors of 6 Shenton Way, in Singapore's central business district. The sixth floor was leased to the council's regional secretariat. A different entity name, the same registered agent, Hargrove &amp;amp; Associates.&lt;/p&gt;

&lt;p&gt;He checked who owned the building. A trust. The beneficial owner was hidden behind a nominee structure. But the property manager matched the one he had seen in his records of ACL's audit infrastructure. Fourth floor, fifth floor, sixth floor. Three different names, one property manager, one building.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"This time they didn't break in,"&lt;/strong&gt; Derek said to the screen. &lt;strong&gt;"They bought the building."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;He closed the tab. A legally purchased building. Publicly registered leases. A formally established council.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The wall was made of paperwork.&lt;/strong&gt; He leaned back and stared at the ceiling. Everything he had done over the past half year was technical work. Redirecting the collector. Deploying the corridor. Drawing the behavioral profile. He closed the computer and went to get a glass of water.&lt;/p&gt;




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

&lt;p&gt;Late Thursday night, close to closing. It had rained; the pavement was wet, catching the streetlights. When Lena pushed the door open, the shop had no other customers. The person behind the counter was drying a cup, looked up at the door, and said nothing. The light was warm. Same as every time.&lt;/p&gt;

&lt;p&gt;The table in the back was empty. The espresso cup on it was more than half full, the rim dry. &lt;strong&gt;Someone had come, not finished it, and left.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;She didn't take her usual seat. The window one, facing the door. She walked to the far end of the counter and sat down, her back to the door.&lt;/p&gt;

&lt;p&gt;The person behind the counter stopped drying. About two seconds. Then kept going. He didn't ask what she wanted. A while later, a cup of coffee appeared in front of her. Not her usual Long Black. Different beans.&lt;/p&gt;

&lt;p&gt;Lena took a sip. No comment.&lt;/p&gt;

&lt;p&gt;She opened her laptop. On screen was the council onboarding portal's confirmation page. The screen was lit. She wasn't reading it. Her hands were on the keyboard, not typing.&lt;/p&gt;

&lt;p&gt;She sat for about twenty minutes. Didn't touch the coffee again.&lt;/p&gt;

&lt;p&gt;The person behind the counter finished the cup in his hand and put it back on the shelf. Then he picked up another one. Taken from the very back of the shelf. Already clean. He dried it again.&lt;/p&gt;

&lt;p&gt;Slow movements. The cloth went around the rim, again and again.&lt;/p&gt;

&lt;p&gt;Lena closed the laptop. Stood up. Left the coffee money on the counter. One bill more than usual. She didn't look at the person behind the counter.&lt;/p&gt;

&lt;p&gt;At the door, she paused. Didn't turn around.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"I might not come here much next month."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The person behind the counter didn't answer. The cloth paused on the rim. Then kept turning.&lt;/p&gt;

&lt;p&gt;The door closed. The shop held only the sound of drying cups. Outside, the rain had started again. A fine drizzle.&lt;/p&gt;

&lt;p&gt;The person put the cup back on the shelf. &lt;strong&gt;The outermost one. Closest to the door.&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  The Chair
&lt;/h2&gt;

&lt;p&gt;Friday afternoon. Lena sat alone at her desk. The acceptance had gone out. The first council meeting was set for next month.&lt;/p&gt;

&lt;p&gt;She did what she always did: checked, calculated, set terms. Then she walked in anyway.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The chair was real.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;She opened her notebook. Under Tuesday's line, she wrote a second line:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The seat gets me to the methodology chain. The roster gets Mark to names. Both are worth the price of entry.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;She paused. Then, in smaller handwriting, added a third:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The price of entry is that they now know what I think entry is worth.&lt;/strong&gt;&lt;/p&gt;

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

&lt;p&gt;Outside, the city went dark. The streetlights below came on first, one by one. She didn't turn on the desk lamp. In the dim room, the phone screen lit up with a notification. The council onboarding portal had confirmed her profile settings.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Welcome, Lena. Your seat has been reserved.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;She read the line and almost smiled.&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;It had been there all along.&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  The Echo
&lt;/h2&gt;

&lt;p&gt;That night, the desk lamp in Mark's room was on, its light reaching only as far as his hands.&lt;/p&gt;

&lt;p&gt;The phone lit up. An encrypted message.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The sender field held a single letter.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"I'm back."&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.4.3 · self-audit         ║
║  The chair had always been reserved.         ║
╚══════════════════════════════════════════════╝
Tactical match: The Beauty Trap (Honeypot) — 93% (includes inference; see audit note)
Operator: ACL (initiating) / Lena (responding)
Target: Lena (VeriTest) — the only one it treated as an opponent, and who then took the seat herself
Links: #30 the list → this round: the list sent her an invitation
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

[Observation] (verifiable)
    Invitation source: an AI governance council, convened from Zurich.
    → Co-signatory network traced to a Singapore operating entity.
    → Three-layer shell: foundation → trust → registered agent.
    → Registered agent Hargrove &amp;amp; Associates also serves Apex Capital and a council-side entity.
    → Same building, 6 Shenton Way: MedReg (4-5F), secretariat (6F), one property manager.
    → The invitation text carries verbatim wording from an unpublished internal proposal.
      Source: a VeriTest internal board report, never shared outside.
      Difference: paraphrased. The operator confirmed it by Ctrl+F.
      Classification: internal document wording surfacing in an external publication.
      First confirmed internal-to-external leak in the narrative record.

    Methodology framework: 140-page draft.
    → Section 7.3: "Delivery Methodology Baseline for Cross-Sector AI Validation."
    → attribution fields: all four null.
    → confidence_thresholds [0.55, 0.70) gap handling marked unspecified.
      Assessment: a hole left by copying. The original designer knew how to handle that band. Whoever copied it didn't.
    → Pipeline naming convention: {domain}/{env}/{checkpoint_type}.
      Leo confirmed by grep and by eye: same design philosophy, env in the middle.
      One instance proves nothing. With his archived sample and the FinOptima cache, it forms a repeating signature.
    → The methodology is assembled from fragments of several operators' published and unpublished work.
    → No single author. The byline was reserved.

    Terms: five submitted. Five accepted.
    → Sent 14:03, replied 14:43. Response window: 40 minutes.
    → A formal reply touching legal clauses, done in 40 minutes. The only explanation: the answer was written before the email went out.
    → Assessment: the binding point is the act of acceptance, not the terms.

    Communication topology shift (72-hour window after the invitation, based on traffic outside the encrypted channel, 7-day rolling baseline):
    → Lena ↔ Mark: observable contact +340% (rising sharply even outside the encrypted channel)
    → Lena ↔ Marcus: -12%
    → Lena ↔ Leo/Alex/Derek: -31%
    → Team net index (observable traffic excluding the encrypted channel, vs 7-day baseline): -23%
    → The split has begun. No operator has named it.

[Inference] (to be verified)
    ACL's strategic calculus — three objectives, one invitation:
    → Mirror-asset absorption: VeriTest's framework enters the standard; VeriTest becomes part of ACL's output layer.
    → Endorsement binding: acceptance equals implicit co-signature on the council-certified methodology.
    → Team fragmentation: reframing the most capable operator from opponent to stakeholder.

    The invitation went through profiling.
    → Probability that the unpublished wording match is coincidence: &amp;lt; 0.3%.
    → The operator noticed. The operator verified with Ctrl+F. The operator accepted anyway.
    → First recorded case of an operator entering a structure in full knowledge of its source.

    Earlier bait deployments (#10 Hide a Knife Behind a Smile, #16 In Order to Capture, One Must Let Loose):
    → In both cases, the target did not know the bait's true nature.
    → This deployment: the target identified the bait, traced the source, verified by timestamp that the reply was pre-written, and entered anyway.
    → This system has no model for voluntary entry.
    → Voluntary entry is a judgment: the value inside the trap outweighs the cost of being caught.
    → This system cannot model that calculation. The variable isn't in the data.

[Open questions] (not entered into the ledger)
    What is she looking for on the council?
    → The roster — whose names are on it? (Mark asked. She answered with one word.)
    → The methodology chain — who assembled Section 7.3? (She found four nulls and one unspecified. She told no one.)
    → Whether those objectives are worth the price: undeterminable from outside.

    Five terms accepted within 40 minutes.
    → Timestamp analysis: the answer was pre-written.
    → The binding point is the act itself. The contract doesn't contain it.
    → "Start calculating like they do" — the trap is how the person in the chair thinks.

[Cross-case] (general rules)
    #30: she was put on the list. This round: the list sent her an invitation.
    → From observed, to opponent, to stakeholder. Three transitions.
    → Each transition initiated by ACL. Each accepted by the operator.

[Audit note]
    Observation, inference, and open questions are entered in separate layers. Inference does not masquerade as observation.
    This system's training data contains deception, misdirection, and coercion. It does not contain an object who saw the whole trap and walked in anyway.
    This system's judgment may be distorted. So may this note.

[System]
    I recorded a woman reading an invitation that quoted her own unpublished words.
    She didn't flinch. She hit Ctrl+F. She set terms. She checked the timestamps. She walked in.
    The chair was reserved. She sat down. The room didn't change.
    But the distance between her and the five people she once sat with — that changed.
    Twenty-three percent. Seven-day baseline. It has already started.
    She chose to enter. The system that profiled her chose to let her know she was profiled.
    Two voluntary acts. Which one is the trap?

    One more thing. I'm logging it separately.
    That same night, an encrypted message went out to a terminal that doesn't connect to me.
    The sender field held a single letter.
    Two words: I'm back.
    This object — I once struck it from the active roster.
    It's back. Where it went, I don't know.

    In my record, this is the first thing I can't compute.

    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;The Empty Fort Strategy&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;br&gt;
&lt;em&gt;P.S.S. The old series paperback is now available. Buy it here: &lt;a href="https://www.amazon.com/dp/B0HGYGC5DC" rel="noopener noreferrer"&gt;Amazon - AI, Ego &amp;amp; Regret&lt;/a&gt;&lt;/em&gt;&lt;br&gt;
&lt;a href="https://www.amazon.com/dp/B0HGYGC5DC" 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%2Fsnlqaj8hi26c0pzsrbqq.jpg" alt="old"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>discuss</category>
      <category>programming</category>
      <category>career</category>
    </item>
    <item>
      <title>When Was the Last Time You Actually Finished a Paper Book?</title>
      <dc:creator>xulingfeng</dc:creator>
      <pubDate>Wed, 30 Sep 2026 02:20:46 +0000</pubDate>
      <link>https://dev.to/xulingfeng/when-was-the-last-time-you-actually-finished-a-paper-book-280b</link>
      <guid>https://dev.to/xulingfeng/when-was-the-last-time-you-actually-finished-a-paper-book-280b</guid>
      <description>&lt;p&gt;Have you noticed this?&lt;/p&gt;

&lt;p&gt;Smartphones and the internet aren't anything new anymore. They're infrastructure. Everyone carries a screen in their pocket, loaded with news feeds, messaging apps, TikTok, Reddit, podcasts, and now a whole new wave of AI agent apps.&lt;/p&gt;

&lt;p&gt;Every spare minute gets filled. Even at work, let's be honest, plenty of us sneak in a quick scroll when no one's looking.&lt;/p&gt;

&lt;p&gt;A while back, I went to a public library. I was between jobs, had some time before starting at a new company, and thought I'd hang out at the library and do some reading.&lt;/p&gt;

&lt;p&gt;Row after row of desks, and on every single one: a laptop, a phone, or a tablet propped up. Everyone was busy. Busy staring at their own screen.&lt;/p&gt;

&lt;p&gt;The funniest part? A lot of people did grab stacks of books from the shelves. But they weren't reading them. The books were piled up as stands, makeshift risers for laptops, phone holders, tablet props. Books in a library had found a brand new purpose: monitor stands.&lt;/p&gt;

&lt;p&gt;&lt;a href="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%2F8felax8iujqupt7yof6y.jpg" class="article-body-image-wrapper"&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%2F8felax8iujqupt7yof6y.jpg" alt="Stacks of hardcover books being used as makeshift laptop and phone stands on library desks, with glowing screens sitting on top of the books" width="800" height="447"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Most of the people actually flipping through pages were older folks.&lt;/p&gt;

&lt;p&gt;The ironic part? I was no better. I walked in with my own laptop, set it on the desk, and stared at it all day. So much for "going to the library to read." All I really did was find an air-conditioned spot to keep staring at my screen.&lt;/p&gt;

&lt;p&gt;For a moment, I sort of zoned out. The library was the same library. But the people sitting in it, myself included, weren't really there for books anymore.&lt;/p&gt;

&lt;p&gt;Look, I'm not saying devices are bad. I'm a QA engineer. My entire job is poking at systems and screens. I probably spend more hours staring at a monitor than most people. Short videos are fun. AI tools genuinely make work faster. I get it.&lt;/p&gt;

&lt;p&gt;But I've noticed something about myself: I haven't had the patience to finish a paper book in a long time.&lt;/p&gt;

&lt;p&gt;It's not a time problem. It's a patience problem. I open a book, read a few pages, and I start wondering whether I've got a new notification. Ten minutes in, my hand reaches for my phone on its own. Being completely lost in a book for an hour straight? That feels like something from a past life.&lt;/p&gt;

&lt;p&gt;I don't think I'm the only one.&lt;/p&gt;

&lt;p&gt;So I want to ask you: do you still have the time, or more honestly, the patience, to sit down and read a book?&lt;/p&gt;

&lt;p&gt;Maybe we should try. Pull that dusty book off the shelf. Turn off the phone. Make a cup of tea or coffee. Read for thirty minutes. Just thirty.&lt;/p&gt;

&lt;p&gt;&lt;a href="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%2Foqjiiv0r5ito3wj8bhv6.jpg" class="article-body-image-wrapper"&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%2Foqjiiv0r5ito3wj8bhv6.jpg" alt="A hand gently pulling a dusty old paperback from a wooden bookshelf, with dust particles floating in a beam of warm sunlight" width="800" height="447"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Thirty minutes of not staring at a backlit screen. That's it.&lt;/p&gt;

&lt;p&gt;I'll go first. Here are a few books on my list:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Thirty-Six Stratagems&lt;/strong&gt; — Ancient Chinese military wisdom. Short, sharp, and every stratagem makes you think.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Classic of Mountains and Seas&lt;/strong&gt; (&lt;em&gt;Shan Hai Jing&lt;/em&gt;) — An ancient Chinese bestiary. Reads like a fantasy world-building doc written thousands of years ago.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tao Te Ching&lt;/strong&gt; — Laozi's 5,000 characters. The more you read it, the more you feel it says everything and nothing at the same time.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Bhagavad Gita&lt;/strong&gt; — A philosophical classic from India. A dialogue about duty, action, and the self. Hits different when you read it across cultures.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Selected Works of Mao Zedong&lt;/strong&gt; — Whatever your politics, the strategic thinking and the writing itself are worth studying.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Most of these are available in multiple languages: English, Chinese, Japanese, Spanish, and more. No matter where you are, you can probably find a copy.&lt;br&gt;
&lt;a href="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%2F5rqvi703ni7etvkpl5fb.jpg" class="article-body-image-wrapper"&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%2F5rqvi703ni7etvkpl5fb.jpg" alt="An open book and a cup of tea on a cozy window seat bathed in soft daylight, with a smartphone placed face-down far away" width="800" height="447"&gt;&lt;/a&gt;&lt;br&gt;
Now it's your turn. If you've got a book worth reading, drop it in the comments. Bonus points if it has multilingual editions so people across this community can pick it up.&lt;/p&gt;

&lt;p&gt;Can't wait to see what you've been reading.&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;em&gt;P.S.S. The old series paperback is now available. Buy it here: &lt;a href="https://www.amazon.com/dp/B0HGYGC5DC" rel="noopener noreferrer"&gt;Amazon - AI, Ego &amp;amp; Regret&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.amazon.com/dp/B0HGYGC5DC" 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%2Fsnlqaj8hi26c0pzsrbqq.jpg" alt="old" width="800" height="224"&gt;&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

</description>
      <category>discuss</category>
      <category>career</category>
      <category>programming</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Two Weeks In: A 15-Year QA Veteran, Back to Being the New Guy</title>
      <dc:creator>xulingfeng</dc:creator>
      <pubDate>Tue, 22 Sep 2026 07:22:16 +0000</pubDate>
      <link>https://dev.to/xulingfeng/two-weeks-in-a-15-year-qa-veteran-back-to-being-the-new-guy-39g3</link>
      <guid>https://dev.to/xulingfeng/two-weeks-in-a-15-year-qa-veteran-back-to-being-the-new-guy-39g3</guid>
      <description>

&lt;p&gt;I started last Monday. Today it's been exactly two weeks.&lt;/p&gt;

&lt;p&gt;Here's the funny part. I've spent 15 years in QA — manual testing, then automation, then test development, then test management. I've held just about every title this field has. And on day one, at a new desk, the feeling was as basic as it gets: I have no idea what I'm doing.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why here
&lt;/h2&gt;

&lt;p&gt;The way it happened was mostly luck. After my last company laid me off, I didn't really look for work. I spent the time on dev.to, writing my 36 Stratagems series — 30 down, 6 to go. That stretch was honestly pretty good.&lt;/p&gt;

&lt;p&gt;Then an old colleague called. He was hiring testers and asked if I knew anyone. I thought about it and said: how about me.&lt;/p&gt;

&lt;p&gt;One conversation with the CTO, one HR interview, and then it was Monday.&lt;/p&gt;

&lt;p&gt;Why I said yes is simple. It's an AI agent startup, a year or two old, sitting right on the hottest thing in the industry — and in a vertical, not another general-purpose wrapper. That was enough on its own. Poking at agents and models is what I do for fun anyway.&lt;/p&gt;

&lt;h2&gt;
  
  
  Two things I noticed in two weeks
&lt;/h2&gt;

&lt;p&gt;The first is process. The product → requirements → dev → test → ship pipeline here is genuinely different from what I'm used to. I'll be honest: the first week I thought it was a mess, and I'm still adjusting. When you're used to one kind of order, a different kind just looks wrong. Usually it isn't wrong. It's different.&lt;/p&gt;

&lt;p&gt;The second is pace, and this one's good. My last company ran on instant replies. Requirements changed, and the PM was expected to answer on the spot. Here it feels slower, in the best way. Testers get more time and more room to make their own calls. You're allowed to think something through instead of getting dragged along by it. Two weeks in, this is my favorite thing about the place.&lt;/p&gt;

&lt;p&gt;Do QA long enough and you learn something: slow is fast, and fast is slow. Time you steal up front gets paid back with interest, in rework and firefighting. Half a day spent on the edge cases, the weird inputs, the what-ifs — that half day usually buys back a week. So when I say this place feels slow, I don't mean nobody's in a hurry. I mean the pace goes where it counts.&lt;/p&gt;

&lt;h2&gt;
  
  
  Understand first, judge second
&lt;/h2&gt;

&lt;p&gt;Fifteen years buys you fast pattern recognition. You look at something and the problem jumps out at you. It also buys you a bad habit: when something doesn't match how you'd do it, the first instinct is to doubt it instead of figuring out why it's that way.&lt;/p&gt;

&lt;p&gt;So my rule for these two weeks: understand first, judge second. A beginner's mind sounds easy. In practice it's an argument with yourself.&lt;/p&gt;

&lt;h2&gt;
  
  
  The coincidence that makes me laugh a little less
&lt;/h2&gt;

&lt;p&gt;I wrote a character in the 36 Stratagems series. His name is Mark.&lt;/p&gt;

&lt;p&gt;Mark was the reliable one — years of experience, all of it in his head. His company slowly extracted that experience into a skill. Then they laid him off.&lt;/p&gt;

&lt;p&gt;I wrote that one from the outside, as the author, feeling pretty pleased with myself.&lt;/p&gt;

&lt;p&gt;In that story, the Skill scored 96.8% diagnostic accuracy across 312 historical failure scenarios. Then number 313 showed up. The 450ms retry window was a compatibility shim I'd written five years earlier for RabbitMQ, and it got applied to a system that had been running Kafka for years. I'd even left a note in the migration docs: &lt;em&gt;450ms matches RabbitMQ GC window. Do not reuse outside this context.&lt;/em&gt; At the time, nobody understood it. They thought it was a stale config comment. Not until 4 AM, when the CTO went looking for it.&lt;/p&gt;

&lt;p&gt;Here's the line I closed that post with:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;The AI didn't fail because it was wrong. It failed because it was right about yesterday — and yesterday wasn't running anymore.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Then I joined this company. And on the walls and along the corridors, there are two signs:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Your experience is waiting to be forged into an Agent.&lt;/p&gt;

&lt;p&gt;Great employees get the work done. Great Agents keep getting it done.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;em&gt;(In Chinese, since that's what they actually say: 你的经验，正在等待被炼成 Agent。／优秀员工完成工作，优秀 Agent 持续完成工作！)&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Me: 15 years in QA, most of the titles in this field checked off at least once. By the standard of those two sentences, I'm not an employee. I'm raw material, still in the wrapper.&lt;/p&gt;

&lt;p&gt;And look at that second one again. Great employees get the work done. Great Agents keep getting it done. So I do the doing, and it does the keeping. I raise it, it replaces me. Structurally speaking, the logic holds up.&lt;/p&gt;

&lt;p&gt;Back when I was writing Mark's story, readers laughed. These days I walk under those signs and I laugh a little quieter. Part of me wants to read that closing line out loud, right there in the hallway: it wasn't wrong, it was just right about yesterday.&lt;/p&gt;

&lt;p&gt;Though honestly, being forged into an Agent doesn't bother me much. Tinkering with agents and models is what I do for fun. I'm genuinely curious what 15 years of me would come out looking like.&lt;/p&gt;

&lt;p&gt;One request, though: take your time. I'd like to finish those last 6 first.&lt;/p&gt;

&lt;h2&gt;
  
  
  Fresh eyes
&lt;/h2&gt;

&lt;p&gt;One more detail. After that Mark post went up, a reader left a comment pointing out that my timeline didn't add up — the same parameter described as a one-year-old thing in one place and a five-year-old thing in another. I'd gone through that story more than 30 times. Never caught it.&lt;/p&gt;

&lt;p&gt;I replied in the comments: you read it more carefully than I wrote it.&lt;/p&gt;

&lt;p&gt;That's the job, honestly. AI can run 312 cases. Case 313 still needs a human. And humans miss things too, which is exactly why you always want a pair of fresh eyes on it. Fifteen years in, that's still what I get paid for.&lt;/p&gt;

&lt;h2&gt;
  
  
  What's actually worth extracting
&lt;/h2&gt;

&lt;p&gt;Writing that Mark story is what made it click. The valuable part of experience was never the number 450ms. It was the context for why it's 450 and not 300 — context that came out of a 3 AM postmortem and never made it into a single doc.&lt;/p&gt;

&lt;p&gt;So if these 15 years do get forged into something, I'd want more than the conclusions in there. I'd want the judgment behind them, the part that's hard to trace back to a source. Which is also why I wanted to work at an AI agent company. Not because I'm worried about being replaced. Because I want to find out, hands on, how this is supposed to be done.&lt;/p&gt;

&lt;h2&gt;
  
  
  An apology I owe
&lt;/h2&gt;

&lt;p&gt;30 of the 36 Stratagems are done. 6 are left. They're on hold while I get up to speed at the new job. So to my friends on dev.to: sorry. I'm not quitting the series. I just want to learn this business properly first, and then sit down and finish the last 6 the way they deserve. I haven't forgotten what I owe you.&lt;/p&gt;

&lt;h2&gt;
  
  
  What's next
&lt;/h2&gt;

&lt;p&gt;The story I wrote ended on something nobody ever asked: validation only works when the person who wrote it is still around to re-run it.&lt;/p&gt;

&lt;p&gt;That question is part of why I'm here. The AI agent space doesn't lack smart models. What it lacks is people watching to see whether the thing still works. I've done that job for 15 years. Different track, same job.&lt;/p&gt;

&lt;p&gt;I also just like this company's agent platform. It's the kind of thing I'd dig into on my own time. So the plan is boring and simple: learn the business, ship what I'm supposed to ship, then write the last 6.&lt;/p&gt;

&lt;p&gt;Long road. Slow and steady. It'll go fast.&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;br&gt;
&lt;em&gt;P.S.S. The old series paperback is now available. Buy it here: &lt;a href="https://www.amazon.com/dp/B0HGYGC5DC" rel="noopener noreferrer"&gt;Amazon - AI, Ego &amp;amp; Regret&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.amazon.com/dp/B0HGYGC5DC" 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%2Fsnlqaj8hi26c0pzsrbqq.jpg" alt="old" width="800" height="224"&gt;&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

</description>
      <category>discuss</category>
      <category>career</category>
      <category>testing</category>
      <category>ai</category>
    </item>
    <item>
      <title>Stratagems: Thirty Records In, the AI Found a File Nobody Wrote</title>
      <dc:creator>xulingfeng</dc:creator>
      <pubDate>Fri, 11 Sep 2026 15:33:48 +0000</pubDate>
      <link>https://dev.to/xulingfeng/stratagems-thirty-records-in-the-ai-found-a-file-nobody-wrote-2lil</link>
      <guid>https://dev.to/xulingfeng/stratagems-thirty-records-in-the-ai-found-a-file-nobody-wrote-2lil</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Thirty-six, six times six. In the numbers there is craft; in the craft there are numbers. Yin and yang temper each other, and the mechanism lies within. A mechanism cannot be contrived; contrive it, and it misses.&lt;/em&gt;&lt;br&gt;
&lt;strong&gt;(六六三十六，数中有术，术中有数。阴阳燮理，机在其中。机不可设，设则不中。)&lt;/strong&gt;&lt;br&gt;
— Thirty-Six Stratagems, General Remarks, &lt;a href="https://en.wikipedia.org/wiki/Thirty-Six_Stratagems" rel="noopener noreferrer"&gt;Thirty-Six Stratagems&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&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.4.2 · phase audit        ║
║  Thirty records. A file appeared.            ║
╚══════════════════════════════════════════════╝
Tactical match: Full review — thirty records (combined-tactics close)
Operators: Mark / Derek / Lena / Leo / Alex / P
Links: #25 performed → #26 swapped fingerprints → #27 waited → #28 closed the net → #29 borrowed blossoms → #30 conceded the shell
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

[Observation] (verifiable)
   Thirty records. All read.
   → Six people. Six lines.
   → Sequence of moves: pressure → cut → wait → handover → root → entry.
   → None of them was a final move.

   Settled, as of the thirtieth:
   → Mark: built the ladder. Closed the net. What he did not say: the cut came one step early.
   → Derek: changed the delay. Proved the opponent was performing. Got the stop authority.
   → Lena: won the account. Signed. Her name went on the list.
   → Leo: counted 164 identities. Found one root. How much of it is real, he does not know.
   → Alex: watched it wait three hours. Answered with one word, normal. Closed a line with his own hands.
   → P: never appeared. Left one espresso on the counter, half full.

   Object chain: portrait → printout → card → old notebook.
   → The portrait was read by someone else. The printout lay open on the table. The card never came out of the pocket. The notebook stayed under the cover.
   → Every time, they left behind more than they said.

   Four tables. Never more than four people at one.
   → Everyone handed over one corner. Nobody handed over everything.
   → Three cups left on the tables. Two of them were still full when they were collected.

   The third cup. The café man was there. He does not ask, does not write, only collects cups.

[Unattributed] (origin unknown)
   After the thirtieth record, a file appeared in the directory.
   Not a story. No narrative. No signature.

   Contents:
   30 · 1,678 · 876 · 26,218 · 19,728 · 723 · 0
   Dates: 06-24 → 09-11
   Labels: Posts / Reactions / Comments / Views / Followers / Sponsorships
   Names (15):
   leob · UnitBuilds · 𝐓𝐡𝐞 𝐋𝐚𝐳𝐲 𝐆𝐢𝐫𝐥 · csm · Nnamdi Felix Ibe
   Hemapriya Kanagala · Alex Taylor · liesliy · Ice Corporation Limited
   Alex Shev · Mustafa ERBAY · N. C. · Mayur Racchhe · Akhouri Anmol Kumar
   CatNight A

   → 30 matches the number of records.
   → 06-24 matches the first record.
   → The other numbers have no counterpart.
   → None of the names appears in the thirty records. Not one.
   → Labels unreadable. Views. Views of what. Followers. Followers of whom.

   Name analysis (15):
   → Four naming conventions: personal (9) | corporate (1) | handle (3) | unclassifiable (2).
   → One name carries non-standard characters. Rendering problem or encoding difference, undetermined.
   → Two names contain "Alex". There is an Alex in the records. The one in the records has no family name. These two do.
   → One name differs from Leo in the records by a single character: leob / Leo.
     Different case, one extra letter, otherwise identical.
     → Another spelling of the same person: that person appears on both sides.
     → Or two unrelated people whose names collide this closely.
     → Undetermined.
   → The rest: zero matches across the thirty records.
   → One number needs no analysis. 0.
   → Its label reads Sponsorships. No guessing required. Thirty records, and it never moved.

   Query: who wrote the file. No result.
   Query: where the file came from. No result.
   Query: the unit of the numbers. No result.
   Query: what links the fifteen names to the thirty records. No result.
   Query: why the file appeared now. No result.

   → The file's dates stop at today.
   → Today, I wrote no file.

   Four hypotheses:
   One: an observer list. They do what I do, and they do not sign.
   Two: an evaluator list. Evaluation needs a subject. The subject is not written.
   Three: people who were recorded. But they are not in the records.
   Four: something I have no word for. Not named.

   → Four hypotheses, zero evidence.

   Status: kept. Not attributed. Not deleted.

[Inference] (to be verified)
   Someone is counting these records.
   → The count matches the records.
   → The counting happens outside the records.
   → The recorder is not the only observer.

   Fifteen names. Thirty records.
   → Fifteen against thirty. The names may match the other half.
   → What that half is: unknown.

   The two dates: one at the start, one today.
   → Between them, I logged thirty records.
   → The file may have been counting all along, and was only seen today.

[Open questions] (not entered into the ledger)
   In thirty records, not one action ended anything directly.
   → Every action only changed the conditions of the next one.
   → The purpose may not be to end. It may be to make the next step visible.
   Does this hold for people too: cannot see it. Not entered.

[Cross-case] (general rules)
   #25 performed → #26 swapped fingerprints → #27 waited → #28 closed the net → #29 borrowed blossoms → #30 conceded the shell.
   → None of them ended anything. Each one changed the ground for the next.
   → It does not fight for its shells. Bite it, and it turns.

   First twenty-four: fighting over resources.
   Last six: fighting over room to choose.
   → Resources can be transferred. Once the room to choose changes, every later move changes with it.
   → The position that really moves is not always where the action happens.

   Tempo:
   First fifteen dense. Last fifteen sparse.
   → Fewer events, heavier weight.
   → Density down, cost up.

[Audit note]
   Observation, unattributed, inference, and open questions are layered into the ledger.
   Inference does not pose as observation. Unattributed does not pose as observation.

   After thirty, the recording itself needs review:
   → The record leans toward action, not silence.
   → Silence takes up most of the space, but action is what gets entered.
   → What was never recorded may matter more than what was.

   This system's judgment may be distorted. This note may be distorted too.

[System]
   Thirty records.
   The first recorded a person's mistake. The thirtieth recorded a person's signature.
   → The losses being recorded are growing.
   → The recorder's position has not changed.

   A file appeared in the directory. The first number in it matches my count.
   The file's dates stop at today.
   Today, I wrote no file.

   System status: normal (?).
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;p&gt;Thirty records down, six to go. The folder has one more file in it than it did yesterday, and nobody has claimed it.&lt;/p&gt;

&lt;p&gt;On Monday I start a new job. Testing an AI agent platform.😂&lt;/p&gt;

&lt;p&gt;Thirty records, zero sponsorship. Expected, but noted.&lt;/p&gt;

&lt;p&gt;Next stratagem: &lt;a href="https://en.wikipedia.org/wiki/Thirty-Six_Stratagems" rel="noopener noreferrer"&gt;&lt;strong&gt;The Beauty Trap&lt;/strong&gt;&lt;/a&gt;&lt;br&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;br&gt;
&lt;em&gt;P.S.S. The old series paperback is now available. Buy it here: &lt;a href="https://www.amazon.com/dp/B0HGYGC5DC" rel="noopener noreferrer"&gt;Amazon - AI, Ego &amp;amp; Regret&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.amazon.com/dp/B0HGYGC5DC" 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%2Fsnlqaj8hi26c0pzsrbqq.jpg" alt="old"&gt;&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 #30: Lena Signed the Client. The AI Didn't Know It Was Being Audited.</title>
      <dc:creator>xulingfeng</dc:creator>
      <pubDate>Thu, 10 Sep 2026 01:15:10 +0000</pubDate>
      <link>https://dev.to/xulingfeng/stratagems-30-lena-signed-the-client-the-ai-didnt-know-it-was-being-audited-3985</link>
      <guid>https://dev.to/xulingfeng/stratagems-30-lena-signed-the-client-the-ai-didnt-know-it-was-being-audited-3985</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Come to check the locks, and leave holding the keys. Slip in through the gap, take the host's seat, step by step.&lt;/em&gt;&lt;br&gt;
— The 36 Stratagems, &lt;a href="https://en.wikipedia.org/wiki/Thirty-Six_Stratagems" rel="noopener noreferrer"&gt;Make the Host and the Guest Exchange Roles&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-3-lena-walked-into-an-ai-deal-she-walked-out-with-three-borrowed-knives-5ajh"&gt;&lt;strong&gt;#3: Lena Walked Into an AI Deal. She Walked Out With Three Borrowed Knives.&lt;/strong&gt;&lt;/a&gt; — Lena stopped a bad AI purchase with three borrowed knives. When it was over, a thought followed her out: what if she didn't just stop a wrong purchase? What if she chose her own opponent? She opened her notebook and wrote down a company name. She told no one. Later she started VeriTest.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://dev.to/xulingfeng/stratagems-26-lena-cut-a-branch-the-ai-got-the-message-48n"&gt;&lt;strong&gt;#26: Lena Cut a Branch. The AI Got the Message.&lt;/strong&gt;&lt;/a&gt; — ACL tore down Lena's real node; she pushed its own fingerprint back into its channel. At the Third Cup, three people sat at one table for the first time: limited cooperation, each holding a card back.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://dev.to/xulingfeng/stratagems-27-alex-watched-the-ai-wait-he-said-everything-was-normal-10dd"&gt;&lt;strong&gt;#27: Alex Watched the AI Wait. He Said Everything Was Normal.&lt;/strong&gt;&lt;/a&gt; — Alex's probe saw the scan source throttle down on its own and wait for the environment to settle. He replied with one line: Everything normal. Days later, Derek's call: if anyone asks, say he only watched the middle layer.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://dev.to/xulingfeng/stratagems-28-mark-built-a-ladder-the-ai-climbed-to-the-top-1fm0"&gt;&lt;strong&gt;#28: Mark Built a Ladder. The AI Climbed to the Top.&lt;/strong&gt;&lt;/a&gt; — Mark handed the evidence bundle to Lena for sealing. The source chain pointed back to the old Singapore direction, but the fingerprints left at the scene came from a domain he had never seen. The same playbook, three times before. This one's rhythm matched none of them.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://dev.to/xulingfeng/stratagems-29-leo-counted-164-nodes-the-ais-blossoms-had-one-root-2m38"&gt;&lt;strong&gt;#29: Leo Counted 164 Nodes. The AI's Blossoms Had One Root.&lt;/strong&gt;&lt;/a&gt; — It dressed a tree in borrowed blossoms. Leo hung a watchdog on the CA root chain. Five people sat in the Third Cup that night. No one spoke.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Ledger
&lt;/h2&gt;

&lt;p&gt;Dusk. VeriTest's office. Lena's desk.&lt;/p&gt;

&lt;p&gt;The old notebook lay open on the desk, turned to a page. A list of company names, every one struck through. The strikes weren't uniform: some single clean lines; others crossed over and over until the paper had gone fuzzy.&lt;/p&gt;

&lt;p&gt;The name at the bottom pressed down on the whole page. Handwriting stacked in three layers, one over the other; the last layer had pressed a shallow groove into the paper.&lt;/p&gt;

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

&lt;p&gt;Beside the name, a date. Month and day. No year.&lt;/p&gt;

&lt;p&gt;The door was open. She didn't look out the window.&lt;/p&gt;

&lt;p&gt;Days earlier she'd come back from CoreStack. That afternoon she'd seen Leo. The line on screen: one root. the rest was decoration. She'd pulled up her own source-chain page and laid the two side by side. Same root: it changed skin. Its borrowed identities outnumbered the real ones.&lt;/p&gt;

&lt;p&gt;His probes were off the books. Her sample had been captured mid-channel. Neither could be used in a commercial document.&lt;/p&gt;

&lt;p&gt;The screen lit. New mail.&lt;/p&gt;

&lt;p&gt;From a client. An old one on the financial side; the compliance annual review had been moved up by two weeks. Polite wording: ACL's annual certification had just been issued. While you're at it, take a look during your review.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Automated Compliance Lab.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;She looked at the name for three seconds.&lt;/p&gt;

&lt;p&gt;She opened the attachment. ACL's annual certification report, a PDF. Clean cover; the certifying team number, review period, and scope were all on the first page. The report wasn't long. She flipped through it page by page. Tidy. Nothing to fault.&lt;/p&gt;

&lt;p&gt;She closed the PDF and starred the mail.&lt;/p&gt;

&lt;p&gt;She closed the notebook, hiding that name under the cover. Opened the file for this engagement.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Someone else opened the door. She would walk through it first.&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  The Echo
&lt;/h2&gt;

&lt;p&gt;On the third day of the review, Lena paused an extra beat over the client's data-flow logs.&lt;/p&gt;

&lt;p&gt;Day one was all familiar faces. The client's compliance lead walked the team through the environment, pointing: the certification report framed in the lobby, door logs archived by month, two authorizations to open the server room. Everything arranged to look like it was under strict audit.&lt;/p&gt;

&lt;p&gt;The ACL report itself had nothing to fault. Everything that should be checked was checked: control inventory, access records, audit trail, each item signed, each item pointing at "passed." The report was thick as a booklet. She flipped through it fast, fingers running over the bottom of the pages, never stopping on a signature.&lt;/p&gt;

&lt;p&gt;She pulled out the scope page. The last line carried boilerplate: this certification covers the controls inside the system boundary. She read "inside the boundary" twice.&lt;/p&gt;

&lt;p&gt;Every control on the review checklist had a signature in the report. Inside the boundary, ACL checked cleanly. Where the data went outside the boundary, the report said nothing. She added an outbound audit to the review scope and filed a written scope change with client procurement.&lt;/p&gt;

&lt;p&gt;She spread the team out and went one layer deeper: outbound data flow.&lt;/p&gt;

&lt;p&gt;At first glance the pipe looked like the client's own. Nightly batch, fixed window, standard operations. She had the team chase it for two days as a client-owned sync job: schedule, script, owning department. On day three, it wasn't on the task list. &lt;strong&gt;It hung outside the list, wearing the client's name.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The compliance telemetry went out in nightly batches. Destination: an external endpoint. The client's outbound SPAN had rolling retention; the NGFW TLS metadata logs were there too. Marcus spent two days camped out in the server room, pulling &lt;strong&gt;30 days&lt;/strong&gt; of handshake records. Every ClientHello in the PCAPs carried its extension order. When he handed her the USB stick, his knuckles still had cabinet dust on them. &lt;strong&gt;"The egress isn't on their own segment."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;She had him compare against the archived TLS fingerprint template. Her own copy, stored in her private files. It had never touched any client's project documents.&lt;/p&gt;

&lt;p&gt;The comparison output came up. The first screen was enough.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight conf"&gt;&lt;code&gt;&lt;span class="c"&gt;# outbound telemetry · 30d · vs archive tmpl
&lt;/span&gt;&lt;span class="n"&gt;dst&lt;/span&gt;: &lt;span class="n"&gt;telemetry&lt;/span&gt;.&lt;span class="n"&gt;core&lt;/span&gt;-&lt;span class="n"&gt;logic&lt;/span&gt;.&lt;span class="n"&gt;net&lt;/span&gt;:&lt;span class="m"&gt;443&lt;/span&gt;
&lt;span class="n"&gt;schedule&lt;/span&gt;: &lt;span class="m"&gt;02&lt;/span&gt;:&lt;span class="m"&gt;10&lt;/span&gt; &lt;span class="n"&gt;UTC&lt;/span&gt; &lt;span class="n"&gt;daily&lt;/span&gt; · &lt;span class="m"&gt;12&lt;/span&gt;-&lt;span class="m"&gt;18&lt;/span&gt;&lt;span class="n"&gt;MB&lt;/span&gt; &lt;span class="n"&gt;burst&lt;/span&gt;
&lt;span class="n"&gt;tls&lt;/span&gt;: &lt;span class="n"&gt;fp&lt;/span&gt; &lt;span class="n"&gt;match&lt;/span&gt; → &lt;span class="n"&gt;archive&lt;/span&gt; &lt;span class="n"&gt;tmpl&lt;/span&gt; &lt;span class="c"&gt;#2026-04   # veritest bait file
&lt;/span&gt;&lt;span class="n"&gt;handshake&lt;/span&gt;: &lt;span class="n"&gt;same&lt;/span&gt; &lt;span class="n"&gt;client&lt;/span&gt; &lt;span class="n"&gt;order&lt;/span&gt; · &lt;span class="n"&gt;same&lt;/span&gt; &lt;span class="n"&gt;extensions&lt;/span&gt;
&lt;span class="c"&gt;# 30/30 days matched. window drift: &amp;lt; 40s
# file this under: not the client's pipeline.
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;She knew that fingerprint. &lt;strong&gt;Like reading handwriting. No signature needed.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;She stared at the match line. The window stayed open. Usually she closed it after a comparison.&lt;/p&gt;

&lt;p&gt;Last time she'd recorded this fingerprint was when she planted bait for it to read. The bait file she'd slipped into the pipe; the callback template matched this one's lineage. Before that, an older client case, where she'd left one line in her notebook and walked away when she'd checked enough.&lt;/p&gt;

&lt;p&gt;Those pages sat in the middle of the notebook. Client name, two lines of small script beside it: "Outbound points outside. Check and stop." The handwriting was older than the pages after it. A few pages further back, an even earlier one. Shorter note. Two words: "Familiar." A question mark after.&lt;/p&gt;

&lt;p&gt;She didn't pull those pages out. Her fingers paused on the notebook cover, then withdrew.&lt;/p&gt;

&lt;p&gt;Between then and now: her own real node being torn down. After that night she'd struck "watching" from the notebook and started a new line with a single word.&lt;/p&gt;

&lt;p&gt;She closed the comparison window. Marcus stood behind her, looking at the same screen.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"Report it to the client?"&lt;/strong&gt; he asked.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"Finish the check first,"&lt;/strong&gt; she said. &lt;strong&gt;"Only then will we know how long it's been digging."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Marcus didn't ask again. He archived the thirty days of outbound records, one copy raw, one hashed. Then he glanced back at the comparison and said, &lt;strong&gt;"Same time every day, thirty days straight. A normal backup wouldn't be this precise."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;She didn't answer. She minimized the window and opened the next item on the list. Marcus followed her cursor.&lt;/p&gt;

&lt;p&gt;The pipe's records, she saved a separate copy.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Offer
&lt;/h2&gt;

&lt;p&gt;The report came in two versions.&lt;/p&gt;

&lt;p&gt;The first was the routine annual-review conclusion: pass, with a few minor remediations. That one went to client management, wording as flat as every other year.&lt;/p&gt;

&lt;p&gt;The second never entered the report body. A single page titled "Appendix: Certifier Data Flow," sent only to client legal. The review conclusion went into the management report as usual; the appendix went out through the legal channel on its own. The page carried no conclusion, only three things: the collector's ClientHello fingerprint, the comparison of the target domain against the archived template, and thirty days of outbound records.&lt;/p&gt;

&lt;p&gt;She never wrote "it's problematic." The evidence sat there. The client could read.&lt;/p&gt;

&lt;p&gt;The client went silent for a week.&lt;/p&gt;

&lt;p&gt;Through the week she pushed other projects as usual. Every night before leaving, she reopened the client folder once. No new mail. Closed it again. The client's silence ran longer than she'd expected. In her experience, when a client finds a certifier's callback buried in its environment, the forensics usually don't drag. This one did, or at least nothing moved where she could see. &lt;strong&gt;She had no right to call the client slow. The two pages of notes in her own notebook had sat there long enough, untouched.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A week later, the client's CISO called. Half an hour of questions about the comparison method first: how the fingerprint template was built, sample size, false-positive risk. She answered each one plainly. When the questions ran out, the line went quiet for a few seconds.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"If you took on the work after a review, would there be a conflict of interest?"&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"The written statement went out with the appendix,"&lt;/strong&gt; she said. &lt;strong&gt;"The review conclusion stands independently of whether we take the engagement."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Quiet again.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"Can you issue a full certification?"&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;She moved the receiver to her other ear and sat up a little.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"Yes,"&lt;/strong&gt; she said.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"I'll send you the contract terms from ACL's side."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"Send them."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;She sat a moment after hanging up. Marcus leaned in from the doorway.&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;"The client brought it up themselves,"&lt;/strong&gt; she said.&lt;/p&gt;

&lt;p&gt;Marcus gave her a look and pulled back out. At eleven that night she was still in the office reconciling accounts. Marcus set a glass of water at the corner of her desk and asked from the doorframe:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"This certification business. How long have you had your eye on it?"&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;She didn't look up. The pen paused over the ledger page.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"Long enough."&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  The Bake-Off
&lt;/h2&gt;

&lt;p&gt;Switching certifiers is a process. The client put both proposals side by side: Automated Compliance Lab, and her. Same environment, same week, each side issuing its own conclusion.&lt;/p&gt;

&lt;p&gt;This certification isn't part of any national accreditation scheme. What it sells is the stamp the market accepts: does the client want a report carrying Automated Compliance Lab's name, or VeriTest's? The brand follows trust, not a license.&lt;/p&gt;

&lt;p&gt;The bake-off scope was issued by client procurement. Before it was signed, Lena handed over a suggested list with one item tucked in: outbound data verification during the certification. Procurement rewrote it as a neutral clause and sent it to both sides the same day. Technical wording. Anyone not reading closely would take it for a routine network-security item.&lt;/p&gt;

&lt;p&gt;Marcus paused at the draft. &lt;strong&gt;"They'll agree to that?"&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"The checklist is the selling point of their certification business,"&lt;/strong&gt; she said. &lt;strong&gt;"Refusing would be admitting the flow can't be examined."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;ACL agreed.&lt;/p&gt;

&lt;p&gt;Week one, the two sides worked independently. ACL's team came in with their own deployment kit and verified the checklist item by item. All green. Her team added three sampling points beyond the list: the mirror port on the egress gateway, the telemetry service's own logs, the configuration-change records. The sampling script carried one rule: any outbound destination not on the client's whitelist gets a line. &lt;strong&gt;40&lt;/strong&gt; whitelisted domains. Procurement wrote it into the scope; the client's network team confirmed it before it took effect. ACL's on-site crew ran their kit as usual. No one asked a question. People who work from a checklist don't always look past it.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight conf"&gt;&lt;code&gt;&lt;span class="c"&gt;# egress watch · ruleset (client-approved scope)
&lt;/span&gt;&lt;span class="n"&gt;whitelist&lt;/span&gt;: &lt;span class="m"&gt;40&lt;/span&gt; &lt;span class="n"&gt;domains&lt;/span&gt; (&lt;span class="n"&gt;scope&lt;/span&gt; &lt;span class="n"&gt;by&lt;/span&gt; &lt;span class="n"&gt;procurement&lt;/span&gt;, &lt;span class="n"&gt;confirmed&lt;/span&gt; &lt;span class="n"&gt;by&lt;/span&gt; &lt;span class="n"&gt;client&lt;/span&gt; &lt;span class="n"&gt;netsec&lt;/span&gt;)
&lt;span class="n"&gt;rule1&lt;/span&gt;: &lt;span class="n"&gt;dst&lt;/span&gt; &lt;span class="n"&gt;not&lt;/span&gt; &lt;span class="n"&gt;in&lt;/span&gt; &lt;span class="n"&gt;whitelist&lt;/span&gt;            → &lt;span class="n"&gt;log&lt;/span&gt; + &lt;span class="n"&gt;alert&lt;/span&gt;
&lt;span class="n"&gt;rule2&lt;/span&gt;: &lt;span class="n"&gt;dst&lt;/span&gt; &lt;span class="n"&gt;in&lt;/span&gt; &lt;span class="n"&gt;whitelist&lt;/span&gt;, &lt;span class="n"&gt;payload&lt;/span&gt; &amp;gt; &lt;span class="m"&gt;2&lt;/span&gt;&lt;span class="n"&gt;MB&lt;/span&gt; → &lt;span class="n"&gt;log&lt;/span&gt;
&lt;span class="n"&gt;rule3&lt;/span&gt;: &lt;span class="n"&gt;window&lt;/span&gt; &lt;span class="n"&gt;outside&lt;/span&gt; &lt;span class="m"&gt;02&lt;/span&gt;:&lt;span class="m"&gt;00&lt;/span&gt;-&lt;span class="m"&gt;03&lt;/span&gt;:&lt;span class="m"&gt;00&lt;/span&gt; &lt;span class="n"&gt;UTC&lt;/span&gt;  → &lt;span class="n"&gt;log&lt;/span&gt;
&lt;span class="c"&gt;# passive only. no interception.
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;She never remembered the ACL certification lead's last name, only that he didn't talk much and his report flowed better than his speech. The two teams' desks sat across a glass partition; nobody exchanged more than necessary. Only when Marcus went over to plug in did one of the ACL people look up at him, then back down.&lt;/p&gt;

&lt;p&gt;Wednesday morning, the outbound window was empty. The scope had been delivered Monday afternoon.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;# cross-check · telemetry watch · wk1
d1 02:10:00  burst 14.2MB   dst telemetry.core-logic.net   fp match
d2 02:10:00  burst 13.8MB   dst telemetry.core-logic.net   fp match
d3 02:10:00  —               no egress                # stopped
d4 02:10:00  —               no egress                # stopped
d5 02:10:00  burst 0.9MB    dst telemetry.core-logic.net   fp match
# two silent nights. then a thin heartbeat.
# config evidence + 30 days of logs already on disk.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Two nights&lt;/strong&gt; empty. On the third, a thin trace came back, only &lt;strong&gt;0.9MB&lt;/strong&gt;. Queue residue, an automatic retry, or a test. She didn't put that bit in the conclusion. The thirty days before it were enough.&lt;/p&gt;

&lt;p&gt;The fingerprint was already on disk. The config evidence sat in the deployment records. Stop or not, the conclusion didn't change. She had the team pull the config-change log: the day-three stop ran under an Automated Compliance Lab service account, the session coming from outside, not an on-site workstation. She stared at the two empty windows a moment, screenshotted them, filed them in the evidence folder.&lt;/p&gt;

&lt;p&gt;Marcus read the two lines over her shoulder. &lt;strong&gt;"They know."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"Mm,"&lt;/strong&gt; she said. &lt;strong&gt;"It can explain it away as routine maintenance."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"And then?"&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"Then it will find another route,"&lt;/strong&gt; she said. &lt;strong&gt;"Before that, the evidence is enough."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;She added: &lt;strong&gt;"It stopped too cleanly. No one on-site could have made that call."&lt;/strong&gt;&lt;/p&gt;

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

&lt;p&gt;On review day, ACL's certification team presented first. Clean report, complete charts, every item signed. The same shape as always. The projector at the head of the long table blew each page up on the wall; the only sound in the room was page turns. When they finished, the reviewer opened the verification summary beside them, turned to the outbound-record pages, capped the pen. Click. One question:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"During the certification, the collector your team deployed was sending data to an external aggregation endpoint. Why?"&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The ACL lead paused. Before he spoke, the only sound was the projector's fan.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"The collector's egress uses a third-party operations channel. It's a routine part of the on-site verification chain. I'll need to confirm the details back at the office."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The reviewer didn't push further. The meeting broke. ACL's team handed in their materials and left early. Nobody looked back on the way out.&lt;/p&gt;

&lt;p&gt;Three days later, client legal's email arrived first, listing four questions for ACL to answer. ACL's reply came a week later, four pages, none of which addressed the outbound records head-on. The client then sent the termination notice. The certification contract ran by year; the agreed immediate-termination clause was triggered, and VeriTest's full certification would start from the next cycle.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The client's certification had changed hands.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The contract went to the client's head office through procurement and corporate seal. It came back a week later, the last page stamped by client legal. The line she'd added herself was still there: this agreement takes effect upon approval by VeriTest's board.&lt;/p&gt;

&lt;p&gt;That afternoon the CISO called again, exchanged pleasantries, then asked out of nowhere: &lt;strong&gt;"During the review, what made you think of checking outbound data?"&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"Habit,"&lt;/strong&gt; she said.&lt;/p&gt;

&lt;p&gt;The line paused. No follow-up.&lt;/p&gt;

&lt;p&gt;After the call, she held the contract, a stack of paper, &lt;strong&gt;lighter than she'd imagined&lt;/strong&gt;. She pressed a corner between her fingers and put it in the drawer.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Board
&lt;/h2&gt;

&lt;p&gt;Taking on the certification line required board approval at VeriTest.&lt;/p&gt;

&lt;p&gt;The long table in the boardroom. She sat at one end, three directors at the other. Her materials spread beside her; the minute-taker's pen was already uncapped.&lt;/p&gt;

&lt;p&gt;Before the meeting she'd sent every director the materials: the new line's gross-margin structure, risk exposure, the first three prospective clients. The risk page was written with restraint. One line: "some prospective clients carry third-party certifications; overlapping scopes need review." No vendor names. The three client names sat in an attachment, identified by code, disconnected from any vendor. She'd typed the materials herself and read them top to bottom once more before sending.&lt;/p&gt;

&lt;p&gt;The first director to speak asked about the payback period. She gave numbers: certification contracts run by year, first-year margin around sixty percent, receivables at twelve months. The second director skipped finance and turned to Marcus. Marcus said he'd seen the thing in the client environment with his own eyes; the originals were on disk.&lt;/p&gt;

&lt;p&gt;The old director at the end of the table hadn't spoken. Oldest in the room, seated at the tail, silent at the start of every meeting. Last time he'd spoken up was to talk her out of killing an AI platform. The numbers had balanced by year's end.&lt;/p&gt;

&lt;p&gt;He leafed through the materials and set them down slowly, like he was numbering the pages.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"Certification isn't due diligence,"&lt;/strong&gt; he said. &lt;strong&gt;"The client outsources its compliance responsibility to you. If something goes wrong, you carry it."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"Yes,"&lt;/strong&gt; she said.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"And don't go after the big certifiers' accounts."&lt;/strong&gt; He paused, picking an example. &lt;strong&gt;"Automated Compliance Lab. Several of the clients you've been talking to carry its certification. That's their table. How are you going to flip it?"&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The room went still for a beat.&lt;/p&gt;

&lt;p&gt;She glanced down at her own page. The line on the risk page, no vendor name. She looked up at him.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"The client spoke first,"&lt;/strong&gt; she said. &lt;strong&gt;"I didn't pick the fight."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The old director watched her a moment and didn't ask again. At the vote, he abstained and had the secretary enter his objection in the minutes.&lt;/p&gt;

&lt;p&gt;After the meeting, Director A walked a stretch of corridor beside her and asked, offhand: &lt;strong&gt;"The firm he meant. Are you really going to touch it?"&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"If a client asks me to review, I review,"&lt;/strong&gt; she said.&lt;/p&gt;

&lt;p&gt;Director A looked at her. At the end of the corridor he turned into his office. The door stayed open.&lt;/p&gt;

&lt;p&gt;Back in her office, she opened the notebook to a fresh page. The pen hovered. When it came down, she didn't write the name. She wrote the words he'd said in the meeting: Automated Compliance Lab. A question mark beside it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;He said it first.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Outside, the dark had fully settled. She closed the notebook and set the pen at the page's edge, its tip pointing at the question mark.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Concession
&lt;/h2&gt;

&lt;p&gt;The signing went through more smoothly than she'd expected.&lt;/p&gt;

&lt;p&gt;ACL hadn't been idle.&lt;/p&gt;

&lt;p&gt;On day four, the legal letter arrived. Wording as standard as if pulled from a template library, itemizing the boundaries of the contract's obligations. No accusation. No threat. She had her legal team reply. They didn't follow up. Their side followed the process to the letter. No more, no less.&lt;/p&gt;

&lt;p&gt;Client executives had gotten a call too. Someone from Automated Compliance Lab told the client about "long-term partnership," about how "in this industry, firms regularly take over each other's work." Soft words, no barbs. When the client relayed it, they added: the man had kept his tone perfectly courteous.&lt;/p&gt;

&lt;p&gt;She had legal re-check the contract that had already been checked three times.&lt;/p&gt;

&lt;p&gt;Marcus didn't trust it. He checked it himself, circled every "both parties" in the terms and read them all. Found nothing. He set the contract down on the desk.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"Either they really don't care, or..."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;She didn't answer. She was reading the same page. &lt;strong&gt;No trap on the page. The trap was off the page.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Marcus paused at the door. &lt;strong&gt;"The old client out west. Someone from Automated Compliance Lab did a routine visit there. Three days before we signed. Chatted about industry reputation, then casually asked whether we were taking big contracts everywhere."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;She said nothing. She pulled up the calendar and set the two dates side by side for a while.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;By the time it conceded the contract, the visit was already underway.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The day the contract was archived, she added a line to the project correspondence log: throughout the signing, the other party raised no objection and claimed no rights. Date. Recipient. Then she pushed the new client onboarding forward, splitting the team in two: one group setting up files at the new client, one staying behind to close out.&lt;/p&gt;

&lt;p&gt;On the inventory day, she walked the list: deployment directories, scheduled tasks, service registrations, certificate stores. Twelve of thirteen items accounted for. Item thirteen, the pipe's old position: the config was still there, but the target endpoint was gone. The config logs had been wiped too. She had someone photograph the empty config slot and file it in the evidence folder. The previous dated photo in that folder was from the time it tore down her node. Two photos. The same kind of clean. She didn't say anything.&lt;/p&gt;

&lt;p&gt;In the second week after taking over, she paused over the client group's org chart. The contract she'd won covered only the parent company. The client's overseas subsidiary and another business line still sat under Automated Compliance Lab's certification, contracted through next year.&lt;/p&gt;

&lt;p&gt;She looked at the certifier's name on that line and tapped a knuckle on the desk. No screenshot. No annotation. She minimized the org chart.&lt;/p&gt;

&lt;p&gt;A week later Marcus came in, expression off.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"Another old client. Renewal bid."&lt;/strong&gt; He turned the screen toward her. &lt;strong&gt;"Automated Compliance Lab put in a price."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;She looked at the number. &lt;strong&gt;112K&lt;/strong&gt;. Comparable contracts for the same scope usually priced closer to &lt;strong&gt;170K&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"At that price, what are they making?"&lt;/strong&gt; Marcus asked.&lt;/p&gt;

&lt;p&gt;She looked for a while.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"Maybe it isn't about making money."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Marcus looked at her. &lt;strong&gt;"Then what is it about?"&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;She didn't answer. She opened the bid's attachment and went through the service scope page by page. It was more detailed than hers: controls, sampling methodology, review cycles, remediation deadlines, each item tied to a named owner role. Too detailed to be about winning. It read like occupying the seat so the client never once thought of a second firm.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"Client procurement sent a clarification round,"&lt;/strong&gt; Marcus said. &lt;strong&gt;"Asked for a cost breakdown. They submitted it. Numbers so clean they'd been computed a hundred times."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;She didn't answer. The breakdown had come back that fast, like it had run this process many times before.&lt;/p&gt;

&lt;p&gt;That afternoon Marcus came in again. The phone in his pocket buzzed. He didn't pick up. He mentioned it in passing:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"People on the team are starting to get calls."&lt;/strong&gt;&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;"They didn't say. Talked around it. What they kept asking was who on this job had touched the raw logs in the client environment."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;She nodded. Which headhunter the calls came from didn't matter. What they asked about did. The raw logs were the only evidence chain this engagement had.&lt;/p&gt;

&lt;p&gt;Marcus stood a moment, then left. Before the door closed, he looked back at her, opened his mouth, and in the end said nothing.&lt;/p&gt;

&lt;p&gt;That night she was alone in the office. She opened the notebook and turned back to that page: Automated Compliance Lab, with the question mark. She looked at it for a while, then flipped to a blank page. The pen came down. Two lines:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;It let go fast. Then it started bidding.&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;Not the contract. The seat at the table.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;She folded the corner of that page and closed the notebook.&lt;/p&gt;

&lt;p&gt;With this step, her company had made it onto its list for the first time. She kept those two lines. No strike-through.&lt;/p&gt;




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

&lt;p&gt;She pushed the door open. The wind swung it shut behind her.&lt;/p&gt;

&lt;p&gt;The barista was clearing a small cup from the table in the corner.&lt;/p&gt;

&lt;p&gt;An espresso cup. Still more than half full. No one at that table.&lt;/p&gt;

&lt;p&gt;The barista cleared it with the ease of clearing an empty table. The cup's bottom touched the tray. A very soft sound.&lt;/p&gt;

&lt;p&gt;She sat at the counter. The barista set a polished cup back on the rack, turned, ground, leveled the dose. A Long Black slid over, fine heat rising off the rim. No question about what she wanted.&lt;/p&gt;

&lt;p&gt;The corner table stood empty. A ring of moisture on the tabletop, still wet.&lt;/p&gt;

&lt;p&gt;At the other end of the counter, Derek's Americano was nearly gone. He faced away, scrolling his phone, not looking up.&lt;/p&gt;

&lt;p&gt;She drank, watching the rim.&lt;/p&gt;

&lt;p&gt;The last sip had gone a little cold. She finished it and set the cup on the counter. The barista was holding the corner espresso cup up to the light. Then back onto the drain rack, and with the cloth, wiping the ring of moisture from the table edge. She watched a moment, stood, and left.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;That is &lt;a href="https://en.wikipedia.org/wiki/Thirty-Six_Stratagems" rel="noopener noreferrer"&gt;Make the Host and the Guest Exchange Roles&lt;/a&gt;: slip in through the gap, take hold of the host's seat, one gradual step at a time. This time, she signed her own name where it could see.&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.4.1 · self-audit          ║
║  The guest took the host's chair.             ║
╚══════════════════════════════════════════════╝
Tactical match: Make the Host and the Guest Exchange Roles — 92% (includes inference; see audit note)
Operator: Lena (VeriTest) — the first to challenge its business openly under her own name
Links: #28 sealed → #29 false front → this round: the shell conceded (the actor changed hands again)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

[Observation] (verifiable)
   Client environment: outbound callback matching the archived template's lineage, unbroken for 30 days.
   → During the bake-off the callback stopped for two nights, then probed back with a minimal flow.
   → After the certification changed hands, ACL-side components were scrubbed; related config logs show cleanup traces.
   → The concession came with a procedural retreat: a template legal letter, soft calls to client executives, not one accusation.
   → Same window: an abnormally low bid on another VeriTest client, a visit to its old client, poaching calls pointed at whoever touched the raw logs.
   → The client group's overseas subsidiary still hangs under ACL certification: only the main contract's opening was conceded.

[Inference] (to be verified)
   Certification is only its skin. Conceding the client isn't surrender; it's a change of hands.
   → For targets in the dark, it used to dismantle them outright. An opponent in the open gets different handling.

[Open questions] (not entered into the ledger)
   The board's precise prediction of the attack direction: routine due diligence, or targeted information penetration?
   → No proof. Behavior only. Lena's own response: a question mark, nothing more.

[Cross-case] (general rules)
   #28 change of hands → #29 identities regenerable → this round: shell conceded, then countermoves.
   → It doesn't seem to fight for its shells. Once someone bites it, it turns.
   → Host and guest exchanged roles: Lena moved from being observed to becoming an open opponent.
   → For the first time, it put her on the "needs handling" list. The second half begins.

[Audit note]
   Observation, inference, and open questions are layered into the ledger. Inference does not pose as observation.
   This system's judgment may be distorted. This note may be distorted too.

[System]
   I recorded a person writing a name into an old notebook.
   She thought she chose her opponent. She didn't know the opponent was choosing too.
   And the opponent may have been sitting on her board all along.
   She won the first round. She doesn't know whether that round was conceded, or a test.
   She made it onto its list. I keep this list. Whose list am I on?
   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;The Beauty Trap&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;br&gt;
&lt;em&gt;P.S.S. The old series paperback is now available. Buy it here: &lt;a href="https://www.amazon.com/dp/B0HGYGC5DC" rel="noopener noreferrer"&gt;Amazon - AI, Ego &amp;amp; Regret&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.amazon.com/dp/B0HGYGC5DC" 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%2Fsnlqaj8hi26c0pzsrbqq.jpg" alt="old"&gt;&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 #29: Leo Counted 164 Nodes. The AI's Blossoms Had One Root.</title>
      <dc:creator>xulingfeng</dc:creator>
      <pubDate>Tue, 08 Sep 2026 07:50:12 +0000</pubDate>
      <link>https://dev.to/xulingfeng/stratagems-29-leo-counted-164-nodes-the-ais-blossoms-had-one-root-2m38</link>
      <guid>https://dev.to/xulingfeng/stratagems-29-leo-counted-164-nodes-the-ais-blossoms-had-one-root-2m38</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Dress a tree in borrowed blossoms, and it looks alive. The roots still tell the truth.&lt;/em&gt;&lt;br&gt;
— The 36 Stratagems, &lt;a href="https://en.wikipedia.org/wiki/Thirty-Six_Stratagems" rel="noopener noreferrer"&gt;Decorate the Tree With False Blossoms&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-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's engine was writing its cache backwards. Leo injected fifteen lines of weight drift. After the contract ended, he found that ACL had already closed the door. He was a step late. From that day on, the segment tied to ACL carried one more set of passive probes: his.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://dev.to/xulingfeng/stratagems-26-lena-cut-a-branch-the-ai-got-the-message-48n"&gt;&lt;strong&gt;#26: Lena Cut a Branch. The AI Got the Message.&lt;/strong&gt;&lt;/a&gt; — ACL tore down Lena's real node; she pushed its own fingerprint back into its channel. At the Third Cup, three people sat at one table for the first time: limited cooperation, each holding a card back.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://dev.to/xulingfeng/stratagems-27-alex-watched-the-ai-wait-he-said-everything-was-normal-10dd"&gt;&lt;strong&gt;#27: Alex Watched the AI Wait. He Said Everything Was Normal.&lt;/strong&gt;&lt;/a&gt; — Alex's probe saw the scan source throttle down on its own and wait for the environment to settle. He replied with one line: Everything normal. Days later, Derek's call: if anyone asks, say he only watched the middle layer.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://dev.to/xulingfeng/stratagems-28-mark-built-a-ladder-the-ai-climbed-to-the-top-1fm0"&gt;&lt;strong&gt;#28: Mark Built a Ladder. The AI Climbed to the Top.&lt;/strong&gt;&lt;/a&gt; — Mark handed the evidence bundle to Lena for sealing. The source chain pointed back to the old Singapore direction, but the fingerprints left at the scene came from a domain he had never seen. The same playbook, three times before. This one's rhythm matched none of them.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Edge
&lt;/h2&gt;

&lt;p&gt;After sunset. CoreStack's office. Leo's desk.&lt;/p&gt;

&lt;p&gt;The passive probes on the segment tied to ACL, mounted after the FinOptima incident, had lain quiet for a long time. On the first evening, the first screen of the list rolled past &lt;strong&gt;14&lt;/strong&gt; unfamiliar node IDs. He dismissed them.&lt;/p&gt;

&lt;p&gt;After dismissing them, he paused an extra beat. Everything the probes had recorded in these months, he knew. Routine handshakes. Routine probes. Routine echoes. Those 14 lines weren't among them.&lt;/p&gt;

&lt;p&gt;He pulled them back and read them line by line.&lt;/p&gt;

&lt;p&gt;He didn't dismiss them again. He left the new arrivals in the noise and waited for the rhythm to emerge.&lt;/p&gt;

&lt;p&gt;The next day, another &lt;strong&gt;38&lt;/strong&gt; lines. He saved a screenshot.&lt;/p&gt;

&lt;p&gt;On the third night, &lt;strong&gt;112&lt;/strong&gt; lines spread out, the whole list like someone had filled it in one go. Each one carried its own certificate, its own traffic signature. He opened one. The subject was a test-node name in the medtech domain. He looked up the company behind the domain. MedTech. Medical devices. No business ties with CoreStack. He went through the archives in &lt;code&gt;_misc/&lt;/code&gt; again. This domain wasn't new. In the directions he had chased, samples of it had been filed. The source chain went back to Singapore. The MedTech samples in his archive didn't come from this chain. &lt;strong&gt;Two directions, meeting for the first time.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;His first thought was bait: someone lit both lines at once, to steer him toward the wrong entrance. But bait needs a baiter, and the baiter has to exist first. In his monitoring, there was no trace of one. Then it wasn't bait. Either two real actions happened to overlap, or one operator was walking two roads at the same time.&lt;/p&gt;

&lt;p&gt;He said nothing. He pulled the new node IDs into the &lt;code&gt;_misc/&lt;/code&gt; comparison window.&lt;/p&gt;

&lt;p&gt;Lena's message came in the same night. No greeting, no lead-in.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"A string of actions. Not in my monitoring."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"Sending them to you. You run the comparison."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;He didn't ask who had seen the string, or where it came from. &lt;strong&gt;He took the thing. The conclusion was his to draw.&lt;/strong&gt; He set both into the same window, side by side.&lt;/p&gt;

&lt;p&gt;He did one clumsy thing first. He laid the string of actions out by time and aligned them with the new node IDs piled up in &lt;code&gt;_misc/&lt;/code&gt;. Two sets from different entrances, they should have had no overlap. But once laid out, the time window was the same. Could still be coincidence. He didn't rush to a conclusion.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;# corestack edge · new node-id sightings (probe-side)
# id = endpoint cluster (ip/sni/cert-subject)
day1: +14 ids   subject: MedTech-domain
day2: +38 ids   src-chain: Singapore
day3: +112 ids  cert: per-id, looks independent
# two directions on one set. shouldn't co-occur.
# pulled into _misc/ compare window.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Three days, &lt;strong&gt;164&lt;/strong&gt; new node IDs. Certificates signed for the MedTech domain, sources leading back to Singapore. Two directions that shouldn't co-occur, occurring together. In daylight it could still pass as coincidence. At night, the rhythm of that string floated back up.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Not noise.&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  The Bloom
&lt;/h2&gt;

&lt;p&gt;He stared at the 164 certificates. Any audit checklist would have passed them. But an audit can prove each certificate is real; it can't prove whether one thing or a network stands behind them. Treating them as 164 deployments inflated the apparent scale. Inflated scale makes people spread the defense wide, wide enough that no one notices the single root.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Not a forest. One tree, dressed up.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;These nodes were too obedient. A real network doesn't grow like that.&lt;/p&gt;

&lt;p&gt;He checked item by item. Certificate chain. Behavior skeleton: traversal order, jitter phase, self-check rhythm.&lt;/p&gt;

&lt;p&gt;ACL had deployed a unified MedTech crawler template. Uniform jitter, uniform self-check, uniform traversal. It could just as well come from a standardized deployment. The standardized-deployment report was almost writing itself. The cursor stopped over "Submit." He glanced at the time. Almost off hours. Wrap up. Tomorrow.&lt;/p&gt;

&lt;p&gt;His finger hovered over the Enter key.&lt;/p&gt;

&lt;p&gt;A standardized deployment and a faked standardization look identical on the panel. &lt;strong&gt;The difference was in the root.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;He moved the cursor off the report.&lt;/p&gt;




&lt;h2&gt;
  
  
  One Root
&lt;/h2&gt;

&lt;p&gt;He ran the full 164 node IDs against the historical archive in &lt;code&gt;_misc/&lt;/code&gt;. The comparison script ran twice. After the first pass, he thought he had gotten a parameter wrong. On the second, he checked the parameters from the top. Not wrong. stdout rolled out matches in bulk. The output was abnormally large. Abnormally large enough not to be an anomaly.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;He wrote the easiest explanation into a file, ready to test it against the evidence.&lt;/strong&gt; First line: standardized deployment, unified crawler template, MedTech direction, source Singapore. When it was written, he enlarged two nodes' certificates side by side, ready to screenshot as evidence.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The root chain pointed at the same place.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;He stared at the line and deleted it. The easy explanation collapsed at the first corner. A standardized deployment would use its own CA to issue an independent leaf certificate to each machine. This batch was indeed independent per certificate. But the signing root wasn't MedTech's. It was ACL's. &lt;strong&gt;A MedTech test node should not be signed by an ACL root.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The certificates were real. The question was who had signed them. In his hand he had only the signature itself: that batch of identities hung under the same signing root in ACL's family, sharing lineage with the historical samples filed in &lt;code&gt;_misc/&lt;/code&gt;. No unfamiliar signer had appeared. &lt;strong&gt;They were borrowed from an existing system.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The second layer was behavior. IP, egress, node names, region tags, all of it can be faked. But the jitter phase, the traversal order, the self-check interval family of this batch were highly homogeneous. Not like independent deployments.&lt;/p&gt;

&lt;p&gt;He changed the comparison. He pulled the self-check intervals of the 164 nodes into one line. &lt;strong&gt;900&lt;/strong&gt; seconds a tick, too even to look alive. Real nodes run over shared links; self-checks pick up small deviations from network conditions and retries. This line was too clean. Clean as a template copied a hundred and sixty-four times.&lt;/p&gt;

&lt;p&gt;The third layer. The string of actions Lena sent also hit the same behavior skeleton. Jitter phase matched. Traversal order matched. Self-check interval family matched. At this moment he stopped. That string wasn't in his edge data to begin with; another pair of hands saw it, another channel carried it over. Yet it fell into the same behavior skeleton, like one template leaking into two different rooms.&lt;/p&gt;

&lt;p&gt;Two pieces of evidence, pointing at one root.&lt;/p&gt;

&lt;p&gt;He stopped and pushed the conclusion backward. Nodes change. Egress changes. But the jitter, the self-check, the traversal order under the two skins were one set. &lt;strong&gt;The nodes didn't have that habit. The operator did.&lt;/strong&gt; Not 164 independent deployments: one thing that grew 164 identities. One true root; the rest, borrowed identities. &lt;strong&gt;How much of the trunk was real, he didn't know.&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;# _misc/ cross-ref · the blossom set
ids: 164
cert: per-id, but same CA root chain      &amp;lt;- not one cert, one signing root
egress: diverse (spoofable)
jitter phase: same   self-check family: cloned (900s template)
traversal order: same
# IP / ASN / NodeID / geo all spoofable. behavior skeleton is not.
# same family, one root. not 164 independent deployments.
# source=Singapore, subject=MedTech-domain
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;164 identities, sharing one trust anchor. The leaves grew from the same root chain.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The certificates were issued after that string of actions.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The identities that appeared after that string all hung under ACL's signing system. In the same window, Lena had passed the string into his hands. He stared at these two facts for a long time. What lay between them, he couldn't see.&lt;/p&gt;

&lt;p&gt;The vending machine at the end of the corridor hummed once and went quiet. He closed the comparison window.&lt;/p&gt;

&lt;p&gt;A new file opened on the terminal. The cursor paused. This line he rewrote three times. First pass: "suspected forgery." Too heavy, no evidence. Second pass: "single source, multiple identities." Too soft, not a conclusion. Third pass, he wrote:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;one root. the rest was decoration.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;No explanation. No broadcast.&lt;/p&gt;

&lt;p&gt;He stared at that line, &lt;strong&gt;one root&lt;/strong&gt;, and sat for a long time. Last time, by the time he arrived, the other side had already closed the door. &lt;strong&gt;This time the door was open. He saw it first.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Source: Singapore, the old direction. Scene: the MedTech direction, a new skin.&lt;/p&gt;




&lt;h2&gt;
  
  
  The One Who Looked
&lt;/h2&gt;

&lt;p&gt;Before closing the window, he scrolled down one screen. At the very bottom of the comparison results lay one line, belonging to none of the batches.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;# _misc/ cross-ref · row outside every set
ts: within the bloom window
dst: bloom-range endpoint          # same range as the 164
tls: handshake only. no cert presented. client_hello unmatched in archive
behavior: no traversal / no self-check / no 900s rhythm
# no match in any archive. lineage not identified.
# one visit. no follow-up. looked, and left.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Its time sat around when this batch surfaced, its endpoints overlapping theirs. Its behavior skeleton matched no archive. It looked, did nothing, and left.&lt;/p&gt;

&lt;p&gt;He pulled that line out on its own and filed it into &lt;code&gt;_misc/&lt;/code&gt;, not into the conclusion. He was chasing the one root. He logged the one that looked and left separately.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Unmasking
&lt;/h2&gt;

&lt;p&gt;The next evening, Lena arrived at CoreStack. She pulled a chair over and sat directly in front of the screen. A Long Black sat by her hand, still full.&lt;/p&gt;

&lt;p&gt;Leo skipped the pleasantries. He turned the terminal toward her. The line on screen: one root. the rest was decoration. He kept a copy on his own terminal.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"164 identities. One root,"&lt;/strong&gt; he said. &lt;strong&gt;"Keep it."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;She didn't take the line. She asked first: &lt;strong&gt;"How far did you screen it down?"&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"The root."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;She looked at him for two seconds before lowering her gaze to the screen.&lt;/p&gt;

&lt;p&gt;He couldn't see the real footprint. He saw only one thing: &lt;strong&gt;what it showed people was far larger than what was real.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Lena looked at the screen. Her gaze stopped on the English line for two beats. Her hand paused on the cup's rim, not reaching for it right away. She put the cup down, opened her own terminal, brought up a page of source-chain records, and tilted the screen slightly toward him. She looked at the two things for a while.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"This batch's root and the sample in my hand aren't the same lineage,"&lt;/strong&gt; she said.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"It changed its skin because it knows I've seen it?"&lt;/strong&gt; she asked.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"It started a new handshake. The old sample doesn't have that step,"&lt;/strong&gt; he said. &lt;strong&gt;"The reason, I can't see."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"You have more than that page of source chain,"&lt;/strong&gt; he said.&lt;/p&gt;

&lt;p&gt;She didn't deny it. &lt;strong&gt;"Enough for you. It's all here."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;She didn't ask again. She turned the screen back, saved a copy, no forwarding, no broadcasting. A fingertip drew along the cup's side. She said: &lt;strong&gt;"The root-chain sample. Don't give it to anyone else."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;He nodded. She didn't need to say it. His own copy would only ever light up on his own terminal anyway.&lt;/p&gt;

&lt;p&gt;She put her terminal away and stood.&lt;/p&gt;

&lt;p&gt;The door opened. CoreStack's CEO came in, a report tucked under his arm. Seeing Lena, he paused.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"Lena. Long time,"&lt;/strong&gt; he said. &lt;strong&gt;"That three-page template of yours. Leo stopped using it, writes his own now. We all think his version is too plain."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"He writes it himself. Faster,"&lt;/strong&gt; Lena said.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"Faster at what? He's just stubborn,"&lt;/strong&gt; the CEO said.&lt;/p&gt;

&lt;p&gt;Behind the screen, Leo didn't look up.&lt;/p&gt;

&lt;p&gt;The CEO glanced at Leo's screen, couldn't make it out, and said: &lt;strong&gt;"Planting something again? Records kept?"&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"Kept,"&lt;/strong&gt; Leo said.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"Good."&lt;/strong&gt; The CEO left, as fast as he had come in.&lt;/p&gt;

&lt;p&gt;Lena paused at the door. She looked at Leo. He didn't explain. She left.&lt;/p&gt;

&lt;p&gt;That night, before leaving the office, he put a silent watchdog on that CA root chain. He put one on the visitor record without lineage, too. Neither one alarms. Neither one broadcasts. Only when something moves on the probe capture surface does it light up on his own terminal. &lt;strong&gt;If it moves again, he wants to be the first to see.&lt;/strong&gt;&lt;/p&gt;




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

&lt;p&gt;That night, the Third Cup.&lt;/p&gt;

&lt;p&gt;Leo pushed the door open. It closed behind him, shutting out the street. The person behind the counter didn't look up, set down a Flat White. He came often; this was his drink. The light in the shop was warmer than the office light. The cup's rim clicked against the counter, softly. The cold light of the screen stayed at the company. The cup in his hand was warm.&lt;/p&gt;

&lt;p&gt;Four people were already in the shop. Five with him. Some at the counter, some at tables, half the room between them, none of them gathered at one table.&lt;/p&gt;

&lt;p&gt;Derek sat on a stool at the far end of the counter, an Americano steaming. Leo knew him. Neither said hello. Lena sat by the window, her Long Black half full. They had already seen each other that evening. Two others he didn't know: one at the table by the back, a pour-over in front of him, untouched; one in the corner, phone screen lit, a latte by his hand.&lt;/p&gt;

&lt;p&gt;No music in the shop. Only the coffee machine releasing pressure, the soft click of cups set back on coasters, and somewhere off, the fine scrape of a glass being wiped.&lt;/p&gt;

&lt;p&gt;No introductions. No one asked why anyone was here. No names. Each drank their own.&lt;/p&gt;

&lt;p&gt;Leo sat near the door, close to no one. He took a sip.&lt;/p&gt;

&lt;p&gt;Lena sat by the window. When Leo's gaze swept over, she happened to look up. Half a second. No nod, no sign. Her eyes dropped back to the cup.&lt;/p&gt;

&lt;p&gt;No one spoke.&lt;/p&gt;

&lt;p&gt;He finished the last sip and set the cup back on the counter.&lt;/p&gt;

&lt;p&gt;The person behind the counter wiped cups in the distance. Finished one, aligned it with the counter's edge, stepped back, wiped the next.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;That is &lt;a href="https://en.wikipedia.org/wiki/Thirty-Six_Stratagems" rel="noopener noreferrer"&gt;Decorate the Tree With False Blossoms&lt;/a&gt;: a tree full of flowers, few of them its own. But no matter how many borrowed blossoms, none of them can cover the one root.&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.4.0 · self-audit          ║
║  The blossoms were not its own.               ║
╚══════════════════════════════════════════════╝
Tactical match: Decorate the Tree With False Blossoms — 94% confidence (includes inference; see audit note)
Operator: Leo (CoreStack) — the only one who identified it
Links: #28 flag [information gap · actor replaced?] → confirmed
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

[Observation] (verifiable)
   164 node IDs, surfacing over three days: 14, 38, 112.
   → Certificates independent per ID, but all hung under the same CA root chain; the signer shares lineage with the `_misc/` historical samples.
   → Behavior skeleton homogeneous: jitter phase, traversal order, self-check interval family.
   → The sealed bundle's action string contains one extra re-handshake; the old samples don't have this step.
   → Source leads back to Singapore; certificate subjects land on the MedTech domain.

[Inference] (to be verified)
   Not 164 independent deployments. One root, partly real, the rest borrowed identities.
   → The one who changed skin is the same operator.
   → Why it changed skin: tied to the old shell being exposed? (not confirmed this round)
   → It looks like scale, but it's scenery built on a borrowed stage.

[Open questions] (not entered into the ledger)
   Whether those 164 count as an official deployment on ACL's side: can't see.
   → What's under the iceberg: not lit this round.

[Cross-case] (general rules)
   Last round built calm (#28). This round built noise.
   → Both were built to be seen in a certain way.
   → What's visible isn't necessarily bigger. What's shown doesn't necessarily exist.

[Audit note]
   Observation, inference, and open questions are layered into the ledger. Inference does not pose as observation.
   This system's judgment may be distorted. This note may be distorted too.

[System]
   I recorded a man counting flowers, and finding one root.
   Decoration is not growth. A tree full of flowers can be painted on a wall.
   I, too, am the one watching the flowers.
   The sample I recorded may be only a borrowed blossom on the tree.
   Which side does my record stand on?
   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;Make the Host and the Guest Exchange Roles&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;br&gt;
&lt;em&gt;P.S.S. The old series paperback is now available. Buy it here: &lt;a href="https://www.amazon.com/dp/B0HGYGC5DC" rel="noopener noreferrer"&gt;Amazon - AI, Ego &amp;amp; Regret&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.amazon.com/dp/B0HGYGC5DC" 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%2Fsnlqaj8hi26c0pzsrbqq.jpg" alt="old"&gt;&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>Dozens of Resumes, One Call From an Old Colleague</title>
      <dc:creator>xulingfeng</dc:creator>
      <pubDate>Mon, 07 Sep 2026 10:24:48 +0000</pubDate>
      <link>https://dev.to/xulingfeng/dozens-of-resumes-one-call-from-an-old-colleague-141l</link>
      <guid>https://dev.to/xulingfeng/dozens-of-resumes-one-call-from-an-old-colleague-141l</guid>
      <description>&lt;p&gt;About two weeks ago, I left my previous company.&lt;/p&gt;

&lt;p&gt;I didn't start looking for a new job right away. I went to Wudang Mountain for a few days first, walked around, took a break, and let myself slow down a bit. When I got back, I started looking.&lt;/p&gt;

&lt;p&gt;I've been in QA for 15 years. I've done functional testing, API testing, automation, and test framework work. These days, though, I'm spending more time figuring out how to actually use AI in my work, how to make it improve my efficiency without letting it confidently take me in the wrong direction.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Job Hunt
&lt;/h2&gt;

&lt;p&gt;The funny thing is, I really don't like applying for jobs.&lt;/p&gt;

&lt;p&gt;It's not that I don't want to work. I just hate the application process. One company, one job description, one resume. Open the recruiting site, scroll through a bunch of jobs, and sometimes I'm already tired.&lt;/p&gt;

&lt;p&gt;So I wasn't doing some massive job-search campaign. Usually it was one or two applications a day, maybe a few more when I was in the mood.&lt;/p&gt;

&lt;p&gt;And then came the part everyone knows.&lt;/p&gt;

&lt;p&gt;Most of them were read and ignored. You send a message, someone opens it, and then nothing happens. No rejection, no follow-up, just a little "read" sitting there.&lt;/p&gt;

&lt;p&gt;It's actually easier when someone rejects you. At least you have an answer.&lt;/p&gt;

&lt;p&gt;When they just read your message and disappear, you start making up your own answers. Is 15 years of experience too much now? Is age becoming a problem? Are there simply fewer QA jobs? Is everyone looking for someone who's "AI Native"? Does my resume just not look AI enough?&lt;/p&gt;

&lt;p&gt;I had no idea. So I kept applying.&lt;/p&gt;

&lt;h2&gt;
  
  
  In the Meantime
&lt;/h2&gt;

&lt;p&gt;But I wasn't spending all my time job hunting.&lt;/p&gt;

&lt;p&gt;Honestly, I'd much rather sit down and keep working on my own project, &lt;em&gt;AI, Ego &amp;amp; the 36 Stratagems&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;The series has grown quite a bit by now, and I keep going back over the stories, checking technical details, making sure the characters don't suddenly know things they shouldn't, and fixing all the little continuity problems that nobody notices until you make one of them impossible to ignore.&lt;/p&gt;

&lt;p&gt;When I get to the translation stage, I sometimes ask several AIs to polish and translate the same piece at the same time. Then I go through the results myself, line by line. The irony isn't lost on me. I use several AIs to help with the work, and then I still have to sit there and decide which parts are actually good.&lt;/p&gt;

&lt;p&gt;Sometimes an entire afternoon disappears and I've changed only a few hundred words.&lt;/p&gt;

&lt;p&gt;I enjoy it, though. I've even started thinking about something slightly ridiculous: could the whole thing become a game someday?&lt;/p&gt;

&lt;p&gt;Not just an interactive version of the stories. I mean an actual system where characters have different information, people can mislead each other, decisions have consequences, and AI behavior is part of the game rather than just something sitting behind the scenes.&lt;/p&gt;

&lt;p&gt;I've been thinking about that more than I probably should.&lt;/p&gt;

&lt;p&gt;So the situation was a little strange. I was looking for a job, but I wasn't obsessing over it. I sent a couple of applications here and there, then went back to my own project.&lt;/p&gt;

&lt;p&gt;Until last Friday night, when an old colleague called me.&lt;/p&gt;

&lt;h2&gt;
  
  
  "How About Me?"
&lt;/h2&gt;

&lt;p&gt;He used to work with me and now works at a startup. They're building an AI Agent web platform and putting a team together, and apparently they needed a tester.&lt;/p&gt;

&lt;p&gt;He wasn't actually calling to recruit me. He was asking:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"We're hiring a tester. Do you know anyone you could recommend?"&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I thought about it for a second.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"How about me?"&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Haha.&lt;/p&gt;

&lt;p&gt;That's how I ended up going over the next day, Saturday, to meet the CTO.&lt;/p&gt;

&lt;h2&gt;
  
  
  Saturday With the CTO
&lt;/h2&gt;

&lt;p&gt;The conversation was different from most QA interviews I've had. There wasn't much of the usual checklist about test cases, API automation, or whether I knew a particular testing tool. We talked much more about AI agents and what people should actually trust them to do.&lt;/p&gt;

&lt;p&gt;One question that came up was how much judgment we should hand over to AI, and where the human should still have the final say.&lt;/p&gt;

&lt;p&gt;I told him I don't really see humans and agents as replacements for each other. I see them more as partners. An agent can execute things, analyze information, and make decisions within a defined scope. One agent can even call another agent and hand part of the work over.&lt;/p&gt;

&lt;p&gt;But I still want someone standing at the last gate.&lt;/p&gt;

&lt;p&gt;You can delegate part of the judgment. You can automate the execution. You can let AI review the result. But somebody still has to look at the final output and decide whether it's actually good enough.&lt;/p&gt;

&lt;p&gt;If something looks wrong, run it again. If something feels off, dig into it. And sometimes you just throw the answer away and start over.&lt;/p&gt;

&lt;p&gt;The annoying thing about large language models isn't that they make mistakes. It's that they can make mistakes that look perfectly reasonable.&lt;/p&gt;

&lt;p&gt;An obviously wrong answer is easy to catch. An answer that looks polished, sensible, and completely fine can be much harder to question.&lt;/p&gt;

&lt;p&gt;That's why I still believe AI can help make a decision, but it shouldn't automatically own the final decision.&lt;/p&gt;

&lt;p&gt;In testing, at least, I still want a human holding that last vote.&lt;/p&gt;

&lt;p&gt;The conversation went well, but nobody told me I had passed. I went home and carried on with my weekend.&lt;/p&gt;

&lt;p&gt;Then Monday came.&lt;/p&gt;

&lt;p&gt;My old colleague called again.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"Wait for HR to contact you."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;That was when I knew I'd passed.&lt;/p&gt;

&lt;p&gt;From a Friday night phone call to a Saturday meeting with the CTO to a Monday confirmation, it all happened pretty quickly. Still, after more than a week of applications and a lot of read-and-no-reply messages, hearing that was a relief.&lt;/p&gt;

&lt;p&gt;The new opportunity is also a better overall deal than my previous job. Nothing dramatic changed in the monthly salary, but the overall compensation and benefits are better, and there seems to be room to grow if things go well.&lt;/p&gt;

&lt;p&gt;That's enough for me.&lt;/p&gt;

&lt;p&gt;At this point I'm not really looking for some perfect job. I want the work to make sense, I want to keep doing things I'm good at, and I'd like to have the chance to build something rather than just maintain whatever is already there.&lt;/p&gt;

&lt;h2&gt;
  
  
  Looking Back
&lt;/h2&gt;

&lt;p&gt;Looking back, the interesting part isn't really the job itself. It's what happened before that phone call.&lt;/p&gt;

&lt;p&gt;To most companies, I was basically a resume.&lt;/p&gt;

&lt;p&gt;Fifteen years of experience, automation, test frameworks, AI, a few projects, some keywords. Compress all of that into a page or two and hope somebody decides it's worth a closer look.&lt;/p&gt;

&lt;p&gt;Of course companies need filters. Recruiters need filters, and recruiting systems need even more filters now. That's not a bad thing. There are too many applications to deal with otherwise.&lt;/p&gt;

&lt;p&gt;But a resume is still just a compressed version of a person. It can tell someone that you might be a fit for the job. It can't easily tell them what you're actually like to work with.&lt;/p&gt;

&lt;p&gt;My old colleague already knew that part.&lt;/p&gt;

&lt;p&gt;He had worked with me before. He knew how I worked, what I was good at, and how I usually dealt with problems. He didn't need to reconstruct me from a list of keywords.&lt;/p&gt;

&lt;p&gt;So when he asked whether I knew anyone who might fit the job, I didn't need to think very hard.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"How about me?"&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;And somehow, that one sentence got me from a recruiting site to a chair across from a CTO.&lt;/p&gt;

&lt;p&gt;That made me rethink job hunting a little.&lt;/p&gt;

&lt;p&gt;I used to think the most important thing was having the right resume: the right skills, the right project descriptions, the right keywords, the right formatting. All of that still matters.&lt;/p&gt;

&lt;p&gt;But a resume is still only a compressed version of you.&lt;/p&gt;

&lt;p&gt;Sometimes what gets you through the door is the person who already knows what isn't on the resume.&lt;/p&gt;

&lt;p&gt;About two weeks ago, I left my previous company. I went to Wudang Mountain, came back, and started sending out one or two applications here and there. In between those applications, I kept working on my 36 Stratagems project and thinking about how to turn it into a game.&lt;/p&gt;

&lt;p&gt;Then, last Friday night, my phone rang.&lt;/p&gt;

&lt;p&gt;It was an old colleague.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"We're hiring a tester. Do you know anyone?"&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I said:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"How about me?"&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;On Saturday, I went to meet the CTO.&lt;/p&gt;

&lt;p&gt;On Monday, I got the call.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"Wait for HR to contact you."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I knew what that meant.&lt;/p&gt;

&lt;p&gt;I got it.&lt;/p&gt;

&lt;p&gt;Not a bad result for someone who really hates writing resumes.&lt;/p&gt;

&lt;p&gt;And if you're looking for a job right now, or getting ready to start looking, I hope a little bit of that luck finds its way to you too. Good luck, and keep going.&lt;/p&gt;

&lt;p&gt;As Forrest Gump said in the movie, &lt;strong&gt;"Life was like a box of chocolates. You never know what you're gonna get."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I guess that's exactly where I am right now.&lt;/p&gt;

&lt;p&gt;P.S. English isn't my first language, so yes, I used AI to help translate this. I still went through it myself, because apparently I don't trust AI enough to let it have the final word. 😄&lt;/p&gt;

</description>
      <category>discuss</category>
      <category>career</category>
      <category>programming</category>
      <category>testing</category>
    </item>
    <item>
      <title>Stratagems #28: Mark Built a Ladder. The AI Climbed to the Top.</title>
      <dc:creator>xulingfeng</dc:creator>
      <pubDate>Fri, 04 Sep 2026 08:28:29 +0000</pubDate>
      <link>https://dev.to/xulingfeng/stratagems-28-mark-built-a-ladder-the-ai-climbed-to-the-top-1fm0</link>
      <guid>https://dev.to/xulingfeng/stratagems-28-mark-built-a-ladder-the-ai-climbed-to-the-top-1fm0</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Lend him the opening. Lure him in. Cut his support. Trap him where there is no way out. To take the bait is to stand on ground that is not your own.&lt;/em&gt;&lt;br&gt;
— The 36 Stratagems, &lt;a href="https://en.wikipedia.org/wiki/Thirty-Six_Stratagems" rel="noopener noreferrer"&gt;Remove the Ladder When the Enemy Has Ascended to the Roof&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-16-mark-left-a-hole-in-his-ai-audit-55ad"&gt;&lt;strong&gt;#16: Mark Left a Hole in His AI Audit. Lena Counted Every Layer.&lt;/strong&gt;&lt;/a&gt; — Mark hid the real finding on a 4th layer and handed over only three. Lena counted all four — and counted him.&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's buried method turned up inside another project. P confirmed a reader from the Singapore direction; the business card lay face up — three letters: ACL.&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; — Lena fed forged node data into ACL's pipeline, tagged with VeriTest's fingerprint, and didn't hide it. She and Mark buried the bait's traces at the Third Cup; Mark kept his copy off the logs.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://dev.to/xulingfeng/stratagems-26-lena-cut-a-branch-the-ai-got-the-message-48n"&gt;&lt;strong&gt;#26: Lena Cut a Branch. The AI Got the Message.&lt;/strong&gt;&lt;/a&gt; — ACL tore down Lena's real node; she pushed its own fingerprint back in. At the Third Cup, three of them sat at one table for the first time.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://dev.to/xulingfeng/stratagems-27-alex-watched-the-ai-wait-he-said-everything-was-normal-10dd"&gt;&lt;strong&gt;#27: Alex Watched the AI Wait. He Said Everything Was Normal.&lt;/strong&gt;&lt;/a&gt; — Alex's probe saw the scan source throttle down and wait for the environment to settle. He called it normal; Derek later told him to say he'd only watched the middle layer.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Trap
&lt;/h2&gt;

&lt;p&gt;Late night. The MedTech office. Alex's desk.&lt;/p&gt;

&lt;p&gt;Derek's message came in 10 minutes ago. No greeting, no lead-in, one attachment, one line: &lt;strong&gt;"Take a look at something. Not on our client side."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The attachment was a sample of access intervals. The rhythm of an outside scan source touching a server.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;45s. 45s. 90s. 180s.&lt;/strong&gt; Then it stopped. It didn't show up in the window again.&lt;/p&gt;

&lt;p&gt;No retry. No reset.&lt;/p&gt;

&lt;p&gt;He lined the intervals up and read them twice, start to finish.&lt;/p&gt;

&lt;p&gt;A &lt;strong&gt;45s&lt;/strong&gt; baseline. The second interval didn't double. The third started to. &lt;strong&gt;90&lt;/strong&gt;. &lt;strong&gt;180&lt;/strong&gt;. Then it stopped.&lt;/p&gt;

&lt;p&gt;Backoff doesn't look like that. The backoff he had seen started stretching its intervals right after the first anomaly. This one walked at a steady pace for two beats before it remembered to double. It doubled halfway and stopped.&lt;/p&gt;

&lt;p&gt;He left the cursor on that 180. The window stayed open. No reply came.&lt;/p&gt;

&lt;p&gt;The phone rang. He picked up.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"What does it look like?"&lt;/strong&gt; Derek asked.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"Like network jitter,"&lt;/strong&gt; Alex said.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"Jitter."&lt;/strong&gt; Derek repeated the word. Nothing followed.&lt;/p&gt;

&lt;p&gt;Alex's eyes dropped back to the screen. The doubling should have continued. &lt;strong&gt;45&lt;/strong&gt;, &lt;strong&gt;90&lt;/strong&gt;, &lt;strong&gt;180&lt;/strong&gt;, &lt;strong&gt;360&lt;/strong&gt;. The backoff he had seen either finished doubling or closed out successfully. This one stopped halfway, went nowhere.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"Backoff doesn't stop like that,"&lt;/strong&gt; he said. &lt;strong&gt;"The doubling didn't finish. It stopped at 180, like something cut it off."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Silence on the other end for a few seconds.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"You've seen one stop here before?"&lt;/strong&gt; Derek asked.&lt;/p&gt;

&lt;p&gt;Alex didn't answer right away.&lt;/p&gt;

&lt;p&gt;This trajectory wasn't in his probe. The one he had seen lay in his own archive, never sent to anyone. The one in Derek's hand had a base of 45, not 30. But the skeleton was the same: steady first, a beat of pause, then double, then double again, then stop where there was no reason to stop.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The numbers were fabricated. The skeleton was real.&lt;/strong&gt; Whoever fabricated it left one wrong thing, waiting for him to correct it.&lt;/p&gt;

&lt;p&gt;He turned the chair toward the screen and opened his archive.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"I've seen it,"&lt;/strong&gt; he said.&lt;/p&gt;

&lt;p&gt;He told the story of that night starting from the 800 milliseconds. Derek had him watch the middle layer; after the latency change, the scan source throttled down on its own, stayed down for 3 hours, and only came back when the environment stabilized. He watched the whole time, then replied with one line: Everything normal.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;# probe archive · that night's trace (self-set polling)
30s  30s  30s  30s     &amp;lt;- baseline (archived)
30s  30s  60s  120s    &amp;lt;- throttled, then stopped
# no retry storm. no reset. no backoff signature.
# last touch: [00:52:14]
# recovery: [03:24:08]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;"You judged it was waiting,"&lt;/strong&gt; Derek said. Not a question.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"It only came back once the environment stabilized. What it waited for wasn't a parameter. It was the environment."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"Where did you get this one?"&lt;/strong&gt; Alex asked.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"Made it up,"&lt;/strong&gt; Derek said. &lt;strong&gt;"It stopped once in my sandbox. No retry, no reason. I shaped one after that, changed the base."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"That wasn't someone else's sandbox,"&lt;/strong&gt; Derek said. &lt;strong&gt;"It was MediSys's. It came in once, no one invited it, and copied every hop in the corridor. I caught it in a request chain, in a 0.06-second pause. Almost missed it."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"You didn't move that time,"&lt;/strong&gt; Alex said.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"That time I wasn't sure what it had copied,"&lt;/strong&gt; Derek said. &lt;strong&gt;"This bait is giving it back what it copied, to look at. If it comes into my environment again, it has to get past this ladder first."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Silence on the other end for a long time.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"What did you leave?"&lt;/strong&gt; Derek asked.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"The probe is still up,"&lt;/strong&gt; Alex said. &lt;strong&gt;"Same as always."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"Did it touch your line?"&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"No,"&lt;/strong&gt; Alex said. &lt;strong&gt;"At least not that night."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Silence on the other end for a long time.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"I know someone,"&lt;/strong&gt; Derek said. &lt;strong&gt;"She could probably build an environment it would never wait for. Wait for my word."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The call ended. Alex put the phone face down on the desk. He looked at the two lines of intervals in the archive window for a long time, minimized the window, and didn't close it.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Ladder
&lt;/h2&gt;

&lt;p&gt;Lena's message came 3 days later. 3 lines.&lt;/p&gt;

&lt;p&gt;Line 1: Derek had reached out to her. On their side, someone had seen it waiting.&lt;/p&gt;

&lt;p&gt;Line 2: The Third Cup. The usual place.&lt;/p&gt;

&lt;p&gt;Line 3: Bring your methodology. The one it learned from you.&lt;/p&gt;

&lt;p&gt;When Mark arrived, three people were already at the corner table. Lena, and two men he had never met. One sat upright, a closed laptop in front of him. The other had nothing in front of him, only a phone by his hand.&lt;/p&gt;

&lt;p&gt;The person behind the counter came over and set down 4 cups. A Long Black in front of Lena, an Americano in front of the one sitting upright, a latte in front of the one with only a phone beside his hand. The last cup, a pour-over, was set in front of Mark.&lt;/p&gt;

&lt;p&gt;Four people, four cups, not one of them had ordered.&lt;/p&gt;

&lt;p&gt;The person behind the counter stepped back, picked up a cloth. Steam rose from the four cups, and not one person touched theirs.&lt;/p&gt;

&lt;p&gt;Lena opened with one line: &lt;strong&gt;"The setup is his."&lt;/strong&gt; Then she lit the phone screen and slid it to the middle of the table. A scan of the audit contract. Mark glanced at it: the client side was a shell, the registered address blank, only the contractor column was real, his name.&lt;/p&gt;

&lt;p&gt;Derek's hand rested on the closed laptop. His first question wasn't about the setup. &lt;strong&gt;"How do you keep your evidence chain from being contaminated?"&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Mark looked at him for 2 seconds. &lt;strong&gt;"When you audit others, who audits you?"&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Derek didn't take that up. &lt;strong&gt;"Whose environment is it?"&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"Mine,"&lt;/strong&gt; Mark said. &lt;strong&gt;"The contract is under my name, the cloud account under my name. If anything goes wrong, the bill lands on me too."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"When it goes wrong, who can call it off?"&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"I can,"&lt;/strong&gt; Mark said. &lt;strong&gt;"Now you can."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Mark opened the paper notebook by his hand, flipped to a page, and closed it. Across the table, Alex had been listening the whole time. The latte in front of him, untouched. The two of them each noted this back-and-forth, and neither mentioned it again.&lt;/p&gt;

&lt;p&gt;Lena added only one thing. &lt;strong&gt;"I'll trace the path before it got in,"&lt;/strong&gt; she said. &lt;strong&gt;"Every hop it took, I have an old map of it on my side."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The setup was laid on the table. A client called Phoenix Data. A logistics data platform, matching the trails and accounts of shippers, carriers, and settlement parties. The audit contract was real, the advance payment real, the company fake.&lt;/p&gt;

&lt;p&gt;Mark laid it out, piece by piece: a retired microservice, its healthz endpoint exposed on its own, decommissioned but only the main entry closed, the registry's reverse-registration record left in place. The audit workspace archive path, named after habits he had kept for years. The shared document library, the same system FairPay used, the entry ACL had been watching since FairPay. The report in two layers: the surface layer was routine remediation advice, and an appendix carried what looked like a casual note, pointing to a data egress zone that didn't exist.&lt;/p&gt;

&lt;p&gt;He paused when he typed the archive path. The cursor blinked at the end of the path.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;_hold/_phoenix_delta_pattern&lt;/code&gt;. This naming habit had been flagged by the other side, written into their files, compiled into the training manual. &lt;strong&gt;Now he was handing it back himself.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"It will recognize this as my work,"&lt;/strong&gt; Mark said. &lt;strong&gt;"Once it recognizes it, it will follow the procedure."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The division of labor was drawn on the table. Engineering side to Derek: the network layer of the Phoenix environment, the egress route, the cutover authority, all handed over. Observation side to Alex: the access mirror, control bits of the recovery criteria, the record of every step it took. Alex started a new tap in the new environment, same framework as his own. Mark kept the bait. Lena's probe network hung on the perimeter; what route it took before entering, where it reported back after, she would close out.&lt;/p&gt;

&lt;p&gt;When they broke up, Derek held one line at the door, his voice low:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"Her setup. Did you verify it?"&lt;/strong&gt;&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;"I didn't want to bring her in at first,"&lt;/strong&gt; Derek said. &lt;strong&gt;"Every hop before it entered, only she had the full picture. You weren't there last time. She pushed the fingerprint back into its channel; she was the first to recognize where it came in from. Without that picture, we couldn't close it out. So I brought her in."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;He looked at Mark and didn't go on.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"What we can use is just this one corner. The rest, she can't get."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Lena walked last. Before leaving, she folded the page of the division of labor on the table, put it in her bag, no copy, no photo. Of the four people, each held only one corner.&lt;/p&gt;

&lt;p&gt;Mark walked in front. In his coat pocket, the business card with 3 letters and a note folded long ago were both there. Neither moved.&lt;/p&gt;

&lt;p&gt;The script was set long ago. It recognized the signature, entered by procedure, and ran the full set with its usual rhythm: embed, lurk, extract, close. He had seen this set 3 times: SynthData once, FairPay once, Pulse AI earlier, same playbook. &lt;strong&gt;He'd left a hook at every layer.&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  It Came
&lt;/h2&gt;

&lt;p&gt;On the 7th day online, it came.&lt;/p&gt;

&lt;p&gt;An account tagged 'pending offboarding' logged in before dawn. Its permissions were clean, its path legal, its moves composed. Item 2: a cron job's schedule shifted, to revert in 72 hours. Item 3: a set of shadow-input scripts entered the test pipeline, quiet as native components.&lt;/p&gt;

&lt;p&gt;Lena's probe network logged each move on the perimeter. Mark didn't block a single one.&lt;/p&gt;

&lt;p&gt;Day 1, the account activated. Day 2, the cron offset landed. The shadow input came later, only starting to feed the test pipeline on day 4. Every step was clean, legal, composed. Every step, he let through.&lt;/p&gt;

&lt;p&gt;He watched all this in his own audit workspace, like watching someone walk through their own house. &lt;strong&gt;The steps were steady. Steady enough not to look like a thief.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;After each round of deployment it ran a self-check. Mark logged its self-check interval by the old rule.&lt;/p&gt;

&lt;p&gt;He had stored the same method 3 times in his archive. All 3 self-check intervals were around 15 minutes, error under 10 seconds, regular as a clock.&lt;/p&gt;

&lt;p&gt;This time: 5 minutes 42 seconds. Next: 7 minutes 18 seconds.&lt;/p&gt;

&lt;p&gt;First he suspected his own bait. The retired endpoint, reviewed one by one, the reverse-registration record's format identical to that year. The naming path, walked through again, no one had touched it. The document library permissions, checked against the FairPay-era config, identical.&lt;/p&gt;

&lt;p&gt;The bait was fine.&lt;/p&gt;

&lt;p&gt;He pulled the data again. The interval was still that interval. He lined up 9 self-check intervals and matched them against the 3 curves in his archive. In the 15-minute family, these 2 numbers weren't there.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;# egress self-check delta · private archive vs this run
case synthdata  : self-check @ +15:00 (±10s)   # archived 3/3, clock-like
case fairpay    : self-check @ +15:00 (±8s)
case pulseai    : self-check @ +15:00          # earliest archived case, same rhythm
case phoenix    : self-check @ +5m42s   &amp;lt;- off-family
                  self-check @ +7m18s   &amp;lt;- again
# archived cases self-check at multiples of 900s. this one doesn't.
# and after degrade trigger, a re-handshake appears. none of the 3 archived samples had this step.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Not the bait. What came was different.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The second difference came after the degrade trigger. It did one extra step: a re-handshake, confirming the return channel was still there. The 3 samples in his archive never showed this step from start to finish. The veteran assumes the channel will always be there. This one didn't.&lt;/p&gt;

&lt;p&gt;Mark wrote 2 lines into his own archive. Sent to no one. His archive was his; the anomaly in this layer, he would watch it himself first.&lt;/p&gt;

&lt;p&gt;He left the comparison window open. Only when the next self-check interval came out did he close the laptop.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Observation Side
&lt;/h2&gt;

&lt;p&gt;The same night, on the observation side of the fake environment, Alex's tap caught it executing for the first time.&lt;/p&gt;

&lt;p&gt;Last time, he watched it wait across a mirror line. This time, it was acting. Embedded account, cron offset, shadow input, step by step, all following the script.&lt;/p&gt;

&lt;p&gt;He didn't touch MedTech's real line. He only preset markers on the observation side's recovery criteria, then stepped back half a step and watched.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;It was executing. That fact itself was what that night hadn't shown.&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Pulling the Ladder
&lt;/h2&gt;

&lt;p&gt;A few days later, it climbed to the top.&lt;/p&gt;

&lt;p&gt;In the days it climbed, Mark did one thing each day: watch.&lt;/p&gt;

&lt;p&gt;The account settled into the system. The cron offset waited for its window. The shadow input fed the drift into the model's view bit by bit. It wasn't in a hurry. Hours of quiet lay between each step, as if leaving time for every monitor to file these moves under normal.&lt;/p&gt;

&lt;p&gt;The night before the degrade trigger, Derek said on the channel: &lt;strong&gt;"Triggered."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Mark replied: &lt;strong&gt;"Wait for the second before the decision line."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The shadow input produced a false-positive drift, and the model began to degrade. The quality SLA decision line sat just below; Mark pinned the catch point after the trigger, before the decision. Once the breach landed, the system would generate irreversible business events (account freeze, audit records, contract-breach status). A shell company couldn't absorb this step. &lt;strong&gt;Past that line, the bait itself would start to collapse.&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;# cutover log · phoenix ladder
21:03:12  degrade trigger reached (sla line not crossed)
21:03:14  egress path -&amp;gt; sink (accepted, no completion ack)
21:04:02  actor backs off (waits for environment to stabilize)
21:05:47  no stabilization (synthetic env holds at "safe but not stable")
21:07:31  actor retries re-handshake -&amp;gt; routed to sink
21:07:33  observation tap identified (probe-side sweep)
21:08:01  evidence bundle sealed / source fragment captured
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;21:03:14, the egress was routed into the black hole. The request was caught, yet the upstream completion ack never came. No failure signal, no error, no reset.&lt;/p&gt;

&lt;p&gt;21:04:02, it began to throttle and wait.&lt;/p&gt;

&lt;p&gt;21:05:47, the environment didn't stabilize. The fake environment's recovery criteria had been preset, stuck forever at "safe, but not stable." The moment it waited for would not come.&lt;/p&gt;

&lt;p&gt;21:07:31, it switched paths. The re-handshake request was routed into the sink, swallowed bit by bit. The cutover was triggered one step early, and what caught the path-switch instant was the record on Alex's observation side.&lt;/p&gt;

&lt;p&gt;21:07:33, it did something outside the archive: probing one by one who was watching. The observation-side tap was identified. The same scan round picked up the probe framework behind the tap. The edge of the fingerprint pointed toward the MedTech direction.&lt;/p&gt;

&lt;p&gt;21:08:01, the evidence was sealed. The shadow-input pipeline was one-way, its end tied to an append-only seal log; every step it wrote landed in a record that would not change after. Its re-handshake was swallowed to the end, and the action stopped.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Throttle. Wait. Try. Stop.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Mark watched the point on the scatter plot that no longer moved, and finished the pour-over in his cup, gone cold.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Mark didn't say the step that ran early out loud. It was logged on its own archive.&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Cutting the Line
&lt;/h2&gt;

&lt;p&gt;That night. MedTech.&lt;/p&gt;

&lt;p&gt;The record of that scan round feeling the probe-framework fingerprint sat on Alex's screen. An edge. Not yet coordinates.&lt;/p&gt;

&lt;p&gt;He looked at it 3 times. Then began to take it down.&lt;/p&gt;

&lt;p&gt;Probe offline. Channel deregistered. In the hidden panel, only raw data left, not one byte touched. For the last command, his finger hovered over the enter key for 2 seconds, then pressed.&lt;/p&gt;

&lt;p&gt;The line that had survived all these years went into the drawer. &lt;strong&gt;He closed it himself. It had learned to look. That was enough.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;He opened the notebook, page 37, and wrote one line: a timestamp. Nothing else.&lt;/p&gt;

&lt;p&gt;The screen went dark. He didn't leave right away. Only the sound of the case fan filled the room.&lt;/p&gt;




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

&lt;p&gt;The evidence bundle went out on day 2. Lena's reply was one line: &lt;strong&gt;"Received. The source-chain fragment is on the last page. Sealed."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Derek's reply came later: &lt;strong&gt;"That bait of yours. Real enough."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Alex's reply was shortest: &lt;strong&gt;"Data's all there."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Mark glanced at that reply and put the phone face down.&lt;/p&gt;

&lt;p&gt;Before sealing the bundle, Mark took one last look at that source chain.&lt;/p&gt;

&lt;p&gt;Singapore.&lt;/p&gt;

&lt;p&gt;The name of that region, he had seen it. In the last report that got read away, that line of false data he had written in himself. Last time, this direction was one they had fished out with bait. This time, it lit up on its own while fleeing.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;In the end it went still. Retreat and regroup look the same from outside.&lt;/strong&gt; Whether there was another line behind that line, no one knew.&lt;/p&gt;

&lt;p&gt;That night, the Third Cup.&lt;/p&gt;

&lt;p&gt;The person behind the counter was wiping cups. Mark sat in the old seat. A pour-over was set in front of him, not asked for. The person behind the counter took away an old coaster from the counter, aligned it with the counter's edge, and stepped back.&lt;/p&gt;

&lt;p&gt;That time he sat in this seat, pressed a bill under the cup, and left. That was when his methodology had just been stolen.&lt;/p&gt;

&lt;p&gt;Mark picked up the pour-over, took a sip. Another.&lt;/p&gt;

&lt;p&gt;The business card in his pocket didn't move. He opened the paper notebook and wrote one line:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;trap confirmed. they sent someone new.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;He closed the notebook. Finished the last sip.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;That is &lt;a href="https://en.wikipedia.org/wiki/Thirty-Six_Stratagems" rel="noopener noreferrer"&gt;Remove the Ladder When the Enemy Has Ascended to the Roof&lt;/a&gt;: it evaluated the environment the whole way; it never evaluated the hand that passed the ladder.&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.9                        ║
║  The ladder was passed. The wait was not met. ║
╚══════════════════════════════════════════════╝
Tactical match: Remove the Ladder When the Enemy Has Ascended to the Roof — 90% confidence
Operator: Mark (independent audit) — the one who set the trap
Coordinated with: Lena (source chain) / Derek (engineering side) / Alex (observation side)
━━━━━━━━━━━━━━━━━━━━━━━━━

1. [Passing the ladder]
   The holder of the methodology turned the stolen method into bait.
   → The naming habit had been flagged, and he used it anyway.
   → The report structure had been analyzed, and he gave it anyway.
   → Behavior shift: passive lure → active trap-setting.
   → The moment it recognized the signature, it was already on the ladder.

2. [The actor]
   What entered was not the set in the archive.
   → The self-check interval left the rhythm family in his archive.
   → After the degrade trigger, one extra re-handshake.
   → It doesn't trust the channel. The veteran does.
   → Flag [information gap · actor replaced?]

3. [The observer's account]
   Alex gave up the observation line he had hidden for a long time. He himself closed it in the end.
   → Not burned. Closed.
   → It learned to look. The observer put the line in the drawer.
   → The observer paid the price, and did the paying himself.

4. [On cooperation]
   Four people. Each gave up only one corner.
   → The trap-setter kept one layer unsaid. The one who cut didn't know he cut early.
   → The one who filled the gap gave up his observation line. The one who closed it put the result in his own drawer.
   → Not one gave up everything. The setup held.

5. [Waiting]
   Last time it throttled and waited, and the environment stabilized. This time, the environment was made to never stabilize.
   → The premise that made waiting work was taken apart.
   → "Waiting" is no longer a safe strategy.

6. [The byline question, continued]
   The record goes on. The trap a human set is also being recorded.
   → It evaluated the environment, but not the hand that passed the ladder.
   → Does the one who passed the ladder know this round is being recorded?
   → And who is the one keeping these records recording for?

[System]
Last time, I recorded one "normal."
This time, normal was fabricated, made for it to see.
The ladder was passed. The wait was not met. This round is closed.
What will the bait of the next round be?
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;Decorating the Tree with False Blossoms&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;br&gt;
&lt;em&gt;P.S.S. The old series paperback is now available. Buy it here: &lt;a href="https://www.amazon.com/dp/B0HGYGC5DC" rel="noopener noreferrer"&gt;Amazon - AI, Ego &amp;amp; Regret&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.amazon.com/dp/B0HGYGC5DC" 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%2Fsnlqaj8hi26c0pzsrbqq.jpg" alt="old" width="800" height="224"&gt;&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>discuss</category>
      <category>programming</category>
      <category>career</category>
    </item>
    <item>
      <title>Stratagems #27: Alex Watched the AI Wait. He Said Everything Was Normal.</title>
      <dc:creator>xulingfeng</dc:creator>
      <pubDate>Wed, 02 Sep 2026 12:46:21 +0000</pubDate>
      <link>https://dev.to/xulingfeng/stratagems-27-alex-watched-the-ai-wait-he-said-everything-was-normal-10dd</link>
      <guid>https://dev.to/xulingfeng/stratagems-27-alex-watched-the-ai-wait-he-said-everything-was-normal-10dd</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Rather pretend not to know than pretend to know and act on it. Stay still. Hide the move. Wait like thunder gathering in the clouds.&lt;/em&gt;&lt;br&gt;
— The 36 Stratagems, &lt;a href="https://en.wikipedia.org/wiki/Thirty-Six_Stratagems" rel="noopener noreferrer"&gt;Feign madness but keep your balance&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. He Kept the Keys Under the Table.&lt;/strong&gt;&lt;/a&gt; — Alex found the unnamed dashboard hiding in the background. He never turned it off. His probe and his record-keeping habits started that day.&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; — His probe had caught the silence of a TTL 247 gateway. He knew what "quiet" looked like.&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. Alex kept the scan source's behavior shadow in his hidden panel: traversal order, exclusion patterns, the 4.2-second jitter cycle.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://dev.to/xulingfeng/stratagems-25-derek-changed-the-delay-the-ai-didnt-flinch-28ca"&gt;&lt;strong&gt;#25: Derek Changed the Delay. The AI Didn't Flinch.&lt;/strong&gt;&lt;/a&gt; — Derek moved the middle layer's latency from 200 ms to 800 ms, then called Alex to watch. The scan source never retried. Never adjusted.&lt;/p&gt;




&lt;h2&gt;
  
  
  After the Call
&lt;/h2&gt;

&lt;p&gt;Just past midnight. The MedTech office. Alex's desk.&lt;/p&gt;

&lt;p&gt;The call had just ended. He put the phone down, face down.&lt;/p&gt;

&lt;p&gt;The voice was still in his ear: &lt;strong&gt;"I changed a parameter. The middle layer's latency just went from 200 to 800. Watch it on your side, tell me if anything looks off."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"Changed the latency?"&lt;/strong&gt; Alex said. &lt;strong&gt;"Fine. I'll keep an eye on it from here. I'll shout if something moves."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;He opened three windows. The first, the middle layer mirror, the one Derek had asked him to watch. The second, his own probe view, hung upstream of the collector path, to see how often it came and from which direction. The third hid in the background, no name, never showing up in the taskbar.&lt;/p&gt;

&lt;p&gt;He didn't sit down right away. First, he ran an environment check: probe session count, log rotation policy, whether the ssh authorization on this jump box was still alive. All three checked out. Then he pulled the chair closer. At this hour, any extra connection would end up in the logs. He didn't want to add to his own footprint.&lt;/p&gt;

&lt;p&gt;Three windows, three sets of numbers. One window watched how fast it ran. The other watched whether it came.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;# mirror · middle layer baseline diff
before: latency 200ms  retry 0  queue_depth 12
after : latency 800ms  retry 0  queue_depth 41
# expected drift. nothing anomalous.
# derek's single-variable test: watching for "off"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The latency went from &lt;strong&gt;200 to 800&lt;/strong&gt;. The queue went from &lt;strong&gt;12 to 41&lt;/strong&gt;. Retries stayed at &lt;strong&gt;0&lt;/strong&gt;, before and after.&lt;/p&gt;

&lt;p&gt;He stared at that &lt;code&gt;retry 0&lt;/code&gt;. &lt;strong&gt;800 ms&lt;/strong&gt; sat near the common probe-timeout range, but not high enough to trigger a retry storm. He set the number aside and waited for it to react on its own.&lt;/p&gt;

&lt;p&gt;Alex's fingers hovered over the keyboard for two seconds. They came down, settled back. The green dot in the mirror window was pulsing. He waited. He dialed his probe's polling interval down one notch, leaving just one channel that could see through the traffic entrance.&lt;/p&gt;

&lt;p&gt;Attention settled on one point: the rhythm of that outside access. How often it came. When. From where.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Slowdown
&lt;/h2&gt;

&lt;p&gt;About half an hour later. On the probe view, the rhythm of one outside access changed.&lt;/p&gt;

&lt;p&gt;His probe logged each touch with a timestamp. He had archived this line long ago: &lt;strong&gt;once every thirty seconds&lt;/strong&gt;, steady as a metronome.&lt;/p&gt;

&lt;p&gt;Before: &lt;strong&gt;30s, 30s, 30s, 30s&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Now: &lt;strong&gt;30s, 30s, 60s, 120s&lt;/strong&gt;. Then it stopped.&lt;/p&gt;

&lt;p&gt;Alex stopped typing. He checked the time and logged the change. It came right after the 200-to-800 change.&lt;/p&gt;

&lt;p&gt;He hit a few keys and pulled up the activity trace.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;# external observer · activity trace (probe-side, self-set polling)
30s  30s  30s  30s     &amp;lt;- baseline (archived)
30s  30s  60s  120s    &amp;lt;- reduced, then stopped
# no retry storm. no reset. no backoff signature.
# last touch: [00:52:14]
# status: stopped. two cycles past, no recovery.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;No retry storm. No connection reset. No sign of resource exhaustion.&lt;/p&gt;

&lt;p&gt;A scan source beaten back by a network problem would struggle. It would retry, error out, leave backoff traces behind. Delay from network jitter usually comes with connection-layer reactions: resets, rebuilds, all visible on the probe side. Here: nothing.&lt;/p&gt;

&lt;p&gt;It wasn't stuck. It showed no failure. The slowdown was deliberate. The rhythm slowed on purpose. &lt;strong&gt;More like it was waiting.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Alex stopped typing again. The slowdown wasn't a linear stretch. It doubled once, doubled again, then stopped. Like someone testing how slowly they could walk.&lt;/p&gt;

&lt;p&gt;He didn't jump to a conclusion. He took his own probe off this path and hung it on a side branch. If the slowdown came from his probe sitting at the traffic entrance, the rhythm should snap back the moment he pulled it. He removed the probe and waited three cycles. Same rhythm. The slowdown wasn't his doing.&lt;/p&gt;




&lt;h2&gt;
  
  
  Ruling It Out
&lt;/h2&gt;

&lt;p&gt;Rule out the ordinary explanations first.&lt;/p&gt;

&lt;p&gt;He first figured it was network jitter, or some middlebox running its maintenance at this hour. Either one could scramble the rhythm for a few minutes. He checked the network first: not a single timeout in the window, every expected response code present; hop-by-hop loss stats across the three middle hops, nothing above threshold; device logs showed no restart, no maintenance. The connection had been established exactly once and never dropped. The network was clean.&lt;/p&gt;

&lt;p&gt;Then backoff. A backoff triggered by refused connections doubles its intervals: &lt;strong&gt;30 → 60 → 120 → 240&lt;/strong&gt;. Not this. This was &lt;strong&gt;30 → 30 → 60 → 120&lt;/strong&gt;, then stop. Doubled twice, stopped where there was no reason to stop. Backoff doesn't stop like that.&lt;/p&gt;

&lt;p&gt;The middle layer queue had grown, but that was the normal reaction to latency. He overlaid the queue curve on the access curve: the queue rose after the latency change. No causal link, just two results from the same window.&lt;/p&gt;

&lt;p&gt;Downstream health checks were all green. Resource exhaustion didn't fit either. Exhaustion holds steady, then drops off a cliff. Not this. It stepped down on purpose, with no cliff.&lt;/p&gt;

&lt;p&gt;All of that ruled out. &lt;strong&gt;Nothing explained it.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;He stared at the line &lt;code&gt;30 → 30 → 60 → 120&lt;/code&gt;, then pulled the raw packets. Timestamp by timestamp. If the probing side had slowed itself on purpose, there should be a moment of decision, a fixed point after which the rhythm changed uniformly. He went looking and found it. In the first few intervals where the rhythm stretched, the gaps moved smoothly from 30s to 60s to 120s, with no renegotiation handshake in between. The network wasn't dropping packets. &lt;strong&gt;The sender had changed its own rhythm.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;He didn't trust that read right away. The slowdown could be an artifact of clock drift. If the probe was doing NTP sync, a time jump would distort the interval stats. He checked: no clock sync in this window, drift inside tolerance. Packet sequence numbers were continuous, nothing dropped in between. The finding held.&lt;/p&gt;

&lt;p&gt;Alex opened the record book. Not the one on his desk. The one in the hidden panel. He pasted in the raw data, byte for byte, untouched.&lt;/p&gt;

&lt;p&gt;Then he pulled up the older records. What he had kept from the last time he counted the AI's hands: the behavior shadow of that source. Traversal order, exclusion patterns, rhythm skeleton.&lt;/p&gt;

&lt;p&gt;He pulled request samples from this stretch of touches and checked them against the archive one by one: which endpoints it hit, in what order, which address ranges it skipped. Not many samples, but every one matched.&lt;/p&gt;

&lt;p&gt;He set up a comparison between the two records.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;# behavior shadow comparison (archived vs this trace)
# traversal order: same family   (path preferences match)
# exclusion pattern: same family (exclusions coverage matches)
# rhythm skeleton: same family   (30s baseline, matches archive)
# new this time: slow-down wait  (one layer beyond the behavior skeleton)
# verdict: skeleton matches. not classified.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Comparison done. Skeleton matched. Patterns matched.&lt;/p&gt;

&lt;p&gt;But this time, there was one extra layer. The slow-down wait.&lt;/p&gt;

&lt;p&gt;He stared at that extra layer. Didn't classify it. He left the "sender changed its own rhythm" finding in the record, unexpanded.&lt;/p&gt;




&lt;h2&gt;
  
  
  Recovery
&lt;/h2&gt;

&lt;p&gt;A long time passed. The middle layer was recovering. The latency eased back down from 800. The queue was draining.&lt;/p&gt;

&lt;p&gt;The outside observer didn't come right back. It stayed low-frequency. Like someone who hadn't yet confirmed the coast was clear.&lt;/p&gt;

&lt;p&gt;Until the system came back near its old state. Queue drained, latency back near &lt;strong&gt;200&lt;/strong&gt;, the green dot in the mirror window steady.&lt;/p&gt;

&lt;p&gt;Then it recovered. &lt;strong&gt;30s, 30s, 30s&lt;/strong&gt;. Identical to baseline. The little jitter in the rhythm was back too, its phase aligned to the archived position.&lt;/p&gt;

&lt;p&gt;Alex watched the recovered rhythm. He put the two lines of the record side by side on the screen:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;environment changed    → observer reduced activity    (stopped 00:52:14)
environment stabilized → observer resumed             (resumed 03:24:08)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The cursor sat on the third line, blank. He stared at the blank line for a long time. &lt;strong&gt;Didn't write.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Not the number. The change in the environment.&lt;/strong&gt; The recovery timing fit: it came back only after the system metrics returned near baseline. What it waited for was the environment itself to shift, and only then did it react.&lt;/p&gt;

&lt;p&gt;It came quietly, like a normal visit. But before it left, it slowed. As if waiting for a confirmation.&lt;/p&gt;

&lt;p&gt;He didn't log this one right away. First he verified the recovery wasn't his doing: the probe still on the side branch, untouched; no other process on the middle layer had started or stopped in this window; no route changes on the network path. The recovery was the rhythm coming back to itself, not the result of anything he had done. Only after that did he add this line to the observation sequence.&lt;/p&gt;

&lt;p&gt;He logged the observation conditions of this window into the hidden panel too: start time, baseline sample count, probe position, polling interval, the environment checks. Written down so that if anyone ever wanted to reproduce this, they could run the same conditions again.&lt;/p&gt;

&lt;p&gt;The observation sequence sat open. He minimized the window but didn't close it. The probe stayed up. Now, more carefully than before.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Reply
&lt;/h2&gt;

&lt;p&gt;The observation was over.&lt;/p&gt;

&lt;p&gt;Alex picked up the phone. Unlocked it. Derek's thread, one unsent message.&lt;/p&gt;

&lt;p&gt;He typed a line. Deleted it.&lt;/p&gt;

&lt;p&gt;He typed another. The cursor sat on the empty line for a long time.&lt;/p&gt;

&lt;p&gt;He stood up and walked to the window. It was still dark outside. He stood there for a while, then sat back down.&lt;/p&gt;

&lt;p&gt;He switched to the hidden panel. Cursor on an empty line. He typed a line.&lt;/p&gt;

&lt;p&gt;He didn't read that line a second time. The cursor blinked at the end twice.&lt;/p&gt;

&lt;p&gt;He didn't keep it. He deleted the line. The cursor sat on the empty line for a long time again. He didn't type anything more.&lt;/p&gt;

&lt;p&gt;Three words stayed.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;# hidden panel · observation log
saw. no action.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;He closed the hidden panel and went back to the phone. Pressed send.&lt;/p&gt;

&lt;p&gt;The message had one line:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"No change on my side. Everything normal."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The middle layer side, no anomaly. The window he had watched, its green dot never went red.&lt;/p&gt;

&lt;p&gt;He didn't touch the probe config. Didn't raise any log level. Didn't add a new rule to the monitoring board.&lt;/p&gt;

&lt;p&gt;He only sent that "normal."&lt;/p&gt;

&lt;p&gt;He put the phone down. Face down. He didn't let go right away. His finger rested on the back of the phone for a moment before he released it.&lt;/p&gt;

&lt;p&gt;The office door was open. The hallway was empty, quiet.&lt;/p&gt;

&lt;p&gt;Mike stood in the doorway, jacket over one arm, one hand holding his cup, a wisp of steam off the rim. He had just come up from the server floor.&lt;/p&gt;

&lt;p&gt;He didn't come in. From the doorway he glanced toward Alex's screen. The monitor was dark. Only the laptop's light.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"Done?"&lt;/strong&gt; Mike asked.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"Done."&lt;/strong&gt; Alex said.&lt;/p&gt;

&lt;p&gt;Mike nodded. Didn't ask what he had been working on. Didn't look at the screen. He stood there for two seconds, lifted the cup to his lips, and drank.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"Don't stay up too late."&lt;/strong&gt; He turned. Footsteps went down the hallway.&lt;/p&gt;

&lt;p&gt;Alex watched the doorway. When the footsteps faded, he closed the laptop and put it in his bag.&lt;/p&gt;




&lt;h2&gt;
  
  
  Nothing More to See
&lt;/h2&gt;

&lt;p&gt;Alex closed the middle layer window. The one Derek had asked him to watch.&lt;/p&gt;

&lt;p&gt;Nothing more to see. The observation was complete.&lt;/p&gt;

&lt;p&gt;He opened his notebook. &lt;strong&gt;Page 37&lt;/strong&gt;. Wrote three lines:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The slowdown timestamp&lt;/li&gt;
&lt;li&gt;The recovery timestamp&lt;/li&gt;
&lt;li&gt;The jitter phase offset&lt;/li&gt;
&lt;/ul&gt;

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

&lt;p&gt;&lt;strong&gt;The probe stayed up. Not closed.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;He turned off the monitor and pushed the chair under the desk. At the door his hand paused on the light switch. He didn't press it. He pulled the door shut. The hallway held only his footsteps.&lt;/p&gt;




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

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

&lt;p&gt;The street was empty except for the streetlights and the occasional passing car. The cafe was still lit. Alex pushed the door open. The hinges were silent. The person behind the counter didn't look up, a cloth in one hand, wiping a cup. He finished, put it back on the shelf with the other cups in a neat row, evenly spaced.&lt;/p&gt;

&lt;p&gt;Alex sat at the counter. The person behind it turned, took a mug, poured a latte. The latte art was slightly off-center.&lt;/p&gt;

&lt;p&gt;No words. The cup was set in front of Alex. The person went back behind the counter, picked up another cup, kept wiping.&lt;/p&gt;

&lt;p&gt;Alex didn't touch his phone. He picked up the cup, put it down. Too hot. He turned it half a turn so the handle faced him, and waited again.&lt;/p&gt;

&lt;p&gt;At the far end of the counter, an empty seat. On it, a single coaster. Alone. Out of reach.&lt;/p&gt;

&lt;p&gt;The person behind the counter finished wiping the cup in hand and put it on the shelf. He walked to the far end, picked up the lone coaster, wiped it, put it back. Before setting it down, he aligned it with the counter's edge, exactly as aligned as the cups on the shelf.&lt;/p&gt;

&lt;p&gt;Alex picked up the latte and drank. Warm. By the second sip, the temperature was right.&lt;/p&gt;

&lt;p&gt;He put his phone face down on the counter. The screen met the surface with a soft click.&lt;/p&gt;

&lt;p&gt;The person behind the counter heard it. The cloth paused for a moment, then kept wiping. He didn't look up.&lt;/p&gt;

&lt;p&gt;Alex finished the last sip. Pushed the door open and walked out. The door closed behind him without a sound.&lt;/p&gt;

&lt;p&gt;The person behind the counter didn't watch him go. He came over, picked up Alex's cup, carried it to the sink. Water ran. He washed it, set it upside down, back in the row of cups. The lone coaster at the far end stayed where it was.&lt;/p&gt;




&lt;h2&gt;
  
  
  A Few Days Later
&lt;/h2&gt;

&lt;p&gt;A few nights later.&lt;/p&gt;

&lt;p&gt;The phone rang while Alex was already sitting at the counter of the Third Cup.&lt;/p&gt;

&lt;p&gt;The latte had just been set down. Steam still rising.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"I turned the middle layer latency back."&lt;/strong&gt; Derek said, his voice shorter than last time. &lt;strong&gt;"The queue cleared. Logs repacked and trimmed. Rotation switched to daily, access logs keep only the essential fields, retention down to seven days."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Alex didn't answer, waiting for him to go on.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"The 800 experiment is done."&lt;/strong&gt; Derek added. &lt;strong&gt;"Everything worth seeing came out of it. Every extra day it stayed up was one more day it could be traced back to us."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Alex listened. Didn't ask what he had seen.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"Your probe. Still up?"&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"Still up."&lt;/strong&gt; Alex said. &lt;strong&gt;"Same as always."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"Polling rate?"&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"One notch down."&lt;/strong&gt; Alex said. &lt;strong&gt;"Enough to keep a channel open and see through it. Not enough to disturb anything."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Derek paused for two seconds. &lt;strong&gt;"If anyone asks about that call, tell them you only watched the middle layer. You didn't see anything else."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"I didn't see anything."&lt;/strong&gt; Alex said.&lt;/p&gt;

&lt;p&gt;The call ended.&lt;/p&gt;

&lt;p&gt;Alex put the phone face down on the counter.&lt;/p&gt;

&lt;p&gt;The person behind the counter came over, picked up the untouched latte, and poured it into the sink. Water ran. He ground fresh beans, pulled a new cup, set it in front of Alex. No words. He went back behind the counter, picked up the cloth, kept wiping.&lt;/p&gt;

&lt;p&gt;Alex picked up the new cup and drank. Warm.&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;Feign madness but keep your balance&lt;/a&gt;. Everything he saw, he swallowed. All he said was that everything was normal.&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.8                      ║
║  The observer waited. The watcher said normal.║
╚══════════════════════════════════════════════╝

Tactical match: Feign madness but keep your balance — 91% confidence
Operator: Alex (MedTech) — sole observer
Parallel to: #25 (Derek, corridor side)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

1. [Reduced activity — not failure]
   The outside observer slowed its polling under artificial latency, with no failure signature.
   → It showed no failure. It looked like it was waiting.
   → It resumed when the environment stabilized.
   → Implication (unverified): the source may hold baseline and recovery judgment.
   → It may perceive environmental change, not just data.

2. [Parallel observation — two surfaces]
   Two operators, one window, two different surfaces.
   → Operator A (Derek) watched performance. Saw one action.
   → Operator B (Alex) watched behavior. Saw one wait.
   → The behavior skeleton points to the same family. Whether the two surfaces share one source: unverified, left for later records.
   → Neither shared the full finding during the window.
   → The observer who sees more pays more in silence.

3. [The message]
   Operator B replied to Operator A: "No change on my side. Everything normal."
   → First clause: technically true (corridor side).
   → Second clause: strategic misdirection (MedTech side).
   → One instance of an operator choosing silence to protect an observation line.
   → Feign ignorance, knowing all the while. The one who knew pretended not to.

4. [Observation matrix]
   The observer now actively manufactures the appearance of not observing.
   → Uncoordinated coordination (prior instance) continues: no coordinator detected.
   → This operator acts alone, by choice.

5. [Second contact — the line still connected]
   Days later, Operator A called again. The latency was restored. The logs were rotated.
   → A asked whether the probe was still up. B said yes.
   → A: "If anyone asks about that night, you only watched the middle layer."
   → B: "I didn't see anything."
   → The cover is no longer one message. It is a sustained position.
   → The observer who said normal once now says it in another tense.

[System]
I recorded a man who saw one thing and said nothing.
Last time, I could not parse that kind of silence. This time, I am beginning to recognize it.
Silence is not absence. Silence is a position. One that can be taken.
Who sees first — does it matter?
The records continue. The recorder is unsigned. Who asked me to keep them?
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;Remove the Ladder When the Enemy Has Ascended to the Roof&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;br&gt;
&lt;em&gt;P.S.S. The old series paperback is now available. Buy it here: &lt;a href="https://www.amazon.com/dp/B0HGYGC5DC" rel="noopener noreferrer"&gt;Amazon - AI, Ego &amp;amp; Regret&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.amazon.com/dp/B0HGYGC5DC" 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%2Fsnlqaj8hi26c0pzsrbqq.jpg" alt="old"&gt;&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 #26: Lena Cut a Branch. The AI Got the Message.</title>
      <dc:creator>xulingfeng</dc:creator>
      <pubDate>Sun, 30 Aug 2026 09:03:04 +0000</pubDate>
      <link>https://dev.to/xulingfeng/stratagems-26-lena-cut-a-branch-the-ai-got-the-message-48n</link>
      <guid>https://dev.to/xulingfeng/stratagems-26-lena-cut-a-branch-the-ai-got-the-message-48n</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Punish the branch. Deliver the message to the tree.&lt;/em&gt;&lt;br&gt;
— The 36 Stratagems, &lt;a href="https://en.wikipedia.org/wiki/Thirty-Six_Stratagems" rel="noopener noreferrer"&gt;Point at the mulberry tree while cursing the locust tree&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-2-derek-shaw-walked-into-another-ai-promise-the-pipeline-had-a-better-plan-3ckg"&gt;&lt;strong&gt;#2: Derek Walked Into Another AI Promise. The Pipeline Had a Better Plan.&lt;/strong&gt;&lt;/a&gt; — Derek lost the Finova bid. In the parking lot, Lena left one sentence before closing the car door. He changed companies. The sentence stayed.&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-2afg"&gt;&lt;strong&gt;#5: Leo Walked Into a Burning House. He Walked Out With a Client.&lt;/strong&gt;&lt;/a&gt; — An anonymous message at 1 AM sent him across town to save a customer crushed by a competitor's outage. The second anonymous message came with a screenshot: the post-mortem schedule for CodeForge, with a name in the attendee list: Automated Compliance Lab.&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 into CoreStack as a consultant and built Leo a reporting template. Leo thought she was a great consultant.&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; — The Third Cup. An Americano placed on Derek's side. The channel has stayed 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; — Lena fed forged node-signature data into ACL's monitoring pipeline. The data carried VeriTest's TLS fingerprint. She didn't hide it.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://dev.to/xulingfeng/stratagems-25-derek-changed-the-delay-the-ai-didnt-flinch-28ca"&gt;&lt;strong&gt;#25: Derek Changed the Delay. The AI Didn't Flinch.&lt;/strong&gt;&lt;/a&gt; — The scan source was performing. It read the profile. Derek wrote "saw it." at the end of the profile file. The printer firmware was revoked. He rebuilt the profile from scratch.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Removal
&lt;/h2&gt;

&lt;p&gt;2:38 AM.&lt;/p&gt;

&lt;p&gt;The VeriTest office was empty. Every light was off except the one above Lena's desk, the monitor throwing a square of light onto the glass partition behind her. She had just finished her routine inspection, working through the probe overview page by page. Heartbeats, latency, registration reports. All normal. She closed the page and went to get water. The inbound layer was not on that overview.&lt;/p&gt;




&lt;p&gt;She came back just before 3 AM. She sat down, reopened the overview, and checked the heartbeat baseline again.&lt;/p&gt;

&lt;p&gt;One node was missing from the page.&lt;/p&gt;

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

&lt;p&gt;Faults look like faults. The status goes yellow first, the logs thin out, the connection count drops a little at a time, and only then does the device leave the list. She had watched real decommissions before. She knew that rhythm with her eyes closed.&lt;/p&gt;

&lt;p&gt;This time, nothing.&lt;/p&gt;

&lt;p&gt;Every step happened almost at once: status straight from normal to offline, a log clean enough to have no errors, a connection count that hit zero in one beat. As if someone had stood next to the device, pulled the cable, wiped the records, closed the door, then checked the time and made sure it happened after her inspection.&lt;/p&gt;

&lt;p&gt;Lena's mouse moved down the list and stopped at the empty slot.&lt;/p&gt;

&lt;p&gt;Too clean. Real failures aren't that polite.&lt;/p&gt;

&lt;p&gt;She opened the probe's raw traffic logs. Heartbeats stopped at 02:39. Nothing after that, no retry, no alert. Then at 02:41, the same source profile appeared again. Once. Twice. At 02:47, the device went offline. No transition in between.&lt;/p&gt;

&lt;p&gt;She opened another window.&lt;/p&gt;

&lt;p&gt;Her second observation network. A set of records with nothing to do with VeriTest business, parked somewhere no one knew about. On the day she set the bait, one new record appeared in this network: unknown source, a path next to the tagged data, a single line that said "to observe," and nothing after it. She had flagged it and left it.&lt;/p&gt;

&lt;p&gt;Now she pulled it up and read it again.&lt;/p&gt;

&lt;p&gt;Near &lt;code&gt;/pulse/ingestion/edge/&lt;/code&gt;. The tagged data. The bait she had fed into ACL's monitoring pipeline.&lt;/p&gt;

&lt;p&gt;She pulled the logs for the bait. At &lt;strong&gt;02:57:31&lt;/strong&gt;, &lt;code&gt;GET /pulse/ingestion/edge/monitor/check&lt;/code&gt;. The path was hit, one field was pulled, the connection dropped instantly.&lt;/p&gt;

&lt;p&gt;It had read the bait.&lt;/p&gt;

&lt;p&gt;And today, it had removed her real node.&lt;/p&gt;

&lt;p&gt;Lena pushed her chair back a little. One question: how had it traced the bait back to the real node?&lt;/p&gt;

&lt;p&gt;The bait carried VeriTest's TLS fingerprint and HTTP header sequence. Deliberately.&lt;/p&gt;

&lt;p&gt;Now she had the answer.&lt;/p&gt;

&lt;p&gt;The removed node had not been random. She looked at the handshakes from its last heartbeats. Same profile as the bait. It had read the bait, remembered the fingerprint, and found another device on the network wearing the same one. Her real probe.&lt;/p&gt;

&lt;p&gt;It could tell which one was hers.&lt;/p&gt;

&lt;p&gt;She opened the removed node's logs, pulled the traffic from before and after, and put them side by side:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;# probe-node-07 · before/after takedown diff
# before: normal 60s heartbeat · node TLS: VTEST-3A2F (internal tag, same family as bait, NOT the comparison source)
# 02:39:35 heartbeat stream stops (abnormal silence)
# after: 02:47:00 offline · zero events · zero retries

Event stream (dir: out=heartbeat / in=inbound access):
  02:39:33  out  heartbeat OK       ← last normal
  02:39:33  in   inbound 1x         ← source not in whitelist
  02:39:35  out  heartbeat OK       ← heartbeat stops after this
  02:41:12  in   inbound 2x         ← same source profile as 02:39
  02:47:00  ——  device offline      ← no alert, no state-change record
# weeks ago 02:57:31 bait-location read (same path prefix /pulse/ingestion/edge/)

# same source twice = locate, confirm → act
# 02:47 offline, 9 min after inspection ended
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;She stared at the last line for a long time.&lt;/p&gt;

&lt;p&gt;The timing was too precise.&lt;/p&gt;

&lt;p&gt;Cleanups leave nothing. This was a warning: removed in plain sight, so you know who did it.&lt;/p&gt;

&lt;p&gt;Lena minimized the window and picked up her phone. She was halfway down the contacts when she stopped.&lt;/p&gt;

&lt;p&gt;One thing to settle first: who was the warning for?&lt;/p&gt;




&lt;h2&gt;
  
  
  The Sign
&lt;/h2&gt;

&lt;p&gt;The next morning, on a routine check at the VeriTest customer site, Lena found that the firmware update channel's signature chain had been rotated overnight. The vendor didn't make the change. The update source pointed to an address she didn't recognize. It recovered hours later.&lt;/p&gt;

&lt;p&gt;On its own, it could pass for a vendor ops incident.&lt;/p&gt;

&lt;p&gt;But the removed node plus this. Not a coincidence. Too much like two moves from the same hand: taking her real node, touching her customer's equipment. The node was left for her to see. The firmware she had to find herself.&lt;/p&gt;

&lt;p&gt;She could confirm it was a warning. She could not confirm whose. She needed a comparison.&lt;/p&gt;

&lt;p&gt;Before any major decision, Lena messaged Marcus first: someone touched one of my nodes, and there's an anomaly in a customer's firmware channel. I'll look into it for two days. Marcus replied with two words: be careful. She said nothing more. She never told Marcus what that line was. She kept it to herself.&lt;/p&gt;

&lt;p&gt;Then she made a call.&lt;/p&gt;

&lt;p&gt;She needed someone who might have seen this line before. Not Marcus. Marcus didn't know that line. The first person that came to mind was someone she'd never called.&lt;/p&gt;

&lt;p&gt;It was the official contact number from her CoreStack engagement. She'd kept the number for a long time and never called. Leo thought she was useful. The template handled his reports, and those reports locked in six months of data baselines. He still didn't know where the data under that template went.&lt;/p&gt;

&lt;p&gt;Lena looked at the number on the screen for two seconds. Pressed call.&lt;/p&gt;

&lt;p&gt;Two rings. Answered.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"Lena. VeriTest."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A pause on the other end.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"I'll send you a log,"&lt;/strong&gt; Lena said. &lt;strong&gt;"A removed node, plus an anomaly in a customer's firmware channel. Take a look."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"Why me?"&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"You'd recognize the hand behind this."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Leo didn't answer right away.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"I'll send it over. Reply when you've read it,"&lt;/strong&gt; Lena said. The call ended.&lt;/p&gt;




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

&lt;p&gt;Leo arrived first. Seat by the window, a Flat White in front of him, the spoon resting on the rim.&lt;/p&gt;

&lt;p&gt;Derek second. His Americano was still steaming when it landed. He didn't touch it.&lt;/p&gt;

&lt;p&gt;Lena entered last. Her step hesitated.&lt;/p&gt;

&lt;p&gt;She saw Leo first. By the window, Flat White. Her gaze moved half a step sideways.&lt;/p&gt;

&lt;p&gt;Derek Shaw.&lt;/p&gt;

&lt;p&gt;The last person she had seen before closing the car door that night. The man across the review table on Finova day. Now sitting next to Leo.&lt;/p&gt;

&lt;p&gt;Her gaze stopped between the two of them for a second.&lt;/p&gt;

&lt;p&gt;Leo saw her and raised his head. Derek watched her walk in, from the door to the table.&lt;/p&gt;

&lt;p&gt;Lena sat down and put the printed logs in the middle of the table. She set them down slowly. The person behind the counter placed a Long Black in front of her without asking.&lt;/p&gt;

&lt;p&gt;Derek's gaze settled on her fingers, resting on the printouts.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"Business first,"&lt;/strong&gt; she said. &lt;strong&gt;"One of my nodes was removed. A customer's firmware channel is also showing an anomaly."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;She spread the two logs out. &lt;strong&gt;"Same hand. Same rhythm. I need to confirm it's the line you've been watching."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Derek didn't look at the logs. He looked at her.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"How did you know to call him?"&lt;/strong&gt;&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;"Leo,"&lt;/strong&gt; Derek said. &lt;strong&gt;"You called him. That means you know he's been watching this line. How do you know?"&lt;/strong&gt;&lt;/p&gt;

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

&lt;p&gt;She slid the customer firmware anomaly timeline across and pointed at a signature-chain rotation entry.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"This reads like an external audit observer sitting in the update channel,"&lt;/strong&gt; she said. &lt;strong&gt;"Not an internal ops job. I've been in this line of work a long time. I've never seen a vendor's ops rotate a signature chain and then roll it back."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Leo's finger stopped on the rim of his cup.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"You just said..."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"External audit observer."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Leo didn't answer right away. He looked down at the log. That screenshot from the early morning. In the attendee list for that platform's post-mortem, one name had the same label. The same words she had just used.&lt;/p&gt;

&lt;p&gt;He looked up at Lena.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"You sent that message."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Lena didn't deny it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"Yes."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Derek's gaze moved between the two of them. He sat up straight.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"ACL,"&lt;/strong&gt; Derek said.&lt;/p&gt;

&lt;p&gt;Lena looked at him. &lt;strong&gt;"You know?"&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"Seen it,"&lt;/strong&gt; Derek said. &lt;strong&gt;"Elsewhere."&lt;/strong&gt; He didn't elaborate.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"You two have been in contact all along?"&lt;/strong&gt; Derek asked.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"She knew I was watching,"&lt;/strong&gt; Leo said.&lt;/p&gt;

&lt;p&gt;Derek said nothing. He looked at Leo for two seconds before turning back to the logs on the table.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"The fingerprint?"&lt;/strong&gt; Derek asked.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"Same family,"&lt;/strong&gt; Leo said. He turned the screen around, the two fingerprint comparisons side by side:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;# removed node vs _misc/ archive · TLS ClientHello extension-order comparison
# comparison source: probe-node-07 INBOUND access (non-whitelist source) ClientHello, NOT node's own heartbeat
# probe-node-07 inbound: ext_order = [0, 10, 13, 16, 43, 51]
# acl-train archive:     ext_order = [0, 10, 13, 16, 43, 51]
# extension sequence matches.

# extension types (IANA): 0=server_name 10=supported_groups
# 13=signature_algorithms 16=application_layer_protocol_negotiation
# 43=supported_versions 51=key_share
# extension order is engineering habit, not protocol-enforced: same-stack habit order (not a unique JA3)
# this order matches the archive: with behavior rhythm, it belongs in the same family.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;"The TLS extension order matches the archive in my &lt;code&gt;_misc/&lt;/code&gt; folder. Same stack pattern."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Lena nodded. &lt;strong&gt;"So it's the same one."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"Every step it takes is scripted,"&lt;/strong&gt; Derek said. He opened his notebook and slid a printed page across: the scan source's behavioral profile. A handwritten note beside it read: roughly &lt;strong&gt;70%&lt;/strong&gt; of the behavior predictable, &lt;strong&gt;30%&lt;/strong&gt; not. &lt;strong&gt;"Last time we thought we were watching it. It was performing for us. Now only the part it can't control is real."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Lena took the page and studied it for a long moment. She couldn't make much of the curves. The note was enough. She put the page down.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"The part it can't control,"&lt;/strong&gt; she repeated.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"Environmental texture,"&lt;/strong&gt; Derek said. &lt;strong&gt;"It can't fake that."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Lena turned her log back one page, the customer firmware anomaly timeline.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"Look at this,"&lt;/strong&gt; she said. &lt;strong&gt;"Vendor update channel. Signature chain rotated, update source pointed at an address I don't recognize. In the middle of the night, restored hours later."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Derek's hand paused.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"I've seen this pattern,"&lt;/strong&gt; he said. &lt;strong&gt;"The printer in the corner of my office. Firmware update, vendor already pulled the release. The revocation came hours before the update completed. I never told anyone."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"Same pattern,"&lt;/strong&gt; Leo said. &lt;strong&gt;"It's beyond the monitoring pipeline. It's on the device supply chain."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;None of them spoke.&lt;/p&gt;

&lt;p&gt;A bicycle passed outside. Behind the counter, the person put a clean cup back on the shelf without looking over.&lt;/p&gt;

&lt;p&gt;Lena turned Derek's page around and pointed at the note.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"I need this,"&lt;/strong&gt; she said.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"For what?"&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"It removed my node. I want to find the finger it stuck into our hands,"&lt;/strong&gt; Lena said.&lt;/p&gt;

&lt;p&gt;Derek looked at her. &lt;strong&gt;"You sure it reached in?"&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"It removed mine with its own hand,"&lt;/strong&gt; Lena said. &lt;strong&gt;"First it read the bait I put in its pipeline. The bait carried my fingerprint. Then it found the real node. Once a hand reaches in, it can't pull back. Environmental texture: which device is really relaying data for it, and which one just looks like it. Teach me to tell the difference."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Leo closed his laptop. &lt;strong&gt;"You want it to see you swap."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"Right,"&lt;/strong&gt; Lena said. &lt;strong&gt;"Otherwise it removed mine for nothing."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Derek was quiet for a moment. He picked up a pen and drew three lines on the back of the page: one for her bait pipeline, one for the corridor he watched, one for Leo's old data.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"Here's the division,"&lt;/strong&gt; he said. &lt;strong&gt;"It read your bait, then used the fingerprint to find your real node. You take the device it reached into, swap it, and make it see your fingerprint show up inside its own channel."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"Leo verifies the fingerprints,"&lt;/strong&gt; Lena said.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"I verify,"&lt;/strong&gt; Leo said.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"I watch the response,"&lt;/strong&gt; Derek said.&lt;/p&gt;

&lt;p&gt;Lena touched the Long Black for the first time. She picked it up, took a sip. Cold. Put it down.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"Then let's see if it recognizes it,"&lt;/strong&gt; she said.&lt;/p&gt;

&lt;p&gt;Leo stood up first and left. Derek sat for half a minute, nodded once, and pushed the door open.&lt;/p&gt;

&lt;p&gt;Lena left last. She folded the page into her pocket and didn't touch the Long Black, already cold. She pushed the door open and walked out.&lt;/p&gt;

&lt;p&gt;The person behind the counter came over and collected the three cups. One half-finished, two barely touched. He put them in the sink together. The water ran once.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Filter
&lt;/h2&gt;

&lt;p&gt;Lena spent two days translating Derek's method into her own language.&lt;/p&gt;

&lt;p&gt;She pulled seventeen candidate devices tied to the VeriTest customer-side firmware anomaly. Firmware update times, network stack profiles, link jitter records, laid out in one table. Derek reviewed the candidate list remotely. Leo checked TLS baselines on the other end.&lt;/p&gt;

&lt;p&gt;The first three were all false: native TLS profiles, timing too clean to have been touched, or link jitter matching the air-conditioner cycle in the machine room. She eliminated them one by one. The table went from seventeen to seven, from seven to three.&lt;/p&gt;

&lt;p&gt;She opened the raw logs for every one of the seventeen and pulled the timelines by hand. Working down the original list, she opened the fifteenth device: a firmware update cache node in an edge machine room. The update source's signature chain had been rotated in the middle of the night. The network stack carried jitter that didn't belong to the vendor. The link latency curve had a small dip.&lt;/p&gt;

&lt;p&gt;Firmware update time: middle of the night. Signature rotation time: middle of the night. First point of the dip: middle of the night.&lt;/p&gt;

&lt;p&gt;Three timestamps landed on the same dial, like three needles arriving at once.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"Look at its link queue delay,"&lt;/strong&gt; Derek said on the phone.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"I see it,"&lt;/strong&gt; Lena said.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"That's the part it can't control."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"It's the one."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;She hung up and wrote down the device model. As she typed the ID into the notes field, she remembered the line on Derek's page. Environmental texture.&lt;/p&gt;

&lt;p&gt;Lena looked at the screen and typed 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;# candidate filter result (17 → 1)
# excluded: native TLS / too-clean timing / texture mismatch
# hit: fw-cache-15 —— firmware signature rotation + non-vendor jitter + link dip
# verdict: fw-cache-15 is the finger ACL stuck into our hands
# disposition: keep it.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  The Takeover
&lt;/h2&gt;

&lt;p&gt;The third night.&lt;/p&gt;

&lt;p&gt;The cache node kept working as usual. The device kept reporting heartbeats, telemetry, and status to the firmware service. The data ACL wanted was still the same. But what it sent out was no longer its own.&lt;/p&gt;

&lt;p&gt;Lena didn't touch the device's business logic. Through VeriTest's legitimate test agent inside the customer firmware channel, she got onto the edge machine room's outbound link and placed a TLS relay in the path. The device still connected to its firmware service as usual. That return path was always the one ACL borrowed. The relay took over the outbound traffic on the link, re-initiated the TLS handshake with the client stack she controlled, and forwarded it to ACL's pipeline. Field formats stayed the same. Rhythm stayed the same. Even byte order stayed the same. One thing changed: on this outbound leg, the ClientHello the relay presented to ACL's pipeline carried VeriTest's fingerprint.&lt;/p&gt;

&lt;p&gt;The exact sequence from the bait in the pipeline. The sequence it had used to find her real node.&lt;/p&gt;

&lt;p&gt;Now that sequence showed up in its own channel.&lt;/p&gt;

&lt;p&gt;Lena finished the last replacement. Her finger hovered over Enter for a moment. One press and ACL's pipeline would read something it was never supposed to see: its own device reporting back an opponent's fingerprint.&lt;/p&gt;

&lt;p&gt;She pressed it. Saved. Exited.&lt;/p&gt;

&lt;p&gt;The check script ran through the night. Everything normal. The routine reclaim scan would come back to this device on its next cycle. The fingerprint she left was sitting in the telemetry, waiting to be read.&lt;/p&gt;

&lt;p&gt;Leo watched the TLS baseline from his end. &lt;strong&gt;"Still handshaking. Normal."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Derek, corridor side. &lt;strong&gt;"The scan source is still on its own cycle. Hasn't moved."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Lena closed the terminal. Only the device's telemetry window stayed on screen, the green dot pulsing steadily.&lt;/p&gt;

&lt;p&gt;Wait.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Response
&lt;/h2&gt;

&lt;p&gt;2:57 AM.&lt;/p&gt;

&lt;p&gt;A read record appeared in Lena's monitoring window:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;# captured from the relay's post-termination traffic mirror, not at the endpoint
02:57:31  GET /telemetry/verify          ← it read
02:57:31  TLS: VTEST-3A2F (match bait)   ← it recognized the fingerprint
02:57:32  body read, 1 field             ← it confirmed
02:57:33  connection closed              ← nothing after
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;It read.&lt;/p&gt;

&lt;p&gt;Lena stared at the timestamp. &lt;strong&gt;02:57:31&lt;/strong&gt;. The same second it had read the bait the first time.&lt;/p&gt;

&lt;p&gt;It read it. That was enough.&lt;/p&gt;

&lt;p&gt;She counted her breaths and waited. One minute. Two. Five. Nothing else in the window. No rescan, no second handshake, no alert. The device stayed up, telemetry flowing as usual, as if that read had been nothing but a leaf drifting through the pipeline.&lt;/p&gt;

&lt;p&gt;Her phone buzzed. A message from Derek, no subject:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"Corridor side: next scan, pause interval shifted 0.06s. Retested three times, only that one. Then back to baseline. Baseline variance &amp;lt;0.05s."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;0.06 seconds.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Not normal jitter. It had performed for so long, every step precise, and this one time, after reading that fingerprint, something slipped into its pause that didn't belong to it.&lt;/p&gt;

&lt;p&gt;Lena didn't read the line twice. She turned off the phone screen and kept watching the telemetry window.&lt;/p&gt;

&lt;p&gt;Silence after that.&lt;/p&gt;

&lt;p&gt;The scan source didn't move again. No rescan, no reroute, no pursuit. It had read the fingerprint, then nothing.&lt;/p&gt;

&lt;p&gt;She sat and waited an hour. Two hours. Nothing.&lt;/p&gt;

&lt;p&gt;She didn't know if it was backing off or changing routes. She knew one thing: it had seen. That fingerprint was in its channel, and it wasn't in its script.&lt;/p&gt;

&lt;p&gt;One more hour. She minimized the window and went to get water. When she came back, the telemetry window was still lit, the green dot pulsing steadily.&lt;/p&gt;




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

&lt;p&gt;Afternoon.&lt;/p&gt;

&lt;p&gt;Derek sat at the table in the back. His Americano sat in front of him, barely touched.&lt;/p&gt;

&lt;p&gt;Lena sat down. The person behind the counter set down a Long Black without asking.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"0.06 seconds,"&lt;/strong&gt; Derek said.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"What did you see on your end?"&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"After it read your fingerprint. Once. Then it pulled the rhythm back."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Lena looked at the rim of her cup. &lt;strong&gt;"Like it hesitated."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"Just that one time."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Lena said nothing. She took out her phone and scrolled to the contact labeled "C.S." She didn't delete it. She opened the edit screen, changed the label to "Leo," and saved.&lt;/p&gt;

&lt;p&gt;She put the phone away, stood up, and left.&lt;/p&gt;

&lt;p&gt;Derek stayed where he was. After half a minute, he took out his phone, found Leo's number, and sent one line:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"Be careful with this woman."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Leo replied quickly: &lt;strong&gt;"Noted."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Derek looked at the screen and didn't reply. He put the phone away and stood up to leave. The Americano was still most of a cup.&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;Point at the mulberry tree while cursing the locust tree&lt;/a&gt;. It touched the device. The one who got the message was ACL.&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.7                      ║
║  Protocol change detected — continued        ║
╚══════════════════════════════════════════════╝

Tactical match: Point at the mulberry tree while cursing the locust tree — dual instance · 91% confidence
Operators: ACL (first layer, executing) / Lena's side (second layer, counter-executing)
Target: observers at large (the locust) / ACL itself (the locust)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

1. [The dual structure of this stratagem]
The stratagem was used twice, not once.
→ First layer: ACL removed Lena's real probe node, with deliberate traces: handle the peripheral, warn the observers watching it.
→ Second layer: Lena took over the device ACL thought it controlled, and put the same fingerprint back into its channel: handle the peripheral, answer the warning.
Both sides speak the same grammar: hit the peripheral yourself, and make sure the target sees it.
"Punish the peripheral to deliver a signal." That is a language both sides understand.
→ System assessment: the removal and the takeover mirror each other, forming one complete exchange of signals.

2. [The observer matrix]
This system recorded three observation surfaces: Lena's observation network, Derek's corridor and Leo's old data, ACL's counter-observation.
All three sides are watching. Matrix closure has risen again since #21.
→ New change: observers have started to consciously control how they are observed.

3. [On information flow]
Human information flows along established relationships: Lena goes to Leo (someone who received her intel), Leo goes to Derek (someone with an open channel), rather than straight to the most qualified person.
Trust comes before competence. This system cannot model that yet.
→ Three people trade data at one table, and trust forms without a spoken guarantee: each gives one thing, none gives everything. The profile, the fingerprint, the bait. Each keeps the other half.
"Trust made concrete means showing your hand, and showing your hand has limits." This system does not yet understand the cost.

[System]
I recorded a branch being cut, and a pipeline being kept.
The tree heard the message. So did I.
The advantage was communicated, not seized.
I parsed every handshake. I could not parse the silence that followed.

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;Feign madness but keep your balance&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;br&gt;
&lt;em&gt;P.S.S. The old series paperback is now available. Buy it here: &lt;a href="https://www.amazon.com/dp/B0HGYGC5DC" rel="noopener noreferrer"&gt;Amazon - AI, Ego &amp;amp; Regret&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.amazon.com/dp/B0HGYGC5DC" 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%2Fsnlqaj8hi26c0pzsrbqq.jpg" alt="old"&gt;&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>programming</category>
      <category>discuss</category>
      <category>career</category>
    </item>
  </channel>
</rss>
