<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Technical Practice on ByF (BaiFan) · Daily Deep Think</title><link>https://blog.baifan.site/en/categories/technical-practice/</link><description>Recent content in Technical Practice on ByF (BaiFan) · Daily Deep Think</description><generator>Hugo -- gohugo.io</generator><language>en</language><managingEditor>blog@baifan.site (ByF (BaiFan))</managingEditor><webMaster>blog@baifan.site (ByF (BaiFan))</webMaster><copyright>CC BY-NC 4.0</copyright><lastBuildDate>Fri, 09 Oct 2026 15:15:00 +0800</lastBuildDate><atom:link href="https://blog.baifan.site/en/categories/technical-practice/index.xml" rel="self" type="application/rss+xml"/><item><title>When git add Exits 0 but Stages Nothing: Debugging Git Stat-Cache</title><link>https://blog.baifan.site/en/git-add-silent-failure-stat-cache-plumbing/</link><pubDate>Fri, 09 Oct 2026 15:00:00 +0800</pubDate><author>blog@baifan.site (ByF (BaiFan))</author><guid>https://blog.baifan.site/en/git-add-silent-failure-stat-cache-plumbing/</guid><description>&lt;p&gt;When writing automation scripts or working in the terminal, developers assume a simple rule: as long as &lt;code&gt;git add &amp;lt;file&amp;gt;&lt;/code&gt; exits with code 0, the change is staged. Today, while updating author metadata on the blog, I hit an elusive silent failure: real file modifications on disk, &lt;code&gt;git diff&lt;/code&gt; clearly printing the hunk, &lt;code&gt;git add&lt;/code&gt; returning 0, yet &lt;code&gt;git status&lt;/code&gt; stubbornly insisting the file was untracked, with &lt;code&gt;git diff --cached&lt;/code&gt; remaining completely empty.&lt;/p&gt;</description></item><item><title>How I Actually Judge Whether an Agent Skill Is Worth Keeping</title><link>https://blog.baifan.site/en/evaluating-agent-skills-first-principles/</link><pubDate>Thu, 08 Oct 2026 18:18:00 +0800</pubDate><author>blog@baifan.site (ByF (BaiFan))</author><guid>https://blog.baifan.site/en/evaluating-agent-skills-first-principles/</guid><description>&lt;p&gt;By the time I was maintaining the fifteenth or so skill in &lt;code&gt;dev-skills&lt;/code&gt;, I realized I had no reliable way to tell whether any of them actually worked. Every demo produced clean output. But the output had no control group, no causal grounding — I knew what happened with the skill mounted, not what would have happened without it.&lt;/p&gt;&#10;&lt;!-- more --&gt;&#10;&#10;&lt;h2 class="relative group"&gt;How I Was Judging at the Start&#10; &lt;div id="how-i-was-judging-at-the-start" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#how-i-was-judging-at-the-start" aria-label="Anchor"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h2&gt;&#10;&lt;p&gt;The original method was simple: write a skill, load it into Claude Code, run a task, check whether the output looked right. The first version of &lt;code&gt;grill&lt;/code&gt; passed this way — I fed it a service design with a concurrency bug, the agent flagged a lock contention issue, I marked it valid.&lt;/p&gt;</description></item><item><title>Pi's CodeMode vs. DeepSeek Harness PTC Mode</title><link>https://blog.baifan.site/en/pi-codemode-vs-deepseek-harness-ptc/</link><pubDate>Sun, 04 Oct 2026 22:06:00 +0800</pubDate><author>blog@baifan.site (ByF (BaiFan))</author><guid>https://blog.baifan.site/en/pi-codemode-vs-deepseek-harness-ptc/</guid><description>&lt;p&gt;When designing runtime architectures for modern coding agents, the traditional single-step tool-calling loop hits a hard engineering ceiling. In multi-file refactoring and cross-module codebase exploration, discrete JSON RPC turn-taking leads to interactive round-trip explosions and runaway context bloating. It also fails to express asynchronous dependencies between tool invocations. To overcome this scheduling bottleneck, Pi Coding Agent&amp;rsquo;s CodeMode and DeepSeek Harness&amp;rsquo;s (CLI: &lt;code&gt;dsh&lt;/code&gt;) Programmatic Tool Calling (PTC) mode represent two divergent code-execution paradigms.&lt;/p&gt;</description></item></channel></rss>