{"id":2166,"date":"2026-07-23T10:00:00","date_gmt":"2026-07-23T10:00:00","guid":{"rendered":"https:\/\/muzi.tw\/thinking\/zero-hits-tmp-en-us\/"},"modified":"2026-10-02T05:29:07","modified_gmt":"2026-10-02T05:29:07","slug":"zero-hits","status":"publish","type":"post","link":"https:\/\/muzi.tw\/en\/thinking\/zero-hits\/","title":{"rendered":"Not finding it doesn&#8217;t mean it isn&#8217;t there"},"content":{"rendered":"<p class=\"mz-nt-lead\">When a search reports zero hits, it&#8217;s easy to read that as &#8220;this doesn&#8217;t exist.&#8221;<\/p>\n<p>All it really says is: in the scope I looked at this time, written this way, I didn&#8217;t find it.<\/p>\n<h2>Three ways to get a quiet zero<\/h2>\n<p>The tool skipped some files. The built-in search in version control skips files it decides are binary by default, and it may decide that from the first few bytes. A log file with one record per line is easily mistaken for binary and skipped entirely, with no notice.<\/p>\n<p>The scope isn&#8217;t what you think. Ignore rules, path arguments, default search depth: any one of them can leave the search covering only half of what you meant.<\/p>\n<p>You wrote it differently from the content. Chinese file names turn into percent-encoding inside links, and identifiers in config files may carry quotes or escape characters. A literal search only finds the literal.<\/p>\n<h2>We almost deleted the wrong thing<\/h2>\n<p>That zero was being used as evidence that nothing referenced the file, so it could be deleted.<\/p>\n<p>In fact a log file did reference it. That log had simply been skipped as binary. If we had deleted the file based on the zero, we would have removed something still in use, and it would have been a long time before anyone noticed.<\/p>\n<h2>What we do now<\/h2>\n<p>When a search comes back with zero, we treat it as a signal to look again, not as a conclusion.<\/p>\n<p>To say something doesn&#8217;t exist, at least two methods that work on different principles both have to come up empty. One matches the literal text. The other comes at it from another angle, for example dumping the whole file and filtering it, which goes around the judgment the tool made on its own.<\/p>\n<p>To prove something exists, finding one is enough. To prove it doesn&#8217;t, you have to have looked in every corner.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>A repo-wide search returned zero hits, and we nearly reversed an earlier decision because of it.<\/p>\n","protected":false},"author":1,"featured_media":1028,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_post_was_ever_published":true},"categories":[30],"tags":[],"class_list":["post-2166","post","type-post","status-publish","format-standard","has-post-thumbnail","category-craft-notes-en-us"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.7 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Not finding it doesn&#039;t mean it isn&#039;t there - Muzi Studio<\/title>\n<meta name=\"description\" content=\"A repo-wide search returned zero hits, and we nearly reversed an earlier decision because of it.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/muzi.tw\/en\/thinking\/zero-hits\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Not finding it doesn&#039;t mean it isn&#039;t there - Muzi Studio\" \/>\n<meta property=\"og:description\" content=\"A repo-wide search returned zero hits, and we nearly reversed an earlier decision because of it.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/muzi.tw\/en\/thinking\/zero-hits\/\" \/>\n<meta property=\"og:site_name\" content=\"Muzi Studio\" \/>\n<meta property=\"article:published_time\" content=\"2026-07-23T10:00:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-10-02T05:29:07+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/muzi.tw\/wp-content\/uploads\/2026\/09\/muzi-nt-zero-hits-bd7dfb4b.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1800\" \/>\n\t<meta property=\"og:image:height\" content=\"1004\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"admin\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/muzi.tw\\\/en\\\/thinking\\\/zero-hits\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/muzi.tw\\\/en\\\/thinking\\\/zero-hits\\\/\"},\"author\":{\"@id\":\"https:\\\/\\\/muzi.tw\\\/en\\\/#organization\"},\"headline\":\"Not finding it doesn&#8217;t mean it isn&#8217;t there\",\"datePublished\":\"2026-07-23T10:00:00+00:00\",\"dateModified\":\"2026-10-02T05:29:07+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/muzi.tw\\\/en\\\/thinking\\\/zero-hits\\\/\"},\"wordCount\":332,\"publisher\":{\"@id\":\"https:\\\/\\\/muzi.tw\\\/en\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/muzi.tw\\\/en\\\/thinking\\\/zero-hits\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/muzi.tw\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/muzi-nt-zero-hits-bd7dfb4b.jpg\",\"articleSection\":[\"Craft &amp; Tools\"],\"inLanguage\":\"en\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/muzi.tw\\\/en\\\/thinking\\\/zero-hits\\\/\",\"url\":\"https:\\\/\\\/muzi.tw\\\/en\\\/thinking\\\/zero-hits\\\/\",\"name\":\"Not finding it doesn't mean it isn't there - Muzi Studio\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/muzi.tw\\\/en\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/muzi.tw\\\/en\\\/thinking\\\/zero-hits\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/muzi.tw\\\/en\\\/thinking\\\/zero-hits\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/muzi.tw\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/muzi-nt-zero-hits-bd7dfb4b.jpg\",\"datePublished\":\"2026-07-23T10:00:00+00:00\",\"dateModified\":\"2026-10-02T05:29:07+00:00\",\"description\":\"A repo-wide search returned zero hits, and we nearly reversed an earlier decision because of it.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/muzi.tw\\\/en\\\/thinking\\\/zero-hits\\\/#breadcrumb\"},\"inLanguage\":\"en\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/muzi.tw\\\/en\\\/thinking\\\/zero-hits\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en\",\"@id\":\"https:\\\/\\\/muzi.tw\\\/en\\\/thinking\\\/zero-hits\\\/#primaryimage\",\"url\":\"https:\\\/\\\/muzi.tw\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/muzi-nt-zero-hits-bd7dfb4b.jpg\",\"contentUrl\":\"https:\\\/\\\/muzi.tw\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/muzi-nt-zero-hits-bd7dfb4b.jpg\",\"width\":1800,\"height\":1004,\"caption\":\"A perforated metal plate next to a closed box\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/muzi.tw\\\/en\\\/thinking\\\/zero-hits\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/muzi.tw\\\/en\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Not finding it doesn&#8217;t mean it isn&#8217;t there\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/muzi.tw\\\/en\\\/#website\",\"url\":\"https:\\\/\\\/muzi.tw\\\/en\\\/\",\"name\":\"Muzi Studio\",\"description\":\"Muzi Studio\",\"publisher\":{\"@id\":\"https:\\\/\\\/muzi.tw\\\/en\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/muzi.tw\\\/en\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/muzi.tw\\\/en\\\/#organization\",\"name\":\"Muzi Studio\",\"url\":\"https:\\\/\\\/muzi.tw\\\/en\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en\",\"@id\":\"https:\\\/\\\/muzi.tw\\\/en\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/muzi.tw\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/muzi-logo-512.png\",\"contentUrl\":\"https:\\\/\\\/muzi.tw\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/muzi-logo-512.png\",\"width\":512,\"height\":512,\"caption\":\"Muzi Studio\"},\"image\":{\"@id\":\"https:\\\/\\\/muzi.tw\\\/en\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"email\":\"hello@muzi.tw\",\"description\":\"A brand, web and content studio in Taipei and Tokyo. We look at your growth goals and where you are today before deciding whether design needs to change.\",\"areaServed\":[\"Taiwan\",\"Japan\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Not finding it doesn't mean it isn't there - Muzi Studio","description":"A repo-wide search returned zero hits, and we nearly reversed an earlier decision because of it.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/muzi.tw\/en\/thinking\/zero-hits\/","og_locale":"en_US","og_type":"article","og_title":"Not finding it doesn't mean it isn't there - Muzi Studio","og_description":"A repo-wide search returned zero hits, and we nearly reversed an earlier decision because of it.","og_url":"https:\/\/muzi.tw\/en\/thinking\/zero-hits\/","og_site_name":"Muzi Studio","article_published_time":"2026-07-23T10:00:00+00:00","article_modified_time":"2026-10-02T05:29:07+00:00","og_image":[{"width":1800,"height":1004,"url":"https:\/\/muzi.tw\/wp-content\/uploads\/2026\/09\/muzi-nt-zero-hits-bd7dfb4b.jpg","type":"image\/jpeg"}],"author":"admin","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/muzi.tw\/en\/thinking\/zero-hits\/#article","isPartOf":{"@id":"https:\/\/muzi.tw\/en\/thinking\/zero-hits\/"},"author":{"@id":"https:\/\/muzi.tw\/en\/#organization"},"headline":"Not finding it doesn&#8217;t mean it isn&#8217;t there","datePublished":"2026-07-23T10:00:00+00:00","dateModified":"2026-10-02T05:29:07+00:00","mainEntityOfPage":{"@id":"https:\/\/muzi.tw\/en\/thinking\/zero-hits\/"},"wordCount":332,"publisher":{"@id":"https:\/\/muzi.tw\/en\/#organization"},"image":{"@id":"https:\/\/muzi.tw\/en\/thinking\/zero-hits\/#primaryimage"},"thumbnailUrl":"https:\/\/muzi.tw\/wp-content\/uploads\/2026\/09\/muzi-nt-zero-hits-bd7dfb4b.jpg","articleSection":["Craft &amp; Tools"],"inLanguage":"en"},{"@type":"WebPage","@id":"https:\/\/muzi.tw\/en\/thinking\/zero-hits\/","url":"https:\/\/muzi.tw\/en\/thinking\/zero-hits\/","name":"Not finding it doesn't mean it isn't there - Muzi Studio","isPartOf":{"@id":"https:\/\/muzi.tw\/en\/#website"},"primaryImageOfPage":{"@id":"https:\/\/muzi.tw\/en\/thinking\/zero-hits\/#primaryimage"},"image":{"@id":"https:\/\/muzi.tw\/en\/thinking\/zero-hits\/#primaryimage"},"thumbnailUrl":"https:\/\/muzi.tw\/wp-content\/uploads\/2026\/09\/muzi-nt-zero-hits-bd7dfb4b.jpg","datePublished":"2026-07-23T10:00:00+00:00","dateModified":"2026-10-02T05:29:07+00:00","description":"A repo-wide search returned zero hits, and we nearly reversed an earlier decision because of it.","breadcrumb":{"@id":"https:\/\/muzi.tw\/en\/thinking\/zero-hits\/#breadcrumb"},"inLanguage":"en","potentialAction":[{"@type":"ReadAction","target":["https:\/\/muzi.tw\/en\/thinking\/zero-hits\/"]}]},{"@type":"ImageObject","inLanguage":"en","@id":"https:\/\/muzi.tw\/en\/thinking\/zero-hits\/#primaryimage","url":"https:\/\/muzi.tw\/wp-content\/uploads\/2026\/09\/muzi-nt-zero-hits-bd7dfb4b.jpg","contentUrl":"https:\/\/muzi.tw\/wp-content\/uploads\/2026\/09\/muzi-nt-zero-hits-bd7dfb4b.jpg","width":1800,"height":1004,"caption":"A perforated metal plate next to a closed box"},{"@type":"BreadcrumbList","@id":"https:\/\/muzi.tw\/en\/thinking\/zero-hits\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/muzi.tw\/en\/"},{"@type":"ListItem","position":2,"name":"Not finding it doesn&#8217;t mean it isn&#8217;t there"}]},{"@type":"WebSite","@id":"https:\/\/muzi.tw\/en\/#website","url":"https:\/\/muzi.tw\/en\/","name":"Muzi Studio","description":"Muzi Studio","publisher":{"@id":"https:\/\/muzi.tw\/en\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/muzi.tw\/en\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en"},{"@type":"Organization","@id":"https:\/\/muzi.tw\/en\/#organization","name":"Muzi Studio","url":"https:\/\/muzi.tw\/en\/","logo":{"@type":"ImageObject","inLanguage":"en","@id":"https:\/\/muzi.tw\/en\/#\/schema\/logo\/image\/","url":"https:\/\/muzi.tw\/wp-content\/uploads\/2026\/09\/muzi-logo-512.png","contentUrl":"https:\/\/muzi.tw\/wp-content\/uploads\/2026\/09\/muzi-logo-512.png","width":512,"height":512,"caption":"Muzi Studio"},"image":{"@id":"https:\/\/muzi.tw\/en\/#\/schema\/logo\/image\/"},"email":"hello@muzi.tw","description":"A brand, web and content studio in Taipei and Tokyo. We look at your growth goals and where you are today before deciding whether design needs to change.","areaServed":["Taiwan","Japan"]}]}},"jetpack_sharing_enabled":true,"jetpack_featured_media_url":"https:\/\/muzi.tw\/wp-content\/uploads\/2026\/09\/muzi-nt-zero-hits-bd7dfb4b.jpg","_links":{"self":[{"href":"https:\/\/muzi.tw\/en\/wp-json\/wp\/v2\/posts\/2166","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/muzi.tw\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/muzi.tw\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/muzi.tw\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/muzi.tw\/en\/wp-json\/wp\/v2\/comments?post=2166"}],"version-history":[{"count":3,"href":"https:\/\/muzi.tw\/en\/wp-json\/wp\/v2\/posts\/2166\/revisions"}],"predecessor-version":[{"id":2622,"href":"https:\/\/muzi.tw\/en\/wp-json\/wp\/v2\/posts\/2166\/revisions\/2622"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/muzi.tw\/en\/wp-json\/wp\/v2\/media\/1028"}],"wp:attachment":[{"href":"https:\/\/muzi.tw\/en\/wp-json\/wp\/v2\/media?parent=2166"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/muzi.tw\/en\/wp-json\/wp\/v2\/categories?post=2166"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/muzi.tw\/en\/wp-json\/wp\/v2\/tags?post=2166"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}