<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Debugging on Nick Liu - Software Engineer</title><link>https://nick-liu.com/tags/debugging/</link><description>Recent content in Debugging on Nick Liu - Software Engineer</description><generator>Hugo -- gohugo.io</generator><language>en</language><managingEditor>nickboy@users.noreply.github.com (Nick Liu)</managingEditor><webMaster>nickboy@users.noreply.github.com (Nick Liu)</webMaster><copyright>2026 Nick Liu</copyright><lastBuildDate>Sun, 16 Aug 2026 17:24:04 -0700</lastBuildDate><atom:link href="https://nick-liu.com/tags/debugging/index.xml" rel="self" type="application/rss+xml"/><item><title>Five wrong answers in one day. One nearly deleted 10 GB of coursework.</title><link>https://nick-liu.com/posts/null-is-not-no/</link><pubDate>Mon, 17 Aug 2026 00:00:00 +0000</pubDate><author>nickboy@users.noreply.github.com (Nick Liu)</author><guid>https://nick-liu.com/posts/null-is-not-no/</guid><description>&lt;div class="lead text-neutral-500 dark:text-neutral-400 !mb-9 text-xl"&gt;
 
`mdls kMDItemLastUsedDate` returned `(null)` for Microsoft Word. I read the null as "never opened" and put Office on a removal list: 10.1 GB, four apps. One last check saved me. My home directory held 150 Office documents, a conference presentation edited two weeks earlier, and a PowerPoint lock file, which only exists while the file is open. The proof that the null was misleading had been sitting in my own diagnostic report for an hour.

&lt;/div&gt;

&lt;p&gt;That was one of five. In a single day of hardening this machine, five different
tools told me things that were not true. None of the answers looked like an
error. Each one arrived as a clean, confident finding, and under each one a
check had quietly failed or asked the wrong question. All five had the same
shape underneath. Once I could name the shape, I stopped falling for it.&lt;/p&gt;</description><content:encoded>&lt;div class="lead text-neutral-500 dark:text-neutral-400 !mb-9 text-xl"&gt;
 
`mdls kMDItemLastUsedDate` returned `(null)` for Microsoft Word. I read the null as "never opened" and put Office on a removal list: 10.1 GB, four apps. One last check saved me. My home directory held 150 Office documents, a conference presentation edited two weeks earlier, and a PowerPoint lock file, which only exists while the file is open. The proof that the null was misleading had been sitting in my own diagnostic report for an hour.

&lt;/div&gt;

&lt;p&gt;That was one of five. In a single day of hardening this machine, five different
tools told me things that were not true. None of the answers looked like an
error. Each one arrived as a clean, confident finding, and under each one a
check had quietly failed or asked the wrong question. All five had the same
shape underneath. Once I could name the shape, I stopped falling for it.&lt;/p&gt;

&lt;h2 class="relative group"&gt;Case 1: null means &amp;ldquo;I don&amp;rsquo;t know&amp;rdquo;, not &amp;ldquo;no&amp;rdquo;
 &lt;div id="case-1-null-means-i-dont-know-not-no" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#case-1-null-means-i-dont-know-not-no" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;p&gt;The plan was simple: free disk space by removing apps that had never been used.
The evidence came from Spotlight metadata:&lt;/p&gt;
&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-console" data-lang="console"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="gp"&gt;$&lt;/span&gt; mdls -name kMDItemLastUsedDate -raw &lt;span class="s2"&gt;&amp;#34;/Applications/Google Chrome.app&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="go"&gt;2026-08-15 20:18:18 +0000
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="gp"&gt;$&lt;/span&gt; mdls -name kMDItemLastUsedDate -raw &lt;span class="s2"&gt;&amp;#34;/Applications/Microsoft Word.app&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="go"&gt;(null)
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;Chrome had a date. Word did not. The conclusion looked solid, because the same
command told the two apps apart: Chrome is in use, Word is not.&lt;/p&gt;
&lt;p&gt;It was not solid. &lt;code&gt;kMDItemLastUsedDate&lt;/code&gt; is null when an app has never been
opened, &lt;em&gt;and&lt;/em&gt; when Spotlight&amp;rsquo;s metadata store has been reset. My store had been
reset. I even knew that, because four hours earlier I had written this line
into my own diagnostic report:&lt;/p&gt;
&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;12:14:16.629 lsd _CSStoreCreateWithURL failed with error ... &amp;#34;The file
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; com.apple.LaunchServices-33554481-v2.csstore couldn&amp;#39;t be opened
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; because there is no such file.&amp;#34;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;The LaunchServices database was rebuilding at boot. In one section of my
report, this was a strange log line. In another section, its consequences
became hard evidence for deletion. I never connected the two.&lt;/p&gt;
&lt;p&gt;What answers &amp;ldquo;is this app still needed&amp;rdquo; is user data:&lt;/p&gt;
&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-console" data-lang="console"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="gp"&gt;$&lt;/span&gt; find ~/Documents ~/Desktop ~/Downloads -iname &lt;span class="s1"&gt;&amp;#39;*.docx&amp;#39;&lt;/span&gt; -o -iname &lt;span class="s1"&gt;&amp;#39;*.pptx&amp;#39;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; wc -l
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="go"&gt; 150
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="gp"&gt;$&lt;/span&gt; ls -t ~/Documents/**/*.pptx &lt;span class="p"&gt;|&lt;/span&gt; head -3
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="go"&gt;cs6460-final-GT.pptx
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="go"&gt;~$cs6460-milestone2-GT.pptx # lock file: exists only while the file is open
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="go"&gt;cs6460-milestone2-GT.pptx
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;Documents, lock files, container contents. Things a person made on purpose. An
index field is different: the OS is free to throw it away and rebuild it, and
while that happens the field tells you nothing.&lt;/p&gt;

&lt;h2 class="relative group"&gt;Case 2: a query that never ran is not a query that found nothing
 &lt;div id="case-2-a-query-that-never-ran-is-not-a-query-that-found-nothing" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#case-2-a-query-that-never-ran-is-not-a-query-that-found-nothing" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;p&gt;My environment audit reported &amp;ldquo;no git remotes configured&amp;rdquo; for a repository
that had pushed four signed commits and opened a pull request earlier the same
day.&lt;/p&gt;
&lt;p&gt;The check behind that sentence was this:&lt;/p&gt;
&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-console" data-lang="console"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="gp"&gt;$&lt;/span&gt; &lt;span class="nb"&gt;cd&lt;/span&gt; ~ &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; git remote -v
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="go"&gt;fatal: not a git repository (or any of the parent directories): .git
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;These dotfiles are managed with &lt;a href="https://yadm.io/" target="_blank" rel="noreferrer"&gt;yadm&lt;/a&gt;, and yadm keeps its
bare repository in &lt;code&gt;~/.local/share/yadm/repo.git&lt;/code&gt;. &lt;code&gt;$HOME&lt;/code&gt; is the work tree,
not a git directory. Plain &lt;code&gt;git&lt;/code&gt; in &lt;code&gt;$HOME&lt;/code&gt; cannot answer the question at all.
Then &amp;ldquo;cannot answer&amp;rdquo; got recorded as &amp;ldquo;the answer is none&amp;rdquo;.&lt;/p&gt;
&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-console" data-lang="console"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="gp"&gt;$&lt;/span&gt; yadm remote -v
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="go"&gt;origin git@github.com:nickboy/dotfiles.git (fetch)
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="go"&gt;origin git@github.com:nickboy/dotfiles.git (push)
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;The tool did not lie. &lt;code&gt;fatal: not a git repository&lt;/code&gt; and empty output are two
different results, but the code reading them treated both as &amp;ldquo;nothing there&amp;rdquo;.&lt;/p&gt;

&lt;h2 class="relative group"&gt;Case 3: a 404 from the wrong endpoint
 &lt;div id="case-3-a-404-from-the-wrong-endpoint" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#case-3-a-404-from-the-wrong-endpoint" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;p&gt;Same audit, same day: &amp;ldquo;branch protection could not be determined&amp;rdquo;. The check
had asked the classic API:&lt;/p&gt;
&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-console" data-lang="console"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="gp"&gt;$&lt;/span&gt; gh api repos/nickboy/dotfiles/branches/master/protection
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="go"&gt;{&amp;#34;message&amp;#34;:&amp;#34;Branch not protected&amp;#34;,&amp;#34;status&amp;#34;:&amp;#34;404&amp;#34;}
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;That is a real 404, and the message reads like a finding. But GitHub has two
protection mechanisms, and this repo uses the newer one:&lt;/p&gt;
&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-console" data-lang="console"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="gp"&gt;$&lt;/span&gt; gh api repos/nickboy/dotfiles/rulesets --jq &lt;span class="s1"&gt;&amp;#39;.[] | &amp;#34;\(.name) \(.enforcement)&amp;#34;&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="go"&gt;Main Branch Protection active
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;A branch protected by a &lt;strong&gt;ruleset&lt;/strong&gt; returns 404 from &lt;code&gt;/branches/*/protection&lt;/code&gt;.
Any tool that only checks the old endpoint will report every ruleset-protected
branch as unprotected, in a sentence that sounds like it actually checked.&lt;/p&gt;
&lt;p&gt;Asking the right endpoint paid off twice, because the true answer held a
detail the false one would have hidden. The ruleset requires a pull request
and four status checks, with no bypass actors. But
&lt;code&gt;required_approving_review_count&lt;/code&gt; is &lt;code&gt;0&lt;/code&gt;, and there is no signature
requirement. &amp;ldquo;Protected&amp;rdquo; here means &amp;ldquo;must go through a PR and CI&amp;rdquo;. It does not
mean &amp;ldquo;must be reviewed&amp;rdquo;. My signed commits are a habit; the server never
checks them. Recording how strong a control is beats recording that one
exists.&lt;/p&gt;

&lt;h2 class="relative group"&gt;Case 4: the number was real, the units were not
 &lt;div id="case-4-the-number-was-real-the-units-were-not" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#case-4-the-number-was-real-the-units-were-not" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;p&gt;My health check started with a headline number: &lt;code&gt;WindowServer&lt;/code&gt; was eating
62.4% CPU, the biggest single CPU user on the machine. The number came from
&lt;code&gt;ps&lt;/code&gt;:&lt;/p&gt;
&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-console" data-lang="console"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="gp"&gt;$&lt;/span&gt; ps -Ao pid,%cpu,comm &lt;span class="p"&gt;|&lt;/span&gt; grep WindowServer
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="go"&gt; 436 62.4 .../SkyLight.framework/Resources/WindowServer
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;On macOS, &lt;code&gt;ps %cpu&lt;/code&gt; is a &lt;strong&gt;decaying average&lt;/strong&gt;. It leans hard toward the last
minute, not toward the life of the process. The cumulative figure is CPU time
divided by elapsed time:&lt;/p&gt;
&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-console" data-lang="console"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="gp"&gt;$&lt;/span&gt; ps -o &lt;span class="nv"&gt;time&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;,etime&lt;span class="o"&gt;=&lt;/span&gt; -p &lt;span class="m"&gt;436&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="go"&gt; 26:03.57 01:02:14 # 1563s CPU / 3734s elapsed = 41.9%
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;So 42%, not 62%. The next morning brought a bigger correction, after sixteen
hours of normal use:&lt;/p&gt;
&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;WindowServer 6.6% (16.4 hours)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;ghostty 3.3% (16.4 hours)&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;Six point six. My original 62% came from an hour in which &lt;em&gt;I&lt;/em&gt; was the load. I
was running diagnostics nonstop, with Activity Monitor open and a backup
copying files in the background. I had measured the observer and blamed the
system. The whole &amp;ldquo;WindowServer is the problem&amp;rdquo; section of that report was an
accident of timing.&lt;/p&gt;

&lt;h2 class="relative group"&gt;Case 5: the benchmark that measured nothing happening
 &lt;div id="case-5-the-benchmark-that-measured-nothing-happening" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#case-5-the-benchmark-that-measured-nothing-happening" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;ll&lt;/code&gt; felt slow. The alias behind it is &lt;code&gt;eza&lt;/code&gt; with a long list of flags,
including &lt;code&gt;--git&lt;/code&gt;. I benchmarked it and got a number that ended the
discussion:&lt;/p&gt;
&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;eza --all --long --git --icons ... 8.4 ms&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;Eight milliseconds. Nothing to fix. Except the same command, in the same
directory, also reported this:&lt;/p&gt;
&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-console" data-lang="console"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="gp"&gt;$&lt;/span&gt; eza --all --long --git ... ~/Downloads &lt;span class="p"&gt;|&lt;/span&gt; wc -lc
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="go"&gt; 0 0
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;Zero lines, zero bytes, exit 0, and 128 ms of system time. The benchmark had
run inside the sandboxed shell my coding agent uses, and that sandbox blocks
the metadata and git reads that &lt;code&gt;--long --git&lt;/code&gt; needs. &lt;code&gt;eza&lt;/code&gt; was making
syscalls, and the sandbox refused every one of them. My benchmark timed the
result with great precision: a program doing nothing, very fast.&lt;/p&gt;
&lt;p&gt;I re-ran everything in a real terminal:&lt;/p&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;directory&lt;/th&gt;
					&lt;th&gt;size&lt;/th&gt;
					&lt;th&gt;with &lt;code&gt;--git&lt;/code&gt;&lt;/th&gt;
					&lt;th&gt;without&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;code&gt;nickboy.github.io&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;47 entries, &lt;strong&gt;263 tracked&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;&lt;strong&gt;68.8 ms&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;13.9 ms&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;code&gt;claudedeck&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;125 tracked&lt;/td&gt;
					&lt;td&gt;49.0 ms&lt;/td&gt;
					&lt;td&gt;20.8 ms&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;code&gt;Downloads&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;622 entries, &lt;strong&gt;not a repo&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;49.6 ms&lt;/td&gt;
					&lt;td&gt;39.8 ms&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;div class="chart"&gt;
 &lt;canvas data-chart="
type: &amp;#39;bar&amp;#39;,
data: {
 labels: [&amp;#39;nickboy.github.io (47 entries, 263 tracked)&amp;#39;, &amp;#39;claudedeck (125 tracked)&amp;#39;, &amp;#39;Downloads (622 entries, not a repo)&amp;#39;],
 datasets: [{
 label: &amp;#39;with --git&amp;#39;,
 data: [68.8, 49.0, 49.6],
 backgroundColor: &amp;#39;#6366f1&amp;#39;,
 borderRadius: 4,
 categoryPercentage: 0.7,
 barPercentage: 0.9
 }, {
 label: &amp;#39;without --git&amp;#39;,
 data: [13.9, 20.8, 39.8],
 backgroundColor: &amp;#39;#d97706&amp;#39;,
 borderRadius: 4,
 categoryPercentage: 0.7,
 barPercentage: 0.9
 }]
},
options: {
 indexAxis: &amp;#39;y&amp;#39;,
 responsive: true,
 plugins: {
 title: { display: true, text: &amp;#39;eza wall time by directory, same flags, real terminal&amp;#39;, color: &amp;#39;#9ca3af&amp;#39;, font: { size: 15 } },
 legend: { display: true, labels: { color: &amp;#39;#9ca3af&amp;#39; } }
 },
 scales: {
 x: { ticks: { color: &amp;#39;#9ca3af&amp;#39; }, grid: { color: &amp;#39;rgba(156, 163, 175, 0.15)&amp;#39; }, title: { display: true, text: &amp;#39;milliseconds&amp;#39;, color: &amp;#39;#9ca3af&amp;#39; } },
 y: { ticks: { color: &amp;#39;#9ca3af&amp;#39; }, grid: { display: false } }
 }
}
"&gt;&lt;/canvas&gt;
&lt;/div&gt;

&lt;p&gt;Inside a repo, &lt;code&gt;--git&lt;/code&gt; costs 2x to 5x, and the cost follows the &lt;strong&gt;repository&lt;/strong&gt;,
not the directory being listed: &lt;code&gt;eza&lt;/code&gt; resolves git status for every tracked
file to fill one column. Listing a 47-entry folder inside a 263-file repo pays
for all 263 files. My everyday alias paid that price in every project
directory, which is exactly where I type it most.&lt;/p&gt;
&lt;p&gt;The flag moved to an opt-in alias, &lt;code&gt;llg&lt;/code&gt;. It also came out of &lt;code&gt;ls&lt;/code&gt;, &lt;code&gt;l&lt;/code&gt;, &lt;code&gt;lt&lt;/code&gt;
and &lt;code&gt;tree&lt;/code&gt; completely, because the git column only renders in long view. For
those four, the output is byte-identical with and without the flag. I verified
that instead of assuming it:&lt;/p&gt;
&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-console" data-lang="console"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="gp"&gt;$&lt;/span&gt; &lt;span class="o"&gt;[[&lt;/span&gt; &lt;span class="k"&gt;$(&lt;/span&gt;eza --git ... &lt;span class="p"&gt;|&lt;/span&gt; md5&lt;span class="k"&gt;)&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="k"&gt;$(&lt;/span&gt;eza ... &lt;span class="p"&gt;|&lt;/span&gt; md5&lt;span class="k"&gt;)&lt;/span&gt; &lt;span class="o"&gt;]]&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;no-op&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="go"&gt;no-op
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;Dead config, carried for months, costing a git query on every call.&lt;/p&gt;

&lt;h2 class="relative group"&gt;The common shape
 &lt;div id="the-common-shape" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#the-common-shape" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;p&gt;Five cases, one sentence:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;&lt;strong&gt;A query that failed and a query that found nothing are different results.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;&lt;p&gt;Every case was a tool reporting an absence. In none of them had anyone checked
whether the question ever reached the thing it was asking about.&lt;/p&gt;
&lt;div class="not-prose diagram diagram-light"&gt;&lt;svg id="d485109fa288d8dcflight" width="100%" xmlns="http://www.w3.org/2000/svg" class="flowchart" style="max-width: 625.328125px;" viewBox="0 0 625.328125 676" role="graphics-document document" aria-roledescription="flowchart-v2"&gt;&lt;style&gt;#d485109fa288d8dcflight{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,segoe ui,Roboto,helvetica neue,Arial,noto sans,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#d485109fa288d8dcflight .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#d485109fa288d8dcflight .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#d485109fa288d8dcflight .error-icon{fill:rgb(255, 255, 255);}#d485109fa288d8dcflight .error-text{fill:#000000;stroke:#000000;}#d485109fa288d8dcflight .edge-thickness-normal{stroke-width:1px;}#d485109fa288d8dcflight .edge-thickness-thick{stroke-width:3.5px;}#d485109fa288d8dcflight .edge-pattern-solid{stroke-dasharray:0;}#d485109fa288d8dcflight .edge-thickness-invisible{stroke-width:0;fill:none;}#d485109fa288d8dcflight .edge-pattern-dashed{stroke-dasharray:3;}#d485109fa288d8dcflight .edge-pattern-dotted{stroke-dasharray:2;}#d485109fa288d8dcflight .marker{fill:rgb(74, 86, 92);stroke:rgb(74, 86, 92);}#d485109fa288d8dcflight .marker.cross{stroke:rgb(74, 86, 92);}#d485109fa288d8dcflight svg{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,segoe ui,Roboto,helvetica neue,Arial,noto sans,sans-serif;font-size:16px;}#d485109fa288d8dcflight p{margin:0;}#d485109fa288d8dcflight .label{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,segoe ui,Roboto,helvetica neue,Arial,noto sans,sans-serif;color:#333;}#d485109fa288d8dcflight .cluster-label text{fill:#000000;}#d485109fa288d8dcflight .cluster-label span{color:#000000;}#d485109fa288d8dcflight .cluster-label span p{background-color:transparent;}#d485109fa288d8dcflight .label text,#d485109fa288d8dcflight span{fill:#333;color:#333;}#d485109fa288d8dcflight .node rect,#d485109fa288d8dcflight .node circle,#d485109fa288d8dcflight .node ellipse,#d485109fa288d8dcflight .node polygon,#d485109fa288d8dcflight .node path{fill:rgb(255, 255, 255);stroke:rgb(204, 216, 222);stroke-width:1px;}#d485109fa288d8dcflight .rough-node .label text,#d485109fa288d8dcflight .node .label text,#d485109fa288d8dcflight .image-shape .label,#d485109fa288d8dcflight .icon-shape .label{text-anchor:middle;}#d485109fa288d8dcflight .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#d485109fa288d8dcflight .rough-node .label,#d485109fa288d8dcflight .node .label,#d485109fa288d8dcflight .image-shape .label,#d485109fa288d8dcflight .icon-shape .label{text-align:center;}#d485109fa288d8dcflight .node.clickable{cursor:pointer;}#d485109fa288d8dcflight .root .anchor path{fill:rgb(74, 86, 92)!important;stroke-width:0;stroke:rgb(74, 86, 92);}#d485109fa288d8dcflight .arrowheadPath{fill:#000000;}#d485109fa288d8dcflight .edgePath .path{stroke:rgb(74, 86, 92);stroke-width:1px;}#d485109fa288d8dcflight .flowchart-link{stroke:rgb(74, 86, 92);fill:none;}#d485109fa288d8dcflight .edgeLabel{background-color:rgb(182, 240, 255);text-align:center;}#d485109fa288d8dcflight .edgeLabel p{background-color:rgb(182, 240, 255);}#d485109fa288d8dcflight .edgeLabel rect{opacity:0.5;background-color:rgb(182, 240, 255);fill:rgb(182, 240, 255);}#d485109fa288d8dcflight .labelBkg{background-color:rgba(182, 240, 255, 0.5);}#d485109fa288d8dcflight .cluster rect{fill:rgb(255, 255, 255);stroke:rgb(129, 146, 154);stroke-width:1px;}#d485109fa288d8dcflight .cluster text{fill:#000000;}#d485109fa288d8dcflight .cluster span{color:#000000;}#d485109fa288d8dcflight div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,segoe ui,Roboto,helvetica neue,Arial,noto sans,sans-serif;font-size:12px;background:rgb(255, 255, 255);border:1px solid rgb(129, 146, 154);border-radius:2px;pointer-events:none;z-index:100;}#d485109fa288d8dcflight .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#d485109fa288d8dcflight rect.text{fill:none;stroke-width:0;}#d485109fa288d8dcflight .icon-shape,#d485109fa288d8dcflight .image-shape{background-color:rgb(182, 240, 255);text-align:center;}#d485109fa288d8dcflight .icon-shape p,#d485109fa288d8dcflight .image-shape p{background-color:rgb(182, 240, 255);padding:2px;}#d485109fa288d8dcflight .icon-shape .label rect,#d485109fa288d8dcflight .image-shape .label rect{opacity:0.5;background-color:rgb(182, 240, 255);fill:rgb(182, 240, 255);}#d485109fa288d8dcflight .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#d485109fa288d8dcflight .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#d485109fa288d8dcflight .node .neo-node{stroke:rgb(204, 216, 222);}#d485109fa288d8dcflight [data-look="neo"].node rect,#d485109fa288d8dcflight [data-look="neo"].cluster rect,#d485109fa288d8dcflight [data-look="neo"].node polygon{stroke:url(#d485109fa288d8dcflight-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#d485109fa288d8dcflight [data-look="neo"].swimlane.cluster rect{filter:none;}#d485109fa288d8dcflight [data-look="neo"].node path{stroke:url(#d485109fa288d8dcflight-gradient);stroke-width:1px;}#d485109fa288d8dcflight [data-look="neo"].node .outer-path{filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#d485109fa288d8dcflight [data-look="neo"].node .neo-line path{stroke:rgb(204, 216, 222);filter:none;}#d485109fa288d8dcflight [data-look="neo"].node circle{stroke:url(#d485109fa288d8dcflight-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#d485109fa288d8dcflight [data-look="neo"].node circle .state-start{fill:#000000;}#d485109fa288d8dcflight [data-look="neo"].icon-shape .icon{fill:url(#d485109fa288d8dcflight-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#d485109fa288d8dcflight [data-look="neo"].icon-shape .icon-neo path{stroke:url(#d485109fa288d8dcflight-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#d485109fa288d8dcflight :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;}&lt;/style&gt;&lt;g&gt;&lt;marker id="d485109fa288d8dcflight_flowchart-v2-pointEnd" class="marker flowchart-v2" viewBox="0 0 10 10" refX="5" refY="5" markerUnits="userSpaceOnUse" markerWidth="8" markerHeight="8" orient="auto"&gt;&lt;path d="M 0 0 L 10 5 L 0 10 z" class="arrowMarkerPath" style="stroke-width: 1; stroke-dasharray: 1, 0;"&gt;&lt;/path&gt;&lt;/marker&gt;&lt;marker id="d485109fa288d8dcflight_flowchart-v2-pointStart" class="marker flowchart-v2" viewBox="0 0 10 10" refX="4.5" refY="5" markerUnits="userSpaceOnUse" markerWidth="8" markerHeight="8" orient="auto"&gt;&lt;path d="M 0 5 L 10 10 L 10 0 z" class="arrowMarkerPath" style="stroke-width: 1; stroke-dasharray: 1, 0;"&gt;&lt;/path&gt;&lt;/marker&gt;&lt;marker id="d485109fa288d8dcflight_flowchart-v2-pointEnd-margin" class="marker flowchart-v2" viewBox="0 0 11.5 14" refX="11.5" refY="7" markerUnits="userSpaceOnUse" markerWidth="10.5" markerHeight="14" orient="auto"&gt;&lt;path d="M 0 0 L 11.5 7 L 0 14 z" class="arrowMarkerPath" style="stroke-width: 0; stroke-dasharray: 1, 0;"&gt;&lt;/path&gt;&lt;/marker&gt;&lt;marker id="d485109fa288d8dcflight_flowchart-v2-pointStart-margin" class="marker flowchart-v2" viewBox="0 0 11.5 14" refX="1" refY="7" markerUnits="userSpaceOnUse" markerWidth="11.5" markerHeight="14" orient="auto"&gt;&lt;polygon points="0,7 11.5,14 11.5,0" class="arrowMarkerPath" style="stroke-width: 0; stroke-dasharray: 1, 0;"&gt;&lt;/polygon&gt;&lt;/marker&gt;&lt;marker id="d485109fa288d8dcflight_flowchart-v2-circleEnd" class="marker flowchart-v2" viewBox="0 0 10 10" refX="11" refY="5" markerUnits="userSpaceOnUse" markerWidth="11" markerHeight="11" orient="auto"&gt;&lt;circle cx="5" cy="5" r="5" class="arrowMarkerPath" style="stroke-width: 1; stroke-dasharray: 1, 0;"&gt;&lt;/circle&gt;&lt;/marker&gt;&lt;marker id="d485109fa288d8dcflight_flowchart-v2-circleStart" class="marker flowchart-v2" viewBox="0 0 10 10" refX="-1" refY="5" markerUnits="userSpaceOnUse" markerWidth="11" markerHeight="11" orient="auto"&gt;&lt;circle cx="5" cy="5" r="5" class="arrowMarkerPath" style="stroke-width: 1; stroke-dasharray: 1, 0;"&gt;&lt;/circle&gt;&lt;/marker&gt;&lt;marker id="d485109fa288d8dcflight_flowchart-v2-circleEnd-margin" class="marker flowchart-v2" viewBox="0 0 10 10" refY="5" refX="12.25" markerUnits="userSpaceOnUse" markerWidth="14" markerHeight="14" orient="auto"&gt;&lt;circle cx="5" cy="5" r="5" class="arrowMarkerPath" style="stroke-width: 0; stroke-dasharray: 1, 0;"&gt;&lt;/circle&gt;&lt;/marker&gt;&lt;marker id="d485109fa288d8dcflight_flowchart-v2-circleStart-margin" class="marker flowchart-v2" viewBox="0 0 10 10" refX="-2" refY="5" markerUnits="userSpaceOnUse" markerWidth="14" markerHeight="14" orient="auto"&gt;&lt;circle cx="5" cy="5" r="5" class="arrowMarkerPath" style="stroke-width: 0; stroke-dasharray: 1, 0;"&gt;&lt;/circle&gt;&lt;/marker&gt;&lt;marker id="d485109fa288d8dcflight_flowchart-v2-crossEnd" class="marker cross flowchart-v2" viewBox="0 0 11 11" refX="12" refY="5.2" markerUnits="userSpaceOnUse" markerWidth="11" markerHeight="11" orient="auto"&gt;&lt;path d="M 1,1 l 9,9 M 10,1 l -9,9" class="arrowMarkerPath" style="stroke-width: 2; stroke-dasharray: 1, 0;"&gt;&lt;/path&gt;&lt;/marker&gt;&lt;marker id="d485109fa288d8dcflight_flowchart-v2-crossStart" class="marker cross flowchart-v2" viewBox="0 0 11 11" refX="-1" refY="5.2" markerUnits="userSpaceOnUse" markerWidth="11" markerHeight="11" orient="auto"&gt;&lt;path d="M 1,1 l 9,9 M 10,1 l -9,9" class="arrowMarkerPath" style="stroke-width: 2; stroke-dasharray: 1, 0;"&gt;&lt;/path&gt;&lt;/marker&gt;&lt;marker id="d485109fa288d8dcflight_flowchart-v2-crossEnd-margin" class="marker cross flowchart-v2" viewBox="0 0 15 15" refX="17.7" refY="7.5" markerUnits="userSpaceOnUse" markerWidth="12" markerHeight="12" orient="auto"&gt;&lt;path d="M 1,1 L 14,14 M 1,14 L 14,1" class="arrowMarkerPath" style="stroke-width: 2.5;"&gt;&lt;/path&gt;&lt;/marker&gt;&lt;marker id="d485109fa288d8dcflight_flowchart-v2-crossStart-margin" class="marker cross flowchart-v2" viewBox="0 0 15 15" refX="-3.5" refY="7.5" markerUnits="userSpaceOnUse" markerWidth="12" markerHeight="12" orient="auto"&gt;&lt;path d="M 1,1 L 14,14 M 1,14 L 14,1" class="arrowMarkerPath" style="stroke-width: 2.5; stroke-dasharray: 1, 0;"&gt;&lt;/path&gt;&lt;/marker&gt;&lt;g class="root"&gt;&lt;g class="clusters"&gt;&lt;g class="cluster" id="d485109fa288d8dcflight-R" data-look="classic"&gt;&lt;rect style="" x="318.96875" y="8" width="298.359375" height="660"&gt;&lt;/rect&gt;&lt;g class="cluster-label" transform="translate(383.3359375, 8)"&gt;&lt;foreignObject width="169.625" height="24"&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5;"&gt;&lt;span class="nodeLabel"&gt;&lt;p&gt;what actually answered&lt;/p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/foreignObject&gt;&lt;/g&gt;&lt;/g&gt;&lt;g class="cluster" id="d485109fa288d8dcflight-Q" data-look="classic"&gt;&lt;rect style="" x="8" y="20" width="260.96875" height="636"&gt;&lt;/rect&gt;&lt;g class="cluster-label" transform="translate(65.7578125, 20)"&gt;&lt;foreignObject width="145.453125" height="24"&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5;"&gt;&lt;span class="nodeLabel"&gt;&lt;p&gt;the question I asked&lt;/p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/foreignObject&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;g class="edgePaths"&gt;&lt;path d="M233.875,82L239.724,82C245.573,82,257.271,82,267.286,82C277.302,82,285.635,82,293.969,82C302.302,82,310.635,82,319.698,82C328.76,82,338.552,82,343.448,82L348.344,82" id="d485109fa288d8dcflight-L_A1_B1_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_A1_B1_0" data-points="W3sieCI6MjMzLjg3NSwieSI6ODJ9LHsieCI6MjY4Ljk2ODc1LCJ5Ijo4Mn0seyJ4IjoyOTMuOTY4NzUsInkiOjgyfSx7IngiOjMxOC45Njg3NSwieSI6ODJ9LHsieCI6MzUyLjM0Mzc1LCJ5Ijo4Mn1d" data-look="classic" marker-end="url(#d485109fa288d8dcflight_flowchart-v2-pointEnd)"&gt;&lt;/path&gt;&lt;path d="M228.406,210L235.167,210C241.927,210,255.448,210,266.375,210C277.302,210,285.635,210,293.969,210C302.302,210,310.635,210,321.4,210C332.164,210,345.359,210,351.957,210L358.555,210" id="d485109fa288d8dcflight-L_A2_B2_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_A2_B2_0" data-points="W3sieCI6MjI4LjQwNjI1LCJ5IjoyMTB9LHsieCI6MjY4Ljk2ODc1LCJ5IjoyMTB9LHsieCI6MjkzLjk2ODc1LCJ5IjoyMTB9LHsieCI6MzE4Ljk2ODc1LCJ5IjoyMTB9LHsieCI6MzYyLjU1NDY4NzUsInkiOjIxMH1d" data-look="classic" marker-end="url(#d485109fa288d8dcflight_flowchart-v2-pointEnd)"&gt;&lt;/path&gt;&lt;path d="M242.961,338L247.296,338C251.63,338,260.299,338,268.801,338C277.302,338,285.635,338,293.969,338C302.302,338,310.635,338,318.302,338C325.969,338,332.969,338,336.469,338L339.969,338" id="d485109fa288d8dcflight-L_A3_B3_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_A3_B3_0" data-points="W3sieCI6MjQyLjk2MDkzNzUsInkiOjMzOH0seyJ4IjoyNjguOTY4NzUsInkiOjMzOH0seyJ4IjoyOTMuOTY4NzUsInkiOjMzOH0seyJ4IjozMTguOTY4NzUsInkiOjMzOH0seyJ4IjozNDMuOTY4NzUsInkiOjMzOH1d" data-look="classic" marker-end="url(#d485109fa288d8dcflight_flowchart-v2-pointEnd)"&gt;&lt;/path&gt;&lt;path d="M243.969,466L248.135,466C252.302,466,260.635,466,268.969,466C277.302,466,285.635,466,293.969,466C302.302,466,310.635,466,320.749,466C330.862,466,342.755,466,348.702,466L354.648,466" id="d485109fa288d8dcflight-L_A4_B4_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_A4_B4_0" data-points="W3sieCI6MjQzLjk2ODc1LCJ5Ijo0NjZ9LHsieCI6MjY4Ljk2ODc1LCJ5Ijo0NjZ9LHsieCI6MjkzLjk2ODc1LCJ5Ijo0NjZ9LHsieCI6MzE4Ljk2ODc1LCJ5Ijo0NjZ9LHsieCI6MzU4LjY0ODQzNzUsInkiOjQ2Nn1d" data-look="classic" marker-end="url(#d485109fa288d8dcflight_flowchart-v2-pointEnd)"&gt;&lt;/path&gt;&lt;path d="M216.922,594L225.596,594C234.271,594,251.62,594,264.461,594C277.302,594,285.635,594,293.969,594C302.302,594,310.635,594,320.806,594C330.977,594,342.984,594,348.988,594L354.992,594" id="d485109fa288d8dcflight-L_A5_B5_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_A5_B5_0" data-points="W3sieCI6MjE2LjkyMTg3NSwieSI6NTk0fSx7IngiOjI2OC45Njg3NSwieSI6NTk0fSx7IngiOjI5My45Njg3NSwieSI6NTk0fSx7IngiOjMxOC45Njg3NSwieSI6NTk0fSx7IngiOjM1OC45OTIxODc1LCJ5Ijo1OTR9XQ==" data-look="classic" marker-end="url(#d485109fa288d8dcflight_flowchart-v2-pointEnd)"&gt;&lt;/path&gt;&lt;/g&gt;&lt;g class="edgeLabels"&gt;&lt;g class="edgeLabel"&gt;&lt;g class="label" data-id="L_A1_B1_0" transform="translate(0, 0)"&gt;&lt;foreignObject width="0" height="0"&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"&gt;&lt;span class="edgeLabel"&gt;&lt;/span&gt;&lt;/div&gt;&lt;/foreignObject&gt;&lt;/g&gt;&lt;/g&gt;&lt;g class="edgeLabel"&gt;&lt;g class="label" data-id="L_A2_B2_0" transform="translate(0, 0)"&gt;&lt;foreignObject width="0" height="0"&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"&gt;&lt;span class="edgeLabel"&gt;&lt;/span&gt;&lt;/div&gt;&lt;/foreignObject&gt;&lt;/g&gt;&lt;/g&gt;&lt;g class="edgeLabel"&gt;&lt;g class="label" data-id="L_A3_B3_0" transform="translate(0, 0)"&gt;&lt;foreignObject width="0" height="0"&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"&gt;&lt;span class="edgeLabel"&gt;&lt;/span&gt;&lt;/div&gt;&lt;/foreignObject&gt;&lt;/g&gt;&lt;/g&gt;&lt;g class="edgeLabel"&gt;&lt;g class="label" data-id="L_A4_B4_0" transform="translate(0, 0)"&gt;&lt;foreignObject width="0" height="0"&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"&gt;&lt;span class="edgeLabel"&gt;&lt;/span&gt;&lt;/div&gt;&lt;/foreignObject&gt;&lt;/g&gt;&lt;/g&gt;&lt;g class="edgeLabel"&gt;&lt;g class="label" data-id="L_A5_B5_0" transform="translate(0, 0)"&gt;&lt;foreignObject width="0" height="0"&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"&gt;&lt;span class="edgeLabel"&gt;&lt;/span&gt;&lt;/div&gt;&lt;/foreignObject&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;g class="nodes"&gt;&lt;g class="node default" id="d485109fa288d8dcflight-flowchart-A1-0" data-look="classic" transform="translate(138.484375, 82)"&gt;&lt;rect class="basic label-container" style="" x="-95.390625" y="-27" width="190.78125" height="54"&gt;&lt;/rect&gt;&lt;g class="label" style="" transform="translate(-65.390625, -12)"&gt;&lt;rect&gt;&lt;/rect&gt;&lt;foreignObject width="130.78125" height="24"&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"&gt;&lt;span class="nodeLabel"&gt;&lt;p&gt;is Word still used?&lt;/p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/foreignObject&gt;&lt;/g&gt;&lt;/g&gt;&lt;g class="node default" id="d485109fa288d8dcflight-flowchart-A2-1" data-look="classic" transform="translate(138.484375, 210)"&gt;&lt;rect class="basic label-container" style="" x="-89.921875" y="-27" width="179.84375" height="54"&gt;&lt;/rect&gt;&lt;g class="label" style="" transform="translate(-59.921875, -12)"&gt;&lt;rect&gt;&lt;/rect&gt;&lt;foreignObject width="119.84375" height="24"&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"&gt;&lt;span class="nodeLabel"&gt;&lt;p&gt;any git remotes?&lt;/p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/foreignObject&gt;&lt;/g&gt;&lt;/g&gt;&lt;g class="node default" id="d485109fa288d8dcflight-flowchart-A3-2" data-look="classic" transform="translate(138.484375, 338)"&gt;&lt;rect class="basic label-container" style="" x="-104.4765625" y="-27" width="208.953125" height="54"&gt;&lt;/rect&gt;&lt;g class="label" style="" transform="translate(-74.4765625, -12)"&gt;&lt;rect&gt;&lt;/rect&gt;&lt;foreignObject width="148.953125" height="24"&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"&gt;&lt;span class="nodeLabel"&gt;&lt;p&gt;is master protected?&lt;/p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/foreignObject&gt;&lt;/g&gt;&lt;/g&gt;&lt;g class="node default" id="d485109fa288d8dcflight-flowchart-A4-3" data-look="classic" transform="translate(138.484375, 466)"&gt;&lt;rect class="basic label-container" style="" x="-105.484375" y="-39" width="210.96875" height="78"&gt;&lt;/rect&gt;&lt;g class="label" style="" transform="translate(-75.484375, -24)"&gt;&lt;rect&gt;&lt;/rect&gt;&lt;foreignObject width="150.96875" height="48"&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"&gt;&lt;span class="nodeLabel"&gt;&lt;p&gt;how much CPU does&lt;br&gt;WindowServer use?&lt;/p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/foreignObject&gt;&lt;/g&gt;&lt;/g&gt;&lt;g class="node default" id="d485109fa288d8dcflight-flowchart-A5-4" data-look="classic" transform="translate(138.484375, 594)"&gt;&lt;rect class="basic label-container" style="" x="-78.4375" y="-27" width="156.875" height="54"&gt;&lt;/rect&gt;&lt;g class="label" style="" transform="translate(-48.4375, -12)"&gt;&lt;rect&gt;&lt;/rect&gt;&lt;foreignObject width="96.875" height="24"&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"&gt;&lt;span class="nodeLabel"&gt;&lt;p&gt;how fast is ll?&lt;/p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/foreignObject&gt;&lt;/g&gt;&lt;/g&gt;&lt;g class="node default" id="d485109fa288d8dcflight-flowchart-B1-5" data-look="classic" transform="translate(468.1484375, 82)"&gt;&lt;rect class="basic label-container" style="" x="-115.8046875" y="-39" width="231.609375" height="78"&gt;&lt;/rect&gt;&lt;g class="label" style="" transform="translate(-85.8046875, -24)"&gt;&lt;rect&gt;&lt;/rect&gt;&lt;foreignObject width="171.609375" height="48"&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"&gt;&lt;span class="nodeLabel"&gt;&lt;p&gt;a Spotlight index&lt;br&gt;that had just been reset&lt;/p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/foreignObject&gt;&lt;/g&gt;&lt;/g&gt;&lt;g class="node default" id="d485109fa288d8dcflight-flowchart-B2-6" data-look="classic" transform="translate(468.1484375, 210)"&gt;&lt;rect class="basic label-container" style="" x="-105.59375" y="-39" width="211.1875" height="78"&gt;&lt;/rect&gt;&lt;g class="label" style="" transform="translate(-75.59375, -24)"&gt;&lt;rect&gt;&lt;/rect&gt;&lt;foreignObject width="151.1875" height="48"&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"&gt;&lt;span class="nodeLabel"&gt;&lt;p&gt;$HOME, which is not&lt;br&gt;a git directory&lt;/p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/foreignObject&gt;&lt;/g&gt;&lt;/g&gt;&lt;g class="node default" id="d485109fa288d8dcflight-flowchart-B3-7" data-look="classic" transform="translate(468.1484375, 338)"&gt;&lt;rect class="basic label-container" style="" x="-124.1796875" y="-39" width="248.359375" height="78"&gt;&lt;/rect&gt;&lt;g class="label" style="" transform="translate(-94.1796875, -24)"&gt;&lt;rect&gt;&lt;/rect&gt;&lt;foreignObject width="188.359375" height="48"&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"&gt;&lt;span class="nodeLabel"&gt;&lt;p&gt;the old protection API,&lt;br&gt;which cannot see rulesets&lt;/p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/foreignObject&gt;&lt;/g&gt;&lt;/g&gt;&lt;g class="node default" id="d485109fa288d8dcflight-flowchart-B4-8" data-look="classic" transform="translate(468.1484375, 466)"&gt;&lt;rect class="basic label-container" style="" x="-109.5" y="-39" width="219" height="78"&gt;&lt;/rect&gt;&lt;g class="label" style="" transform="translate(-79.5, -24)"&gt;&lt;rect&gt;&lt;/rect&gt;&lt;foreignObject width="159" height="48"&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"&gt;&lt;span class="nodeLabel"&gt;&lt;p&gt;a decaying average of&lt;br&gt;the last minute&lt;/p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/foreignObject&gt;&lt;/g&gt;&lt;/g&gt;&lt;g class="node default" id="d485109fa288d8dcflight-flowchart-B5-9" data-look="classic" transform="translate(468.1484375, 594)"&gt;&lt;rect class="basic label-container" style="" x="-109.15625" y="-39" width="218.3125" height="78"&gt;&lt;/rect&gt;&lt;g class="label" style="" transform="translate(-79.15625, -24)"&gt;&lt;rect&gt;&lt;/rect&gt;&lt;foreignObject width="158.3125" height="48"&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"&gt;&lt;span class="nodeLabel"&gt;&lt;p&gt;a sandbox that blocks&lt;br&gt;the real syscalls&lt;/p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/foreignObject&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;defs&gt;&lt;filter id="d485109fa288d8dcflight-drop-shadow" height="130%" width="130%"&gt;&lt;feDropShadow dx="4" dy="4" stdDeviation="0" flood-opacity="0.06" flood-color="#000000"&gt;&lt;/feDropShadow&gt;&lt;/filter&gt;&lt;/defs&gt;&lt;defs&gt;&lt;filter id="d485109fa288d8dcflight-drop-shadow-small" height="150%" width="150%"&gt;&lt;feDropShadow dx="2" dy="2" stdDeviation="0" flood-opacity="0.06" flood-color="#000000"&gt;&lt;/feDropShadow&gt;&lt;/filter&gt;&lt;/defs&gt;&lt;linearGradient id="d485109fa288d8dcflight-gradient" gradientUnits="objectBoundingBox" x1="0%" y1="0%" x2="100%" y2="0%"&gt;&lt;stop offset="0%" stop-color="rgb(204, 216, 222)" stop-opacity="1"&gt;&lt;/stop&gt;&lt;stop offset="100%" stop-color="rgb(28, 209, 255)" stop-opacity="1"&gt;&lt;/stop&gt;&lt;/linearGradient&gt;&lt;/svg&gt;&lt;/div&gt;
 &lt;div class="not-prose diagram diagram-dark"&gt;&lt;svg id="d485109fa288d8dcfdark" width="100%" xmlns="http://www.w3.org/2000/svg" class="flowchart" style="max-width: 625.328125px;" viewBox="0 0 625.328125 676" role="graphics-document document" aria-roledescription="flowchart-v2"&gt;&lt;style&gt;#d485109fa288d8dcfdark{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,segoe ui,Roboto,helvetica neue,Arial,noto sans,sans-serif;font-size:16px;fill:#ccc;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#d485109fa288d8dcfdark .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#d485109fa288d8dcfdark .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#d485109fa288d8dcfdark .error-icon{fill:#a44141;}#d485109fa288d8dcfdark .error-text{fill:#ddd;stroke:#ddd;}#d485109fa288d8dcfdark .edge-thickness-normal{stroke-width:1px;}#d485109fa288d8dcfdark .edge-thickness-thick{stroke-width:3.5px;}#d485109fa288d8dcfdark .edge-pattern-solid{stroke-dasharray:0;}#d485109fa288d8dcfdark .edge-thickness-invisible{stroke-width:0;fill:none;}#d485109fa288d8dcfdark .edge-pattern-dashed{stroke-dasharray:3;}#d485109fa288d8dcfdark .edge-pattern-dotted{stroke-dasharray:2;}#d485109fa288d8dcfdark .marker{fill:lightgrey;stroke:lightgrey;}#d485109fa288d8dcfdark .marker.cross{stroke:lightgrey;}#d485109fa288d8dcfdark svg{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,segoe ui,Roboto,helvetica neue,Arial,noto sans,sans-serif;font-size:16px;}#d485109fa288d8dcfdark p{margin:0;}#d485109fa288d8dcfdark .label{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,segoe ui,Roboto,helvetica neue,Arial,noto sans,sans-serif;color:#ccc;}#d485109fa288d8dcfdark .cluster-label text{fill:#F9FFFE;}#d485109fa288d8dcfdark .cluster-label span{color:#F9FFFE;}#d485109fa288d8dcfdark .cluster-label span p{background-color:transparent;}#d485109fa288d8dcfdark .label text,#d485109fa288d8dcfdark span{fill:#ccc;color:#ccc;}#d485109fa288d8dcfdark .node rect,#d485109fa288d8dcfdark .node circle,#d485109fa288d8dcfdark .node ellipse,#d485109fa288d8dcfdark .node polygon,#d485109fa288d8dcfdark .node path{fill:#1f2020;stroke:#ccc;stroke-width:1px;}#d485109fa288d8dcfdark .rough-node .label text,#d485109fa288d8dcfdark .node .label text,#d485109fa288d8dcfdark .image-shape .label,#d485109fa288d8dcfdark .icon-shape .label{text-anchor:middle;}#d485109fa288d8dcfdark .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#d485109fa288d8dcfdark .rough-node .label,#d485109fa288d8dcfdark .node .label,#d485109fa288d8dcfdark .image-shape .label,#d485109fa288d8dcfdark .icon-shape .label{text-align:center;}#d485109fa288d8dcfdark .node.clickable{cursor:pointer;}#d485109fa288d8dcfdark .root .anchor path{fill:lightgrey!important;stroke-width:0;stroke:lightgrey;}#d485109fa288d8dcfdark .arrowheadPath{fill:lightgrey;}#d485109fa288d8dcfdark .edgePath .path{stroke:lightgrey;stroke-width:1px;}#d485109fa288d8dcfdark .flowchart-link{stroke:lightgrey;fill:none;}#d485109fa288d8dcfdark .edgeLabel{background-color:hsl(0, 0%, 34.4117647059%);text-align:center;}#d485109fa288d8dcfdark .edgeLabel p{background-color:hsl(0, 0%, 34.4117647059%);}#d485109fa288d8dcfdark .edgeLabel rect{opacity:0.5;background-color:hsl(0, 0%, 34.4117647059%);fill:hsl(0, 0%, 34.4117647059%);}#d485109fa288d8dcfdark .labelBkg{background-color:rgba(87.75, 87.75, 87.75, 0.5);}#d485109fa288d8dcfdark .cluster rect{fill:hsl(180, 1.5873015873%, 28.3529411765%);stroke:rgba(255, 255, 255, 0.25);stroke-width:1px;}#d485109fa288d8dcfdark .cluster text{fill:#F9FFFE;}#d485109fa288d8dcfdark .cluster span{color:#F9FFFE;}#d485109fa288d8dcfdark div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,segoe ui,Roboto,helvetica neue,Arial,noto sans,sans-serif;font-size:12px;background:hsl(20, 1.5873015873%, 12.3529411765%);border:1px solid rgba(255, 255, 255, 0.25);border-radius:2px;pointer-events:none;z-index:100;}#d485109fa288d8dcfdark .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#ccc;}#d485109fa288d8dcfdark rect.text{fill:none;stroke-width:0;}#d485109fa288d8dcfdark .icon-shape,#d485109fa288d8dcfdark .image-shape{background-color:hsl(0, 0%, 34.4117647059%);text-align:center;}#d485109fa288d8dcfdark .icon-shape p,#d485109fa288d8dcfdark .image-shape p{background-color:hsl(0, 0%, 34.4117647059%);padding:2px;}#d485109fa288d8dcfdark .icon-shape .label rect,#d485109fa288d8dcfdark .image-shape .label rect{opacity:0.5;background-color:hsl(0, 0%, 34.4117647059%);fill:hsl(0, 0%, 34.4117647059%);}#d485109fa288d8dcfdark .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#d485109fa288d8dcfdark .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#d485109fa288d8dcfdark .node .neo-node{stroke:#ccc;}#d485109fa288d8dcfdark [data-look="neo"].node rect,#d485109fa288d8dcfdark [data-look="neo"].cluster rect,#d485109fa288d8dcfdark [data-look="neo"].node polygon{stroke:url(#d485109fa288d8dcfdark-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#d485109fa288d8dcfdark [data-look="neo"].swimlane.cluster rect{filter:none;}#d485109fa288d8dcfdark [data-look="neo"].node path{stroke:url(#d485109fa288d8dcfdark-gradient);stroke-width:1px;}#d485109fa288d8dcfdark [data-look="neo"].node .outer-path{filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#d485109fa288d8dcfdark [data-look="neo"].node .neo-line path{stroke:#ccc;filter:none;}#d485109fa288d8dcfdark [data-look="neo"].node circle{stroke:url(#d485109fa288d8dcfdark-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#d485109fa288d8dcfdark [data-look="neo"].node circle .state-start{fill:#000000;}#d485109fa288d8dcfdark [data-look="neo"].icon-shape .icon{fill:url(#d485109fa288d8dcfdark-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#d485109fa288d8dcfdark [data-look="neo"].icon-shape .icon-neo path{stroke:url(#d485109fa288d8dcfdark-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#d485109fa288d8dcfdark :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;}&lt;/style&gt;&lt;g&gt;&lt;marker id="d485109fa288d8dcfdark_flowchart-v2-pointEnd" class="marker flowchart-v2" viewBox="0 0 10 10" refX="5" refY="5" markerUnits="userSpaceOnUse" markerWidth="8" markerHeight="8" orient="auto"&gt;&lt;path d="M 0 0 L 10 5 L 0 10 z" class="arrowMarkerPath" style="stroke-width: 1; stroke-dasharray: 1, 0;"&gt;&lt;/path&gt;&lt;/marker&gt;&lt;marker id="d485109fa288d8dcfdark_flowchart-v2-pointStart" class="marker flowchart-v2" viewBox="0 0 10 10" refX="4.5" refY="5" markerUnits="userSpaceOnUse" markerWidth="8" markerHeight="8" orient="auto"&gt;&lt;path d="M 0 5 L 10 10 L 10 0 z" class="arrowMarkerPath" style="stroke-width: 1; stroke-dasharray: 1, 0;"&gt;&lt;/path&gt;&lt;/marker&gt;&lt;marker id="d485109fa288d8dcfdark_flowchart-v2-pointEnd-margin" class="marker flowchart-v2" viewBox="0 0 11.5 14" refX="11.5" refY="7" markerUnits="userSpaceOnUse" markerWidth="10.5" markerHeight="14" orient="auto"&gt;&lt;path d="M 0 0 L 11.5 7 L 0 14 z" class="arrowMarkerPath" style="stroke-width: 0; stroke-dasharray: 1, 0;"&gt;&lt;/path&gt;&lt;/marker&gt;&lt;marker id="d485109fa288d8dcfdark_flowchart-v2-pointStart-margin" class="marker flowchart-v2" viewBox="0 0 11.5 14" refX="1" refY="7" markerUnits="userSpaceOnUse" markerWidth="11.5" markerHeight="14" orient="auto"&gt;&lt;polygon points="0,7 11.5,14 11.5,0" class="arrowMarkerPath" style="stroke-width: 0; stroke-dasharray: 1, 0;"&gt;&lt;/polygon&gt;&lt;/marker&gt;&lt;marker id="d485109fa288d8dcfdark_flowchart-v2-circleEnd" class="marker flowchart-v2" viewBox="0 0 10 10" refX="11" refY="5" markerUnits="userSpaceOnUse" markerWidth="11" markerHeight="11" orient="auto"&gt;&lt;circle cx="5" cy="5" r="5" class="arrowMarkerPath" style="stroke-width: 1; stroke-dasharray: 1, 0;"&gt;&lt;/circle&gt;&lt;/marker&gt;&lt;marker id="d485109fa288d8dcfdark_flowchart-v2-circleStart" class="marker flowchart-v2" viewBox="0 0 10 10" refX="-1" refY="5" markerUnits="userSpaceOnUse" markerWidth="11" markerHeight="11" orient="auto"&gt;&lt;circle cx="5" cy="5" r="5" class="arrowMarkerPath" style="stroke-width: 1; stroke-dasharray: 1, 0;"&gt;&lt;/circle&gt;&lt;/marker&gt;&lt;marker id="d485109fa288d8dcfdark_flowchart-v2-circleEnd-margin" class="marker flowchart-v2" viewBox="0 0 10 10" refY="5" refX="12.25" markerUnits="userSpaceOnUse" markerWidth="14" markerHeight="14" orient="auto"&gt;&lt;circle cx="5" cy="5" r="5" class="arrowMarkerPath" style="stroke-width: 0; stroke-dasharray: 1, 0;"&gt;&lt;/circle&gt;&lt;/marker&gt;&lt;marker id="d485109fa288d8dcfdark_flowchart-v2-circleStart-margin" class="marker flowchart-v2" viewBox="0 0 10 10" refX="-2" refY="5" markerUnits="userSpaceOnUse" markerWidth="14" markerHeight="14" orient="auto"&gt;&lt;circle cx="5" cy="5" r="5" class="arrowMarkerPath" style="stroke-width: 0; stroke-dasharray: 1, 0;"&gt;&lt;/circle&gt;&lt;/marker&gt;&lt;marker id="d485109fa288d8dcfdark_flowchart-v2-crossEnd" class="marker cross flowchart-v2" viewBox="0 0 11 11" refX="12" refY="5.2" markerUnits="userSpaceOnUse" markerWidth="11" markerHeight="11" orient="auto"&gt;&lt;path d="M 1,1 l 9,9 M 10,1 l -9,9" class="arrowMarkerPath" style="stroke-width: 2; stroke-dasharray: 1, 0;"&gt;&lt;/path&gt;&lt;/marker&gt;&lt;marker id="d485109fa288d8dcfdark_flowchart-v2-crossStart" class="marker cross flowchart-v2" viewBox="0 0 11 11" refX="-1" refY="5.2" markerUnits="userSpaceOnUse" markerWidth="11" markerHeight="11" orient="auto"&gt;&lt;path d="M 1,1 l 9,9 M 10,1 l -9,9" class="arrowMarkerPath" style="stroke-width: 2; stroke-dasharray: 1, 0;"&gt;&lt;/path&gt;&lt;/marker&gt;&lt;marker id="d485109fa288d8dcfdark_flowchart-v2-crossEnd-margin" class="marker cross flowchart-v2" viewBox="0 0 15 15" refX="17.7" refY="7.5" markerUnits="userSpaceOnUse" markerWidth="12" markerHeight="12" orient="auto"&gt;&lt;path d="M 1,1 L 14,14 M 1,14 L 14,1" class="arrowMarkerPath" style="stroke-width: 2.5;"&gt;&lt;/path&gt;&lt;/marker&gt;&lt;marker id="d485109fa288d8dcfdark_flowchart-v2-crossStart-margin" class="marker cross flowchart-v2" viewBox="0 0 15 15" refX="-3.5" refY="7.5" markerUnits="userSpaceOnUse" markerWidth="12" markerHeight="12" orient="auto"&gt;&lt;path d="M 1,1 L 14,14 M 1,14 L 14,1" class="arrowMarkerPath" style="stroke-width: 2.5; stroke-dasharray: 1, 0;"&gt;&lt;/path&gt;&lt;/marker&gt;&lt;g class="root"&gt;&lt;g class="clusters"&gt;&lt;g class="cluster" id="d485109fa288d8dcfdark-R" data-look="classic"&gt;&lt;rect style="" x="318.96875" y="8" width="298.359375" height="660"&gt;&lt;/rect&gt;&lt;g class="cluster-label" transform="translate(383.3359375, 8)"&gt;&lt;foreignObject width="169.625" height="24"&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5;"&gt;&lt;span class="nodeLabel"&gt;&lt;p&gt;what actually answered&lt;/p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/foreignObject&gt;&lt;/g&gt;&lt;/g&gt;&lt;g class="cluster" id="d485109fa288d8dcfdark-Q" data-look="classic"&gt;&lt;rect style="" x="8" y="20" width="260.96875" height="636"&gt;&lt;/rect&gt;&lt;g class="cluster-label" transform="translate(65.7578125, 20)"&gt;&lt;foreignObject width="145.453125" height="24"&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5;"&gt;&lt;span class="nodeLabel"&gt;&lt;p&gt;the question I asked&lt;/p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/foreignObject&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;g class="edgePaths"&gt;&lt;path d="M233.875,82L239.724,82C245.573,82,257.271,82,267.286,82C277.302,82,285.635,82,293.969,82C302.302,82,310.635,82,319.698,82C328.76,82,338.552,82,343.448,82L348.344,82" id="d485109fa288d8dcfdark-L_A1_B1_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_A1_B1_0" data-points="W3sieCI6MjMzLjg3NSwieSI6ODJ9LHsieCI6MjY4Ljk2ODc1LCJ5Ijo4Mn0seyJ4IjoyOTMuOTY4NzUsInkiOjgyfSx7IngiOjMxOC45Njg3NSwieSI6ODJ9LHsieCI6MzUyLjM0Mzc1LCJ5Ijo4Mn1d" data-look="classic" marker-end="url(#d485109fa288d8dcfdark_flowchart-v2-pointEnd)"&gt;&lt;/path&gt;&lt;path d="M228.406,210L235.167,210C241.927,210,255.448,210,266.375,210C277.302,210,285.635,210,293.969,210C302.302,210,310.635,210,321.4,210C332.164,210,345.359,210,351.957,210L358.555,210" id="d485109fa288d8dcfdark-L_A2_B2_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_A2_B2_0" data-points="W3sieCI6MjI4LjQwNjI1LCJ5IjoyMTB9LHsieCI6MjY4Ljk2ODc1LCJ5IjoyMTB9LHsieCI6MjkzLjk2ODc1LCJ5IjoyMTB9LHsieCI6MzE4Ljk2ODc1LCJ5IjoyMTB9LHsieCI6MzYyLjU1NDY4NzUsInkiOjIxMH1d" data-look="classic" marker-end="url(#d485109fa288d8dcfdark_flowchart-v2-pointEnd)"&gt;&lt;/path&gt;&lt;path d="M242.961,338L247.296,338C251.63,338,260.299,338,268.801,338C277.302,338,285.635,338,293.969,338C302.302,338,310.635,338,318.302,338C325.969,338,332.969,338,336.469,338L339.969,338" id="d485109fa288d8dcfdark-L_A3_B3_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_A3_B3_0" data-points="W3sieCI6MjQyLjk2MDkzNzUsInkiOjMzOH0seyJ4IjoyNjguOTY4NzUsInkiOjMzOH0seyJ4IjoyOTMuOTY4NzUsInkiOjMzOH0seyJ4IjozMTguOTY4NzUsInkiOjMzOH0seyJ4IjozNDMuOTY4NzUsInkiOjMzOH1d" data-look="classic" marker-end="url(#d485109fa288d8dcfdark_flowchart-v2-pointEnd)"&gt;&lt;/path&gt;&lt;path d="M243.969,466L248.135,466C252.302,466,260.635,466,268.969,466C277.302,466,285.635,466,293.969,466C302.302,466,310.635,466,320.749,466C330.862,466,342.755,466,348.702,466L354.648,466" id="d485109fa288d8dcfdark-L_A4_B4_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_A4_B4_0" data-points="W3sieCI6MjQzLjk2ODc1LCJ5Ijo0NjZ9LHsieCI6MjY4Ljk2ODc1LCJ5Ijo0NjZ9LHsieCI6MjkzLjk2ODc1LCJ5Ijo0NjZ9LHsieCI6MzE4Ljk2ODc1LCJ5Ijo0NjZ9LHsieCI6MzU4LjY0ODQzNzUsInkiOjQ2Nn1d" data-look="classic" marker-end="url(#d485109fa288d8dcfdark_flowchart-v2-pointEnd)"&gt;&lt;/path&gt;&lt;path d="M216.922,594L225.596,594C234.271,594,251.62,594,264.461,594C277.302,594,285.635,594,293.969,594C302.302,594,310.635,594,320.806,594C330.977,594,342.984,594,348.988,594L354.992,594" id="d485109fa288d8dcfdark-L_A5_B5_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_A5_B5_0" data-points="W3sieCI6MjE2LjkyMTg3NSwieSI6NTk0fSx7IngiOjI2OC45Njg3NSwieSI6NTk0fSx7IngiOjI5My45Njg3NSwieSI6NTk0fSx7IngiOjMxOC45Njg3NSwieSI6NTk0fSx7IngiOjM1OC45OTIxODc1LCJ5Ijo1OTR9XQ==" data-look="classic" marker-end="url(#d485109fa288d8dcfdark_flowchart-v2-pointEnd)"&gt;&lt;/path&gt;&lt;/g&gt;&lt;g class="edgeLabels"&gt;&lt;g class="edgeLabel"&gt;&lt;g class="label" data-id="L_A1_B1_0" transform="translate(0, 0)"&gt;&lt;foreignObject width="0" height="0"&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"&gt;&lt;span class="edgeLabel"&gt;&lt;/span&gt;&lt;/div&gt;&lt;/foreignObject&gt;&lt;/g&gt;&lt;/g&gt;&lt;g class="edgeLabel"&gt;&lt;g class="label" data-id="L_A2_B2_0" transform="translate(0, 0)"&gt;&lt;foreignObject width="0" height="0"&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"&gt;&lt;span class="edgeLabel"&gt;&lt;/span&gt;&lt;/div&gt;&lt;/foreignObject&gt;&lt;/g&gt;&lt;/g&gt;&lt;g class="edgeLabel"&gt;&lt;g class="label" data-id="L_A3_B3_0" transform="translate(0, 0)"&gt;&lt;foreignObject width="0" height="0"&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"&gt;&lt;span class="edgeLabel"&gt;&lt;/span&gt;&lt;/div&gt;&lt;/foreignObject&gt;&lt;/g&gt;&lt;/g&gt;&lt;g class="edgeLabel"&gt;&lt;g class="label" data-id="L_A4_B4_0" transform="translate(0, 0)"&gt;&lt;foreignObject width="0" height="0"&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"&gt;&lt;span class="edgeLabel"&gt;&lt;/span&gt;&lt;/div&gt;&lt;/foreignObject&gt;&lt;/g&gt;&lt;/g&gt;&lt;g class="edgeLabel"&gt;&lt;g class="label" data-id="L_A5_B5_0" transform="translate(0, 0)"&gt;&lt;foreignObject width="0" height="0"&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"&gt;&lt;span class="edgeLabel"&gt;&lt;/span&gt;&lt;/div&gt;&lt;/foreignObject&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;g class="nodes"&gt;&lt;g class="node default" id="d485109fa288d8dcfdark-flowchart-A1-0" data-look="classic" transform="translate(138.484375, 82)"&gt;&lt;rect class="basic label-container" style="" x="-95.390625" y="-27" width="190.78125" height="54"&gt;&lt;/rect&gt;&lt;g class="label" style="" transform="translate(-65.390625, -12)"&gt;&lt;rect&gt;&lt;/rect&gt;&lt;foreignObject width="130.78125" height="24"&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"&gt;&lt;span class="nodeLabel"&gt;&lt;p&gt;is Word still used?&lt;/p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/foreignObject&gt;&lt;/g&gt;&lt;/g&gt;&lt;g class="node default" id="d485109fa288d8dcfdark-flowchart-A2-1" data-look="classic" transform="translate(138.484375, 210)"&gt;&lt;rect class="basic label-container" style="" x="-89.921875" y="-27" width="179.84375" height="54"&gt;&lt;/rect&gt;&lt;g class="label" style="" transform="translate(-59.921875, -12)"&gt;&lt;rect&gt;&lt;/rect&gt;&lt;foreignObject width="119.84375" height="24"&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"&gt;&lt;span class="nodeLabel"&gt;&lt;p&gt;any git remotes?&lt;/p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/foreignObject&gt;&lt;/g&gt;&lt;/g&gt;&lt;g class="node default" id="d485109fa288d8dcfdark-flowchart-A3-2" data-look="classic" transform="translate(138.484375, 338)"&gt;&lt;rect class="basic label-container" style="" x="-104.4765625" y="-27" width="208.953125" height="54"&gt;&lt;/rect&gt;&lt;g class="label" style="" transform="translate(-74.4765625, -12)"&gt;&lt;rect&gt;&lt;/rect&gt;&lt;foreignObject width="148.953125" height="24"&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"&gt;&lt;span class="nodeLabel"&gt;&lt;p&gt;is master protected?&lt;/p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/foreignObject&gt;&lt;/g&gt;&lt;/g&gt;&lt;g class="node default" id="d485109fa288d8dcfdark-flowchart-A4-3" data-look="classic" transform="translate(138.484375, 466)"&gt;&lt;rect class="basic label-container" style="" x="-105.484375" y="-39" width="210.96875" height="78"&gt;&lt;/rect&gt;&lt;g class="label" style="" transform="translate(-75.484375, -24)"&gt;&lt;rect&gt;&lt;/rect&gt;&lt;foreignObject width="150.96875" height="48"&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"&gt;&lt;span class="nodeLabel"&gt;&lt;p&gt;how much CPU does&lt;br&gt;WindowServer use?&lt;/p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/foreignObject&gt;&lt;/g&gt;&lt;/g&gt;&lt;g class="node default" id="d485109fa288d8dcfdark-flowchart-A5-4" data-look="classic" transform="translate(138.484375, 594)"&gt;&lt;rect class="basic label-container" style="" x="-78.4375" y="-27" width="156.875" height="54"&gt;&lt;/rect&gt;&lt;g class="label" style="" transform="translate(-48.4375, -12)"&gt;&lt;rect&gt;&lt;/rect&gt;&lt;foreignObject width="96.875" height="24"&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"&gt;&lt;span class="nodeLabel"&gt;&lt;p&gt;how fast is ll?&lt;/p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/foreignObject&gt;&lt;/g&gt;&lt;/g&gt;&lt;g class="node default" id="d485109fa288d8dcfdark-flowchart-B1-5" data-look="classic" transform="translate(468.1484375, 82)"&gt;&lt;rect class="basic label-container" style="" x="-115.8046875" y="-39" width="231.609375" height="78"&gt;&lt;/rect&gt;&lt;g class="label" style="" transform="translate(-85.8046875, -24)"&gt;&lt;rect&gt;&lt;/rect&gt;&lt;foreignObject width="171.609375" height="48"&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"&gt;&lt;span class="nodeLabel"&gt;&lt;p&gt;a Spotlight index&lt;br&gt;that had just been reset&lt;/p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/foreignObject&gt;&lt;/g&gt;&lt;/g&gt;&lt;g class="node default" id="d485109fa288d8dcfdark-flowchart-B2-6" data-look="classic" transform="translate(468.1484375, 210)"&gt;&lt;rect class="basic label-container" style="" x="-105.59375" y="-39" width="211.1875" height="78"&gt;&lt;/rect&gt;&lt;g class="label" style="" transform="translate(-75.59375, -24)"&gt;&lt;rect&gt;&lt;/rect&gt;&lt;foreignObject width="151.1875" height="48"&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"&gt;&lt;span class="nodeLabel"&gt;&lt;p&gt;$HOME, which is not&lt;br&gt;a git directory&lt;/p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/foreignObject&gt;&lt;/g&gt;&lt;/g&gt;&lt;g class="node default" id="d485109fa288d8dcfdark-flowchart-B3-7" data-look="classic" transform="translate(468.1484375, 338)"&gt;&lt;rect class="basic label-container" style="" x="-124.1796875" y="-39" width="248.359375" height="78"&gt;&lt;/rect&gt;&lt;g class="label" style="" transform="translate(-94.1796875, -24)"&gt;&lt;rect&gt;&lt;/rect&gt;&lt;foreignObject width="188.359375" height="48"&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"&gt;&lt;span class="nodeLabel"&gt;&lt;p&gt;the old protection API,&lt;br&gt;which cannot see rulesets&lt;/p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/foreignObject&gt;&lt;/g&gt;&lt;/g&gt;&lt;g class="node default" id="d485109fa288d8dcfdark-flowchart-B4-8" data-look="classic" transform="translate(468.1484375, 466)"&gt;&lt;rect class="basic label-container" style="" x="-109.5" y="-39" width="219" height="78"&gt;&lt;/rect&gt;&lt;g class="label" style="" transform="translate(-79.5, -24)"&gt;&lt;rect&gt;&lt;/rect&gt;&lt;foreignObject width="159" height="48"&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"&gt;&lt;span class="nodeLabel"&gt;&lt;p&gt;a decaying average of&lt;br&gt;the last minute&lt;/p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/foreignObject&gt;&lt;/g&gt;&lt;/g&gt;&lt;g class="node default" id="d485109fa288d8dcfdark-flowchart-B5-9" data-look="classic" transform="translate(468.1484375, 594)"&gt;&lt;rect class="basic label-container" style="" x="-109.15625" y="-39" width="218.3125" height="78"&gt;&lt;/rect&gt;&lt;g class="label" style="" transform="translate(-79.15625, -24)"&gt;&lt;rect&gt;&lt;/rect&gt;&lt;foreignObject width="158.3125" height="48"&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"&gt;&lt;span class="nodeLabel"&gt;&lt;p&gt;a sandbox that blocks&lt;br&gt;the real syscalls&lt;/p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/foreignObject&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;defs&gt;&lt;filter id="d485109fa288d8dcfdark-drop-shadow" height="130%" width="130%"&gt;&lt;feDropShadow dx="4" dy="4" stdDeviation="0" flood-opacity="0.06" flood-color="#FFFFFF"&gt;&lt;/feDropShadow&gt;&lt;/filter&gt;&lt;/defs&gt;&lt;defs&gt;&lt;filter id="d485109fa288d8dcfdark-drop-shadow-small" height="150%" width="150%"&gt;&lt;feDropShadow dx="2" dy="2" stdDeviation="0" flood-opacity="0.06" flood-color="#FFFFFF"&gt;&lt;/feDropShadow&gt;&lt;/filter&gt;&lt;/defs&gt;&lt;linearGradient id="d485109fa288d8dcfdark-gradient" gradientUnits="objectBoundingBox" x1="0%" y1="0%" x2="100%" y2="0%"&gt;&lt;stop offset="0%" stop-color="#cccccc" stop-opacity="1"&gt;&lt;/stop&gt;&lt;stop offset="100%" stop-color="hsl(180, 0%, 18.3529411765%)" stop-opacity="1"&gt;&lt;/stop&gt;&lt;/linearGradient&gt;&lt;/svg&gt;&lt;/div&gt;
&lt;p&gt;&amp;ldquo;Absence of evidence is not evidence of absence&amp;rdquo; is an old phrase. The working
version is more direct: &lt;strong&gt;evidence gathered by a broken method is not evidence
at all&lt;/strong&gt;, and a broken method usually exits 0.&lt;/p&gt;

&lt;h2 class="relative group"&gt;The test that could not fail
 &lt;div id="the-test-that-could-not-fail" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#the-test-that-could-not-fail" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;p&gt;The same day turned up a bug that had survived for a year because the test
guarding it was written backwards.&lt;/p&gt;
&lt;p&gt;Ghostty on macOS reads both &lt;code&gt;~/.config/ghostty/config&lt;/code&gt; and
&lt;code&gt;~/Library/Application Support/com.mitchellh.ghostty/config&lt;/code&gt;. My bootstrap
script had symlinked the second to the first, so the same file was parsed
twice. For single-value keys the last value wins, so nothing looked wrong. But
repeatable keys append:&lt;/p&gt;
&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-console" data-lang="console"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="gp"&gt;$&lt;/span&gt; ghostty +show-config &lt;span class="p"&gt;|&lt;/span&gt; grep -c &lt;span class="s1"&gt;&amp;#39;^custom-shader = &amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="go"&gt;4 # the file declares 2
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;Two extra full-screen shader passes on every frame, for a year. And the test
suite stayed green the whole time, because it contained this:&lt;/p&gt;
&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;GHOSTTY_LINK&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$HOME&lt;/span&gt;&lt;span class="s2"&gt;/Library/Application Support/com.mitchellh.ghostty/config&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt; -e &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$GHOSTTY_LINK&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;]&lt;/span&gt; &lt;span class="o"&gt;||&lt;/span&gt; &lt;span class="o"&gt;[&lt;/span&gt; -L &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$GHOSTTY_LINK&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; &lt;span class="o"&gt;]&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; run_test &lt;span class="s2"&gt;&amp;#34;Ghostty config is symlink&amp;#34;&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;[ -L \&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$GHOSTTY_LINK&lt;/span&gt;&lt;span class="s2"&gt;\&amp;#34; ]&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;fi&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;Two problems in four lines. The assertion checks the &lt;strong&gt;opposite&lt;/strong&gt; of the
correct rule, because the symlink should not exist at all. And the assertion
sits inside a guard, so when I deleted the symlink, the test did not fail. It
silently stopped running. The first post in this series was a catalog of
safety nets that had quietly died. This test is the sharpest example I have
found since: it disappeared at the exact moment it finally had something to
say.&lt;/p&gt;
&lt;p&gt;The replacement tests the property instead of the mechanism:&lt;/p&gt;
&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;run_test &lt;span class="s2"&gt;&amp;#34;Ghostty config is not parsed twice (custom-shader not duplicated)&amp;#34;&lt;/span&gt; &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="s2"&gt;&amp;#34;[ &amp;#39;&lt;/span&gt;&lt;span class="nv"&gt;$LOADED_SHADERS&lt;/span&gt;&lt;span class="s2"&gt;&amp;#39; -eq &amp;#39;&lt;/span&gt;&lt;span class="nv"&gt;$CFG_SHADERS&lt;/span&gt;&lt;span class="s2"&gt;&amp;#39; ]&amp;#34;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;Whatever causes a double parse next time (this symlink, a different symlink,
an include directive, some future Ghostty change), the count stops matching
and the test goes red. I put the symlink back once, on purpose, and watched
the test fail before I trusted it.&lt;/p&gt;

&lt;h2 class="relative group"&gt;Lessons
 &lt;div id="lessons" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#lessons" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Null, empty, and 404 are answers about the &lt;em&gt;query&lt;/em&gt;, not always about the
world. Before treating one as a finding, confirm the query reached the
right place.&lt;/li&gt;
&lt;li&gt;Decide &amp;ldquo;is this app still needed&amp;rdquo; from data a person created. An index the
OS can reset is not a record of anything.&lt;/li&gt;
&lt;li&gt;Know which average your tool reports. &lt;code&gt;ps %cpu&lt;/code&gt; on macOS leans toward the
last minute; cumulative load is CPU time divided by elapsed time.&lt;/li&gt;
&lt;li&gt;Measure where the work really happens. A sandbox that blocks the syscalls
under test produces a fast, precise, meaningless number.&lt;/li&gt;
&lt;li&gt;Never measure a system while you are the heaviest thing running on it.&lt;/li&gt;
&lt;li&gt;Test the property, not the mechanism. The symlink was one way to get a
double parse; the count catches all of them.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 class="relative group"&gt;References
 &lt;div id="references" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#references" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/eza-community/eza" target="_blank" rel="noreferrer"&gt;eza&lt;/a&gt; (&lt;code&gt;--git&lt;/code&gt; cost measured on
v0.23.5)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://yadm.io/" target="_blank" rel="noreferrer"&gt;yadm&lt;/a&gt; (bare repo location:
&lt;code&gt;~/.local/share/yadm/repo.git&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.github.com/rest/repos/rules" target="_blank" rel="noreferrer"&gt;GitHub rulesets API&lt;/a&gt; (rulesets
are invisible to the older &lt;code&gt;/branches/*/protection&lt;/code&gt; endpoint)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://ghostty.org/docs/config" target="_blank" rel="noreferrer"&gt;Ghostty configuration&lt;/a&gt; (macOS reads both
the XDG path and the Application Support path)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;ps(1)&lt;/code&gt; on macOS (&lt;code&gt;%cpu&lt;/code&gt; is documented as a decaying average)&lt;/li&gt;
&lt;li&gt;The repo and its test suite:
&lt;a href="https://github.com/nickboy/dotfiles" target="_blank" rel="noreferrer"&gt;nickboy/dotfiles&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</content:encoded></item><item><title>My commands vanished with exit 0. The culprit was a file named env.</title><link>https://nick-liu.com/posts/silent-failures-env-shadow/</link><pubDate>Thu, 13 Aug 2026 00:00:00 +0000</pubDate><author>nickboy@users.noreply.github.com (Nick Liu)</author><guid>https://nick-liu.com/posts/silent-failures-env-shadow/</guid><description>&lt;div class="lead text-neutral-500 dark:text-neutral-400 !mb-9 text-xl"&gt;
 
`env -u VAR command` did nothing. Exit code 0, no output, no error. A different command, same thing. A different variable, same thing. Any invocation that started with `env` just quietly evaporated. What finally made the problem visible was a `git init` that reported success while creating no `.git` directory at all.

&lt;/div&gt;

&lt;p&gt;That was a year ago. The case closed last month, and the culprit was not uv, not some third-party installer, not anything exotic. It was this repo&amp;rsquo;s own bootstrap script. The thing that caught it was the regression test I had written for the original incident.&lt;/p&gt;</description><content:encoded>&lt;div class="lead text-neutral-500 dark:text-neutral-400 !mb-9 text-xl"&gt;
 
`env -u VAR command` did nothing. Exit code 0, no output, no error. A different command, same thing. A different variable, same thing. Any invocation that started with `env` just quietly evaporated. What finally made the problem visible was a `git init` that reported success while creating no `.git` directory at all.

&lt;/div&gt;

&lt;p&gt;That was a year ago. The case closed last month, and the culprit was not uv, not some third-party installer, not anything exotic. It was this repo&amp;rsquo;s own bootstrap script. The thing that caught it was the regression test I had written for the original incident.&lt;/p&gt;
&lt;p&gt;This post is three silent failures from the same repo, plus that ending. They share a shape worth naming.&lt;/p&gt;

&lt;h2 class="relative group"&gt;Case 1: the executable that should have been sourced
 &lt;div id="case-1-the-executable-that-should-have-been-sourced" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#case-1-the-executable-that-should-have-been-sourced" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;p&gt;uv&amp;rsquo;s installer drops a file at &lt;code&gt;~/.local/bin/env&lt;/code&gt;. It is a PATH snippet, a few &lt;code&gt;export&lt;/code&gt; lines meant to be sourced by your shell profile. It is not a program.&lt;/p&gt;
&lt;p&gt;At some point, something gave it an executable bit. I could not figure out what at the time, so that part of the case stayed open. But the consequences were mechanical from there:&lt;/p&gt;
&lt;div class="not-prose diagram diagram-light"&gt;&lt;svg id="d8345951872e82ea1light" width="100%" xmlns="http://www.w3.org/2000/svg" class="flowchart" style="max-width: 276px;" viewBox="0 0 276 902" role="graphics-document document" aria-roledescription="flowchart-v2"&gt;&lt;style&gt;#d8345951872e82ea1light{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,segoe ui,Roboto,helvetica neue,Arial,noto sans,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#d8345951872e82ea1light .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#d8345951872e82ea1light .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#d8345951872e82ea1light .error-icon{fill:rgb(255, 255, 255);}#d8345951872e82ea1light .error-text{fill:#000000;stroke:#000000;}#d8345951872e82ea1light .edge-thickness-normal{stroke-width:1px;}#d8345951872e82ea1light .edge-thickness-thick{stroke-width:3.5px;}#d8345951872e82ea1light .edge-pattern-solid{stroke-dasharray:0;}#d8345951872e82ea1light .edge-thickness-invisible{stroke-width:0;fill:none;}#d8345951872e82ea1light .edge-pattern-dashed{stroke-dasharray:3;}#d8345951872e82ea1light .edge-pattern-dotted{stroke-dasharray:2;}#d8345951872e82ea1light .marker{fill:rgb(74, 86, 92);stroke:rgb(74, 86, 92);}#d8345951872e82ea1light .marker.cross{stroke:rgb(74, 86, 92);}#d8345951872e82ea1light svg{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,segoe ui,Roboto,helvetica neue,Arial,noto sans,sans-serif;font-size:16px;}#d8345951872e82ea1light p{margin:0;}#d8345951872e82ea1light .label{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,segoe ui,Roboto,helvetica neue,Arial,noto sans,sans-serif;color:#333;}#d8345951872e82ea1light .cluster-label text{fill:#000000;}#d8345951872e82ea1light .cluster-label span{color:#000000;}#d8345951872e82ea1light .cluster-label span p{background-color:transparent;}#d8345951872e82ea1light .label text,#d8345951872e82ea1light span{fill:#333;color:#333;}#d8345951872e82ea1light .node rect,#d8345951872e82ea1light .node circle,#d8345951872e82ea1light .node ellipse,#d8345951872e82ea1light .node polygon,#d8345951872e82ea1light .node path{fill:rgb(255, 255, 255);stroke:rgb(204, 216, 222);stroke-width:1px;}#d8345951872e82ea1light .rough-node .label text,#d8345951872e82ea1light .node .label text,#d8345951872e82ea1light .image-shape .label,#d8345951872e82ea1light .icon-shape .label{text-anchor:middle;}#d8345951872e82ea1light .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#d8345951872e82ea1light .rough-node .label,#d8345951872e82ea1light .node .label,#d8345951872e82ea1light .image-shape .label,#d8345951872e82ea1light .icon-shape .label{text-align:center;}#d8345951872e82ea1light .node.clickable{cursor:pointer;}#d8345951872e82ea1light .root .anchor path{fill:rgb(74, 86, 92)!important;stroke-width:0;stroke:rgb(74, 86, 92);}#d8345951872e82ea1light .arrowheadPath{fill:#000000;}#d8345951872e82ea1light .edgePath .path{stroke:rgb(74, 86, 92);stroke-width:1px;}#d8345951872e82ea1light .flowchart-link{stroke:rgb(74, 86, 92);fill:none;}#d8345951872e82ea1light .edgeLabel{background-color:rgb(182, 240, 255);text-align:center;}#d8345951872e82ea1light .edgeLabel p{background-color:rgb(182, 240, 255);}#d8345951872e82ea1light .edgeLabel rect{opacity:0.5;background-color:rgb(182, 240, 255);fill:rgb(182, 240, 255);}#d8345951872e82ea1light .labelBkg{background-color:rgba(182, 240, 255, 0.5);}#d8345951872e82ea1light .cluster rect{fill:rgb(255, 255, 255);stroke:rgb(129, 146, 154);stroke-width:1px;}#d8345951872e82ea1light .cluster text{fill:#000000;}#d8345951872e82ea1light .cluster span{color:#000000;}#d8345951872e82ea1light div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,segoe ui,Roboto,helvetica neue,Arial,noto sans,sans-serif;font-size:12px;background:rgb(255, 255, 255);border:1px solid rgb(129, 146, 154);border-radius:2px;pointer-events:none;z-index:100;}#d8345951872e82ea1light .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#d8345951872e82ea1light rect.text{fill:none;stroke-width:0;}#d8345951872e82ea1light .icon-shape,#d8345951872e82ea1light .image-shape{background-color:rgb(182, 240, 255);text-align:center;}#d8345951872e82ea1light .icon-shape p,#d8345951872e82ea1light .image-shape p{background-color:rgb(182, 240, 255);padding:2px;}#d8345951872e82ea1light .icon-shape .label rect,#d8345951872e82ea1light .image-shape .label rect{opacity:0.5;background-color:rgb(182, 240, 255);fill:rgb(182, 240, 255);}#d8345951872e82ea1light .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#d8345951872e82ea1light .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#d8345951872e82ea1light .node .neo-node{stroke:rgb(204, 216, 222);}#d8345951872e82ea1light [data-look="neo"].node rect,#d8345951872e82ea1light [data-look="neo"].cluster rect,#d8345951872e82ea1light [data-look="neo"].node polygon{stroke:url(#d8345951872e82ea1light-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#d8345951872e82ea1light [data-look="neo"].swimlane.cluster rect{filter:none;}#d8345951872e82ea1light [data-look="neo"].node path{stroke:url(#d8345951872e82ea1light-gradient);stroke-width:1px;}#d8345951872e82ea1light [data-look="neo"].node .outer-path{filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#d8345951872e82ea1light [data-look="neo"].node .neo-line path{stroke:rgb(204, 216, 222);filter:none;}#d8345951872e82ea1light [data-look="neo"].node circle{stroke:url(#d8345951872e82ea1light-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#d8345951872e82ea1light [data-look="neo"].node circle .state-start{fill:#000000;}#d8345951872e82ea1light [data-look="neo"].icon-shape .icon{fill:url(#d8345951872e82ea1light-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#d8345951872e82ea1light [data-look="neo"].icon-shape .icon-neo path{stroke:url(#d8345951872e82ea1light-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#d8345951872e82ea1light :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;}&lt;/style&gt;&lt;g&gt;&lt;marker id="d8345951872e82ea1light_flowchart-v2-pointEnd" class="marker flowchart-v2" viewBox="0 0 10 10" refX="5" refY="5" markerUnits="userSpaceOnUse" markerWidth="8" markerHeight="8" orient="auto"&gt;&lt;path d="M 0 0 L 10 5 L 0 10 z" class="arrowMarkerPath" style="stroke-width: 1; stroke-dasharray: 1, 0;"&gt;&lt;/path&gt;&lt;/marker&gt;&lt;marker id="d8345951872e82ea1light_flowchart-v2-pointStart" class="marker flowchart-v2" viewBox="0 0 10 10" refX="4.5" refY="5" markerUnits="userSpaceOnUse" markerWidth="8" markerHeight="8" orient="auto"&gt;&lt;path d="M 0 5 L 10 10 L 10 0 z" class="arrowMarkerPath" style="stroke-width: 1; stroke-dasharray: 1, 0;"&gt;&lt;/path&gt;&lt;/marker&gt;&lt;marker id="d8345951872e82ea1light_flowchart-v2-pointEnd-margin" class="marker flowchart-v2" viewBox="0 0 11.5 14" refX="11.5" refY="7" markerUnits="userSpaceOnUse" markerWidth="10.5" markerHeight="14" orient="auto"&gt;&lt;path d="M 0 0 L 11.5 7 L 0 14 z" class="arrowMarkerPath" style="stroke-width: 0; stroke-dasharray: 1, 0;"&gt;&lt;/path&gt;&lt;/marker&gt;&lt;marker id="d8345951872e82ea1light_flowchart-v2-pointStart-margin" class="marker flowchart-v2" viewBox="0 0 11.5 14" refX="1" refY="7" markerUnits="userSpaceOnUse" markerWidth="11.5" markerHeight="14" orient="auto"&gt;&lt;polygon points="0,7 11.5,14 11.5,0" class="arrowMarkerPath" style="stroke-width: 0; stroke-dasharray: 1, 0;"&gt;&lt;/polygon&gt;&lt;/marker&gt;&lt;marker id="d8345951872e82ea1light_flowchart-v2-circleEnd" class="marker flowchart-v2" viewBox="0 0 10 10" refX="11" refY="5" markerUnits="userSpaceOnUse" markerWidth="11" markerHeight="11" orient="auto"&gt;&lt;circle cx="5" cy="5" r="5" class="arrowMarkerPath" style="stroke-width: 1; stroke-dasharray: 1, 0;"&gt;&lt;/circle&gt;&lt;/marker&gt;&lt;marker id="d8345951872e82ea1light_flowchart-v2-circleStart" class="marker flowchart-v2" viewBox="0 0 10 10" refX="-1" refY="5" markerUnits="userSpaceOnUse" markerWidth="11" markerHeight="11" orient="auto"&gt;&lt;circle cx="5" cy="5" r="5" class="arrowMarkerPath" style="stroke-width: 1; stroke-dasharray: 1, 0;"&gt;&lt;/circle&gt;&lt;/marker&gt;&lt;marker id="d8345951872e82ea1light_flowchart-v2-circleEnd-margin" class="marker flowchart-v2" viewBox="0 0 10 10" refY="5" refX="12.25" markerUnits="userSpaceOnUse" markerWidth="14" markerHeight="14" orient="auto"&gt;&lt;circle cx="5" cy="5" r="5" class="arrowMarkerPath" style="stroke-width: 0; stroke-dasharray: 1, 0;"&gt;&lt;/circle&gt;&lt;/marker&gt;&lt;marker id="d8345951872e82ea1light_flowchart-v2-circleStart-margin" class="marker flowchart-v2" viewBox="0 0 10 10" refX="-2" refY="5" markerUnits="userSpaceOnUse" markerWidth="14" markerHeight="14" orient="auto"&gt;&lt;circle cx="5" cy="5" r="5" class="arrowMarkerPath" style="stroke-width: 0; stroke-dasharray: 1, 0;"&gt;&lt;/circle&gt;&lt;/marker&gt;&lt;marker id="d8345951872e82ea1light_flowchart-v2-crossEnd" class="marker cross flowchart-v2" viewBox="0 0 11 11" refX="12" refY="5.2" markerUnits="userSpaceOnUse" markerWidth="11" markerHeight="11" orient="auto"&gt;&lt;path d="M 1,1 l 9,9 M 10,1 l -9,9" class="arrowMarkerPath" style="stroke-width: 2; stroke-dasharray: 1, 0;"&gt;&lt;/path&gt;&lt;/marker&gt;&lt;marker id="d8345951872e82ea1light_flowchart-v2-crossStart" class="marker cross flowchart-v2" viewBox="0 0 11 11" refX="-1" refY="5.2" markerUnits="userSpaceOnUse" markerWidth="11" markerHeight="11" orient="auto"&gt;&lt;path d="M 1,1 l 9,9 M 10,1 l -9,9" class="arrowMarkerPath" style="stroke-width: 2; stroke-dasharray: 1, 0;"&gt;&lt;/path&gt;&lt;/marker&gt;&lt;marker id="d8345951872e82ea1light_flowchart-v2-crossEnd-margin" class="marker cross flowchart-v2" viewBox="0 0 15 15" refX="17.7" refY="7.5" markerUnits="userSpaceOnUse" markerWidth="12" markerHeight="12" orient="auto"&gt;&lt;path d="M 1,1 L 14,14 M 1,14 L 14,1" class="arrowMarkerPath" style="stroke-width: 2.5;"&gt;&lt;/path&gt;&lt;/marker&gt;&lt;marker id="d8345951872e82ea1light_flowchart-v2-crossStart-margin" class="marker cross flowchart-v2" viewBox="0 0 15 15" refX="-3.5" refY="7.5" markerUnits="userSpaceOnUse" markerWidth="12" markerHeight="12" orient="auto"&gt;&lt;path d="M 1,1 L 14,14 M 1,14 L 14,1" class="arrowMarkerPath" style="stroke-width: 2.5; stroke-dasharray: 1, 0;"&gt;&lt;/path&gt;&lt;/marker&gt;&lt;g class="root"&gt;&lt;g class="clusters"&gt;&lt;/g&gt;&lt;g class="edgePaths"&gt;&lt;path d="M138,134L138,138.167C138,142.333,138,150.667,138,158.333C138,166,138,173,138,176.5L138,180" id="d8345951872e82ea1light-L_A_B_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_A_B_0" data-points="W3sieCI6MTM4LCJ5IjoxMzR9LHsieCI6MTM4LCJ5IjoxNTl9LHsieCI6MTM4LCJ5IjoxODR9XQ==" data-look="classic" marker-end="url(#d8345951872e82ea1light_flowchart-v2-pointEnd)"&gt;&lt;/path&gt;&lt;path d="M138,310L138,314.167C138,318.333,138,326.667,138,334.333C138,342,138,349,138,352.5L138,356" id="d8345951872e82ea1light-L_B_C_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_B_C_0" data-points="W3sieCI6MTM4LCJ5IjozMTB9LHsieCI6MTM4LCJ5IjozMzV9LHsieCI6MTM4LCJ5IjozNjB9XQ==" data-look="classic" marker-end="url(#d8345951872e82ea1light_flowchart-v2-pointEnd)"&gt;&lt;/path&gt;&lt;path d="M138,462L138,466.167C138,470.333,138,478.667,138,486.333C138,494,138,501,138,504.5L138,508" id="d8345951872e82ea1light-L_C_D_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_C_D_0" data-points="W3sieCI6MTM4LCJ5Ijo0NjJ9LHsieCI6MTM4LCJ5Ijo0ODd9LHsieCI6MTM4LCJ5Ijo1MTJ9XQ==" data-look="classic" marker-end="url(#d8345951872e82ea1light_flowchart-v2-pointEnd)"&gt;&lt;/path&gt;&lt;path d="M138,566L138,570.167C138,574.333,138,582.667,138,590.333C138,598,138,605,138,608.5L138,612" id="d8345951872e82ea1light-L_D_E_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_D_E_0" data-points="W3sieCI6MTM4LCJ5Ijo1NjZ9LHsieCI6MTM4LCJ5Ijo1OTF9LHsieCI6MTM4LCJ5Ijo2MTZ9XQ==" data-look="classic" marker-end="url(#d8345951872e82ea1light_flowchart-v2-pointEnd)"&gt;&lt;/path&gt;&lt;path d="M138,766L138,770.167C138,774.333,138,782.667,138,790.333C138,798,138,805,138,808.5L138,812" id="d8345951872e82ea1light-L_E_F_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_E_F_0" data-points="W3sieCI6MTM4LCJ5Ijo3NjZ9LHsieCI6MTM4LCJ5Ijo3OTF9LHsieCI6MTM4LCJ5Ijo4MTZ9XQ==" data-look="classic" marker-end="url(#d8345951872e82ea1light_flowchart-v2-pointEnd)"&gt;&lt;/path&gt;&lt;/g&gt;&lt;g class="edgeLabels"&gt;&lt;g class="edgeLabel"&gt;&lt;g class="label" data-id="L_A_B_0" transform="translate(0, 0)"&gt;&lt;foreignObject width="0" height="0"&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"&gt;&lt;span class="edgeLabel"&gt;&lt;/span&gt;&lt;/div&gt;&lt;/foreignObject&gt;&lt;/g&gt;&lt;/g&gt;&lt;g class="edgeLabel"&gt;&lt;g class="label" data-id="L_B_C_0" transform="translate(0, 0)"&gt;&lt;foreignObject width="0" height="0"&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"&gt;&lt;span class="edgeLabel"&gt;&lt;/span&gt;&lt;/div&gt;&lt;/foreignObject&gt;&lt;/g&gt;&lt;/g&gt;&lt;g class="edgeLabel"&gt;&lt;g class="label" data-id="L_C_D_0" transform="translate(0, 0)"&gt;&lt;foreignObject width="0" height="0"&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"&gt;&lt;span class="edgeLabel"&gt;&lt;/span&gt;&lt;/div&gt;&lt;/foreignObject&gt;&lt;/g&gt;&lt;/g&gt;&lt;g class="edgeLabel"&gt;&lt;g class="label" data-id="L_D_E_0" transform="translate(0, 0)"&gt;&lt;foreignObject width="0" height="0"&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"&gt;&lt;span class="edgeLabel"&gt;&lt;/span&gt;&lt;/div&gt;&lt;/foreignObject&gt;&lt;/g&gt;&lt;/g&gt;&lt;g class="edgeLabel"&gt;&lt;g class="label" data-id="L_E_F_0" transform="translate(0, 0)"&gt;&lt;foreignObject width="0" height="0"&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"&gt;&lt;span class="edgeLabel"&gt;&lt;/span&gt;&lt;/div&gt;&lt;/foreignObject&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;g class="nodes"&gt;&lt;g class="node default" id="d8345951872e82ea1light-flowchart-A-0" data-look="classic" transform="translate(138, 71)"&gt;&lt;rect class="basic label-container" style="" x="-130" y="-63" width="260" height="126"&gt;&lt;/rect&gt;&lt;g class="label" style="" transform="translate(-100, -48)"&gt;&lt;rect&gt;&lt;/rect&gt;&lt;foreignObject width="200" height="96"&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml" style="display: table; white-space: break-spaces; line-height: 1.5; max-width: 200px; text-align: center; width: 200px;"&gt;&lt;span class="nodeLabel"&gt;&lt;p&gt;uv installer drops ~/.local/bin/env&lt;br&gt;(a PATH snippet, meant to be sourced)&lt;/p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/foreignObject&gt;&lt;/g&gt;&lt;/g&gt;&lt;g class="node default" id="d8345951872e82ea1light-flowchart-B-1" data-look="classic" transform="translate(138, 247)"&gt;&lt;rect class="basic label-container" style="" x="-130" y="-63" width="260" height="126"&gt;&lt;/rect&gt;&lt;g class="label" style="" transform="translate(-100, -48)"&gt;&lt;rect&gt;&lt;/rect&gt;&lt;foreignObject width="200" height="96"&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml" style="display: table; white-space: break-spaces; line-height: 1.5; max-width: 200px; text-align: center; width: 200px;"&gt;&lt;span class="nodeLabel"&gt;&lt;p&gt;something marks it executable&lt;br&gt;(culprit unknown, case left open)&lt;/p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/foreignObject&gt;&lt;/g&gt;&lt;/g&gt;&lt;g class="node default" id="d8345951872e82ea1light-flowchart-C-3" data-look="classic" transform="translate(138, 411)"&gt;&lt;rect class="basic label-container" style="" x="-130" y="-51" width="260" height="102"&gt;&lt;/rect&gt;&lt;g class="label" style="" transform="translate(-100, -36)"&gt;&lt;rect&gt;&lt;/rect&gt;&lt;foreignObject width="200" height="72"&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml" style="display: table; white-space: break-spaces; line-height: 1.5; max-width: 200px; text-align: center; width: 200px;"&gt;&lt;span class="nodeLabel"&gt;&lt;p&gt;~/.local/bin sits second in PATH,&lt;br&gt;ahead of /usr/bin&lt;/p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/foreignObject&gt;&lt;/g&gt;&lt;/g&gt;&lt;g class="node default" id="d8345951872e82ea1light-flowchart-D-5" data-look="classic" transform="translate(138, 539)"&gt;&lt;rect class="basic label-container" style="" x="-129.828125" y="-27" width="259.65625" height="54"&gt;&lt;/rect&gt;&lt;g class="label" style="" transform="translate(-99.828125, -12)"&gt;&lt;rect&gt;&lt;/rect&gt;&lt;foreignObject width="199.65625" height="24"&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"&gt;&lt;span class="nodeLabel"&gt;&lt;p&gt;it now shadows /usr/bin/env&lt;/p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/foreignObject&gt;&lt;/g&gt;&lt;/g&gt;&lt;g class="node default" id="d8345951872e82ea1light-flowchart-E-7" data-look="classic" transform="translate(138, 691)"&gt;&lt;rect class="basic label-container" style="" x="-130" y="-75" width="260" height="150"&gt;&lt;/rect&gt;&lt;g class="label" style="" transform="translate(-100, -60)"&gt;&lt;rect&gt;&lt;/rect&gt;&lt;foreignObject width="200" height="120"&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml" style="display: table; white-space: break-spaces; line-height: 1.5; max-width: 200px; text-align: center; width: 200px;"&gt;&lt;span class="nodeLabel"&gt;&lt;p&gt;'env ... cmd' runs the snippet instead:&lt;br&gt;sets a few variables, exits 0,&lt;br&gt;never runs cmd&lt;/p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/foreignObject&gt;&lt;/g&gt;&lt;/g&gt;&lt;g class="node default" id="d8345951872e82ea1light-flowchart-F-9" data-look="classic" transform="translate(138, 855)"&gt;&lt;rect class="basic label-container" style="" x="-129.4140625" y="-39" width="258.828125" height="78"&gt;&lt;/rect&gt;&lt;g class="label" style="" transform="translate(-99.4140625, -24)"&gt;&lt;rect&gt;&lt;/rect&gt;&lt;foreignObject width="198.828125" height="48"&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"&gt;&lt;span class="nodeLabel"&gt;&lt;p&gt;symptom: git init succeeds,&lt;br&gt;no .git exists&lt;/p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/foreignObject&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;defs&gt;&lt;filter id="d8345951872e82ea1light-drop-shadow" height="130%" width="130%"&gt;&lt;feDropShadow dx="4" dy="4" stdDeviation="0" flood-opacity="0.06" flood-color="#000000"&gt;&lt;/feDropShadow&gt;&lt;/filter&gt;&lt;/defs&gt;&lt;defs&gt;&lt;filter id="d8345951872e82ea1light-drop-shadow-small" height="150%" width="150%"&gt;&lt;feDropShadow dx="2" dy="2" stdDeviation="0" flood-opacity="0.06" flood-color="#000000"&gt;&lt;/feDropShadow&gt;&lt;/filter&gt;&lt;/defs&gt;&lt;linearGradient id="d8345951872e82ea1light-gradient" gradientUnits="objectBoundingBox" x1="0%" y1="0%" x2="100%" y2="0%"&gt;&lt;stop offset="0%" stop-color="rgb(204, 216, 222)" stop-opacity="1"&gt;&lt;/stop&gt;&lt;stop offset="100%" stop-color="rgb(28, 209, 255)" stop-opacity="1"&gt;&lt;/stop&gt;&lt;/linearGradient&gt;&lt;/svg&gt;&lt;/div&gt;
 &lt;div class="not-prose diagram diagram-dark"&gt;&lt;svg id="d8345951872e82ea1dark" width="100%" xmlns="http://www.w3.org/2000/svg" class="flowchart" style="max-width: 276px;" viewBox="0 0 276 902" role="graphics-document document" aria-roledescription="flowchart-v2"&gt;&lt;style&gt;#d8345951872e82ea1dark{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,segoe ui,Roboto,helvetica neue,Arial,noto sans,sans-serif;font-size:16px;fill:#ccc;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#d8345951872e82ea1dark .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#d8345951872e82ea1dark .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#d8345951872e82ea1dark .error-icon{fill:#a44141;}#d8345951872e82ea1dark .error-text{fill:#ddd;stroke:#ddd;}#d8345951872e82ea1dark .edge-thickness-normal{stroke-width:1px;}#d8345951872e82ea1dark .edge-thickness-thick{stroke-width:3.5px;}#d8345951872e82ea1dark .edge-pattern-solid{stroke-dasharray:0;}#d8345951872e82ea1dark .edge-thickness-invisible{stroke-width:0;fill:none;}#d8345951872e82ea1dark .edge-pattern-dashed{stroke-dasharray:3;}#d8345951872e82ea1dark .edge-pattern-dotted{stroke-dasharray:2;}#d8345951872e82ea1dark .marker{fill:lightgrey;stroke:lightgrey;}#d8345951872e82ea1dark .marker.cross{stroke:lightgrey;}#d8345951872e82ea1dark svg{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,segoe ui,Roboto,helvetica neue,Arial,noto sans,sans-serif;font-size:16px;}#d8345951872e82ea1dark p{margin:0;}#d8345951872e82ea1dark .label{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,segoe ui,Roboto,helvetica neue,Arial,noto sans,sans-serif;color:#ccc;}#d8345951872e82ea1dark .cluster-label text{fill:#F9FFFE;}#d8345951872e82ea1dark .cluster-label span{color:#F9FFFE;}#d8345951872e82ea1dark .cluster-label span p{background-color:transparent;}#d8345951872e82ea1dark .label text,#d8345951872e82ea1dark span{fill:#ccc;color:#ccc;}#d8345951872e82ea1dark .node rect,#d8345951872e82ea1dark .node circle,#d8345951872e82ea1dark .node ellipse,#d8345951872e82ea1dark .node polygon,#d8345951872e82ea1dark .node path{fill:#1f2020;stroke:#ccc;stroke-width:1px;}#d8345951872e82ea1dark .rough-node .label text,#d8345951872e82ea1dark .node .label text,#d8345951872e82ea1dark .image-shape .label,#d8345951872e82ea1dark .icon-shape .label{text-anchor:middle;}#d8345951872e82ea1dark .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#d8345951872e82ea1dark .rough-node .label,#d8345951872e82ea1dark .node .label,#d8345951872e82ea1dark .image-shape .label,#d8345951872e82ea1dark .icon-shape .label{text-align:center;}#d8345951872e82ea1dark .node.clickable{cursor:pointer;}#d8345951872e82ea1dark .root .anchor path{fill:lightgrey!important;stroke-width:0;stroke:lightgrey;}#d8345951872e82ea1dark .arrowheadPath{fill:lightgrey;}#d8345951872e82ea1dark .edgePath .path{stroke:lightgrey;stroke-width:1px;}#d8345951872e82ea1dark .flowchart-link{stroke:lightgrey;fill:none;}#d8345951872e82ea1dark .edgeLabel{background-color:hsl(0, 0%, 34.4117647059%);text-align:center;}#d8345951872e82ea1dark .edgeLabel p{background-color:hsl(0, 0%, 34.4117647059%);}#d8345951872e82ea1dark .edgeLabel rect{opacity:0.5;background-color:hsl(0, 0%, 34.4117647059%);fill:hsl(0, 0%, 34.4117647059%);}#d8345951872e82ea1dark .labelBkg{background-color:rgba(87.75, 87.75, 87.75, 0.5);}#d8345951872e82ea1dark .cluster rect{fill:hsl(180, 1.5873015873%, 28.3529411765%);stroke:rgba(255, 255, 255, 0.25);stroke-width:1px;}#d8345951872e82ea1dark .cluster text{fill:#F9FFFE;}#d8345951872e82ea1dark .cluster span{color:#F9FFFE;}#d8345951872e82ea1dark div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,segoe ui,Roboto,helvetica neue,Arial,noto sans,sans-serif;font-size:12px;background:hsl(20, 1.5873015873%, 12.3529411765%);border:1px solid rgba(255, 255, 255, 0.25);border-radius:2px;pointer-events:none;z-index:100;}#d8345951872e82ea1dark .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#ccc;}#d8345951872e82ea1dark rect.text{fill:none;stroke-width:0;}#d8345951872e82ea1dark .icon-shape,#d8345951872e82ea1dark .image-shape{background-color:hsl(0, 0%, 34.4117647059%);text-align:center;}#d8345951872e82ea1dark .icon-shape p,#d8345951872e82ea1dark .image-shape p{background-color:hsl(0, 0%, 34.4117647059%);padding:2px;}#d8345951872e82ea1dark .icon-shape .label rect,#d8345951872e82ea1dark .image-shape .label rect{opacity:0.5;background-color:hsl(0, 0%, 34.4117647059%);fill:hsl(0, 0%, 34.4117647059%);}#d8345951872e82ea1dark .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#d8345951872e82ea1dark .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#d8345951872e82ea1dark .node .neo-node{stroke:#ccc;}#d8345951872e82ea1dark [data-look="neo"].node rect,#d8345951872e82ea1dark [data-look="neo"].cluster rect,#d8345951872e82ea1dark [data-look="neo"].node polygon{stroke:url(#d8345951872e82ea1dark-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#d8345951872e82ea1dark [data-look="neo"].swimlane.cluster rect{filter:none;}#d8345951872e82ea1dark [data-look="neo"].node path{stroke:url(#d8345951872e82ea1dark-gradient);stroke-width:1px;}#d8345951872e82ea1dark [data-look="neo"].node .outer-path{filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#d8345951872e82ea1dark [data-look="neo"].node .neo-line path{stroke:#ccc;filter:none;}#d8345951872e82ea1dark [data-look="neo"].node circle{stroke:url(#d8345951872e82ea1dark-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#d8345951872e82ea1dark [data-look="neo"].node circle .state-start{fill:#000000;}#d8345951872e82ea1dark [data-look="neo"].icon-shape .icon{fill:url(#d8345951872e82ea1dark-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#d8345951872e82ea1dark [data-look="neo"].icon-shape .icon-neo path{stroke:url(#d8345951872e82ea1dark-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#d8345951872e82ea1dark :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;}&lt;/style&gt;&lt;g&gt;&lt;marker id="d8345951872e82ea1dark_flowchart-v2-pointEnd" class="marker flowchart-v2" viewBox="0 0 10 10" refX="5" refY="5" markerUnits="userSpaceOnUse" markerWidth="8" markerHeight="8" orient="auto"&gt;&lt;path d="M 0 0 L 10 5 L 0 10 z" class="arrowMarkerPath" style="stroke-width: 1; stroke-dasharray: 1, 0;"&gt;&lt;/path&gt;&lt;/marker&gt;&lt;marker id="d8345951872e82ea1dark_flowchart-v2-pointStart" class="marker flowchart-v2" viewBox="0 0 10 10" refX="4.5" refY="5" markerUnits="userSpaceOnUse" markerWidth="8" markerHeight="8" orient="auto"&gt;&lt;path d="M 0 5 L 10 10 L 10 0 z" class="arrowMarkerPath" style="stroke-width: 1; stroke-dasharray: 1, 0;"&gt;&lt;/path&gt;&lt;/marker&gt;&lt;marker id="d8345951872e82ea1dark_flowchart-v2-pointEnd-margin" class="marker flowchart-v2" viewBox="0 0 11.5 14" refX="11.5" refY="7" markerUnits="userSpaceOnUse" markerWidth="10.5" markerHeight="14" orient="auto"&gt;&lt;path d="M 0 0 L 11.5 7 L 0 14 z" class="arrowMarkerPath" style="stroke-width: 0; stroke-dasharray: 1, 0;"&gt;&lt;/path&gt;&lt;/marker&gt;&lt;marker id="d8345951872e82ea1dark_flowchart-v2-pointStart-margin" class="marker flowchart-v2" viewBox="0 0 11.5 14" refX="1" refY="7" markerUnits="userSpaceOnUse" markerWidth="11.5" markerHeight="14" orient="auto"&gt;&lt;polygon points="0,7 11.5,14 11.5,0" class="arrowMarkerPath" style="stroke-width: 0; stroke-dasharray: 1, 0;"&gt;&lt;/polygon&gt;&lt;/marker&gt;&lt;marker id="d8345951872e82ea1dark_flowchart-v2-circleEnd" class="marker flowchart-v2" viewBox="0 0 10 10" refX="11" refY="5" markerUnits="userSpaceOnUse" markerWidth="11" markerHeight="11" orient="auto"&gt;&lt;circle cx="5" cy="5" r="5" class="arrowMarkerPath" style="stroke-width: 1; stroke-dasharray: 1, 0;"&gt;&lt;/circle&gt;&lt;/marker&gt;&lt;marker id="d8345951872e82ea1dark_flowchart-v2-circleStart" class="marker flowchart-v2" viewBox="0 0 10 10" refX="-1" refY="5" markerUnits="userSpaceOnUse" markerWidth="11" markerHeight="11" orient="auto"&gt;&lt;circle cx="5" cy="5" r="5" class="arrowMarkerPath" style="stroke-width: 1; stroke-dasharray: 1, 0;"&gt;&lt;/circle&gt;&lt;/marker&gt;&lt;marker id="d8345951872e82ea1dark_flowchart-v2-circleEnd-margin" class="marker flowchart-v2" viewBox="0 0 10 10" refY="5" refX="12.25" markerUnits="userSpaceOnUse" markerWidth="14" markerHeight="14" orient="auto"&gt;&lt;circle cx="5" cy="5" r="5" class="arrowMarkerPath" style="stroke-width: 0; stroke-dasharray: 1, 0;"&gt;&lt;/circle&gt;&lt;/marker&gt;&lt;marker id="d8345951872e82ea1dark_flowchart-v2-circleStart-margin" class="marker flowchart-v2" viewBox="0 0 10 10" refX="-2" refY="5" markerUnits="userSpaceOnUse" markerWidth="14" markerHeight="14" orient="auto"&gt;&lt;circle cx="5" cy="5" r="5" class="arrowMarkerPath" style="stroke-width: 0; stroke-dasharray: 1, 0;"&gt;&lt;/circle&gt;&lt;/marker&gt;&lt;marker id="d8345951872e82ea1dark_flowchart-v2-crossEnd" class="marker cross flowchart-v2" viewBox="0 0 11 11" refX="12" refY="5.2" markerUnits="userSpaceOnUse" markerWidth="11" markerHeight="11" orient="auto"&gt;&lt;path d="M 1,1 l 9,9 M 10,1 l -9,9" class="arrowMarkerPath" style="stroke-width: 2; stroke-dasharray: 1, 0;"&gt;&lt;/path&gt;&lt;/marker&gt;&lt;marker id="d8345951872e82ea1dark_flowchart-v2-crossStart" class="marker cross flowchart-v2" viewBox="0 0 11 11" refX="-1" refY="5.2" markerUnits="userSpaceOnUse" markerWidth="11" markerHeight="11" orient="auto"&gt;&lt;path d="M 1,1 l 9,9 M 10,1 l -9,9" class="arrowMarkerPath" style="stroke-width: 2; stroke-dasharray: 1, 0;"&gt;&lt;/path&gt;&lt;/marker&gt;&lt;marker id="d8345951872e82ea1dark_flowchart-v2-crossEnd-margin" class="marker cross flowchart-v2" viewBox="0 0 15 15" refX="17.7" refY="7.5" markerUnits="userSpaceOnUse" markerWidth="12" markerHeight="12" orient="auto"&gt;&lt;path d="M 1,1 L 14,14 M 1,14 L 14,1" class="arrowMarkerPath" style="stroke-width: 2.5;"&gt;&lt;/path&gt;&lt;/marker&gt;&lt;marker id="d8345951872e82ea1dark_flowchart-v2-crossStart-margin" class="marker cross flowchart-v2" viewBox="0 0 15 15" refX="-3.5" refY="7.5" markerUnits="userSpaceOnUse" markerWidth="12" markerHeight="12" orient="auto"&gt;&lt;path d="M 1,1 L 14,14 M 1,14 L 14,1" class="arrowMarkerPath" style="stroke-width: 2.5; stroke-dasharray: 1, 0;"&gt;&lt;/path&gt;&lt;/marker&gt;&lt;g class="root"&gt;&lt;g class="clusters"&gt;&lt;/g&gt;&lt;g class="edgePaths"&gt;&lt;path d="M138,134L138,138.167C138,142.333,138,150.667,138,158.333C138,166,138,173,138,176.5L138,180" id="d8345951872e82ea1dark-L_A_B_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_A_B_0" data-points="W3sieCI6MTM4LCJ5IjoxMzR9LHsieCI6MTM4LCJ5IjoxNTl9LHsieCI6MTM4LCJ5IjoxODR9XQ==" data-look="classic" marker-end="url(#d8345951872e82ea1dark_flowchart-v2-pointEnd)"&gt;&lt;/path&gt;&lt;path d="M138,310L138,314.167C138,318.333,138,326.667,138,334.333C138,342,138,349,138,352.5L138,356" id="d8345951872e82ea1dark-L_B_C_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_B_C_0" data-points="W3sieCI6MTM4LCJ5IjozMTB9LHsieCI6MTM4LCJ5IjozMzV9LHsieCI6MTM4LCJ5IjozNjB9XQ==" data-look="classic" marker-end="url(#d8345951872e82ea1dark_flowchart-v2-pointEnd)"&gt;&lt;/path&gt;&lt;path d="M138,462L138,466.167C138,470.333,138,478.667,138,486.333C138,494,138,501,138,504.5L138,508" id="d8345951872e82ea1dark-L_C_D_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_C_D_0" data-points="W3sieCI6MTM4LCJ5Ijo0NjJ9LHsieCI6MTM4LCJ5Ijo0ODd9LHsieCI6MTM4LCJ5Ijo1MTJ9XQ==" data-look="classic" marker-end="url(#d8345951872e82ea1dark_flowchart-v2-pointEnd)"&gt;&lt;/path&gt;&lt;path d="M138,566L138,570.167C138,574.333,138,582.667,138,590.333C138,598,138,605,138,608.5L138,612" id="d8345951872e82ea1dark-L_D_E_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_D_E_0" data-points="W3sieCI6MTM4LCJ5Ijo1NjZ9LHsieCI6MTM4LCJ5Ijo1OTF9LHsieCI6MTM4LCJ5Ijo2MTZ9XQ==" data-look="classic" marker-end="url(#d8345951872e82ea1dark_flowchart-v2-pointEnd)"&gt;&lt;/path&gt;&lt;path d="M138,766L138,770.167C138,774.333,138,782.667,138,790.333C138,798,138,805,138,808.5L138,812" id="d8345951872e82ea1dark-L_E_F_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_E_F_0" data-points="W3sieCI6MTM4LCJ5Ijo3NjZ9LHsieCI6MTM4LCJ5Ijo3OTF9LHsieCI6MTM4LCJ5Ijo4MTZ9XQ==" data-look="classic" marker-end="url(#d8345951872e82ea1dark_flowchart-v2-pointEnd)"&gt;&lt;/path&gt;&lt;/g&gt;&lt;g class="edgeLabels"&gt;&lt;g class="edgeLabel"&gt;&lt;g class="label" data-id="L_A_B_0" transform="translate(0, 0)"&gt;&lt;foreignObject width="0" height="0"&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"&gt;&lt;span class="edgeLabel"&gt;&lt;/span&gt;&lt;/div&gt;&lt;/foreignObject&gt;&lt;/g&gt;&lt;/g&gt;&lt;g class="edgeLabel"&gt;&lt;g class="label" data-id="L_B_C_0" transform="translate(0, 0)"&gt;&lt;foreignObject width="0" height="0"&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"&gt;&lt;span class="edgeLabel"&gt;&lt;/span&gt;&lt;/div&gt;&lt;/foreignObject&gt;&lt;/g&gt;&lt;/g&gt;&lt;g class="edgeLabel"&gt;&lt;g class="label" data-id="L_C_D_0" transform="translate(0, 0)"&gt;&lt;foreignObject width="0" height="0"&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"&gt;&lt;span class="edgeLabel"&gt;&lt;/span&gt;&lt;/div&gt;&lt;/foreignObject&gt;&lt;/g&gt;&lt;/g&gt;&lt;g class="edgeLabel"&gt;&lt;g class="label" data-id="L_D_E_0" transform="translate(0, 0)"&gt;&lt;foreignObject width="0" height="0"&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"&gt;&lt;span class="edgeLabel"&gt;&lt;/span&gt;&lt;/div&gt;&lt;/foreignObject&gt;&lt;/g&gt;&lt;/g&gt;&lt;g class="edgeLabel"&gt;&lt;g class="label" data-id="L_E_F_0" transform="translate(0, 0)"&gt;&lt;foreignObject width="0" height="0"&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"&gt;&lt;span class="edgeLabel"&gt;&lt;/span&gt;&lt;/div&gt;&lt;/foreignObject&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;g class="nodes"&gt;&lt;g class="node default" id="d8345951872e82ea1dark-flowchart-A-0" data-look="classic" transform="translate(138, 71)"&gt;&lt;rect class="basic label-container" style="" x="-130" y="-63" width="260" height="126"&gt;&lt;/rect&gt;&lt;g class="label" style="" transform="translate(-100, -48)"&gt;&lt;rect&gt;&lt;/rect&gt;&lt;foreignObject width="200" height="96"&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml" style="display: table; white-space: break-spaces; line-height: 1.5; max-width: 200px; text-align: center; width: 200px;"&gt;&lt;span class="nodeLabel"&gt;&lt;p&gt;uv installer drops ~/.local/bin/env&lt;br&gt;(a PATH snippet, meant to be sourced)&lt;/p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/foreignObject&gt;&lt;/g&gt;&lt;/g&gt;&lt;g class="node default" id="d8345951872e82ea1dark-flowchart-B-1" data-look="classic" transform="translate(138, 247)"&gt;&lt;rect class="basic label-container" style="" x="-130" y="-63" width="260" height="126"&gt;&lt;/rect&gt;&lt;g class="label" style="" transform="translate(-100, -48)"&gt;&lt;rect&gt;&lt;/rect&gt;&lt;foreignObject width="200" height="96"&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml" style="display: table; white-space: break-spaces; line-height: 1.5; max-width: 200px; text-align: center; width: 200px;"&gt;&lt;span class="nodeLabel"&gt;&lt;p&gt;something marks it executable&lt;br&gt;(culprit unknown, case left open)&lt;/p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/foreignObject&gt;&lt;/g&gt;&lt;/g&gt;&lt;g class="node default" id="d8345951872e82ea1dark-flowchart-C-3" data-look="classic" transform="translate(138, 411)"&gt;&lt;rect class="basic label-container" style="" x="-130" y="-51" width="260" height="102"&gt;&lt;/rect&gt;&lt;g class="label" style="" transform="translate(-100, -36)"&gt;&lt;rect&gt;&lt;/rect&gt;&lt;foreignObject width="200" height="72"&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml" style="display: table; white-space: break-spaces; line-height: 1.5; max-width: 200px; text-align: center; width: 200px;"&gt;&lt;span class="nodeLabel"&gt;&lt;p&gt;~/.local/bin sits second in PATH,&lt;br&gt;ahead of /usr/bin&lt;/p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/foreignObject&gt;&lt;/g&gt;&lt;/g&gt;&lt;g class="node default" id="d8345951872e82ea1dark-flowchart-D-5" data-look="classic" transform="translate(138, 539)"&gt;&lt;rect class="basic label-container" style="" x="-129.828125" y="-27" width="259.65625" height="54"&gt;&lt;/rect&gt;&lt;g class="label" style="" transform="translate(-99.828125, -12)"&gt;&lt;rect&gt;&lt;/rect&gt;&lt;foreignObject width="199.65625" height="24"&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"&gt;&lt;span class="nodeLabel"&gt;&lt;p&gt;it now shadows /usr/bin/env&lt;/p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/foreignObject&gt;&lt;/g&gt;&lt;/g&gt;&lt;g class="node default" id="d8345951872e82ea1dark-flowchart-E-7" data-look="classic" transform="translate(138, 691)"&gt;&lt;rect class="basic label-container" style="" x="-130" y="-75" width="260" height="150"&gt;&lt;/rect&gt;&lt;g class="label" style="" transform="translate(-100, -60)"&gt;&lt;rect&gt;&lt;/rect&gt;&lt;foreignObject width="200" height="120"&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml" style="display: table; white-space: break-spaces; line-height: 1.5; max-width: 200px; text-align: center; width: 200px;"&gt;&lt;span class="nodeLabel"&gt;&lt;p&gt;'env ... cmd' runs the snippet instead:&lt;br&gt;sets a few variables, exits 0,&lt;br&gt;never runs cmd&lt;/p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/foreignObject&gt;&lt;/g&gt;&lt;/g&gt;&lt;g class="node default" id="d8345951872e82ea1dark-flowchart-F-9" data-look="classic" transform="translate(138, 855)"&gt;&lt;rect class="basic label-container" style="" x="-129.4140625" y="-39" width="258.828125" height="78"&gt;&lt;/rect&gt;&lt;g class="label" style="" transform="translate(-99.4140625, -24)"&gt;&lt;rect&gt;&lt;/rect&gt;&lt;foreignObject width="198.828125" height="48"&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"&gt;&lt;span class="nodeLabel"&gt;&lt;p&gt;symptom: git init succeeds,&lt;br&gt;no .git exists&lt;/p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/foreignObject&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;defs&gt;&lt;filter id="d8345951872e82ea1dark-drop-shadow" height="130%" width="130%"&gt;&lt;feDropShadow dx="4" dy="4" stdDeviation="0" flood-opacity="0.06" flood-color="#FFFFFF"&gt;&lt;/feDropShadow&gt;&lt;/filter&gt;&lt;/defs&gt;&lt;defs&gt;&lt;filter id="d8345951872e82ea1dark-drop-shadow-small" height="150%" width="150%"&gt;&lt;feDropShadow dx="2" dy="2" stdDeviation="0" flood-opacity="0.06" flood-color="#FFFFFF"&gt;&lt;/feDropShadow&gt;&lt;/filter&gt;&lt;/defs&gt;&lt;linearGradient id="d8345951872e82ea1dark-gradient" gradientUnits="objectBoundingBox" x1="0%" y1="0%" x2="100%" y2="0%"&gt;&lt;stop offset="0%" stop-color="#cccccc" stop-opacity="1"&gt;&lt;/stop&gt;&lt;stop offset="100%" stop-color="hsl(180, 0%, 18.3529411765%)" stop-opacity="1"&gt;&lt;/stop&gt;&lt;/linearGradient&gt;&lt;/svg&gt;&lt;/div&gt;
&lt;p&gt;Every &lt;code&gt;env -u X cmd&lt;/code&gt;, every shebang-adjacent &lt;code&gt;env&lt;/code&gt; trick, every script that spelled out &lt;code&gt;env&lt;/code&gt; for portability: all of them ran a five-line PATH snippet and stopped. With exit 0, because the snippet ran fine. It was just never asked to run your command, since sourcing semantics and executing semantics are different contracts.&lt;/p&gt;
&lt;p&gt;The fix was one line:&lt;/p&gt;
&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;chmod -x ~/.local/bin/env&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;Finding the line took the better part of a debugging session. So the incident became a permanent test, with the story written into the comment:&lt;/p&gt;
&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# uv&amp;#39;s installer drops a PATH snippet at ~/.local/bin/env meant to be&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# SOURCED; if it ever becomes executable it shadows /usr/bin/env (PATH&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# puts ~/.local/bin second) and silently swallows every &amp;#39;env ... cmd&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# invocation with exit 0. That exact trap cost a debugging session.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;run_test &lt;span class="s2"&gt;&amp;#34;env resolves to /usr/bin/env (no executable shim)&amp;#34;&lt;/span&gt; &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="s2"&gt;&amp;#34;[ \&amp;#34;\$(command -v env)\&amp;#34; = /usr/bin/env ]&amp;#34;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;There is also a generalized version: a scan that flags any executable in &lt;code&gt;~/.local/bin&lt;/code&gt; shadowing a system command. The specific trap gets a named test; the class of trap gets a sweep.&lt;/p&gt;

&lt;h2 class="relative group"&gt;Case 2: the fixture that reformatted my real repo
 &lt;div id="case-2-the-fixture-that-reformatted-my-real-repo" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#case-2-the-fixture-that-reformatted-my-real-repo" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;p&gt;I was writing a fixture test for the secret scanner: create a throwaway git repo in a temp directory, plant a fake credential, confirm the scanner catches it. Standard stuff.&lt;/p&gt;
&lt;p&gt;The test runs inside the yadm pre-commit hook. yadm exports &lt;code&gt;GIT_DIR&lt;/code&gt; and &lt;code&gt;GIT_WORK_TREE&lt;/code&gt; for its own purposes, and here is the part I did not respect enough: those environment variables outrank &lt;code&gt;git -C &amp;lt;path&amp;gt;&lt;/code&gt;. The &lt;code&gt;-C&lt;/code&gt; flag changes the working directory; the environment still decides which repository you are talking to.&lt;/p&gt;
&lt;p&gt;So the fixture&amp;rsquo;s &lt;code&gt;git init&lt;/code&gt; reinitialized the real yadm repository. It flipped &lt;code&gt;core.bare&lt;/code&gt; and broke the repo&amp;rsquo;s configuration. Recovery turned out to be one setting, with zero history lost:&lt;/p&gt;
&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;yadm gitconfig core.bare false&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;But the lesson went into the suite in capital letters:&lt;/p&gt;
&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# CRITICAL: every call strips GIT_DIR/GIT_WORK_TREE — the yadm&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# pre_commit hook exports them, and an ambient GIT_DIR silently&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# redirects fixture git commands at the REAL yadm repo (this once&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# flipped its core.bare).&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;GL_GIT&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;env -u GIT_DIR -u GIT_WORK_TREE git&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nv"&gt;$GL_GIT&lt;/span&gt; -C &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$GL_TMP&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;&lt;/span&gt; init -q&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;The suite now also runs a hostile-environment simulation: it deliberately plants a decoy &lt;code&gt;GIT_DIR&lt;/code&gt; and confirms the fixtures ignore it. And the fake credential is assembled at runtime, so no secret-shaped literal ever exists in the repo for a scanner to trip on:&lt;/p&gt;
&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nb"&gt;printf&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;aws_key = &amp;#34;%s%s&amp;#34;\n&amp;#39;&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;AKIA&amp;#34;&lt;/span&gt; &lt;span class="s2"&gt;&amp;#34;ZZZQK9X2M4P7L3TQ&amp;#34;&lt;/span&gt; &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &amp;gt; &lt;span class="s2"&gt;&amp;#34;&lt;/span&gt;&lt;span class="nv"&gt;$GL_TMP&lt;/span&gt;&lt;span class="s2"&gt;/leak.txt&amp;#34;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h2 class="relative group"&gt;Case 3: the file manager that shrugged
 &lt;div id="case-3-the-file-manager-that-shrugged" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#case-3-the-file-manager-that-shrugged" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;p&gt;yazi 26 renamed a fetcher config field from &lt;code&gt;id&lt;/code&gt; to &lt;code&gt;group&lt;/code&gt;. My config still said &lt;code&gt;id&lt;/code&gt;. When yazi hits a config it cannot parse, it does not error; it falls back to its presets and carries on looking almost normal. The git and mactag columns just stopped being enriched, and I only noticed weeks later, by accident.&lt;/p&gt;
&lt;p&gt;The canary here is two words:&lt;/p&gt;
&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;yazi --version &lt;span class="c1"&gt;# exits 1 when the config fails to parse&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;That exit-code behavior is something I tested, not something I read somewhere. It now runs in the test suite and again after upgrades, as a schema check. When yazi next renames a field, the failure will be loud and same-day instead of silent and discovered by luck.&lt;/p&gt;

&lt;h2 class="relative group"&gt;The ending: a year later, the case closed itself
 &lt;div id="the-ending-a-year-later-the-case-closed-itself" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#the-ending-a-year-later-the-case-closed-itself" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;p&gt;Here is where case 1 gets its resolution, and it did not come from detective work.&lt;/p&gt;
&lt;p&gt;An unrelated idempotency audit of the bootstrap script added one final step to it: after bootstrapping, run the full test suite as self-verification. The very first self-verification run came back red.&lt;/p&gt;
&lt;p&gt;The bootstrap script contained a blanket &lt;code&gt;chmod +x ~/.local/bin/*&lt;/code&gt;. The &amp;ldquo;scripts must be executable&amp;rdquo; convention, applied to a whole directory. It had just re-armed the uv trap, a year after I defused it, and it had presumably been the original armer all along. One line took down three tests at once: the &lt;code&gt;env&lt;/code&gt; resolution test, the PATH shadow sweep, and the gitleaks fixtures, whose &lt;code&gt;env -u&lt;/code&gt; calls were being swallowed again.&lt;/p&gt;
&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# before: the whole directory gets the executable bit.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# uv&amp;#39;s source-me env snippet is in there, so the trap gets&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# re-armed on every bootstrap run.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;chmod +x ~/.local/bin/*
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# after: only scripts yadm actually tracks get chmod&amp;#39;d.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# untracked files (including uv&amp;#39;s env) never gain the bit.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;The full lifecycle reads like this: symptom, defusal, regression test, then a year of quiet, then the test catches the original root cause in the act of reoffending, and the root cause gets fixed. The gap between step three and step four was twelve months. The gap between &amp;ldquo;bootstrap gained self-verification&amp;rdquo; and &amp;ldquo;cold case closed&amp;rdquo; was a few minutes.&lt;/p&gt;

&lt;h2 class="relative group"&gt;The common shape
 &lt;div id="the-common-shape" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#the-common-shape" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;p&gt;All three cases had no error message. All three returned success. All three were a system helpfully falling back to something instead of failing: a snippet standing in for a binary, an environment variable standing in for a flag, presets standing in for a config.&lt;/p&gt;
&lt;p&gt;Silent fallback is the expensive kind of bug. A loud failure costs you five minutes. A quiet substitution costs you weeks, because nothing marks the moment where reality diverged from your model of it.&lt;/p&gt;

&lt;h2 class="relative group"&gt;Institutionalizing the paranoia
 &lt;div id="institutionalizing-the-paranoia" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#institutionalizing-the-paranoia" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;p&gt;Every incident in this post exists in the test suite as a named check. The suite grew from 74 checks to 105 across this overhaul, and almost all of that growth is &amp;ldquo;we got bitten here&amp;rdquo; items. Case 1 is the proof that the habit pays twice: the test written to protect the future is the same one that closed the past.&lt;/p&gt;
&lt;p&gt;The other byproduct is a small document, &lt;code&gt;docs/upgrade-watch.md&lt;/code&gt;, pairing every config file that tracks an upstream schema with a canary that fails loudly:&lt;/p&gt;
&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;| Config file | Canary |
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;| --------------------------- | ----------------------- |
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;| ~/.config/yazi/yazi.toml | yazi --version |
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;| ~/.config/atuin/config.toml | atuin doctor |
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;| ~/.tmux.conf | throwaway-server parse |
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;| ~/.local/bin/env (uv) | suite `env` check |&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h2 class="relative group"&gt;Lessons
 &lt;div id="lessons" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#lessons" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Environment variables outrank the flags on your command line. &lt;code&gt;git -C&lt;/code&gt; does not protect you from an ambient &lt;code&gt;GIT_DIR&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;A file that is meant to be sourced becomes a command-swallowing trap the moment it gains an executable bit and a good PATH position.&lt;/li&gt;
&lt;li&gt;Tools that silently fall back to defaults on a bad config need a canary with a real exit code. Test the canary&amp;rsquo;s behavior; do not assume it.&lt;/li&gt;
&lt;li&gt;Write the regression test even when the root cause is still unknown. Mine waited a year and then caught the culprit red-handed.&lt;/li&gt;
&lt;li&gt;Bootstrap scripts should only touch files they own. A wildcard &lt;code&gt;chmod&lt;/code&gt; is a loaded gun pointed at the future.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 class="relative group"&gt;References
 &lt;div id="references" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#references" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/astral-sh/uv" target="_blank" rel="noreferrer"&gt;uv&lt;/a&gt; (the installer that ships the &lt;code&gt;~/.local/bin/env&lt;/code&gt; snippet)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/sxyazi/yazi" target="_blank" rel="noreferrer"&gt;yazi&lt;/a&gt; (the config-schema rename landed in yazi 26; exit-code canary behavior verified on this machine)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://yadm.io/docs/hooks" target="_blank" rel="noreferrer"&gt;yadm hooks documentation&lt;/a&gt; (the pre-commit hook environment where &lt;code&gt;GIT_DIR&lt;/code&gt;/&lt;code&gt;GIT_WORK_TREE&lt;/code&gt; are exported)&lt;/li&gt;
&lt;li&gt;The repo and its test suite: &lt;a href="https://github.com/nickboy/dotfiles" target="_blank" rel="noreferrer"&gt;nickboy/dotfiles&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</content:encoded></item><item><title>My diagrams rendered on refresh and vanished on click. The head never loaded.</title><link>https://nick-liu.com/posts/htmx-vendor-bundles-blowfish/</link><pubDate>Tue, 11 Aug 2026 00:00:00 +0000</pubDate><author>nickboy@users.noreply.github.com (Nick Liu)</author><guid>https://nick-liu.com/posts/htmx-vendor-bundles-blowfish/</guid><description>&lt;div class="lead text-neutral-500 dark:text-neutral-400 !mb-9 text-xl"&gt;
 
A reader clicking from my homepage to a post with a diagram got a block of raw mermaid source. The same reader pasting that post's URL directly got a rendered diagram. Same page, same build, same browser. The difference was the click, and the bug had been live on this site for months across every diagram, every math formula, and every chart, because I had only ever tested pages by loading them directly.

&lt;/div&gt;

&lt;div class="tested-with" role="note"&gt;
 &lt;span class="tested-with-icon" aria-hidden="true"&gt;🧪&lt;/span&gt;
 &lt;span&gt;Tested with &lt;strong&gt;Blowfish&lt;/strong&gt; &lt;code&gt;2.10x&lt;/code&gt; · htmx 2.0.10&lt;/span&gt;
&lt;/div&gt;


&lt;h2 class="relative group"&gt;Two features, both reasonable, one collision
 &lt;div id="two-features-both-reasonable-one-collision" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#two-features-both-reasonable-one-collision" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;p&gt;This site has htmx&amp;rsquo;s &lt;code&gt;hx-boost&lt;/code&gt; on the body: internal navigation swaps page content in place instead of doing full page loads, which keeps transitions smooth. Separately, the Blowfish theme is smart about heavy libraries: mermaid, KaTeX, and Chart.js bundles are only included on pages that use them, injected into the &lt;code&gt;&amp;lt;head&amp;gt;&lt;/code&gt; of exactly those pages.&lt;/p&gt;</description><content:encoded>&lt;div class="lead text-neutral-500 dark:text-neutral-400 !mb-9 text-xl"&gt;
 
A reader clicking from my homepage to a post with a diagram got a block of raw mermaid source. The same reader pasting that post's URL directly got a rendered diagram. Same page, same build, same browser. The difference was the click, and the bug had been live on this site for months across every diagram, every math formula, and every chart, because I had only ever tested pages by loading them directly.

&lt;/div&gt;

&lt;div class="tested-with" role="note"&gt;
 &lt;span class="tested-with-icon" aria-hidden="true"&gt;🧪&lt;/span&gt;
 &lt;span&gt;Tested with &lt;strong&gt;Blowfish&lt;/strong&gt; &lt;code&gt;2.10x&lt;/code&gt; · htmx 2.0.10&lt;/span&gt;
&lt;/div&gt;


&lt;h2 class="relative group"&gt;Two features, both reasonable, one collision
 &lt;div id="two-features-both-reasonable-one-collision" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#two-features-both-reasonable-one-collision" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;p&gt;This site has htmx&amp;rsquo;s &lt;code&gt;hx-boost&lt;/code&gt; on the body: internal navigation swaps page content in place instead of doing full page loads, which keeps transitions smooth. Separately, the Blowfish theme is smart about heavy libraries: mermaid, KaTeX, and Chart.js bundles are only included on pages that use them, injected into the &lt;code&gt;&amp;lt;head&amp;gt;&lt;/code&gt; of exactly those pages.&lt;/p&gt;
&lt;p&gt;Each feature is sensible alone. Together they have a hole in the middle:&lt;/p&gt;
&lt;div class="not-prose diagram diagram-light"&gt;&lt;svg id="d4c0c6133c60e0204light" width="100%" xmlns="http://www.w3.org/2000/svg" class="flowchart" style="max-width: 2504.984375px;" viewBox="0 0 2504.984375 188" role="graphics-document document" aria-roledescription="flowchart-v2"&gt;&lt;style&gt;#d4c0c6133c60e0204light{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,segoe ui,Roboto,helvetica neue,Arial,noto sans,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#d4c0c6133c60e0204light .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#d4c0c6133c60e0204light .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#d4c0c6133c60e0204light .error-icon{fill:rgb(255, 255, 255);}#d4c0c6133c60e0204light .error-text{fill:#000000;stroke:#000000;}#d4c0c6133c60e0204light .edge-thickness-normal{stroke-width:1px;}#d4c0c6133c60e0204light .edge-thickness-thick{stroke-width:3.5px;}#d4c0c6133c60e0204light .edge-pattern-solid{stroke-dasharray:0;}#d4c0c6133c60e0204light .edge-thickness-invisible{stroke-width:0;fill:none;}#d4c0c6133c60e0204light .edge-pattern-dashed{stroke-dasharray:3;}#d4c0c6133c60e0204light .edge-pattern-dotted{stroke-dasharray:2;}#d4c0c6133c60e0204light .marker{fill:rgb(74, 86, 92);stroke:rgb(74, 86, 92);}#d4c0c6133c60e0204light .marker.cross{stroke:rgb(74, 86, 92);}#d4c0c6133c60e0204light svg{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,segoe ui,Roboto,helvetica neue,Arial,noto sans,sans-serif;font-size:16px;}#d4c0c6133c60e0204light p{margin:0;}#d4c0c6133c60e0204light .label{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,segoe ui,Roboto,helvetica neue,Arial,noto sans,sans-serif;color:#333;}#d4c0c6133c60e0204light .cluster-label text{fill:#000000;}#d4c0c6133c60e0204light .cluster-label span{color:#000000;}#d4c0c6133c60e0204light .cluster-label span p{background-color:transparent;}#d4c0c6133c60e0204light .label text,#d4c0c6133c60e0204light span{fill:#333;color:#333;}#d4c0c6133c60e0204light .node rect,#d4c0c6133c60e0204light .node circle,#d4c0c6133c60e0204light .node ellipse,#d4c0c6133c60e0204light .node polygon,#d4c0c6133c60e0204light .node path{fill:rgb(255, 255, 255);stroke:rgb(204, 216, 222);stroke-width:1px;}#d4c0c6133c60e0204light .rough-node .label text,#d4c0c6133c60e0204light .node .label text,#d4c0c6133c60e0204light .image-shape .label,#d4c0c6133c60e0204light .icon-shape .label{text-anchor:middle;}#d4c0c6133c60e0204light .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#d4c0c6133c60e0204light .rough-node .label,#d4c0c6133c60e0204light .node .label,#d4c0c6133c60e0204light .image-shape .label,#d4c0c6133c60e0204light .icon-shape .label{text-align:center;}#d4c0c6133c60e0204light .node.clickable{cursor:pointer;}#d4c0c6133c60e0204light .root .anchor path{fill:rgb(74, 86, 92)!important;stroke-width:0;stroke:rgb(74, 86, 92);}#d4c0c6133c60e0204light .arrowheadPath{fill:#000000;}#d4c0c6133c60e0204light .edgePath .path{stroke:rgb(74, 86, 92);stroke-width:1px;}#d4c0c6133c60e0204light .flowchart-link{stroke:rgb(74, 86, 92);fill:none;}#d4c0c6133c60e0204light .edgeLabel{background-color:rgb(182, 240, 255);text-align:center;}#d4c0c6133c60e0204light .edgeLabel p{background-color:rgb(182, 240, 255);}#d4c0c6133c60e0204light .edgeLabel rect{opacity:0.5;background-color:rgb(182, 240, 255);fill:rgb(182, 240, 255);}#d4c0c6133c60e0204light .labelBkg{background-color:rgba(182, 240, 255, 0.5);}#d4c0c6133c60e0204light .cluster rect{fill:rgb(255, 255, 255);stroke:rgb(129, 146, 154);stroke-width:1px;}#d4c0c6133c60e0204light .cluster text{fill:#000000;}#d4c0c6133c60e0204light .cluster span{color:#000000;}#d4c0c6133c60e0204light div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,segoe ui,Roboto,helvetica neue,Arial,noto sans,sans-serif;font-size:12px;background:rgb(255, 255, 255);border:1px solid rgb(129, 146, 154);border-radius:2px;pointer-events:none;z-index:100;}#d4c0c6133c60e0204light .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#d4c0c6133c60e0204light rect.text{fill:none;stroke-width:0;}#d4c0c6133c60e0204light .icon-shape,#d4c0c6133c60e0204light .image-shape{background-color:rgb(182, 240, 255);text-align:center;}#d4c0c6133c60e0204light .icon-shape p,#d4c0c6133c60e0204light .image-shape p{background-color:rgb(182, 240, 255);padding:2px;}#d4c0c6133c60e0204light .icon-shape .label rect,#d4c0c6133c60e0204light .image-shape .label rect{opacity:0.5;background-color:rgb(182, 240, 255);fill:rgb(182, 240, 255);}#d4c0c6133c60e0204light .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#d4c0c6133c60e0204light .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#d4c0c6133c60e0204light .node .neo-node{stroke:rgb(204, 216, 222);}#d4c0c6133c60e0204light [data-look="neo"].node rect,#d4c0c6133c60e0204light [data-look="neo"].cluster rect,#d4c0c6133c60e0204light [data-look="neo"].node polygon{stroke:url(#d4c0c6133c60e0204light-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#d4c0c6133c60e0204light [data-look="neo"].swimlane.cluster rect{filter:none;}#d4c0c6133c60e0204light [data-look="neo"].node path{stroke:url(#d4c0c6133c60e0204light-gradient);stroke-width:1px;}#d4c0c6133c60e0204light [data-look="neo"].node .outer-path{filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#d4c0c6133c60e0204light [data-look="neo"].node .neo-line path{stroke:rgb(204, 216, 222);filter:none;}#d4c0c6133c60e0204light [data-look="neo"].node circle{stroke:url(#d4c0c6133c60e0204light-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#d4c0c6133c60e0204light [data-look="neo"].node circle .state-start{fill:#000000;}#d4c0c6133c60e0204light [data-look="neo"].icon-shape .icon{fill:url(#d4c0c6133c60e0204light-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#d4c0c6133c60e0204light [data-look="neo"].icon-shape .icon-neo path{stroke:url(#d4c0c6133c60e0204light-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#d4c0c6133c60e0204light :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;}&lt;/style&gt;&lt;g&gt;&lt;marker id="d4c0c6133c60e0204light_flowchart-v2-pointEnd" class="marker flowchart-v2" viewBox="0 0 10 10" refX="5" refY="5" markerUnits="userSpaceOnUse" markerWidth="8" markerHeight="8" orient="auto"&gt;&lt;path d="M 0 0 L 10 5 L 0 10 z" class="arrowMarkerPath" style="stroke-width: 1; stroke-dasharray: 1, 0;"&gt;&lt;/path&gt;&lt;/marker&gt;&lt;marker id="d4c0c6133c60e0204light_flowchart-v2-pointStart" class="marker flowchart-v2" viewBox="0 0 10 10" refX="4.5" refY="5" markerUnits="userSpaceOnUse" markerWidth="8" markerHeight="8" orient="auto"&gt;&lt;path d="M 0 5 L 10 10 L 10 0 z" class="arrowMarkerPath" style="stroke-width: 1; stroke-dasharray: 1, 0;"&gt;&lt;/path&gt;&lt;/marker&gt;&lt;marker id="d4c0c6133c60e0204light_flowchart-v2-pointEnd-margin" class="marker flowchart-v2" viewBox="0 0 11.5 14" refX="11.5" refY="7" markerUnits="userSpaceOnUse" markerWidth="10.5" markerHeight="14" orient="auto"&gt;&lt;path d="M 0 0 L 11.5 7 L 0 14 z" class="arrowMarkerPath" style="stroke-width: 0; stroke-dasharray: 1, 0;"&gt;&lt;/path&gt;&lt;/marker&gt;&lt;marker id="d4c0c6133c60e0204light_flowchart-v2-pointStart-margin" class="marker flowchart-v2" viewBox="0 0 11.5 14" refX="1" refY="7" markerUnits="userSpaceOnUse" markerWidth="11.5" markerHeight="14" orient="auto"&gt;&lt;polygon points="0,7 11.5,14 11.5,0" class="arrowMarkerPath" style="stroke-width: 0; stroke-dasharray: 1, 0;"&gt;&lt;/polygon&gt;&lt;/marker&gt;&lt;marker id="d4c0c6133c60e0204light_flowchart-v2-circleEnd" class="marker flowchart-v2" viewBox="0 0 10 10" refX="11" refY="5" markerUnits="userSpaceOnUse" markerWidth="11" markerHeight="11" orient="auto"&gt;&lt;circle cx="5" cy="5" r="5" class="arrowMarkerPath" style="stroke-width: 1; stroke-dasharray: 1, 0;"&gt;&lt;/circle&gt;&lt;/marker&gt;&lt;marker id="d4c0c6133c60e0204light_flowchart-v2-circleStart" class="marker flowchart-v2" viewBox="0 0 10 10" refX="-1" refY="5" markerUnits="userSpaceOnUse" markerWidth="11" markerHeight="11" orient="auto"&gt;&lt;circle cx="5" cy="5" r="5" class="arrowMarkerPath" style="stroke-width: 1; stroke-dasharray: 1, 0;"&gt;&lt;/circle&gt;&lt;/marker&gt;&lt;marker id="d4c0c6133c60e0204light_flowchart-v2-circleEnd-margin" class="marker flowchart-v2" viewBox="0 0 10 10" refY="5" refX="12.25" markerUnits="userSpaceOnUse" markerWidth="14" markerHeight="14" orient="auto"&gt;&lt;circle cx="5" cy="5" r="5" class="arrowMarkerPath" style="stroke-width: 0; stroke-dasharray: 1, 0;"&gt;&lt;/circle&gt;&lt;/marker&gt;&lt;marker id="d4c0c6133c60e0204light_flowchart-v2-circleStart-margin" class="marker flowchart-v2" viewBox="0 0 10 10" refX="-2" refY="5" markerUnits="userSpaceOnUse" markerWidth="14" markerHeight="14" orient="auto"&gt;&lt;circle cx="5" cy="5" r="5" class="arrowMarkerPath" style="stroke-width: 0; stroke-dasharray: 1, 0;"&gt;&lt;/circle&gt;&lt;/marker&gt;&lt;marker id="d4c0c6133c60e0204light_flowchart-v2-crossEnd" class="marker cross flowchart-v2" viewBox="0 0 11 11" refX="12" refY="5.2" markerUnits="userSpaceOnUse" markerWidth="11" markerHeight="11" orient="auto"&gt;&lt;path d="M 1,1 l 9,9 M 10,1 l -9,9" class="arrowMarkerPath" style="stroke-width: 2; stroke-dasharray: 1, 0;"&gt;&lt;/path&gt;&lt;/marker&gt;&lt;marker id="d4c0c6133c60e0204light_flowchart-v2-crossStart" class="marker cross flowchart-v2" viewBox="0 0 11 11" refX="-1" refY="5.2" markerUnits="userSpaceOnUse" markerWidth="11" markerHeight="11" orient="auto"&gt;&lt;path d="M 1,1 l 9,9 M 10,1 l -9,9" class="arrowMarkerPath" style="stroke-width: 2; stroke-dasharray: 1, 0;"&gt;&lt;/path&gt;&lt;/marker&gt;&lt;marker id="d4c0c6133c60e0204light_flowchart-v2-crossEnd-margin" class="marker cross flowchart-v2" viewBox="0 0 15 15" refX="17.7" refY="7.5" markerUnits="userSpaceOnUse" markerWidth="12" markerHeight="12" orient="auto"&gt;&lt;path d="M 1,1 L 14,14 M 1,14 L 14,1" class="arrowMarkerPath" style="stroke-width: 2.5;"&gt;&lt;/path&gt;&lt;/marker&gt;&lt;marker id="d4c0c6133c60e0204light_flowchart-v2-crossStart-margin" class="marker cross flowchart-v2" viewBox="0 0 15 15" refX="-3.5" refY="7.5" markerUnits="userSpaceOnUse" markerWidth="12" markerHeight="12" orient="auto"&gt;&lt;path d="M 1,1 L 14,14 M 1,14 L 14,1" class="arrowMarkerPath" style="stroke-width: 2.5; stroke-dasharray: 1, 0;"&gt;&lt;/path&gt;&lt;/marker&gt;&lt;g class="root"&gt;&lt;g class="clusters"&gt;&lt;/g&gt;&lt;g class="edgePaths"&gt;&lt;/g&gt;&lt;g class="edgeLabels"&gt;&lt;/g&gt;&lt;g class="nodes"&gt;&lt;g class="root" transform="translate(0, 0)"&gt;&lt;g class="clusters"&gt;&lt;g class="cluster" id="d4c0c6133c60e0204light-N" data-look="classic"&gt;&lt;rect style="" x="8" y="8" width="1569.375" height="172"&gt;&lt;/rect&gt;&lt;g class="cluster-label" transform="translate(720.65625, 8)"&gt;&lt;foreignObject width="144.0625" height="24"&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5;"&gt;&lt;span class="nodeLabel"&gt;&lt;p&gt;hx-boost navigation&lt;/p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/foreignObject&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;g class="edgePaths"&gt;&lt;path d="M302.109,94L308.359,94C314.609,94,327.109,94,338.943,94C350.776,94,361.943,94,367.526,94L373.109,94" id="d4c0c6133c60e0204light-L_D_E_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_D_E_0" data-points="W3sieCI6MzAyLjEwOTM3NSwieSI6OTR9LHsieCI6MzM5LjYwOTM3NSwieSI6OTR9LHsieCI6Mzc3LjEwOTM3NSwieSI6OTR9XQ==" data-look="classic" marker-end="url(#d4c0c6133c60e0204light_flowchart-v2-pointEnd)"&gt;&lt;/path&gt;&lt;path d="M592.25,94L598.5,94C604.75,94,617.25,94,629.083,94C640.917,94,652.083,94,657.667,94L663.25,94" id="d4c0c6133c60e0204light-L_E_F_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_E_F_0" data-points="W3sieCI6NTkyLjI1LCJ5Ijo5NH0seyJ4Ijo2MjkuNzUsInkiOjk0fSx7IngiOjY2Ny4yNSwieSI6OTR9XQ==" data-look="classic" marker-end="url(#d4c0c6133c60e0204light_flowchart-v2-pointEnd)"&gt;&lt;/path&gt;&lt;path d="M927.25,94L933.5,94C939.75,94,952.25,94,964.083,94C975.917,94,987.083,94,992.667,94L998.25,94" id="d4c0c6133c60e0204light-L_F_G_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_F_G_0" data-points="W3sieCI6OTI3LjI1LCJ5Ijo5NH0seyJ4Ijo5NjQuNzUsInkiOjk0fSx7IngiOjEwMDIuMjUsInkiOjk0fV0=" data-look="classic" marker-end="url(#d4c0c6133c60e0204light_flowchart-v2-pointEnd)"&gt;&lt;/path&gt;&lt;path d="M1262.25,94L1268.5,94C1274.75,94,1287.25,94,1299.083,94C1310.917,94,1322.083,94,1327.667,94L1333.25,94" id="d4c0c6133c60e0204light-L_G_H_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_G_H_0" data-points="W3sieCI6MTI2Mi4yNSwieSI6OTR9LHsieCI6MTI5OS43NSwieSI6OTR9LHsieCI6MTMzNy4yNSwieSI6OTR9XQ==" data-look="classic" marker-end="url(#d4c0c6133c60e0204light_flowchart-v2-pointEnd)"&gt;&lt;/path&gt;&lt;/g&gt;&lt;g class="edgeLabels"&gt;&lt;g class="edgeLabel"&gt;&lt;g class="label" data-id="L_D_E_0" transform="translate(0, 0)"&gt;&lt;foreignObject width="0" height="0"&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"&gt;&lt;span class="edgeLabel"&gt;&lt;/span&gt;&lt;/div&gt;&lt;/foreignObject&gt;&lt;/g&gt;&lt;/g&gt;&lt;g class="edgeLabel"&gt;&lt;g class="label" data-id="L_E_F_0" transform="translate(0, 0)"&gt;&lt;foreignObject width="0" height="0"&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"&gt;&lt;span class="edgeLabel"&gt;&lt;/span&gt;&lt;/div&gt;&lt;/foreignObject&gt;&lt;/g&gt;&lt;/g&gt;&lt;g class="edgeLabel"&gt;&lt;g class="label" data-id="L_F_G_0" transform="translate(0, 0)"&gt;&lt;foreignObject width="0" height="0"&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"&gt;&lt;span class="edgeLabel"&gt;&lt;/span&gt;&lt;/div&gt;&lt;/foreignObject&gt;&lt;/g&gt;&lt;/g&gt;&lt;g class="edgeLabel"&gt;&lt;g class="label" data-id="L_G_H_0" transform="translate(0, 0)"&gt;&lt;foreignObject width="0" height="0"&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"&gt;&lt;span class="edgeLabel"&gt;&lt;/span&gt;&lt;/div&gt;&lt;/foreignObject&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;g class="nodes"&gt;&lt;g class="node default" id="d4c0c6133c60e0204light-flowchart-D-3" data-look="classic" transform="translate(173.8046875, 94)"&gt;&lt;rect class="basic label-container" style="" x="-128.3046875" y="-27" width="256.609375" height="54"&gt;&lt;/rect&gt;&lt;g class="label" style="" transform="translate(-98.3046875, -12)"&gt;&lt;rect&gt;&lt;/rect&gt;&lt;foreignObject width="196.609375" height="24"&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"&gt;&lt;span class="nodeLabel"&gt;&lt;p&gt;htmx fetches the new page&lt;/p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/foreignObject&gt;&lt;/g&gt;&lt;/g&gt;&lt;g class="node default" id="d4c0c6133c60e0204light-flowchart-E-4" data-look="classic" transform="translate(484.6796875, 94)"&gt;&lt;rect class="basic label-container" style="" x="-107.5703125" y="-27" width="215.140625" height="54"&gt;&lt;/rect&gt;&lt;g class="label" style="" transform="translate(-77.5703125, -12)"&gt;&lt;rect&gt;&lt;/rect&gt;&lt;foreignObject width="155.140625" height="24"&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"&gt;&lt;span class="nodeLabel"&gt;&lt;p&gt;swaps the BODY only&lt;/p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/foreignObject&gt;&lt;/g&gt;&lt;/g&gt;&lt;g class="node default" id="d4c0c6133c60e0204light-flowchart-F-6" data-look="classic" transform="translate(797.25, 94)"&gt;&lt;rect class="basic label-container" style="" x="-130" y="-51" width="260" height="102"&gt;&lt;/rect&gt;&lt;g class="label" style="" transform="translate(-100, -36)"&gt;&lt;rect&gt;&lt;/rect&gt;&lt;foreignObject width="200" height="72"&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml" style="display: table; white-space: break-spaces; line-height: 1.5; max-width: 200px; text-align: center; width: 200px;"&gt;&lt;span class="nodeLabel"&gt;&lt;p&gt;the new head, and its&lt;br&gt;bundle script, never execute&lt;/p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/foreignObject&gt;&lt;/g&gt;&lt;/g&gt;&lt;g class="node default" id="d4c0c6133c60e0204light-flowchart-G-8" data-look="classic" transform="translate(1132.25, 94)"&gt;&lt;rect class="basic label-container" style="" x="-130" y="-51" width="260" height="102"&gt;&lt;/rect&gt;&lt;g class="label" style="" transform="translate(-100, -36)"&gt;&lt;rect&gt;&lt;/rect&gt;&lt;foreignObject width="200" height="72"&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml" style="display: table; white-space: break-spaces; line-height: 1.5; max-width: 200px; text-align: center; width: 200px;"&gt;&lt;span class="nodeLabel"&gt;&lt;p&gt;typeof mermaid is undefined,&lt;br&gt;re-init guard silently skips&lt;/p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/foreignObject&gt;&lt;/g&gt;&lt;/g&gt;&lt;g class="node default" id="d4c0c6133c60e0204light-flowchart-H-10" data-look="classic" transform="translate(1438.5625, 94)"&gt;&lt;rect class="basic label-container" style="" x="-101.3125" y="-39" width="202.625" height="78"&gt;&lt;/rect&gt;&lt;g class="label" style="" transform="translate(-71.3125, -24)"&gt;&lt;rect&gt;&lt;/rect&gt;&lt;foreignObject width="142.625" height="48"&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"&gt;&lt;span class="nodeLabel"&gt;&lt;p&gt;raw diagram source&lt;br&gt;on the page&lt;/p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/foreignObject&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;g class="root" transform="translate(1619.375, 12)"&gt;&lt;g class="clusters"&gt;&lt;g class="cluster" id="d4c0c6133c60e0204light-L" data-look="classic"&gt;&lt;rect style="" x="8" y="8" width="869.609375" height="148"&gt;&lt;/rect&gt;&lt;g class="cluster-label" transform="translate(372.1796875, 8)"&gt;&lt;foreignObject width="141.25" height="24"&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5;"&gt;&lt;span class="nodeLabel"&gt;&lt;p&gt;direct load / refresh&lt;/p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/foreignObject&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;g class="edgePaths"&gt;&lt;path d="M290.828,82L297.078,82C303.328,82,315.828,82,327.661,82C339.495,82,350.661,82,356.245,82L361.828,82" id="d4c0c6133c60e0204light-L_A_B_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_A_B_0" data-points="W3sieCI6MjkwLjgyODEyNSwieSI6ODJ9LHsieCI6MzI4LjMyODEyNSwieSI6ODJ9LHsieCI6MzY1LjgyODEyNSwieSI6ODJ9XQ==" data-look="classic" marker-end="url(#d4c0c6133c60e0204light_flowchart-v2-pointEnd)"&gt;&lt;/path&gt;&lt;path d="M586.469,82L592.719,82C598.969,82,611.469,82,623.302,82C635.135,82,646.302,82,651.885,82L657.469,82" id="d4c0c6133c60e0204light-L_B_C_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_B_C_0" data-points="W3sieCI6NTg2LjQ2ODc1LCJ5Ijo4Mn0seyJ4Ijo2MjMuOTY4NzUsInkiOjgyfSx7IngiOjY2MS40Njg3NSwieSI6ODJ9XQ==" data-look="classic" marker-end="url(#d4c0c6133c60e0204light_flowchart-v2-pointEnd)"&gt;&lt;/path&gt;&lt;/g&gt;&lt;g class="edgeLabels"&gt;&lt;g class="edgeLabel"&gt;&lt;g class="label" data-id="L_A_B_0" transform="translate(0, 0)"&gt;&lt;foreignObject width="0" height="0"&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"&gt;&lt;span class="edgeLabel"&gt;&lt;/span&gt;&lt;/div&gt;&lt;/foreignObject&gt;&lt;/g&gt;&lt;/g&gt;&lt;g class="edgeLabel"&gt;&lt;g class="label" data-id="L_B_C_0" transform="translate(0, 0)"&gt;&lt;foreignObject width="0" height="0"&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"&gt;&lt;span class="edgeLabel"&gt;&lt;/span&gt;&lt;/div&gt;&lt;/foreignObject&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;g class="nodes"&gt;&lt;g class="node default" id="d4c0c6133c60e0204light-flowchart-A-0" data-look="classic" transform="translate(168.1640625, 82)"&gt;&lt;rect class="basic label-container" style="" x="-122.6640625" y="-27" width="245.328125" height="54"&gt;&lt;/rect&gt;&lt;g class="label" style="" transform="translate(-92.6640625, -12)"&gt;&lt;rect&gt;&lt;/rect&gt;&lt;foreignObject width="185.328125" height="24"&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"&gt;&lt;span class="nodeLabel"&gt;&lt;p&gt;browser parses full HTML&lt;/p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/foreignObject&gt;&lt;/g&gt;&lt;/g&gt;&lt;g class="node default" id="d4c0c6133c60e0204light-flowchart-B-1" data-look="classic" transform="translate(476.1484375, 82)"&gt;&lt;rect class="basic label-container" style="" x="-110.3203125" y="-39" width="220.640625" height="78"&gt;&lt;/rect&gt;&lt;g class="label" style="" transform="translate(-80.3203125, -24)"&gt;&lt;rect&gt;&lt;/rect&gt;&lt;foreignObject width="160.640625" height="48"&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"&gt;&lt;span class="nodeLabel"&gt;&lt;p&gt;head scripts execute,&lt;br&gt;mermaid bundle loads&lt;/p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/foreignObject&gt;&lt;/g&gt;&lt;/g&gt;&lt;g class="node default" id="d4c0c6133c60e0204light-flowchart-C-2" data-look="classic" transform="translate(750.7890625, 82)"&gt;&lt;rect class="basic label-container" style="" x="-89.3203125" y="-27" width="178.640625" height="54"&gt;&lt;/rect&gt;&lt;g class="label" style="" transform="translate(-59.3203125, -12)"&gt;&lt;rect&gt;&lt;/rect&gt;&lt;foreignObject width="118.640625" height="24"&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"&gt;&lt;span class="nodeLabel"&gt;&lt;p&gt;diagram renders&lt;/p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/foreignObject&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;defs&gt;&lt;filter id="d4c0c6133c60e0204light-drop-shadow" height="130%" width="130%"&gt;&lt;feDropShadow dx="4" dy="4" stdDeviation="0" flood-opacity="0.06" flood-color="#000000"&gt;&lt;/feDropShadow&gt;&lt;/filter&gt;&lt;/defs&gt;&lt;defs&gt;&lt;filter id="d4c0c6133c60e0204light-drop-shadow-small" height="150%" width="150%"&gt;&lt;feDropShadow dx="2" dy="2" stdDeviation="0" flood-opacity="0.06" flood-color="#000000"&gt;&lt;/feDropShadow&gt;&lt;/filter&gt;&lt;/defs&gt;&lt;linearGradient id="d4c0c6133c60e0204light-gradient" gradientUnits="objectBoundingBox" x1="0%" y1="0%" x2="100%" y2="0%"&gt;&lt;stop offset="0%" stop-color="rgb(204, 216, 222)" stop-opacity="1"&gt;&lt;/stop&gt;&lt;stop offset="100%" stop-color="rgb(28, 209, 255)" stop-opacity="1"&gt;&lt;/stop&gt;&lt;/linearGradient&gt;&lt;/svg&gt;&lt;/div&gt;
 &lt;div class="not-prose diagram diagram-dark"&gt;&lt;svg id="d4c0c6133c60e0204dark" width="100%" xmlns="http://www.w3.org/2000/svg" class="flowchart" style="max-width: 2504.984375px;" viewBox="0 0 2504.984375 188" role="graphics-document document" aria-roledescription="flowchart-v2"&gt;&lt;style&gt;#d4c0c6133c60e0204dark{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,segoe ui,Roboto,helvetica neue,Arial,noto sans,sans-serif;font-size:16px;fill:#ccc;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#d4c0c6133c60e0204dark .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#d4c0c6133c60e0204dark .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#d4c0c6133c60e0204dark .error-icon{fill:#a44141;}#d4c0c6133c60e0204dark .error-text{fill:#ddd;stroke:#ddd;}#d4c0c6133c60e0204dark .edge-thickness-normal{stroke-width:1px;}#d4c0c6133c60e0204dark .edge-thickness-thick{stroke-width:3.5px;}#d4c0c6133c60e0204dark .edge-pattern-solid{stroke-dasharray:0;}#d4c0c6133c60e0204dark .edge-thickness-invisible{stroke-width:0;fill:none;}#d4c0c6133c60e0204dark .edge-pattern-dashed{stroke-dasharray:3;}#d4c0c6133c60e0204dark .edge-pattern-dotted{stroke-dasharray:2;}#d4c0c6133c60e0204dark .marker{fill:lightgrey;stroke:lightgrey;}#d4c0c6133c60e0204dark .marker.cross{stroke:lightgrey;}#d4c0c6133c60e0204dark svg{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,segoe ui,Roboto,helvetica neue,Arial,noto sans,sans-serif;font-size:16px;}#d4c0c6133c60e0204dark p{margin:0;}#d4c0c6133c60e0204dark .label{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,segoe ui,Roboto,helvetica neue,Arial,noto sans,sans-serif;color:#ccc;}#d4c0c6133c60e0204dark .cluster-label text{fill:#F9FFFE;}#d4c0c6133c60e0204dark .cluster-label span{color:#F9FFFE;}#d4c0c6133c60e0204dark .cluster-label span p{background-color:transparent;}#d4c0c6133c60e0204dark .label text,#d4c0c6133c60e0204dark span{fill:#ccc;color:#ccc;}#d4c0c6133c60e0204dark .node rect,#d4c0c6133c60e0204dark .node circle,#d4c0c6133c60e0204dark .node ellipse,#d4c0c6133c60e0204dark .node polygon,#d4c0c6133c60e0204dark .node path{fill:#1f2020;stroke:#ccc;stroke-width:1px;}#d4c0c6133c60e0204dark .rough-node .label text,#d4c0c6133c60e0204dark .node .label text,#d4c0c6133c60e0204dark .image-shape .label,#d4c0c6133c60e0204dark .icon-shape .label{text-anchor:middle;}#d4c0c6133c60e0204dark .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#d4c0c6133c60e0204dark .rough-node .label,#d4c0c6133c60e0204dark .node .label,#d4c0c6133c60e0204dark .image-shape .label,#d4c0c6133c60e0204dark .icon-shape .label{text-align:center;}#d4c0c6133c60e0204dark .node.clickable{cursor:pointer;}#d4c0c6133c60e0204dark .root .anchor path{fill:lightgrey!important;stroke-width:0;stroke:lightgrey;}#d4c0c6133c60e0204dark .arrowheadPath{fill:lightgrey;}#d4c0c6133c60e0204dark .edgePath .path{stroke:lightgrey;stroke-width:1px;}#d4c0c6133c60e0204dark .flowchart-link{stroke:lightgrey;fill:none;}#d4c0c6133c60e0204dark .edgeLabel{background-color:hsl(0, 0%, 34.4117647059%);text-align:center;}#d4c0c6133c60e0204dark .edgeLabel p{background-color:hsl(0, 0%, 34.4117647059%);}#d4c0c6133c60e0204dark .edgeLabel rect{opacity:0.5;background-color:hsl(0, 0%, 34.4117647059%);fill:hsl(0, 0%, 34.4117647059%);}#d4c0c6133c60e0204dark .labelBkg{background-color:rgba(87.75, 87.75, 87.75, 0.5);}#d4c0c6133c60e0204dark .cluster rect{fill:hsl(180, 1.5873015873%, 28.3529411765%);stroke:rgba(255, 255, 255, 0.25);stroke-width:1px;}#d4c0c6133c60e0204dark .cluster text{fill:#F9FFFE;}#d4c0c6133c60e0204dark .cluster span{color:#F9FFFE;}#d4c0c6133c60e0204dark div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,segoe ui,Roboto,helvetica neue,Arial,noto sans,sans-serif;font-size:12px;background:hsl(20, 1.5873015873%, 12.3529411765%);border:1px solid rgba(255, 255, 255, 0.25);border-radius:2px;pointer-events:none;z-index:100;}#d4c0c6133c60e0204dark .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#ccc;}#d4c0c6133c60e0204dark rect.text{fill:none;stroke-width:0;}#d4c0c6133c60e0204dark .icon-shape,#d4c0c6133c60e0204dark .image-shape{background-color:hsl(0, 0%, 34.4117647059%);text-align:center;}#d4c0c6133c60e0204dark .icon-shape p,#d4c0c6133c60e0204dark .image-shape p{background-color:hsl(0, 0%, 34.4117647059%);padding:2px;}#d4c0c6133c60e0204dark .icon-shape .label rect,#d4c0c6133c60e0204dark .image-shape .label rect{opacity:0.5;background-color:hsl(0, 0%, 34.4117647059%);fill:hsl(0, 0%, 34.4117647059%);}#d4c0c6133c60e0204dark .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#d4c0c6133c60e0204dark .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#d4c0c6133c60e0204dark .node .neo-node{stroke:#ccc;}#d4c0c6133c60e0204dark [data-look="neo"].node rect,#d4c0c6133c60e0204dark [data-look="neo"].cluster rect,#d4c0c6133c60e0204dark [data-look="neo"].node polygon{stroke:url(#d4c0c6133c60e0204dark-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#d4c0c6133c60e0204dark [data-look="neo"].swimlane.cluster rect{filter:none;}#d4c0c6133c60e0204dark [data-look="neo"].node path{stroke:url(#d4c0c6133c60e0204dark-gradient);stroke-width:1px;}#d4c0c6133c60e0204dark [data-look="neo"].node .outer-path{filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#d4c0c6133c60e0204dark [data-look="neo"].node .neo-line path{stroke:#ccc;filter:none;}#d4c0c6133c60e0204dark [data-look="neo"].node circle{stroke:url(#d4c0c6133c60e0204dark-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#d4c0c6133c60e0204dark [data-look="neo"].node circle .state-start{fill:#000000;}#d4c0c6133c60e0204dark [data-look="neo"].icon-shape .icon{fill:url(#d4c0c6133c60e0204dark-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#d4c0c6133c60e0204dark [data-look="neo"].icon-shape .icon-neo path{stroke:url(#d4c0c6133c60e0204dark-gradient);filter:drop-shadow( 1px 2px 2px rgba(185,185,185,1));}#d4c0c6133c60e0204dark :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;}&lt;/style&gt;&lt;g&gt;&lt;marker id="d4c0c6133c60e0204dark_flowchart-v2-pointEnd" class="marker flowchart-v2" viewBox="0 0 10 10" refX="5" refY="5" markerUnits="userSpaceOnUse" markerWidth="8" markerHeight="8" orient="auto"&gt;&lt;path d="M 0 0 L 10 5 L 0 10 z" class="arrowMarkerPath" style="stroke-width: 1; stroke-dasharray: 1, 0;"&gt;&lt;/path&gt;&lt;/marker&gt;&lt;marker id="d4c0c6133c60e0204dark_flowchart-v2-pointStart" class="marker flowchart-v2" viewBox="0 0 10 10" refX="4.5" refY="5" markerUnits="userSpaceOnUse" markerWidth="8" markerHeight="8" orient="auto"&gt;&lt;path d="M 0 5 L 10 10 L 10 0 z" class="arrowMarkerPath" style="stroke-width: 1; stroke-dasharray: 1, 0;"&gt;&lt;/path&gt;&lt;/marker&gt;&lt;marker id="d4c0c6133c60e0204dark_flowchart-v2-pointEnd-margin" class="marker flowchart-v2" viewBox="0 0 11.5 14" refX="11.5" refY="7" markerUnits="userSpaceOnUse" markerWidth="10.5" markerHeight="14" orient="auto"&gt;&lt;path d="M 0 0 L 11.5 7 L 0 14 z" class="arrowMarkerPath" style="stroke-width: 0; stroke-dasharray: 1, 0;"&gt;&lt;/path&gt;&lt;/marker&gt;&lt;marker id="d4c0c6133c60e0204dark_flowchart-v2-pointStart-margin" class="marker flowchart-v2" viewBox="0 0 11.5 14" refX="1" refY="7" markerUnits="userSpaceOnUse" markerWidth="11.5" markerHeight="14" orient="auto"&gt;&lt;polygon points="0,7 11.5,14 11.5,0" class="arrowMarkerPath" style="stroke-width: 0; stroke-dasharray: 1, 0;"&gt;&lt;/polygon&gt;&lt;/marker&gt;&lt;marker id="d4c0c6133c60e0204dark_flowchart-v2-circleEnd" class="marker flowchart-v2" viewBox="0 0 10 10" refX="11" refY="5" markerUnits="userSpaceOnUse" markerWidth="11" markerHeight="11" orient="auto"&gt;&lt;circle cx="5" cy="5" r="5" class="arrowMarkerPath" style="stroke-width: 1; stroke-dasharray: 1, 0;"&gt;&lt;/circle&gt;&lt;/marker&gt;&lt;marker id="d4c0c6133c60e0204dark_flowchart-v2-circleStart" class="marker flowchart-v2" viewBox="0 0 10 10" refX="-1" refY="5" markerUnits="userSpaceOnUse" markerWidth="11" markerHeight="11" orient="auto"&gt;&lt;circle cx="5" cy="5" r="5" class="arrowMarkerPath" style="stroke-width: 1; stroke-dasharray: 1, 0;"&gt;&lt;/circle&gt;&lt;/marker&gt;&lt;marker id="d4c0c6133c60e0204dark_flowchart-v2-circleEnd-margin" class="marker flowchart-v2" viewBox="0 0 10 10" refY="5" refX="12.25" markerUnits="userSpaceOnUse" markerWidth="14" markerHeight="14" orient="auto"&gt;&lt;circle cx="5" cy="5" r="5" class="arrowMarkerPath" style="stroke-width: 0; stroke-dasharray: 1, 0;"&gt;&lt;/circle&gt;&lt;/marker&gt;&lt;marker id="d4c0c6133c60e0204dark_flowchart-v2-circleStart-margin" class="marker flowchart-v2" viewBox="0 0 10 10" refX="-2" refY="5" markerUnits="userSpaceOnUse" markerWidth="14" markerHeight="14" orient="auto"&gt;&lt;circle cx="5" cy="5" r="5" class="arrowMarkerPath" style="stroke-width: 0; stroke-dasharray: 1, 0;"&gt;&lt;/circle&gt;&lt;/marker&gt;&lt;marker id="d4c0c6133c60e0204dark_flowchart-v2-crossEnd" class="marker cross flowchart-v2" viewBox="0 0 11 11" refX="12" refY="5.2" markerUnits="userSpaceOnUse" markerWidth="11" markerHeight="11" orient="auto"&gt;&lt;path d="M 1,1 l 9,9 M 10,1 l -9,9" class="arrowMarkerPath" style="stroke-width: 2; stroke-dasharray: 1, 0;"&gt;&lt;/path&gt;&lt;/marker&gt;&lt;marker id="d4c0c6133c60e0204dark_flowchart-v2-crossStart" class="marker cross flowchart-v2" viewBox="0 0 11 11" refX="-1" refY="5.2" markerUnits="userSpaceOnUse" markerWidth="11" markerHeight="11" orient="auto"&gt;&lt;path d="M 1,1 l 9,9 M 10,1 l -9,9" class="arrowMarkerPath" style="stroke-width: 2; stroke-dasharray: 1, 0;"&gt;&lt;/path&gt;&lt;/marker&gt;&lt;marker id="d4c0c6133c60e0204dark_flowchart-v2-crossEnd-margin" class="marker cross flowchart-v2" viewBox="0 0 15 15" refX="17.7" refY="7.5" markerUnits="userSpaceOnUse" markerWidth="12" markerHeight="12" orient="auto"&gt;&lt;path d="M 1,1 L 14,14 M 1,14 L 14,1" class="arrowMarkerPath" style="stroke-width: 2.5;"&gt;&lt;/path&gt;&lt;/marker&gt;&lt;marker id="d4c0c6133c60e0204dark_flowchart-v2-crossStart-margin" class="marker cross flowchart-v2" viewBox="0 0 15 15" refX="-3.5" refY="7.5" markerUnits="userSpaceOnUse" markerWidth="12" markerHeight="12" orient="auto"&gt;&lt;path d="M 1,1 L 14,14 M 1,14 L 14,1" class="arrowMarkerPath" style="stroke-width: 2.5; stroke-dasharray: 1, 0;"&gt;&lt;/path&gt;&lt;/marker&gt;&lt;g class="root"&gt;&lt;g class="clusters"&gt;&lt;/g&gt;&lt;g class="edgePaths"&gt;&lt;/g&gt;&lt;g class="edgeLabels"&gt;&lt;/g&gt;&lt;g class="nodes"&gt;&lt;g class="root" transform="translate(0, 0)"&gt;&lt;g class="clusters"&gt;&lt;g class="cluster" id="d4c0c6133c60e0204dark-N" data-look="classic"&gt;&lt;rect style="" x="8" y="8" width="1569.375" height="172"&gt;&lt;/rect&gt;&lt;g class="cluster-label" transform="translate(720.65625, 8)"&gt;&lt;foreignObject width="144.0625" height="24"&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5;"&gt;&lt;span class="nodeLabel"&gt;&lt;p&gt;hx-boost navigation&lt;/p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/foreignObject&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;g class="edgePaths"&gt;&lt;path d="M302.109,94L308.359,94C314.609,94,327.109,94,338.943,94C350.776,94,361.943,94,367.526,94L373.109,94" id="d4c0c6133c60e0204dark-L_D_E_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_D_E_0" data-points="W3sieCI6MzAyLjEwOTM3NSwieSI6OTR9LHsieCI6MzM5LjYwOTM3NSwieSI6OTR9LHsieCI6Mzc3LjEwOTM3NSwieSI6OTR9XQ==" data-look="classic" marker-end="url(#d4c0c6133c60e0204dark_flowchart-v2-pointEnd)"&gt;&lt;/path&gt;&lt;path d="M592.25,94L598.5,94C604.75,94,617.25,94,629.083,94C640.917,94,652.083,94,657.667,94L663.25,94" id="d4c0c6133c60e0204dark-L_E_F_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_E_F_0" data-points="W3sieCI6NTkyLjI1LCJ5Ijo5NH0seyJ4Ijo2MjkuNzUsInkiOjk0fSx7IngiOjY2Ny4yNSwieSI6OTR9XQ==" data-look="classic" marker-end="url(#d4c0c6133c60e0204dark_flowchart-v2-pointEnd)"&gt;&lt;/path&gt;&lt;path d="M927.25,94L933.5,94C939.75,94,952.25,94,964.083,94C975.917,94,987.083,94,992.667,94L998.25,94" id="d4c0c6133c60e0204dark-L_F_G_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_F_G_0" data-points="W3sieCI6OTI3LjI1LCJ5Ijo5NH0seyJ4Ijo5NjQuNzUsInkiOjk0fSx7IngiOjEwMDIuMjUsInkiOjk0fV0=" data-look="classic" marker-end="url(#d4c0c6133c60e0204dark_flowchart-v2-pointEnd)"&gt;&lt;/path&gt;&lt;path d="M1262.25,94L1268.5,94C1274.75,94,1287.25,94,1299.083,94C1310.917,94,1322.083,94,1327.667,94L1333.25,94" id="d4c0c6133c60e0204dark-L_G_H_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_G_H_0" data-points="W3sieCI6MTI2Mi4yNSwieSI6OTR9LHsieCI6MTI5OS43NSwieSI6OTR9LHsieCI6MTMzNy4yNSwieSI6OTR9XQ==" data-look="classic" marker-end="url(#d4c0c6133c60e0204dark_flowchart-v2-pointEnd)"&gt;&lt;/path&gt;&lt;/g&gt;&lt;g class="edgeLabels"&gt;&lt;g class="edgeLabel"&gt;&lt;g class="label" data-id="L_D_E_0" transform="translate(0, 0)"&gt;&lt;foreignObject width="0" height="0"&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"&gt;&lt;span class="edgeLabel"&gt;&lt;/span&gt;&lt;/div&gt;&lt;/foreignObject&gt;&lt;/g&gt;&lt;/g&gt;&lt;g class="edgeLabel"&gt;&lt;g class="label" data-id="L_E_F_0" transform="translate(0, 0)"&gt;&lt;foreignObject width="0" height="0"&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"&gt;&lt;span class="edgeLabel"&gt;&lt;/span&gt;&lt;/div&gt;&lt;/foreignObject&gt;&lt;/g&gt;&lt;/g&gt;&lt;g class="edgeLabel"&gt;&lt;g class="label" data-id="L_F_G_0" transform="translate(0, 0)"&gt;&lt;foreignObject width="0" height="0"&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"&gt;&lt;span class="edgeLabel"&gt;&lt;/span&gt;&lt;/div&gt;&lt;/foreignObject&gt;&lt;/g&gt;&lt;/g&gt;&lt;g class="edgeLabel"&gt;&lt;g class="label" data-id="L_G_H_0" transform="translate(0, 0)"&gt;&lt;foreignObject width="0" height="0"&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"&gt;&lt;span class="edgeLabel"&gt;&lt;/span&gt;&lt;/div&gt;&lt;/foreignObject&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;g class="nodes"&gt;&lt;g class="node default" id="d4c0c6133c60e0204dark-flowchart-D-3" data-look="classic" transform="translate(173.8046875, 94)"&gt;&lt;rect class="basic label-container" style="" x="-128.3046875" y="-27" width="256.609375" height="54"&gt;&lt;/rect&gt;&lt;g class="label" style="" transform="translate(-98.3046875, -12)"&gt;&lt;rect&gt;&lt;/rect&gt;&lt;foreignObject width="196.609375" height="24"&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"&gt;&lt;span class="nodeLabel"&gt;&lt;p&gt;htmx fetches the new page&lt;/p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/foreignObject&gt;&lt;/g&gt;&lt;/g&gt;&lt;g class="node default" id="d4c0c6133c60e0204dark-flowchart-E-4" data-look="classic" transform="translate(484.6796875, 94)"&gt;&lt;rect class="basic label-container" style="" x="-107.5703125" y="-27" width="215.140625" height="54"&gt;&lt;/rect&gt;&lt;g class="label" style="" transform="translate(-77.5703125, -12)"&gt;&lt;rect&gt;&lt;/rect&gt;&lt;foreignObject width="155.140625" height="24"&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"&gt;&lt;span class="nodeLabel"&gt;&lt;p&gt;swaps the BODY only&lt;/p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/foreignObject&gt;&lt;/g&gt;&lt;/g&gt;&lt;g class="node default" id="d4c0c6133c60e0204dark-flowchart-F-6" data-look="classic" transform="translate(797.25, 94)"&gt;&lt;rect class="basic label-container" style="" x="-130" y="-51" width="260" height="102"&gt;&lt;/rect&gt;&lt;g class="label" style="" transform="translate(-100, -36)"&gt;&lt;rect&gt;&lt;/rect&gt;&lt;foreignObject width="200" height="72"&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml" style="display: table; white-space: break-spaces; line-height: 1.5; max-width: 200px; text-align: center; width: 200px;"&gt;&lt;span class="nodeLabel"&gt;&lt;p&gt;the new head, and its&lt;br&gt;bundle script, never execute&lt;/p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/foreignObject&gt;&lt;/g&gt;&lt;/g&gt;&lt;g class="node default" id="d4c0c6133c60e0204dark-flowchart-G-8" data-look="classic" transform="translate(1132.25, 94)"&gt;&lt;rect class="basic label-container" style="" x="-130" y="-51" width="260" height="102"&gt;&lt;/rect&gt;&lt;g class="label" style="" transform="translate(-100, -36)"&gt;&lt;rect&gt;&lt;/rect&gt;&lt;foreignObject width="200" height="72"&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml" style="display: table; white-space: break-spaces; line-height: 1.5; max-width: 200px; text-align: center; width: 200px;"&gt;&lt;span class="nodeLabel"&gt;&lt;p&gt;typeof mermaid is undefined,&lt;br&gt;re-init guard silently skips&lt;/p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/foreignObject&gt;&lt;/g&gt;&lt;/g&gt;&lt;g class="node default" id="d4c0c6133c60e0204dark-flowchart-H-10" data-look="classic" transform="translate(1438.5625, 94)"&gt;&lt;rect class="basic label-container" style="" x="-101.3125" y="-39" width="202.625" height="78"&gt;&lt;/rect&gt;&lt;g class="label" style="" transform="translate(-71.3125, -24)"&gt;&lt;rect&gt;&lt;/rect&gt;&lt;foreignObject width="142.625" height="48"&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"&gt;&lt;span class="nodeLabel"&gt;&lt;p&gt;raw diagram source&lt;br&gt;on the page&lt;/p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/foreignObject&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;g class="root" transform="translate(1619.375, 12)"&gt;&lt;g class="clusters"&gt;&lt;g class="cluster" id="d4c0c6133c60e0204dark-L" data-look="classic"&gt;&lt;rect style="" x="8" y="8" width="869.609375" height="148"&gt;&lt;/rect&gt;&lt;g class="cluster-label" transform="translate(372.1796875, 8)"&gt;&lt;foreignObject width="141.25" height="24"&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5;"&gt;&lt;span class="nodeLabel"&gt;&lt;p&gt;direct load / refresh&lt;/p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/foreignObject&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;g class="edgePaths"&gt;&lt;path d="M290.828,82L297.078,82C303.328,82,315.828,82,327.661,82C339.495,82,350.661,82,356.245,82L361.828,82" id="d4c0c6133c60e0204dark-L_A_B_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_A_B_0" data-points="W3sieCI6MjkwLjgyODEyNSwieSI6ODJ9LHsieCI6MzI4LjMyODEyNSwieSI6ODJ9LHsieCI6MzY1LjgyODEyNSwieSI6ODJ9XQ==" data-look="classic" marker-end="url(#d4c0c6133c60e0204dark_flowchart-v2-pointEnd)"&gt;&lt;/path&gt;&lt;path d="M586.469,82L592.719,82C598.969,82,611.469,82,623.302,82C635.135,82,646.302,82,651.885,82L657.469,82" id="d4c0c6133c60e0204dark-L_B_C_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_B_C_0" data-points="W3sieCI6NTg2LjQ2ODc1LCJ5Ijo4Mn0seyJ4Ijo2MjMuOTY4NzUsInkiOjgyfSx7IngiOjY2MS40Njg3NSwieSI6ODJ9XQ==" data-look="classic" marker-end="url(#d4c0c6133c60e0204dark_flowchart-v2-pointEnd)"&gt;&lt;/path&gt;&lt;/g&gt;&lt;g class="edgeLabels"&gt;&lt;g class="edgeLabel"&gt;&lt;g class="label" data-id="L_A_B_0" transform="translate(0, 0)"&gt;&lt;foreignObject width="0" height="0"&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"&gt;&lt;span class="edgeLabel"&gt;&lt;/span&gt;&lt;/div&gt;&lt;/foreignObject&gt;&lt;/g&gt;&lt;/g&gt;&lt;g class="edgeLabel"&gt;&lt;g class="label" data-id="L_B_C_0" transform="translate(0, 0)"&gt;&lt;foreignObject width="0" height="0"&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"&gt;&lt;span class="edgeLabel"&gt;&lt;/span&gt;&lt;/div&gt;&lt;/foreignObject&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;g class="nodes"&gt;&lt;g class="node default" id="d4c0c6133c60e0204dark-flowchart-A-0" data-look="classic" transform="translate(168.1640625, 82)"&gt;&lt;rect class="basic label-container" style="" x="-122.6640625" y="-27" width="245.328125" height="54"&gt;&lt;/rect&gt;&lt;g class="label" style="" transform="translate(-92.6640625, -12)"&gt;&lt;rect&gt;&lt;/rect&gt;&lt;foreignObject width="185.328125" height="24"&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"&gt;&lt;span class="nodeLabel"&gt;&lt;p&gt;browser parses full HTML&lt;/p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/foreignObject&gt;&lt;/g&gt;&lt;/g&gt;&lt;g class="node default" id="d4c0c6133c60e0204dark-flowchart-B-1" data-look="classic" transform="translate(476.1484375, 82)"&gt;&lt;rect class="basic label-container" style="" x="-110.3203125" y="-39" width="220.640625" height="78"&gt;&lt;/rect&gt;&lt;g class="label" style="" transform="translate(-80.3203125, -24)"&gt;&lt;rect&gt;&lt;/rect&gt;&lt;foreignObject width="160.640625" height="48"&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"&gt;&lt;span class="nodeLabel"&gt;&lt;p&gt;head scripts execute,&lt;br&gt;mermaid bundle loads&lt;/p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/foreignObject&gt;&lt;/g&gt;&lt;/g&gt;&lt;g class="node default" id="d4c0c6133c60e0204dark-flowchart-C-2" data-look="classic" transform="translate(750.7890625, 82)"&gt;&lt;rect class="basic label-container" style="" x="-89.3203125" y="-27" width="178.640625" height="54"&gt;&lt;/rect&gt;&lt;g class="label" style="" transform="translate(-59.3203125, -12)"&gt;&lt;rect&gt;&lt;/rect&gt;&lt;foreignObject width="118.640625" height="24"&gt;&lt;div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"&gt;&lt;span class="nodeLabel"&gt;&lt;p&gt;diagram renders&lt;/p&gt;&lt;/span&gt;&lt;/div&gt;&lt;/foreignObject&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;/g&gt;&lt;defs&gt;&lt;filter id="d4c0c6133c60e0204dark-drop-shadow" height="130%" width="130%"&gt;&lt;feDropShadow dx="4" dy="4" stdDeviation="0" flood-opacity="0.06" flood-color="#FFFFFF"&gt;&lt;/feDropShadow&gt;&lt;/filter&gt;&lt;/defs&gt;&lt;defs&gt;&lt;filter id="d4c0c6133c60e0204dark-drop-shadow-small" height="150%" width="150%"&gt;&lt;feDropShadow dx="2" dy="2" stdDeviation="0" flood-opacity="0.06" flood-color="#FFFFFF"&gt;&lt;/feDropShadow&gt;&lt;/filter&gt;&lt;/defs&gt;&lt;linearGradient id="d4c0c6133c60e0204dark-gradient" gradientUnits="objectBoundingBox" x1="0%" y1="0%" x2="100%" y2="0%"&gt;&lt;stop offset="0%" stop-color="#cccccc" stop-opacity="1"&gt;&lt;/stop&gt;&lt;stop offset="100%" stop-color="hsl(180, 0%, 18.3529411765%)" stop-opacity="1"&gt;&lt;/stop&gt;&lt;/linearGradient&gt;&lt;/svg&gt;&lt;/div&gt;
&lt;p&gt;&lt;code&gt;hx-boost&lt;/code&gt; &lt;a href="https://htmx.org/attributes/hx-boost/" target="_blank" rel="noreferrer"&gt;replaces the body and updates the title&lt;/a&gt;; it does not merge the incoming head. So when you navigate from a page without diagrams to a page with them, the one script tag that would have loaded the mermaid bundle is in the part of the document that gets thrown away. My re-render code even had a guard, &lt;code&gt;if (typeof mermaid !== 'undefined')&lt;/code&gt;, which is exactly the kind of guard that turns a loud failure into a silent one. It skipped, politely, every time.&lt;/p&gt;
&lt;p&gt;Direct loads worked because the full document parses normally. Which is why months of my own testing missed it: I test pages by URL. Readers arrive by link.&lt;/p&gt;

&lt;h2 class="relative group"&gt;The fix: steal the bundle URL from the response you already have
 &lt;div id="the-fix-steal-the-bundle-url-from-the-response-you-already-have" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#the-fix-steal-the-bundle-url-from-the-response-you-already-have" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;p&gt;The swapped-in page&amp;rsquo;s HTML passes through htmx&amp;rsquo;s hands, head included, before the body is extracted. The fix reads the bundle URL out of that response and injects the script once:&lt;/p&gt;
&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-js" data-lang="js"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nx"&gt;ensureVendorThenRender&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;evt&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;srcPattern&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;isReady&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;render&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;isReady&lt;/span&gt;&lt;span class="p"&gt;())&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;render&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt; &lt;span class="k"&gt;return&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;xhr&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;evt&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="nx"&gt;evt&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;detail&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="nx"&gt;evt&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;detail&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;xhr&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;html&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;xhr&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="nx"&gt;xhr&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;responseText&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;match&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;html&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="nx"&gt;html&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;match&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;srcPattern&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;!&lt;/span&gt;&lt;span class="nx"&gt;match&lt;/span&gt; &lt;span class="o"&gt;||&lt;/span&gt; &lt;span class="nx"&gt;injectedVendors&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;match&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;]])&lt;/span&gt; &lt;span class="k"&gt;return&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;injectedVendors&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;match&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;]]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;s&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;document&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;createElement&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;script&amp;#34;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;s&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;src&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;match&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;];&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;s&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;onload&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;render&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nb"&gt;document&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;head&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;appendChild&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;s&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;Called from the &lt;code&gt;htmx:afterSettle&lt;/code&gt; handler with a pattern like &lt;code&gt;/\/js\/mermaid\.bundle\.[^&amp;quot;']+\.js/&lt;/code&gt;, once per library. Fingerprinted filenames come along for free since the pattern matches whatever hash the current build produced.&lt;/p&gt;
&lt;p&gt;Charts needed a second layer. The theme&amp;rsquo;s chart shortcode wraps its &lt;code&gt;new Chart(...)&lt;/code&gt; call in a &lt;code&gt;DOMContentLoaded&lt;/code&gt; listener, and after an htmx swap that event is ancient history; the listener registers and waits forever. So the chart path re-inserts each inline chart script with &lt;code&gt;addEventListener&lt;/code&gt; temporarily patched to invoke &lt;code&gt;DOMContentLoaded&lt;/code&gt; callbacks immediately, plus a &lt;code&gt;Chart.getChart()&lt;/code&gt; check so nothing draws twice. It is not elegant. It is honest about the constraint: the shortcode&amp;rsquo;s markup is the theme&amp;rsquo;s, and the fix has to meet it where it is.&lt;/p&gt;
&lt;p&gt;If you want the pattern&amp;rsquo;s shape as a takeaway: &lt;strong&gt;conditionally loaded assets and partial navigation are individually fine and jointly broken, and neither feature&amp;rsquo;s documentation will warn you about the other.&lt;/strong&gt; Any site combining per-page bundles with hx-boost, Turbo, or SPA-style routing has this class of bug available to it.&lt;/p&gt;

&lt;h2 class="relative group"&gt;The tests were their own debugging story
 &lt;div id="the-tests-were-their-own-debugging-story" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#the-tests-were-their-own-debugging-story" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;p&gt;I added three Playwright regression tests, each walking the failing path on purpose: land on a listing page without the library, click through to a post with it, assert the rendered artifact exists (&lt;code&gt;pre.mermaid svg&lt;/code&gt;, &lt;code&gt;.katex&lt;/code&gt;, a live &lt;code&gt;Chart.getChart()&lt;/code&gt; instance). Two traps surfaced on the way, and they cost more time than the fix itself.&lt;/p&gt;
&lt;p&gt;First, the clicks kept landing on the wrong page. Blowfish&amp;rsquo;s article cards stretch the post link across the whole card and stack tag links on top of it, and Playwright&amp;rsquo;s coordinate-based click aimed at the card&amp;rsquo;s center, which happened to be a tag chip. The katex test spent several runs waiting for math on &lt;code&gt;/tags/georgia-tech/&lt;/code&gt;. The cure is &lt;code&gt;locator.dispatchEvent('click')&lt;/code&gt;, which delivers the event to the exact anchor regardless of what floats above it, plus a &lt;code&gt;waitForURL&lt;/code&gt; assertion so a wrong destination fails fast with a readable error instead of a timeout.&lt;/p&gt;
&lt;p&gt;Second, my shell habit was eating the exit code. &lt;code&gt;npx playwright test | tail&lt;/code&gt; reports &lt;code&gt;tail&lt;/code&gt;&amp;rsquo;s status, which is always zero, and a failing suite sailed through my terminal looking green twice before I noticed. Redirect to a file and check the real exit code. CI was never fooled, because CI does not pipe; only my eyeballs were.&lt;/p&gt;
&lt;p&gt;The affected pages, for the record, included every post in my &lt;a href="https://nick-liu.com/posts/ml-gradient-descent/" &gt;ML math series&lt;/a&gt; and the diagram in the &lt;a href="https://nick-liu.com/posts/first-claude-code-hook/" &gt;hooks post&lt;/a&gt;. All fixed by the same three functions, all guarded by the same three tests.&lt;/p&gt;

&lt;h2 class="relative group"&gt;Lessons
 &lt;div id="lessons" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#lessons" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Per-page asset loading plus body-swap navigation is a bug class, not a bug. If your head is conditional and your navigation is partial, budget for the collision.&lt;/li&gt;
&lt;li&gt;A &lt;code&gt;typeof x !== 'undefined'&lt;/code&gt; guard converts a crash you would notice into a skip you will not. Guards need a fallback path, not just an exit.&lt;/li&gt;
&lt;li&gt;Test the click path, not only the URL path. Direct loads exercise the document pipeline; in-site navigation exercises a completely different one.&lt;/li&gt;
&lt;li&gt;In tests, dispatch events to the element you mean. Coordinate clicks trust the visual stack, and the visual stack lies on layered layouts.&lt;/li&gt;
&lt;li&gt;Never pipe a test runner&amp;rsquo;s output when you care about its exit code.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 class="relative group"&gt;References
 &lt;div id="references" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#references" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://htmx.org/attributes/hx-boost/" target="_blank" rel="noreferrer"&gt;htmx: hx-boost attribute&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.chartjs.org/docs/latest/developers/api.html" target="_blank" rel="noreferrer"&gt;Chart.js: Chart.getChart API&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://playwright.dev/docs/api/class-locator#locator-dispatch-event" target="_blank" rel="noreferrer"&gt;Playwright: dispatchEvent&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;The fix and tests: &lt;code&gt;layouts/partials/extend-footer.html&lt;/code&gt; and &lt;code&gt;tests/site-enhancements.spec.ts&lt;/code&gt; in this site&amp;rsquo;s repo&lt;/li&gt;
&lt;/ul&gt;</content:encoded></item></channel></rss>