diff --git a/AGENTS.md b/AGENTS.md new file mode 100644 index 00000000..cdc4b10b --- /dev/null +++ b/AGENTS.md @@ -0,0 +1,9 @@ +# FNA_V3维护入口 + +## FNA 静态配图副本 + +2026-10-30起Resource保留原稿、图池和固定分配,FNA保存按内容去重的公开展示副本,由本站Nginx直接提供。同步、创建时校验、撤回、缓存与部署验收唯一正文见[静态配图副本](docs/maintenance/LOCAL_ILLUSTRATIONS.md)。用户访问图片不调用Resource、不执行PHP修复。 + +## AI 文章写作(必读) + +文章写作和发布先读docs/content/WRITING.md及docs/maintenance/EDITORIAL_API.md。项目身份和访问边界先读GemDocs AI版项目总览、维护协议及10-项目/fna_v3.md。 diff --git a/docs/maintenance/ILLUSTRATIONS.md b/docs/maintenance/ILLUSTRATIONS.md index ae4be033..83ebe84f 100644 --- a/docs/maintenance/ILLUSTRATIONS.md +++ b/docs/maintenance/ILLUSTRATIONS.md @@ -1,5 +1,7 @@ # 本地插画资源与配图 +当前展示架构已于2026-10-30改为FNA独立静态副本;Resource仍管理原稿、图池与固定分配。新建文章、同步、退役和当前验收统一见[静态配图副本](LOCAL_ILLUSTRATIONS.md)。下文此前动态媒体访问及分配数量属于历史记录。 + 2026-10-27修正此前错误的本地配图实现。当前状态(2026-10-29):本地、独立test与正式cfn均已接入;正式资源为https://resource-v2.gemcook.net,22猫/15狗,84/90篇固定分配与test逐项一致。正式消费者仅fna-v3项目read/write,test仍独立只读。部署、备份、权限与323项服务器验收统一见[正式切换](RELEASE_PREFLIGHT_2026-10-28.md#正式切换2026-10-29)。下文“仅本地/正式未切换”为此前历史状态。 素材及图池事实由 [Resource V2 插画集合说明](/Users/hellcat/Documents/GemCodes/resource.loc/v2/docs/CFN_ILLUSTRATIONS.md) 维护,本页维护FNA_V3消费方式。仅本地,未提交、推送或部署。此前“只用12张猫图替换显示”没有完成原图池扩充;旧哈希算法也没有避免连续重复,相关旧验收不足以证明需求已完成。 diff --git a/docs/maintenance/LOCAL_ILLUSTRATIONS.md b/docs/maintenance/LOCAL_ILLUSTRATIONS.md index 1395d8ec..c91db8b3 100644 --- a/docs/maintenance/LOCAL_ILLUSTRATIONS.md +++ b/docs/maintenance/LOCAL_ILLUSTRATIONS.md @@ -36,4 +36,12 @@ ## 部署与恢复 回退仅关闭LOCAL_ILLUSTRATIONS_MIRROR_ENABLED并清配置/响应缓存,恢复原Resource显示路径;保留副本及Resource引用,不删除资产或回灌整库。新接收文章原始sThumb可能已经是本地URL,回退时继续保留静态文件和location。不要通过直接删除图片测试生产修复。 -当前执行状态以本文件后续验收记录为准,不把实现文件存在写成已部署。 +## 2026-10-30 执行与验收 + +功能提交`ce27dbdd1eb206a9b7e7ac9b5a1c77778ed75e03`,基于最新正式`f315215f6f64cf1b200d67fc426a9071ff557a09`隔离构造并已推送`codex/static-illustrations-20261030`。保留已上线年度点赞及并行生成模板;没有复制本地旧Git历史或广告实现。 + +本地已启用,37张副本覆盖160篇;35项测试/277断言通过,涵盖下载校验、去重、失败原子性、并发分配、无网络读取,以及camelCase `sThumb`在模型/数组/JSON中的一致性。对外返回本站绝对URL,清单只存相对路径;侧栏缓存随同步清理。 + +test与正式均按同一功能提交部署。test 37张覆盖174篇,283项服务器检查通过,含关闭Resource客户端后的无缓存页面验证。正式37张覆盖176篇,246项服务器检查通过,正文/标题/slug/原始缩略图及年度点赞参数的部署前后摘要一致。最终HTTP、完整文件SHA、缓存/304/404、全量模型与数组同源图片、页面及真实接收helper既有分配重放结果见[本次发布回执](STATIC_ILLUSTRATIONS_RELEASE_2026-10-30.json)。未执行真实新文章接收、通知或IndexNow,未做线上页面验收。 + +VPS-003私有恢复点`/root/backups/cfn-static-illustrations-20261030/`保存原环境、Nginx、部署前身份摘要和逐项验收JSON。运行位置:正式`/www/wwwroot/clashfreenode-new.com`,test`/www/wwwroot/fna-v3-test`;两者独立目录和清单,静态location分别引入`/etc/nginx/snippets/fna-illustrations-production.conf`和`fna-illustrations-staging.conf`。新增目录由nginx写入,公开文件0644/目录0755,私有清单0600/目录0700。Source代码及其37张原文件保持原位;未新增定时同步或清理任务。 diff --git a/docs/maintenance/RELEASE_PREFLIGHT_2026-10-28.md b/docs/maintenance/RELEASE_PREFLIGHT_2026-10-28.md index 4daab47a..1a0f13a5 100644 --- a/docs/maintenance/RELEASE_PREFLIGHT_2026-10-28.md +++ b/docs/maintenance/RELEASE_PREFLIGHT_2026-10-28.md @@ -128,3 +128,7 @@ ## 文章点赞增量发布(2026-10-29) 用户随后授权上线新增一次性年度额度,并补齐未配置教程。正式cfn应用提交更新为`ea394987069cc0e7a980c60ebe2dc845c03b5fbe`(已推送`codex/article-like-growth-20261029`);本次仅点赞功能、指定三列迁移及关联规范,不携带广告、其他本地修改或Resource变更。10篇教程已补缺项,原7篇既有参数保留,3篇全0新文补全默认值,184篇文章及174篇非编辑资源数据保留。现有调度仍每分钟唤起Laravel、业务任务每5分钟运行;为修复已存在的文件缓存权限问题,只有该站调度PHP改由nginx用户执行,并恢复6个root缓存项归属。以nginx运行已成功。 恢复点为VPS-003:/root/backups/cfn-likes-20261029/;精确额度、验证、当前文档提交及回退唯一正文见[文章自动点赞维护](ARTICLE_LIKES.md)和[发布回执](ARTICLE_LIKES_RELEASE_2026-10-29.json)。服务器侧HTTP通过,未做线上页面验收。test保持原部署,本次没有重新启用编辑API或改动统计、广告、配图授权。 + +## 静态配图副本增量发布(2026-10-30) + +功能提交`ce27dbdd1eb206a9b7e7ac9b5a1c77778ed75e03`已推送并部署test和正式,基于最新正式f315215保留年度点赞及并行生成模板;未发布广告。Resource保留素材/图池/分配,FNA保存按SHA去重的公开副本,Nginx直接提供。37份文件覆盖正式176篇、test174篇;35项/277断言自动测试、test283项及正式246项服务器检查均通过。正文/原始字段和年度点赞参数摘要不变,未新增后台任务或Resource权限。机制、恢复点和退役边界见[静态配图维护](LOCAL_ILLUSTRATIONS.md),逐项回执见[验收JSON](STATIC_ILLUSTRATIONS_RELEASE_2026-10-30.json)。已完成服务器侧验收,未做线上页面验收。 diff --git a/docs/maintenance/STATIC_ILLUSTRATIONS_RELEASE_2026-10-30.json b/docs/maintenance/STATIC_ILLUSTRATIONS_RELEASE_2026-10-30.json new file mode 100644 index 00000000..0b6ab94f --- /dev/null +++ b/docs/maintenance/STATIC_ILLUSTRATIONS_RELEASE_2026-10-30.json @@ -0,0 +1 @@ +{"staging": {"deployment": {"old_head": "76141453bbdbd14b13c69647c14226bae7250afc", "commit": "ce27dbdd1eb206a9b7e7ac9b5a1c77778ed75e03", "environment": "staging", "started_at": "2026-10-30T04:09:11Z", "identity": {"articles": 184, "core_sha256": "ca542384a1421a8770fc5d708114ab03d54086a513ea0741188ea7da0f67f6f7", "year_plans_sha256": null}, "status": "deployed", "final_sync": {"assets": 37, "selections": {"freenode": 84, "shadowrocketids": 90}, "pending": []}, "finished_at": "2026-10-30T04:11:01Z", "serialization_compatibility": true}, "verification": {"environment": "staging", "base_url": "https://test.clashfreenode.com", "commit": "ce27dbdd1eb206a9b7e7ac9b5a1c77778ed75e03", "checks": [{"check": "exact pushed commit", "passed": true, "detail": null}, {"check": "37 reviewed assets mirrored", "passed": true, "detail": null}, {"check": "one file per unique content hash", "passed": true, "detail": 37}, {"check": "local URL is content addressed", "passed": true, "detail": null}, {"check": "local bytes 7a11aea78504facad661c8577b573be6d7d2ab38d2264f9f703fbcd6e9663287.jpg", "passed": true, "detail": null}, {"check": "Nginx delivery 7a11aea78504facad661c8577b573be6d7d2ab38d2264f9f703fbcd6e9663287.jpg", "passed": true, "detail": 200}, {"check": "HTTP bytes 7a11aea78504facad661c8577b573be6d7d2ab38d2264f9f703fbcd6e9663287.jpg", "passed": true, "detail": null}, {"check": "public immutable success cache 7a11aea78504facad661c8577b573be6d7d2ab38d2264f9f703fbcd6e9663287.jpg", "passed": true, "detail": "public, max-age=31536000, immutable"}, {"check": "conditional response metadata 7a11aea78504facad661c8577b573be6d7d2ab38d2264f9f703fbcd6e9663287.jpg", "passed": true, "detail": null}, {"check": "staging image noindex 7a11aea78504facad661c8577b573be6d7d2ab38d2264f9f703fbcd6e9663287.jpg", "passed": true, "detail": null}, {"check": "local URL is content addressed", "passed": true, "detail": null}, {"check": "local bytes 342b38385bbca08ef00b1c373b3efa39d7bf255ae37418c2d13881d5b0f8d451.webp", "passed": true, "detail": null}, {"check": "Nginx delivery 342b38385bbca08ef00b1c373b3efa39d7bf255ae37418c2d13881d5b0f8d451.webp", "passed": true, "detail": 200}, {"check": "HTTP bytes 342b38385bbca08ef00b1c373b3efa39d7bf255ae37418c2d13881d5b0f8d451.webp", "passed": true, "detail": null}, {"check": "public immutable success cache 342b38385bbca08ef00b1c373b3efa39d7bf255ae37418c2d13881d5b0f8d451.webp", "passed": true, "detail": "public, max-age=31536000, immutable"}, {"check": "conditional response metadata 342b38385bbca08ef00b1c373b3efa39d7bf255ae37418c2d13881d5b0f8d451.webp", "passed": true, "detail": null}, {"check": "staging image noindex 342b38385bbca08ef00b1c373b3efa39d7bf255ae37418c2d13881d5b0f8d451.webp", "passed": true, "detail": null}, {"check": "local URL is content addressed", "passed": true, "detail": null}, {"check": "local bytes 0430cc5c9645fda3042b04c23296eb09b5cf6eddf7a8050cfff93c88f0d0ef36.jpg", "passed": true, "detail": null}, {"check": "Nginx delivery 0430cc5c9645fda3042b04c23296eb09b5cf6eddf7a8050cfff93c88f0d0ef36.jpg", "passed": true, "detail": 200}, {"check": "HTTP bytes 0430cc5c9645fda3042b04c23296eb09b5cf6eddf7a8050cfff93c88f0d0ef36.jpg", "passed": true, "detail": null}, {"check": "public immutable success cache 0430cc5c9645fda3042b04c23296eb09b5cf6eddf7a8050cfff93c88f0d0ef36.jpg", "passed": true, "detail": "public, max-age=31536000, immutable"}, {"check": "conditional response metadata 0430cc5c9645fda3042b04c23296eb09b5cf6eddf7a8050cfff93c88f0d0ef36.jpg", "passed": true, "detail": null}, {"check": "staging image noindex 0430cc5c9645fda3042b04c23296eb09b5cf6eddf7a8050cfff93c88f0d0ef36.jpg", "passed": true, "detail": null}, {"check": "local URL is content addressed", "passed": true, "detail": null}, {"check": "local bytes a79280393554d05df80a8936758cdea70b98a5fa539becc0240e339c8990068b.webp", "passed": true, "detail": null}, {"check": "Nginx delivery a79280393554d05df80a8936758cdea70b98a5fa539becc0240e339c8990068b.webp", "passed": true, "detail": 200}, {"check": "HTTP bytes a79280393554d05df80a8936758cdea70b98a5fa539becc0240e339c8990068b.webp", "passed": true, "detail": null}, {"check": "public immutable success cache a79280393554d05df80a8936758cdea70b98a5fa539becc0240e339c8990068b.webp", "passed": true, "detail": "public, max-age=31536000, immutable"}, {"check": "conditional response metadata a79280393554d05df80a8936758cdea70b98a5fa539becc0240e339c8990068b.webp", "passed": true, "detail": null}, {"check": "staging image noindex a79280393554d05df80a8936758cdea70b98a5fa539becc0240e339c8990068b.webp", "passed": true, "detail": null}, {"check": "local URL is content addressed", "passed": true, "detail": null}, {"check": "local bytes dcbab844e9f2f2b94ad71c9fd0c751e5b83dc8983d9aebf5a78f4e8399379fd7.jpg", "passed": true, "detail": null}, {"check": "Nginx delivery dcbab844e9f2f2b94ad71c9fd0c751e5b83dc8983d9aebf5a78f4e8399379fd7.jpg", "passed": true, "detail": 200}, {"check": "HTTP bytes dcbab844e9f2f2b94ad71c9fd0c751e5b83dc8983d9aebf5a78f4e8399379fd7.jpg", "passed": true, "detail": null}, {"check": "public immutable success cache dcbab844e9f2f2b94ad71c9fd0c751e5b83dc8983d9aebf5a78f4e8399379fd7.jpg", "passed": true, "detail": "public, max-age=31536000, immutable"}, {"check": "conditional response metadata dcbab844e9f2f2b94ad71c9fd0c751e5b83dc8983d9aebf5a78f4e8399379fd7.jpg", "passed": true, "detail": null}, {"check": "staging image noindex dcbab844e9f2f2b94ad71c9fd0c751e5b83dc8983d9aebf5a78f4e8399379fd7.jpg", "passed": true, "detail": null}, {"check": "local URL is content addressed", "passed": true, "detail": null}, {"check": "local bytes 3c182a67111333f4f2b365d73eba0370b25a78879beba0aca5a19cba5f0b686d.webp", "passed": true, "detail": null}, {"check": "Nginx delivery 3c182a67111333f4f2b365d73eba0370b25a78879beba0aca5a19cba5f0b686d.webp", "passed": true, "detail": 200}, {"check": "HTTP bytes 3c182a67111333f4f2b365d73eba0370b25a78879beba0aca5a19cba5f0b686d.webp", "passed": true, "detail": null}, {"check": "public immutable success cache 3c182a67111333f4f2b365d73eba0370b25a78879beba0aca5a19cba5f0b686d.webp", "passed": true, "detail": "public, max-age=31536000, immutable"}, {"check": "conditional response metadata 3c182a67111333f4f2b365d73eba0370b25a78879beba0aca5a19cba5f0b686d.webp", "passed": true, "detail": null}, {"check": "staging image noindex 3c182a67111333f4f2b365d73eba0370b25a78879beba0aca5a19cba5f0b686d.webp", "passed": true, "detail": null}, {"check": "local URL is content addressed", "passed": true, "detail": null}, {"check": "local bytes b66120cc107b78cfae0609cc3dbd056b8ad03013e42ef4b4fbbff55b790d8d70.jpg", "passed": true, "detail": null}, {"check": "Nginx delivery b66120cc107b78cfae0609cc3dbd056b8ad03013e42ef4b4fbbff55b790d8d70.jpg", "passed": true, "detail": 200}, {"check": "HTTP bytes b66120cc107b78cfae0609cc3dbd056b8ad03013e42ef4b4fbbff55b790d8d70.jpg", "passed": true, "detail": null}, {"check": "public immutable success cache b66120cc107b78cfae0609cc3dbd056b8ad03013e42ef4b4fbbff55b790d8d70.jpg", "passed": true, "detail": "public, max-age=31536000, immutable"}, {"check": "conditional response metadata b66120cc107b78cfae0609cc3dbd056b8ad03013e42ef4b4fbbff55b790d8d70.jpg", "passed": true, "detail": null}, {"check": "staging image noindex b66120cc107b78cfae0609cc3dbd056b8ad03013e42ef4b4fbbff55b790d8d70.jpg", "passed": true, "detail": null}, {"check": "local URL is content addressed", "passed": true, "detail": null}, {"check": "local bytes c7e661cdf0eb1a813b86efe8c1b062f9738fc6c945471cc990092706619fa34f.webp", "passed": true, "detail": null}, {"check": "Nginx delivery c7e661cdf0eb1a813b86efe8c1b062f9738fc6c945471cc990092706619fa34f.webp", "passed": true, "detail": 200}, {"check": "HTTP bytes c7e661cdf0eb1a813b86efe8c1b062f9738fc6c945471cc990092706619fa34f.webp", "passed": true, "detail": null}, {"check": "public immutable success cache c7e661cdf0eb1a813b86efe8c1b062f9738fc6c945471cc990092706619fa34f.webp", "passed": true, "detail": "public, max-age=31536000, immutable"}, {"check": "conditional response metadata c7e661cdf0eb1a813b86efe8c1b062f9738fc6c945471cc990092706619fa34f.webp", "passed": true, "detail": null}, {"check": "staging image noindex c7e661cdf0eb1a813b86efe8c1b062f9738fc6c945471cc990092706619fa34f.webp", "passed": true, "detail": null}, {"check": "local URL is content addressed", "passed": true, "detail": null}, {"check": "local bytes 5a6f0952b1dc7ce8fe2133815227c26d92808a5a88b66cec51286d5fbc656566.jpg", "passed": true, "detail": null}, {"check": "Nginx delivery 5a6f0952b1dc7ce8fe2133815227c26d92808a5a88b66cec51286d5fbc656566.jpg", "passed": true, "detail": 200}, {"check": "HTTP bytes 5a6f0952b1dc7ce8fe2133815227c26d92808a5a88b66cec51286d5fbc656566.jpg", "passed": true, "detail": null}, {"check": "public immutable success cache 5a6f0952b1dc7ce8fe2133815227c26d92808a5a88b66cec51286d5fbc656566.jpg", "passed": true, "detail": "public, max-age=31536000, immutable"}, {"check": "conditional response metadata 5a6f0952b1dc7ce8fe2133815227c26d92808a5a88b66cec51286d5fbc656566.jpg", "passed": true, "detail": null}, {"check": "staging image noindex 5a6f0952b1dc7ce8fe2133815227c26d92808a5a88b66cec51286d5fbc656566.jpg", "passed": true, "detail": null}, {"check": "local URL is content addressed", "passed": true, "detail": null}, {"check": "local bytes fff14a54333a066bf7ccfa9d902fd6ece5789e546d85d6e6a45baa875a6b5565.jpg", "passed": true, "detail": null}, {"check": "Nginx delivery fff14a54333a066bf7ccfa9d902fd6ece5789e546d85d6e6a45baa875a6b5565.jpg", "passed": true, "detail": 200}, {"check": "HTTP bytes fff14a54333a066bf7ccfa9d902fd6ece5789e546d85d6e6a45baa875a6b5565.jpg", "passed": true, "detail": null}, {"check": "public immutable success cache fff14a54333a066bf7ccfa9d902fd6ece5789e546d85d6e6a45baa875a6b5565.jpg", "passed": true, "detail": "public, max-age=31536000, immutable"}, {"check": "conditional response metadata fff14a54333a066bf7ccfa9d902fd6ece5789e546d85d6e6a45baa875a6b5565.jpg", "passed": true, "detail": null}, {"check": "staging image noindex fff14a54333a066bf7ccfa9d902fd6ece5789e546d85d6e6a45baa875a6b5565.jpg", "passed": true, "detail": null}, {"check": "local URL is content addressed", "passed": true, "detail": null}, {"check": "local bytes bfb28a8f7e6fab289e818aa39626a1d64d412d630d2c082d4e4a4c4da0a7b4a1.webp", "passed": true, "detail": null}, {"check": "Nginx delivery bfb28a8f7e6fab289e818aa39626a1d64d412d630d2c082d4e4a4c4da0a7b4a1.webp", "passed": true, "detail": 200}, {"check": "HTTP bytes bfb28a8f7e6fab289e818aa39626a1d64d412d630d2c082d4e4a4c4da0a7b4a1.webp", "passed": true, "detail": null}, {"check": "public immutable success cache bfb28a8f7e6fab289e818aa39626a1d64d412d630d2c082d4e4a4c4da0a7b4a1.webp", "passed": true, "detail": "public, max-age=31536000, immutable"}, {"check": "conditional response metadata bfb28a8f7e6fab289e818aa39626a1d64d412d630d2c082d4e4a4c4da0a7b4a1.webp", "passed": true, "detail": null}, {"check": "staging image noindex bfb28a8f7e6fab289e818aa39626a1d64d412d630d2c082d4e4a4c4da0a7b4a1.webp", "passed": true, "detail": null}, {"check": "local URL is content addressed", "passed": true, "detail": null}, {"check": "local bytes 5090db4b191b4d195de45244a16411923379bc1297fd3e11e01acb2d121b6adf.jpg", "passed": true, "detail": null}, {"check": "Nginx delivery 5090db4b191b4d195de45244a16411923379bc1297fd3e11e01acb2d121b6adf.jpg", "passed": true, "detail": 200}, {"check": "HTTP bytes 5090db4b191b4d195de45244a16411923379bc1297fd3e11e01acb2d121b6adf.jpg", "passed": true, "detail": null}, {"check": "public immutable success cache 5090db4b191b4d195de45244a16411923379bc1297fd3e11e01acb2d121b6adf.jpg", "passed": true, "detail": "public, max-age=31536000, immutable"}, {"check": "conditional response metadata 5090db4b191b4d195de45244a16411923379bc1297fd3e11e01acb2d121b6adf.jpg", "passed": true, "detail": null}, {"check": "staging image noindex 5090db4b191b4d195de45244a16411923379bc1297fd3e11e01acb2d121b6adf.jpg", "passed": true, "detail": null}, {"check": "local URL is content addressed", "passed": true, "detail": null}, {"check": "local bytes a2472402b24978ba079196301cdad93aa668e6e3a336d2551594cc49774b8c9e.webp", "passed": true, "detail": null}, {"check": "Nginx delivery a2472402b24978ba079196301cdad93aa668e6e3a336d2551594cc49774b8c9e.webp", "passed": true, "detail": 200}, {"check": "HTTP bytes a2472402b24978ba079196301cdad93aa668e6e3a336d2551594cc49774b8c9e.webp", "passed": true, "detail": null}, {"check": "public immutable success cache a2472402b24978ba079196301cdad93aa668e6e3a336d2551594cc49774b8c9e.webp", "passed": true, "detail": "public, max-age=31536000, immutable"}, {"check": "conditional response metadata a2472402b24978ba079196301cdad93aa668e6e3a336d2551594cc49774b8c9e.webp", "passed": true, "detail": null}, {"check": "staging image noindex a2472402b24978ba079196301cdad93aa668e6e3a336d2551594cc49774b8c9e.webp", "passed": true, "detail": null}, {"check": "local URL is content addressed", "passed": true, "detail": null}, {"check": "local bytes ea70962784dacdb5c68f7c6c36cb78a081973243c0d3ab75efd1f062cf92c320.jpg", "passed": true, "detail": null}, {"check": "Nginx delivery ea70962784dacdb5c68f7c6c36cb78a081973243c0d3ab75efd1f062cf92c320.jpg", "passed": true, "detail": 200}, {"check": "HTTP bytes ea70962784dacdb5c68f7c6c36cb78a081973243c0d3ab75efd1f062cf92c320.jpg", "passed": true, "detail": null}, {"check": "public immutable success cache ea70962784dacdb5c68f7c6c36cb78a081973243c0d3ab75efd1f062cf92c320.jpg", "passed": true, "detail": "public, max-age=31536000, immutable"}, {"check": "conditional response metadata ea70962784dacdb5c68f7c6c36cb78a081973243c0d3ab75efd1f062cf92c320.jpg", "passed": true, "detail": null}, {"check": "staging image noindex ea70962784dacdb5c68f7c6c36cb78a081973243c0d3ab75efd1f062cf92c320.jpg", "passed": true, "detail": null}, {"check": "local URL is content addressed", "passed": true, "detail": null}, {"check": "local bytes 52a75866be71869d542967f4c863c183a72023cd03a0a8fdf924429c4b08b0bb.webp", "passed": true, "detail": null}, {"check": "Nginx delivery 52a75866be71869d542967f4c863c183a72023cd03a0a8fdf924429c4b08b0bb.webp", "passed": true, "detail": 200}, {"check": "HTTP bytes 52a75866be71869d542967f4c863c183a72023cd03a0a8fdf924429c4b08b0bb.webp", "passed": true, "detail": null}, {"check": "public immutable success cache 52a75866be71869d542967f4c863c183a72023cd03a0a8fdf924429c4b08b0bb.webp", "passed": true, "detail": "public, max-age=31536000, immutable"}, {"check": "conditional response metadata 52a75866be71869d542967f4c863c183a72023cd03a0a8fdf924429c4b08b0bb.webp", "passed": true, "detail": null}, {"check": "staging image noindex 52a75866be71869d542967f4c863c183a72023cd03a0a8fdf924429c4b08b0bb.webp", "passed": true, "detail": null}, {"check": "local URL is content addressed", "passed": true, "detail": null}, {"check": "local bytes 4e6ea573f3325311e1403cd29526014dbb3f385abd5ea763158c9b52b3492ae1.jpg", "passed": true, "detail": null}, {"check": "Nginx delivery 4e6ea573f3325311e1403cd29526014dbb3f385abd5ea763158c9b52b3492ae1.jpg", "passed": true, "detail": 200}, {"check": "HTTP bytes 4e6ea573f3325311e1403cd29526014dbb3f385abd5ea763158c9b52b3492ae1.jpg", "passed": true, "detail": null}, {"check": "public immutable success cache 4e6ea573f3325311e1403cd29526014dbb3f385abd5ea763158c9b52b3492ae1.jpg", "passed": true, "detail": "public, max-age=31536000, immutable"}, {"check": "conditional response metadata 4e6ea573f3325311e1403cd29526014dbb3f385abd5ea763158c9b52b3492ae1.jpg", "passed": true, "detail": null}, {"check": "staging image noindex 4e6ea573f3325311e1403cd29526014dbb3f385abd5ea763158c9b52b3492ae1.jpg", "passed": true, "detail": null}, {"check": "local URL is content addressed", "passed": true, "detail": null}, {"check": "local bytes 1c7f442509787168a0b5a8e3a70a9c1d5325b740c1f2238da8ce40a9c609e313.webp", "passed": true, "detail": null}, {"check": "Nginx delivery 1c7f442509787168a0b5a8e3a70a9c1d5325b740c1f2238da8ce40a9c609e313.webp", "passed": true, "detail": 200}, {"check": "HTTP bytes 1c7f442509787168a0b5a8e3a70a9c1d5325b740c1f2238da8ce40a9c609e313.webp", "passed": true, "detail": null}, {"check": "public immutable success cache 1c7f442509787168a0b5a8e3a70a9c1d5325b740c1f2238da8ce40a9c609e313.webp", "passed": true, "detail": "public, max-age=31536000, immutable"}, {"check": "conditional response metadata 1c7f442509787168a0b5a8e3a70a9c1d5325b740c1f2238da8ce40a9c609e313.webp", "passed": true, "detail": null}, {"check": "staging image noindex 1c7f442509787168a0b5a8e3a70a9c1d5325b740c1f2238da8ce40a9c609e313.webp", "passed": true, "detail": null}, {"check": "local URL is content addressed", "passed": true, "detail": null}, {"check": "local bytes c0a88e53b674bc46021b9b9b524494b997e61e1818957867742a6eaf016fd2c8.webp", "passed": true, "detail": null}, {"check": "Nginx delivery c0a88e53b674bc46021b9b9b524494b997e61e1818957867742a6eaf016fd2c8.webp", "passed": true, "detail": 200}, {"check": "HTTP bytes c0a88e53b674bc46021b9b9b524494b997e61e1818957867742a6eaf016fd2c8.webp", "passed": true, "detail": null}, {"check": "public immutable success cache c0a88e53b674bc46021b9b9b524494b997e61e1818957867742a6eaf016fd2c8.webp", "passed": true, "detail": "public, max-age=31536000, immutable"}, {"check": "conditional response metadata c0a88e53b674bc46021b9b9b524494b997e61e1818957867742a6eaf016fd2c8.webp", "passed": true, "detail": null}, {"check": "staging image noindex c0a88e53b674bc46021b9b9b524494b997e61e1818957867742a6eaf016fd2c8.webp", "passed": true, "detail": null}, {"check": "local URL is content addressed", "passed": true, "detail": null}, {"check": "local bytes 3ae48ef213166e512e59d3d06fc7de86079b8b573af529a5ae5854447b01069b.webp", "passed": true, "detail": null}, {"check": "Nginx delivery 3ae48ef213166e512e59d3d06fc7de86079b8b573af529a5ae5854447b01069b.webp", "passed": true, "detail": 200}, {"check": "HTTP bytes 3ae48ef213166e512e59d3d06fc7de86079b8b573af529a5ae5854447b01069b.webp", "passed": true, "detail": null}, {"check": "public immutable success cache 3ae48ef213166e512e59d3d06fc7de86079b8b573af529a5ae5854447b01069b.webp", "passed": true, "detail": "public, max-age=31536000, immutable"}, {"check": "conditional response metadata 3ae48ef213166e512e59d3d06fc7de86079b8b573af529a5ae5854447b01069b.webp", "passed": true, "detail": null}, {"check": "staging image noindex 3ae48ef213166e512e59d3d06fc7de86079b8b573af529a5ae5854447b01069b.webp", "passed": true, "detail": null}, {"check": "local URL is content addressed", "passed": true, "detail": null}, {"check": "local bytes 094e0958830b77af5497eca8e80a290fc8a7f272968b752ad82c045a4458e4cb.webp", "passed": true, "detail": null}, {"check": "Nginx delivery 094e0958830b77af5497eca8e80a290fc8a7f272968b752ad82c045a4458e4cb.webp", "passed": true, "detail": 200}, {"check": "HTTP bytes 094e0958830b77af5497eca8e80a290fc8a7f272968b752ad82c045a4458e4cb.webp", "passed": true, "detail": null}, {"check": "public immutable success cache 094e0958830b77af5497eca8e80a290fc8a7f272968b752ad82c045a4458e4cb.webp", "passed": true, "detail": "public, max-age=31536000, immutable"}, {"check": "conditional response metadata 094e0958830b77af5497eca8e80a290fc8a7f272968b752ad82c045a4458e4cb.webp", "passed": true, "detail": null}, {"check": "staging image noindex 094e0958830b77af5497eca8e80a290fc8a7f272968b752ad82c045a4458e4cb.webp", "passed": true, "detail": null}, {"check": "local URL is content addressed", "passed": true, "detail": null}, {"check": "local bytes 49595aabd5771c0595b745effd3131815418badf3bee0ca2fbd46265494e80e8.webp", "passed": true, "detail": null}, {"check": "Nginx delivery 49595aabd5771c0595b745effd3131815418badf3bee0ca2fbd46265494e80e8.webp", "passed": true, "detail": 200}, {"check": "HTTP bytes 49595aabd5771c0595b745effd3131815418badf3bee0ca2fbd46265494e80e8.webp", "passed": true, "detail": null}, {"check": "public immutable success cache 49595aabd5771c0595b745effd3131815418badf3bee0ca2fbd46265494e80e8.webp", "passed": true, "detail": "public, max-age=31536000, immutable"}, {"check": "conditional response metadata 49595aabd5771c0595b745effd3131815418badf3bee0ca2fbd46265494e80e8.webp", "passed": true, "detail": null}, {"check": "staging image noindex 49595aabd5771c0595b745effd3131815418badf3bee0ca2fbd46265494e80e8.webp", "passed": true, "detail": null}, {"check": "local URL is content addressed", "passed": true, "detail": null}, {"check": "local bytes 55b7a5f6fa7257a5bbf816291918de63c7e2f28bdb40277fab633c5caddd253d.webp", "passed": true, "detail": null}, {"check": "Nginx delivery 55b7a5f6fa7257a5bbf816291918de63c7e2f28bdb40277fab633c5caddd253d.webp", "passed": true, "detail": 200}, {"check": "HTTP bytes 55b7a5f6fa7257a5bbf816291918de63c7e2f28bdb40277fab633c5caddd253d.webp", "passed": true, "detail": null}, {"check": "public immutable success cache 55b7a5f6fa7257a5bbf816291918de63c7e2f28bdb40277fab633c5caddd253d.webp", "passed": true, "detail": "public, max-age=31536000, immutable"}, {"check": "conditional response metadata 55b7a5f6fa7257a5bbf816291918de63c7e2f28bdb40277fab633c5caddd253d.webp", "passed": true, "detail": null}, {"check": "staging image noindex 55b7a5f6fa7257a5bbf816291918de63c7e2f28bdb40277fab633c5caddd253d.webp", "passed": true, "detail": null}, {"check": "local URL is content addressed", "passed": true, "detail": null}, {"check": "local bytes b89800325765ec7db8347e9dc7486e0fea3d733f7012ecef6d389f58f4da90fb.webp", "passed": true, "detail": null}, {"check": "Nginx delivery b89800325765ec7db8347e9dc7486e0fea3d733f7012ecef6d389f58f4da90fb.webp", "passed": true, "detail": 200}, {"check": "HTTP bytes b89800325765ec7db8347e9dc7486e0fea3d733f7012ecef6d389f58f4da90fb.webp", "passed": true, "detail": null}, {"check": "public immutable success cache b89800325765ec7db8347e9dc7486e0fea3d733f7012ecef6d389f58f4da90fb.webp", "passed": true, "detail": "public, max-age=31536000, immutable"}, {"check": "conditional response metadata b89800325765ec7db8347e9dc7486e0fea3d733f7012ecef6d389f58f4da90fb.webp", "passed": true, "detail": null}, {"check": "staging image noindex b89800325765ec7db8347e9dc7486e0fea3d733f7012ecef6d389f58f4da90fb.webp", "passed": true, "detail": null}, {"check": "local URL is content addressed", "passed": true, "detail": null}, {"check": "local bytes e1dd5952dea415408b6b99a72ced9e6438a79b441332d85b74492f5b7994ebf2.webp", "passed": true, "detail": null}, {"check": "Nginx delivery e1dd5952dea415408b6b99a72ced9e6438a79b441332d85b74492f5b7994ebf2.webp", "passed": true, "detail": 200}, {"check": "HTTP bytes e1dd5952dea415408b6b99a72ced9e6438a79b441332d85b74492f5b7994ebf2.webp", "passed": true, "detail": null}, {"check": "public immutable success cache e1dd5952dea415408b6b99a72ced9e6438a79b441332d85b74492f5b7994ebf2.webp", "passed": true, "detail": "public, max-age=31536000, immutable"}, {"check": "conditional response metadata e1dd5952dea415408b6b99a72ced9e6438a79b441332d85b74492f5b7994ebf2.webp", "passed": true, "detail": null}, {"check": "staging image noindex e1dd5952dea415408b6b99a72ced9e6438a79b441332d85b74492f5b7994ebf2.webp", "passed": true, "detail": null}, {"check": "local URL is content addressed", "passed": true, "detail": null}, {"check": "local bytes 3ea4ede5d2eacccd9892aeed07f429de0c6cae268d90e798420bd85ad539c253.webp", "passed": true, "detail": null}, {"check": "Nginx delivery 3ea4ede5d2eacccd9892aeed07f429de0c6cae268d90e798420bd85ad539c253.webp", "passed": true, "detail": 200}, {"check": "HTTP bytes 3ea4ede5d2eacccd9892aeed07f429de0c6cae268d90e798420bd85ad539c253.webp", "passed": true, "detail": null}, {"check": "public immutable success cache 3ea4ede5d2eacccd9892aeed07f429de0c6cae268d90e798420bd85ad539c253.webp", "passed": true, "detail": "public, max-age=31536000, immutable"}, {"check": "conditional response metadata 3ea4ede5d2eacccd9892aeed07f429de0c6cae268d90e798420bd85ad539c253.webp", "passed": true, "detail": null}, {"check": "staging image noindex 3ea4ede5d2eacccd9892aeed07f429de0c6cae268d90e798420bd85ad539c253.webp", "passed": true, "detail": null}, {"check": "local URL is content addressed", "passed": true, "detail": null}, {"check": "local bytes 49a043d49b81d3ed09ffefe02f84b8c23f0b3ab91537e86f3aa8ccfb40cd9e33.webp", "passed": true, "detail": null}, {"check": "Nginx delivery 49a043d49b81d3ed09ffefe02f84b8c23f0b3ab91537e86f3aa8ccfb40cd9e33.webp", "passed": true, "detail": 200}, {"check": "HTTP bytes 49a043d49b81d3ed09ffefe02f84b8c23f0b3ab91537e86f3aa8ccfb40cd9e33.webp", "passed": true, "detail": null}, {"check": "public immutable success cache 49a043d49b81d3ed09ffefe02f84b8c23f0b3ab91537e86f3aa8ccfb40cd9e33.webp", "passed": true, "detail": "public, max-age=31536000, immutable"}, {"check": "conditional response metadata 49a043d49b81d3ed09ffefe02f84b8c23f0b3ab91537e86f3aa8ccfb40cd9e33.webp", "passed": true, "detail": null}, {"check": "staging image noindex 49a043d49b81d3ed09ffefe02f84b8c23f0b3ab91537e86f3aa8ccfb40cd9e33.webp", "passed": true, "detail": null}, {"check": "local URL is content addressed", "passed": true, "detail": null}, {"check": "local bytes 0787c13e03f4b3222d159f88f0374dd15649cf28c413739b21cffc1da82ec220.webp", "passed": true, "detail": null}, {"check": "Nginx delivery 0787c13e03f4b3222d159f88f0374dd15649cf28c413739b21cffc1da82ec220.webp", "passed": true, "detail": 200}, {"check": "HTTP bytes 0787c13e03f4b3222d159f88f0374dd15649cf28c413739b21cffc1da82ec220.webp", "passed": true, "detail": null}, {"check": "public immutable success cache 0787c13e03f4b3222d159f88f0374dd15649cf28c413739b21cffc1da82ec220.webp", "passed": true, "detail": "public, max-age=31536000, immutable"}, {"check": "conditional response metadata 0787c13e03f4b3222d159f88f0374dd15649cf28c413739b21cffc1da82ec220.webp", "passed": true, "detail": null}, {"check": "staging image noindex 0787c13e03f4b3222d159f88f0374dd15649cf28c413739b21cffc1da82ec220.webp", "passed": true, "detail": null}, {"check": "local URL is content addressed", "passed": true, "detail": null}, {"check": "local bytes ccb8fa8ac769bfee60679dc34873dab3c88e3ab57b575f34c957c45d8725ab54.webp", "passed": true, "detail": null}, {"check": "Nginx delivery ccb8fa8ac769bfee60679dc34873dab3c88e3ab57b575f34c957c45d8725ab54.webp", "passed": true, "detail": 200}, {"check": "HTTP bytes ccb8fa8ac769bfee60679dc34873dab3c88e3ab57b575f34c957c45d8725ab54.webp", "passed": true, "detail": null}, {"check": "public immutable success cache ccb8fa8ac769bfee60679dc34873dab3c88e3ab57b575f34c957c45d8725ab54.webp", "passed": true, "detail": "public, max-age=31536000, immutable"}, {"check": "conditional response metadata ccb8fa8ac769bfee60679dc34873dab3c88e3ab57b575f34c957c45d8725ab54.webp", "passed": true, "detail": null}, {"check": "staging image noindex ccb8fa8ac769bfee60679dc34873dab3c88e3ab57b575f34c957c45d8725ab54.webp", "passed": true, "detail": null}, {"check": "local URL is content addressed", "passed": true, "detail": null}, {"check": "local bytes 3d9917b1373c7172a90d90fc03dfe55d23dbfb7a2e7e059e04c9e4f2e849044f.webp", "passed": true, "detail": null}, {"check": "Nginx delivery 3d9917b1373c7172a90d90fc03dfe55d23dbfb7a2e7e059e04c9e4f2e849044f.webp", "passed": true, "detail": 200}, {"check": "HTTP bytes 3d9917b1373c7172a90d90fc03dfe55d23dbfb7a2e7e059e04c9e4f2e849044f.webp", "passed": true, "detail": null}, {"check": "public immutable success cache 3d9917b1373c7172a90d90fc03dfe55d23dbfb7a2e7e059e04c9e4f2e849044f.webp", "passed": true, "detail": "public, max-age=31536000, immutable"}, {"check": "conditional response metadata 3d9917b1373c7172a90d90fc03dfe55d23dbfb7a2e7e059e04c9e4f2e849044f.webp", "passed": true, "detail": null}, {"check": "staging image noindex 3d9917b1373c7172a90d90fc03dfe55d23dbfb7a2e7e059e04c9e4f2e849044f.webp", "passed": true, "detail": null}, {"check": "local URL is content addressed", "passed": true, "detail": null}, {"check": "local bytes 3f5d875dc15688a0b40fdd9253d115a774c51b29d05939c092157a39470c4a0d.webp", "passed": true, "detail": null}, {"check": "Nginx delivery 3f5d875dc15688a0b40fdd9253d115a774c51b29d05939c092157a39470c4a0d.webp", "passed": true, "detail": 200}, {"check": "HTTP bytes 3f5d875dc15688a0b40fdd9253d115a774c51b29d05939c092157a39470c4a0d.webp", "passed": true, "detail": null}, {"check": "public immutable success cache 3f5d875dc15688a0b40fdd9253d115a774c51b29d05939c092157a39470c4a0d.webp", "passed": true, "detail": "public, max-age=31536000, immutable"}, {"check": "conditional response metadata 3f5d875dc15688a0b40fdd9253d115a774c51b29d05939c092157a39470c4a0d.webp", "passed": true, "detail": null}, {"check": "staging image noindex 3f5d875dc15688a0b40fdd9253d115a774c51b29d05939c092157a39470c4a0d.webp", "passed": true, "detail": null}, {"check": "local URL is content addressed", "passed": true, "detail": null}, {"check": "local bytes 2cd68474c7819ef689233541a53d559b88f1e25ff3a232533bf0006b550e3edd.webp", "passed": true, "detail": null}, {"check": "Nginx delivery 2cd68474c7819ef689233541a53d559b88f1e25ff3a232533bf0006b550e3edd.webp", "passed": true, "detail": 200}, {"check": "HTTP bytes 2cd68474c7819ef689233541a53d559b88f1e25ff3a232533bf0006b550e3edd.webp", "passed": true, "detail": null}, {"check": "public immutable success cache 2cd68474c7819ef689233541a53d559b88f1e25ff3a232533bf0006b550e3edd.webp", "passed": true, "detail": "public, max-age=31536000, immutable"}, {"check": "conditional response metadata 2cd68474c7819ef689233541a53d559b88f1e25ff3a232533bf0006b550e3edd.webp", "passed": true, "detail": null}, {"check": "staging image noindex 2cd68474c7819ef689233541a53d559b88f1e25ff3a232533bf0006b550e3edd.webp", "passed": true, "detail": null}, {"check": "local URL is content addressed", "passed": true, "detail": null}, {"check": "local bytes f71a13f3282fc8dd0c538294e7ce395a3d450a92d79571ba6c79ca4103bc35ba.webp", "passed": true, "detail": null}, {"check": "Nginx delivery f71a13f3282fc8dd0c538294e7ce395a3d450a92d79571ba6c79ca4103bc35ba.webp", "passed": true, "detail": 200}, {"check": "HTTP bytes f71a13f3282fc8dd0c538294e7ce395a3d450a92d79571ba6c79ca4103bc35ba.webp", "passed": true, "detail": null}, {"check": "public immutable success cache f71a13f3282fc8dd0c538294e7ce395a3d450a92d79571ba6c79ca4103bc35ba.webp", "passed": true, "detail": "public, max-age=31536000, immutable"}, {"check": "conditional response metadata f71a13f3282fc8dd0c538294e7ce395a3d450a92d79571ba6c79ca4103bc35ba.webp", "passed": true, "detail": null}, {"check": "staging image noindex f71a13f3282fc8dd0c538294e7ce395a3d450a92d79571ba6c79ca4103bc35ba.webp", "passed": true, "detail": null}, {"check": "local URL is content addressed", "passed": true, "detail": null}, {"check": "local bytes c064f0fffab8c66b4c747bbca15f5f19a5175010d751a8ddc70bd0a723244dce.webp", "passed": true, "detail": null}, {"check": "Nginx delivery c064f0fffab8c66b4c747bbca15f5f19a5175010d751a8ddc70bd0a723244dce.webp", "passed": true, "detail": 200}, {"check": "HTTP bytes c064f0fffab8c66b4c747bbca15f5f19a5175010d751a8ddc70bd0a723244dce.webp", "passed": true, "detail": null}, {"check": "public immutable success cache c064f0fffab8c66b4c747bbca15f5f19a5175010d751a8ddc70bd0a723244dce.webp", "passed": true, "detail": "public, max-age=31536000, immutable"}, {"check": "conditional response metadata c064f0fffab8c66b4c747bbca15f5f19a5175010d751a8ddc70bd0a723244dce.webp", "passed": true, "detail": null}, {"check": "staging image noindex c064f0fffab8c66b4c747bbca15f5f19a5175010d751a8ddc70bd0a723244dce.webp", "passed": true, "detail": null}, {"check": "local URL is content addressed", "passed": true, "detail": null}, {"check": "local bytes f423d0bc0795a4966040ce141ad757aed78161421533d057fa3f507d7a6e8c08.webp", "passed": true, "detail": null}, {"check": "Nginx delivery f423d0bc0795a4966040ce141ad757aed78161421533d057fa3f507d7a6e8c08.webp", "passed": true, "detail": 200}, {"check": "HTTP bytes f423d0bc0795a4966040ce141ad757aed78161421533d057fa3f507d7a6e8c08.webp", "passed": true, "detail": null}, {"check": "public immutable success cache f423d0bc0795a4966040ce141ad757aed78161421533d057fa3f507d7a6e8c08.webp", "passed": true, "detail": "public, max-age=31536000, immutable"}, {"check": "conditional response metadata f423d0bc0795a4966040ce141ad757aed78161421533d057fa3f507d7a6e8c08.webp", "passed": true, "detail": null}, {"check": "staging image noindex f423d0bc0795a4966040ce141ad757aed78161421533d057fa3f507d7a6e8c08.webp", "passed": true, "detail": null}, {"check": "local URL is content addressed", "passed": true, "detail": null}, {"check": "local bytes f38aa779bd39c99d7ab7d77f50399be5b0beac55159ecb8456b27b577ce8e7c3.webp", "passed": true, "detail": null}, {"check": "Nginx delivery f38aa779bd39c99d7ab7d77f50399be5b0beac55159ecb8456b27b577ce8e7c3.webp", "passed": true, "detail": 200}, {"check": "HTTP bytes f38aa779bd39c99d7ab7d77f50399be5b0beac55159ecb8456b27b577ce8e7c3.webp", "passed": true, "detail": null}, {"check": "public immutable success cache f38aa779bd39c99d7ab7d77f50399be5b0beac55159ecb8456b27b577ce8e7c3.webp", "passed": true, "detail": "public, max-age=31536000, immutable"}, {"check": "conditional response metadata f38aa779bd39c99d7ab7d77f50399be5b0beac55159ecb8456b27b577ce8e7c3.webp", "passed": true, "detail": null}, {"check": "staging image noindex f38aa779bd39c99d7ab7d77f50399be5b0beac55159ecb8456b27b577ce8e7c3.webp", "passed": true, "detail": null}, {"check": "local URL is content addressed", "passed": true, "detail": null}, {"check": "local bytes e5884a4b915693a6c16004f27c826ac5556d81f0e6803133f445925266e4f2c5.webp", "passed": true, "detail": null}, {"check": "Nginx delivery e5884a4b915693a6c16004f27c826ac5556d81f0e6803133f445925266e4f2c5.webp", "passed": true, "detail": 200}, {"check": "HTTP bytes e5884a4b915693a6c16004f27c826ac5556d81f0e6803133f445925266e4f2c5.webp", "passed": true, "detail": null}, {"check": "public immutable success cache e5884a4b915693a6c16004f27c826ac5556d81f0e6803133f445925266e4f2c5.webp", "passed": true, "detail": "public, max-age=31536000, immutable"}, {"check": "conditional response metadata e5884a4b915693a6c16004f27c826ac5556d81f0e6803133f445925266e4f2c5.webp", "passed": true, "detail": null}, {"check": "staging image noindex e5884a4b915693a6c16004f27c826ac5556d81f0e6803133f445925266e4f2c5.webp", "passed": true, "detail": null}, {"check": "local URL is content addressed", "passed": true, "detail": null}, {"check": "local bytes d7c4a7565a6b780a8fc8e96d1bddebc5d2eeb402dc852799526674ff75d1ceb1.webp", "passed": true, "detail": null}, {"check": "Nginx delivery d7c4a7565a6b780a8fc8e96d1bddebc5d2eeb402dc852799526674ff75d1ceb1.webp", "passed": true, "detail": 200}, {"check": "HTTP bytes d7c4a7565a6b780a8fc8e96d1bddebc5d2eeb402dc852799526674ff75d1ceb1.webp", "passed": true, "detail": null}, {"check": "public immutable success cache d7c4a7565a6b780a8fc8e96d1bddebc5d2eeb402dc852799526674ff75d1ceb1.webp", "passed": true, "detail": "public, max-age=31536000, immutable"}, {"check": "conditional response metadata d7c4a7565a6b780a8fc8e96d1bddebc5d2eeb402dc852799526674ff75d1ceb1.webp", "passed": true, "detail": null}, {"check": "staging image noindex d7c4a7565a6b780a8fc8e96d1bddebc5d2eeb402dc852799526674ff75d1ceb1.webp", "passed": true, "detail": null}, {"check": "conditional GET 304 without image body", "passed": true, "detail": 304}, {"check": "missing/invalid static path stays outside PHP /images/illustrations/0000000000000000000000000000000000000000000000000000000000000000.webp", "passed": true, "detail": 404}, {"check": "404 is not immutable-cached /images/illustrations/0000000000000000000000000000000000000000000000000000000000000000.webp", "passed": true, "detail": null}, {"check": "missing/invalid static path stays outside PHP /images/illustrations/not-an-image.php", "passed": true, "detail": 404}, {"check": "404 is not immutable-cached /images/illustrations/not-an-image.php", "passed": true, "detail": null}, {"check": "missing/invalid static path stays outside PHP /images/illustrations/.incoming-part", "passed": true, "detail": 404}, {"check": "404 is not immutable-cached /images/illustrations/.incoming-part", "passed": true, "detail": null}, {"check": "every managed article resolves locally", "passed": true, "detail": {"mirror": true, "managed": 174, "local": 174, "latest": "fn20261029"}}, {"check": "page /", "passed": true, "detail": 200}, {"check": "page only embeds local managed images /", "passed": true, "detail": null}, {"check": "absolute same-site OG image /", "passed": true, "detail": "https://test.clashfreenode.com/images/illustrations/094e0958830b77af5497eca8e80a290fc8a7f272968b752ad82c045a4458e4cb.webp"}, {"check": "page /freenode", "passed": true, "detail": 200}, {"check": "page only embeds local managed images /freenode", "passed": true, "detail": null}, {"check": "page /shadowrocketids", "passed": true, "detail": 200}, {"check": "page only embeds local managed images /shadowrocketids", "passed": true, "detail": null}, {"check": "page /search/Clash", "passed": true, "detail": 200}, {"check": "page only embeds local managed images /search/Clash", "passed": true, "detail": null}, {"check": "page /a/fn20261029.html", "passed": true, "detail": 200}, {"check": "page only embeds local managed images /a/fn20261029.html", "passed": true, "detail": null}, {"check": "absolute same-site OG image /a/fn20261029.html", "passed": true, "detail": "https://test.clashfreenode.com/images/illustrations/094e0958830b77af5497eca8e80a290fc8a7f272968b752ad82c045a4458e4cb.webp"}, {"check": "uncached page survives disabled Resource client", "passed": true, "detail": null}], "assets": 37, "selections": {"freenode": 84, "shadowrocketids": 90}, "models": {"mirror": true, "managed": 174, "local": 174, "latest": "fn20261029"}, "passed": true, "check_count": 283, "failed_count": 0, "verified_at": "2026-10-30T04:25:48Z"}}, "production": {"deployment": {"old_head": "f315215f6f64cf1b200d67fc426a9071ff557a09", "commit": "ce27dbdd1eb206a9b7e7ac9b5a1c77778ed75e03", "environment": "production", "started_at": "2026-10-30T04:16:05Z", "identity": {"articles": 186, "core_sha256": "75238a9b3f2ca496ecce8bc3f6a5a01666e9438f6783900e46adfcbe15b9272f", "year_plans_sha256": "c4dfb038ec08d5e0daf7b648c51fe94c9afa0ba8b47e00853c5574e68a3933ba"}, "sync": {"assets": 37, "selections": {"freenode": 85, "shadowrocketids": 91}, "pending": []}, "final_sync": {"assets": 37, "selections": {"freenode": 85, "shadowrocketids": 91}, "pending": []}, "status": "deployed", "identity_after": {"articles": 186, "core_sha256": "75238a9b3f2ca496ecce8bc3f6a5a01666e9438f6783900e46adfcbe15b9272f", "year_plans_sha256": "c4dfb038ec08d5e0daf7b648c51fe94c9afa0ba8b47e00853c5574e68a3933ba"}, "finished_at": "2026-10-30T04:16:13Z", "serialization_compatibility": true}, "verification": {"environment": "production", "base_url": "https://clashfreenode.com", "commit": "ce27dbdd1eb206a9b7e7ac9b5a1c77778ed75e03", "checks": [{"check": "exact pushed commit", "passed": true, "detail": null}, {"check": "37 reviewed assets mirrored", "passed": true, "detail": null}, {"check": "one file per unique content hash", "passed": true, "detail": 37}, {"check": "local URL is content addressed", "passed": true, "detail": null}, {"check": "local bytes 7a11aea78504facad661c8577b573be6d7d2ab38d2264f9f703fbcd6e9663287.jpg", "passed": true, "detail": null}, {"check": "Nginx delivery 7a11aea78504facad661c8577b573be6d7d2ab38d2264f9f703fbcd6e9663287.jpg", "passed": true, "detail": 200}, {"check": "HTTP bytes 7a11aea78504facad661c8577b573be6d7d2ab38d2264f9f703fbcd6e9663287.jpg", "passed": true, "detail": null}, {"check": "public immutable success cache 7a11aea78504facad661c8577b573be6d7d2ab38d2264f9f703fbcd6e9663287.jpg", "passed": true, "detail": "public, max-age=31536000, immutable"}, {"check": "conditional response metadata 7a11aea78504facad661c8577b573be6d7d2ab38d2264f9f703fbcd6e9663287.jpg", "passed": true, "detail": null}, {"check": "local URL is content addressed", "passed": true, "detail": null}, {"check": "local bytes 342b38385bbca08ef00b1c373b3efa39d7bf255ae37418c2d13881d5b0f8d451.webp", "passed": true, "detail": null}, {"check": "Nginx delivery 342b38385bbca08ef00b1c373b3efa39d7bf255ae37418c2d13881d5b0f8d451.webp", "passed": true, "detail": 200}, {"check": "HTTP bytes 342b38385bbca08ef00b1c373b3efa39d7bf255ae37418c2d13881d5b0f8d451.webp", "passed": true, "detail": null}, {"check": "public immutable success cache 342b38385bbca08ef00b1c373b3efa39d7bf255ae37418c2d13881d5b0f8d451.webp", "passed": true, "detail": "public, max-age=31536000, immutable"}, {"check": "conditional response metadata 342b38385bbca08ef00b1c373b3efa39d7bf255ae37418c2d13881d5b0f8d451.webp", "passed": true, "detail": null}, {"check": "local URL is content addressed", "passed": true, "detail": null}, {"check": "local bytes 0430cc5c9645fda3042b04c23296eb09b5cf6eddf7a8050cfff93c88f0d0ef36.jpg", "passed": true, "detail": null}, {"check": "Nginx delivery 0430cc5c9645fda3042b04c23296eb09b5cf6eddf7a8050cfff93c88f0d0ef36.jpg", "passed": true, "detail": 200}, {"check": "HTTP bytes 0430cc5c9645fda3042b04c23296eb09b5cf6eddf7a8050cfff93c88f0d0ef36.jpg", "passed": true, "detail": null}, {"check": "public immutable success cache 0430cc5c9645fda3042b04c23296eb09b5cf6eddf7a8050cfff93c88f0d0ef36.jpg", "passed": true, "detail": "public, max-age=31536000, immutable"}, {"check": "conditional response metadata 0430cc5c9645fda3042b04c23296eb09b5cf6eddf7a8050cfff93c88f0d0ef36.jpg", "passed": true, "detail": null}, {"check": "local URL is content addressed", "passed": true, "detail": null}, {"check": "local bytes a79280393554d05df80a8936758cdea70b98a5fa539becc0240e339c8990068b.webp", "passed": true, "detail": null}, {"check": "Nginx delivery a79280393554d05df80a8936758cdea70b98a5fa539becc0240e339c8990068b.webp", "passed": true, "detail": 200}, {"check": "HTTP bytes a79280393554d05df80a8936758cdea70b98a5fa539becc0240e339c8990068b.webp", "passed": true, "detail": null}, {"check": "public immutable success cache a79280393554d05df80a8936758cdea70b98a5fa539becc0240e339c8990068b.webp", "passed": true, "detail": "public, max-age=31536000, immutable"}, {"check": "conditional response metadata a79280393554d05df80a8936758cdea70b98a5fa539becc0240e339c8990068b.webp", "passed": true, "detail": null}, {"check": "local URL is content addressed", "passed": true, "detail": null}, {"check": "local bytes dcbab844e9f2f2b94ad71c9fd0c751e5b83dc8983d9aebf5a78f4e8399379fd7.jpg", "passed": true, "detail": null}, {"check": "Nginx delivery dcbab844e9f2f2b94ad71c9fd0c751e5b83dc8983d9aebf5a78f4e8399379fd7.jpg", "passed": true, "detail": 200}, {"check": "HTTP bytes dcbab844e9f2f2b94ad71c9fd0c751e5b83dc8983d9aebf5a78f4e8399379fd7.jpg", "passed": true, "detail": null}, {"check": "public immutable success cache dcbab844e9f2f2b94ad71c9fd0c751e5b83dc8983d9aebf5a78f4e8399379fd7.jpg", "passed": true, "detail": "public, max-age=31536000, immutable"}, {"check": "conditional response metadata dcbab844e9f2f2b94ad71c9fd0c751e5b83dc8983d9aebf5a78f4e8399379fd7.jpg", "passed": true, "detail": null}, {"check": "local URL is content addressed", "passed": true, "detail": null}, {"check": "local bytes 3c182a67111333f4f2b365d73eba0370b25a78879beba0aca5a19cba5f0b686d.webp", "passed": true, "detail": null}, {"check": "Nginx delivery 3c182a67111333f4f2b365d73eba0370b25a78879beba0aca5a19cba5f0b686d.webp", "passed": true, "detail": 200}, {"check": "HTTP bytes 3c182a67111333f4f2b365d73eba0370b25a78879beba0aca5a19cba5f0b686d.webp", "passed": true, "detail": null}, {"check": "public immutable success cache 3c182a67111333f4f2b365d73eba0370b25a78879beba0aca5a19cba5f0b686d.webp", "passed": true, "detail": "public, max-age=31536000, immutable"}, {"check": "conditional response metadata 3c182a67111333f4f2b365d73eba0370b25a78879beba0aca5a19cba5f0b686d.webp", "passed": true, "detail": null}, {"check": "local URL is content addressed", "passed": true, "detail": null}, {"check": "local bytes b66120cc107b78cfae0609cc3dbd056b8ad03013e42ef4b4fbbff55b790d8d70.jpg", "passed": true, "detail": null}, {"check": "Nginx delivery b66120cc107b78cfae0609cc3dbd056b8ad03013e42ef4b4fbbff55b790d8d70.jpg", "passed": true, "detail": 200}, {"check": "HTTP bytes b66120cc107b78cfae0609cc3dbd056b8ad03013e42ef4b4fbbff55b790d8d70.jpg", "passed": true, "detail": null}, {"check": "public immutable success cache b66120cc107b78cfae0609cc3dbd056b8ad03013e42ef4b4fbbff55b790d8d70.jpg", "passed": true, "detail": "public, max-age=31536000, immutable"}, {"check": "conditional response metadata b66120cc107b78cfae0609cc3dbd056b8ad03013e42ef4b4fbbff55b790d8d70.jpg", "passed": true, "detail": null}, {"check": "local URL is content addressed", "passed": true, "detail": null}, {"check": "local bytes c7e661cdf0eb1a813b86efe8c1b062f9738fc6c945471cc990092706619fa34f.webp", "passed": true, "detail": null}, {"check": "Nginx delivery c7e661cdf0eb1a813b86efe8c1b062f9738fc6c945471cc990092706619fa34f.webp", "passed": true, "detail": 200}, {"check": "HTTP bytes c7e661cdf0eb1a813b86efe8c1b062f9738fc6c945471cc990092706619fa34f.webp", "passed": true, "detail": null}, {"check": "public immutable success cache c7e661cdf0eb1a813b86efe8c1b062f9738fc6c945471cc990092706619fa34f.webp", "passed": true, "detail": "public, max-age=31536000, immutable"}, {"check": "conditional response metadata c7e661cdf0eb1a813b86efe8c1b062f9738fc6c945471cc990092706619fa34f.webp", "passed": true, "detail": null}, {"check": "local URL is content addressed", "passed": true, "detail": null}, {"check": "local bytes 5a6f0952b1dc7ce8fe2133815227c26d92808a5a88b66cec51286d5fbc656566.jpg", "passed": true, "detail": null}, {"check": "Nginx delivery 5a6f0952b1dc7ce8fe2133815227c26d92808a5a88b66cec51286d5fbc656566.jpg", "passed": true, "detail": 200}, {"check": "HTTP bytes 5a6f0952b1dc7ce8fe2133815227c26d92808a5a88b66cec51286d5fbc656566.jpg", "passed": true, "detail": null}, {"check": "public immutable success cache 5a6f0952b1dc7ce8fe2133815227c26d92808a5a88b66cec51286d5fbc656566.jpg", "passed": true, "detail": "public, max-age=31536000, immutable"}, {"check": "conditional response metadata 5a6f0952b1dc7ce8fe2133815227c26d92808a5a88b66cec51286d5fbc656566.jpg", "passed": true, "detail": null}, {"check": "local URL is content addressed", "passed": true, "detail": null}, {"check": "local bytes fff14a54333a066bf7ccfa9d902fd6ece5789e546d85d6e6a45baa875a6b5565.jpg", "passed": true, "detail": null}, {"check": "Nginx delivery fff14a54333a066bf7ccfa9d902fd6ece5789e546d85d6e6a45baa875a6b5565.jpg", "passed": true, "detail": 200}, {"check": "HTTP bytes fff14a54333a066bf7ccfa9d902fd6ece5789e546d85d6e6a45baa875a6b5565.jpg", "passed": true, "detail": null}, {"check": "public immutable success cache fff14a54333a066bf7ccfa9d902fd6ece5789e546d85d6e6a45baa875a6b5565.jpg", "passed": true, "detail": "public, max-age=31536000, immutable"}, {"check": "conditional response metadata fff14a54333a066bf7ccfa9d902fd6ece5789e546d85d6e6a45baa875a6b5565.jpg", "passed": true, "detail": null}, {"check": "local URL is content addressed", "passed": true, "detail": null}, {"check": "local bytes bfb28a8f7e6fab289e818aa39626a1d64d412d630d2c082d4e4a4c4da0a7b4a1.webp", "passed": true, "detail": null}, {"check": "Nginx delivery bfb28a8f7e6fab289e818aa39626a1d64d412d630d2c082d4e4a4c4da0a7b4a1.webp", "passed": true, "detail": 200}, {"check": "HTTP bytes bfb28a8f7e6fab289e818aa39626a1d64d412d630d2c082d4e4a4c4da0a7b4a1.webp", "passed": true, "detail": null}, {"check": "public immutable success cache bfb28a8f7e6fab289e818aa39626a1d64d412d630d2c082d4e4a4c4da0a7b4a1.webp", "passed": true, "detail": "public, max-age=31536000, immutable"}, {"check": "conditional response metadata bfb28a8f7e6fab289e818aa39626a1d64d412d630d2c082d4e4a4c4da0a7b4a1.webp", "passed": true, "detail": null}, {"check": "local URL is content addressed", "passed": true, "detail": null}, {"check": "local bytes 5090db4b191b4d195de45244a16411923379bc1297fd3e11e01acb2d121b6adf.jpg", "passed": true, "detail": null}, {"check": "Nginx delivery 5090db4b191b4d195de45244a16411923379bc1297fd3e11e01acb2d121b6adf.jpg", "passed": true, "detail": 200}, {"check": "HTTP bytes 5090db4b191b4d195de45244a16411923379bc1297fd3e11e01acb2d121b6adf.jpg", "passed": true, "detail": null}, {"check": "public immutable success cache 5090db4b191b4d195de45244a16411923379bc1297fd3e11e01acb2d121b6adf.jpg", "passed": true, "detail": "public, max-age=31536000, immutable"}, {"check": "conditional response metadata 5090db4b191b4d195de45244a16411923379bc1297fd3e11e01acb2d121b6adf.jpg", "passed": true, "detail": null}, {"check": "local URL is content addressed", "passed": true, "detail": null}, {"check": "local bytes a2472402b24978ba079196301cdad93aa668e6e3a336d2551594cc49774b8c9e.webp", "passed": true, "detail": null}, {"check": "Nginx delivery a2472402b24978ba079196301cdad93aa668e6e3a336d2551594cc49774b8c9e.webp", "passed": true, "detail": 200}, {"check": "HTTP bytes a2472402b24978ba079196301cdad93aa668e6e3a336d2551594cc49774b8c9e.webp", "passed": true, "detail": null}, {"check": "public immutable success cache a2472402b24978ba079196301cdad93aa668e6e3a336d2551594cc49774b8c9e.webp", "passed": true, "detail": "public, max-age=31536000, immutable"}, {"check": "conditional response metadata a2472402b24978ba079196301cdad93aa668e6e3a336d2551594cc49774b8c9e.webp", "passed": true, "detail": null}, {"check": "local URL is content addressed", "passed": true, "detail": null}, {"check": "local bytes ea70962784dacdb5c68f7c6c36cb78a081973243c0d3ab75efd1f062cf92c320.jpg", "passed": true, "detail": null}, {"check": "Nginx delivery ea70962784dacdb5c68f7c6c36cb78a081973243c0d3ab75efd1f062cf92c320.jpg", "passed": true, "detail": 200}, {"check": "HTTP bytes ea70962784dacdb5c68f7c6c36cb78a081973243c0d3ab75efd1f062cf92c320.jpg", "passed": true, "detail": null}, {"check": "public immutable success cache ea70962784dacdb5c68f7c6c36cb78a081973243c0d3ab75efd1f062cf92c320.jpg", "passed": true, "detail": "public, max-age=31536000, immutable"}, {"check": "conditional response metadata ea70962784dacdb5c68f7c6c36cb78a081973243c0d3ab75efd1f062cf92c320.jpg", "passed": true, "detail": null}, {"check": "local URL is content addressed", "passed": true, "detail": null}, {"check": "local bytes 52a75866be71869d542967f4c863c183a72023cd03a0a8fdf924429c4b08b0bb.webp", "passed": true, "detail": null}, {"check": "Nginx delivery 52a75866be71869d542967f4c863c183a72023cd03a0a8fdf924429c4b08b0bb.webp", "passed": true, "detail": 200}, {"check": "HTTP bytes 52a75866be71869d542967f4c863c183a72023cd03a0a8fdf924429c4b08b0bb.webp", "passed": true, "detail": null}, {"check": "public immutable success cache 52a75866be71869d542967f4c863c183a72023cd03a0a8fdf924429c4b08b0bb.webp", "passed": true, "detail": "public, max-age=31536000, immutable"}, {"check": "conditional response metadata 52a75866be71869d542967f4c863c183a72023cd03a0a8fdf924429c4b08b0bb.webp", "passed": true, "detail": null}, {"check": "local URL is content addressed", "passed": true, "detail": null}, {"check": "local bytes 4e6ea573f3325311e1403cd29526014dbb3f385abd5ea763158c9b52b3492ae1.jpg", "passed": true, "detail": null}, {"check": "Nginx delivery 4e6ea573f3325311e1403cd29526014dbb3f385abd5ea763158c9b52b3492ae1.jpg", "passed": true, "detail": 200}, {"check": "HTTP bytes 4e6ea573f3325311e1403cd29526014dbb3f385abd5ea763158c9b52b3492ae1.jpg", "passed": true, "detail": null}, {"check": "public immutable success cache 4e6ea573f3325311e1403cd29526014dbb3f385abd5ea763158c9b52b3492ae1.jpg", "passed": true, "detail": "public, max-age=31536000, immutable"}, {"check": "conditional response metadata 4e6ea573f3325311e1403cd29526014dbb3f385abd5ea763158c9b52b3492ae1.jpg", "passed": true, "detail": null}, {"check": "local URL is content addressed", "passed": true, "detail": null}, {"check": "local bytes 1c7f442509787168a0b5a8e3a70a9c1d5325b740c1f2238da8ce40a9c609e313.webp", "passed": true, "detail": null}, {"check": "Nginx delivery 1c7f442509787168a0b5a8e3a70a9c1d5325b740c1f2238da8ce40a9c609e313.webp", "passed": true, "detail": 200}, {"check": "HTTP bytes 1c7f442509787168a0b5a8e3a70a9c1d5325b740c1f2238da8ce40a9c609e313.webp", "passed": true, "detail": null}, {"check": "public immutable success cache 1c7f442509787168a0b5a8e3a70a9c1d5325b740c1f2238da8ce40a9c609e313.webp", "passed": true, "detail": "public, max-age=31536000, immutable"}, {"check": "conditional response metadata 1c7f442509787168a0b5a8e3a70a9c1d5325b740c1f2238da8ce40a9c609e313.webp", "passed": true, "detail": null}, {"check": "local URL is content addressed", "passed": true, "detail": null}, {"check": "local bytes c0a88e53b674bc46021b9b9b524494b997e61e1818957867742a6eaf016fd2c8.webp", "passed": true, "detail": null}, {"check": "Nginx delivery c0a88e53b674bc46021b9b9b524494b997e61e1818957867742a6eaf016fd2c8.webp", "passed": true, "detail": 200}, {"check": "HTTP bytes c0a88e53b674bc46021b9b9b524494b997e61e1818957867742a6eaf016fd2c8.webp", "passed": true, "detail": null}, {"check": "public immutable success cache c0a88e53b674bc46021b9b9b524494b997e61e1818957867742a6eaf016fd2c8.webp", "passed": true, "detail": "public, max-age=31536000, immutable"}, {"check": "conditional response metadata c0a88e53b674bc46021b9b9b524494b997e61e1818957867742a6eaf016fd2c8.webp", "passed": true, "detail": null}, {"check": "local URL is content addressed", "passed": true, "detail": null}, {"check": "local bytes 3ae48ef213166e512e59d3d06fc7de86079b8b573af529a5ae5854447b01069b.webp", "passed": true, "detail": null}, {"check": "Nginx delivery 3ae48ef213166e512e59d3d06fc7de86079b8b573af529a5ae5854447b01069b.webp", "passed": true, "detail": 200}, {"check": "HTTP bytes 3ae48ef213166e512e59d3d06fc7de86079b8b573af529a5ae5854447b01069b.webp", "passed": true, "detail": null}, {"check": "public immutable success cache 3ae48ef213166e512e59d3d06fc7de86079b8b573af529a5ae5854447b01069b.webp", "passed": true, "detail": "public, max-age=31536000, immutable"}, {"check": "conditional response metadata 3ae48ef213166e512e59d3d06fc7de86079b8b573af529a5ae5854447b01069b.webp", "passed": true, "detail": null}, {"check": "local URL is content addressed", "passed": true, "detail": null}, {"check": "local bytes 094e0958830b77af5497eca8e80a290fc8a7f272968b752ad82c045a4458e4cb.webp", "passed": true, "detail": null}, {"check": "Nginx delivery 094e0958830b77af5497eca8e80a290fc8a7f272968b752ad82c045a4458e4cb.webp", "passed": true, "detail": 200}, {"check": "HTTP bytes 094e0958830b77af5497eca8e80a290fc8a7f272968b752ad82c045a4458e4cb.webp", "passed": true, "detail": null}, {"check": "public immutable success cache 094e0958830b77af5497eca8e80a290fc8a7f272968b752ad82c045a4458e4cb.webp", "passed": true, "detail": "public, max-age=31536000, immutable"}, {"check": "conditional response metadata 094e0958830b77af5497eca8e80a290fc8a7f272968b752ad82c045a4458e4cb.webp", "passed": true, "detail": null}, {"check": "local URL is content addressed", "passed": true, "detail": null}, {"check": "local bytes 49595aabd5771c0595b745effd3131815418badf3bee0ca2fbd46265494e80e8.webp", "passed": true, "detail": null}, {"check": "Nginx delivery 49595aabd5771c0595b745effd3131815418badf3bee0ca2fbd46265494e80e8.webp", "passed": true, "detail": 200}, {"check": "HTTP bytes 49595aabd5771c0595b745effd3131815418badf3bee0ca2fbd46265494e80e8.webp", "passed": true, "detail": null}, {"check": "public immutable success cache 49595aabd5771c0595b745effd3131815418badf3bee0ca2fbd46265494e80e8.webp", "passed": true, "detail": "public, max-age=31536000, immutable"}, {"check": "conditional response metadata 49595aabd5771c0595b745effd3131815418badf3bee0ca2fbd46265494e80e8.webp", "passed": true, "detail": null}, {"check": "local URL is content addressed", "passed": true, "detail": null}, {"check": "local bytes 55b7a5f6fa7257a5bbf816291918de63c7e2f28bdb40277fab633c5caddd253d.webp", "passed": true, "detail": null}, {"check": "Nginx delivery 55b7a5f6fa7257a5bbf816291918de63c7e2f28bdb40277fab633c5caddd253d.webp", "passed": true, "detail": 200}, {"check": "HTTP bytes 55b7a5f6fa7257a5bbf816291918de63c7e2f28bdb40277fab633c5caddd253d.webp", "passed": true, "detail": null}, {"check": "public immutable success cache 55b7a5f6fa7257a5bbf816291918de63c7e2f28bdb40277fab633c5caddd253d.webp", "passed": true, "detail": "public, max-age=31536000, immutable"}, {"check": "conditional response metadata 55b7a5f6fa7257a5bbf816291918de63c7e2f28bdb40277fab633c5caddd253d.webp", "passed": true, "detail": null}, {"check": "local URL is content addressed", "passed": true, "detail": null}, {"check": "local bytes b89800325765ec7db8347e9dc7486e0fea3d733f7012ecef6d389f58f4da90fb.webp", "passed": true, "detail": null}, {"check": "Nginx delivery b89800325765ec7db8347e9dc7486e0fea3d733f7012ecef6d389f58f4da90fb.webp", "passed": true, "detail": 200}, {"check": "HTTP bytes b89800325765ec7db8347e9dc7486e0fea3d733f7012ecef6d389f58f4da90fb.webp", "passed": true, "detail": null}, {"check": "public immutable success cache b89800325765ec7db8347e9dc7486e0fea3d733f7012ecef6d389f58f4da90fb.webp", "passed": true, "detail": "public, max-age=31536000, immutable"}, {"check": "conditional response metadata b89800325765ec7db8347e9dc7486e0fea3d733f7012ecef6d389f58f4da90fb.webp", "passed": true, "detail": null}, {"check": "local URL is content addressed", "passed": true, "detail": null}, {"check": "local bytes e1dd5952dea415408b6b99a72ced9e6438a79b441332d85b74492f5b7994ebf2.webp", "passed": true, "detail": null}, {"check": "Nginx delivery e1dd5952dea415408b6b99a72ced9e6438a79b441332d85b74492f5b7994ebf2.webp", "passed": true, "detail": 200}, {"check": "HTTP bytes e1dd5952dea415408b6b99a72ced9e6438a79b441332d85b74492f5b7994ebf2.webp", "passed": true, "detail": null}, {"check": "public immutable success cache e1dd5952dea415408b6b99a72ced9e6438a79b441332d85b74492f5b7994ebf2.webp", "passed": true, "detail": "public, max-age=31536000, immutable"}, {"check": "conditional response metadata e1dd5952dea415408b6b99a72ced9e6438a79b441332d85b74492f5b7994ebf2.webp", "passed": true, "detail": null}, {"check": "local URL is content addressed", "passed": true, "detail": null}, {"check": "local bytes 3ea4ede5d2eacccd9892aeed07f429de0c6cae268d90e798420bd85ad539c253.webp", "passed": true, "detail": null}, {"check": "Nginx delivery 3ea4ede5d2eacccd9892aeed07f429de0c6cae268d90e798420bd85ad539c253.webp", "passed": true, "detail": 200}, {"check": "HTTP bytes 3ea4ede5d2eacccd9892aeed07f429de0c6cae268d90e798420bd85ad539c253.webp", "passed": true, "detail": null}, {"check": "public immutable success cache 3ea4ede5d2eacccd9892aeed07f429de0c6cae268d90e798420bd85ad539c253.webp", "passed": true, "detail": "public, max-age=31536000, immutable"}, {"check": "conditional response metadata 3ea4ede5d2eacccd9892aeed07f429de0c6cae268d90e798420bd85ad539c253.webp", "passed": true, "detail": null}, {"check": "local URL is content addressed", "passed": true, "detail": null}, {"check": "local bytes 49a043d49b81d3ed09ffefe02f84b8c23f0b3ab91537e86f3aa8ccfb40cd9e33.webp", "passed": true, "detail": null}, {"check": "Nginx delivery 49a043d49b81d3ed09ffefe02f84b8c23f0b3ab91537e86f3aa8ccfb40cd9e33.webp", "passed": true, "detail": 200}, {"check": "HTTP bytes 49a043d49b81d3ed09ffefe02f84b8c23f0b3ab91537e86f3aa8ccfb40cd9e33.webp", "passed": true, "detail": null}, {"check": "public immutable success cache 49a043d49b81d3ed09ffefe02f84b8c23f0b3ab91537e86f3aa8ccfb40cd9e33.webp", "passed": true, "detail": "public, max-age=31536000, immutable"}, {"check": "conditional response metadata 49a043d49b81d3ed09ffefe02f84b8c23f0b3ab91537e86f3aa8ccfb40cd9e33.webp", "passed": true, "detail": null}, {"check": "local URL is content addressed", "passed": true, "detail": null}, {"check": "local bytes 0787c13e03f4b3222d159f88f0374dd15649cf28c413739b21cffc1da82ec220.webp", "passed": true, "detail": null}, {"check": "Nginx delivery 0787c13e03f4b3222d159f88f0374dd15649cf28c413739b21cffc1da82ec220.webp", "passed": true, "detail": 200}, {"check": "HTTP bytes 0787c13e03f4b3222d159f88f0374dd15649cf28c413739b21cffc1da82ec220.webp", "passed": true, "detail": null}, {"check": "public immutable success cache 0787c13e03f4b3222d159f88f0374dd15649cf28c413739b21cffc1da82ec220.webp", "passed": true, "detail": "public, max-age=31536000, immutable"}, {"check": "conditional response metadata 0787c13e03f4b3222d159f88f0374dd15649cf28c413739b21cffc1da82ec220.webp", "passed": true, "detail": null}, {"check": "local URL is content addressed", "passed": true, "detail": null}, {"check": "local bytes ccb8fa8ac769bfee60679dc34873dab3c88e3ab57b575f34c957c45d8725ab54.webp", "passed": true, "detail": null}, {"check": "Nginx delivery ccb8fa8ac769bfee60679dc34873dab3c88e3ab57b575f34c957c45d8725ab54.webp", "passed": true, "detail": 200}, {"check": "HTTP bytes ccb8fa8ac769bfee60679dc34873dab3c88e3ab57b575f34c957c45d8725ab54.webp", "passed": true, "detail": null}, {"check": "public immutable success cache ccb8fa8ac769bfee60679dc34873dab3c88e3ab57b575f34c957c45d8725ab54.webp", "passed": true, "detail": "public, max-age=31536000, immutable"}, {"check": "conditional response metadata ccb8fa8ac769bfee60679dc34873dab3c88e3ab57b575f34c957c45d8725ab54.webp", "passed": true, "detail": null}, {"check": "local URL is content addressed", "passed": true, "detail": null}, {"check": "local bytes 3d9917b1373c7172a90d90fc03dfe55d23dbfb7a2e7e059e04c9e4f2e849044f.webp", "passed": true, "detail": null}, {"check": "Nginx delivery 3d9917b1373c7172a90d90fc03dfe55d23dbfb7a2e7e059e04c9e4f2e849044f.webp", "passed": true, "detail": 200}, {"check": "HTTP bytes 3d9917b1373c7172a90d90fc03dfe55d23dbfb7a2e7e059e04c9e4f2e849044f.webp", "passed": true, "detail": null}, {"check": "public immutable success cache 3d9917b1373c7172a90d90fc03dfe55d23dbfb7a2e7e059e04c9e4f2e849044f.webp", "passed": true, "detail": "public, max-age=31536000, immutable"}, {"check": "conditional response metadata 3d9917b1373c7172a90d90fc03dfe55d23dbfb7a2e7e059e04c9e4f2e849044f.webp", "passed": true, "detail": null}, {"check": "local URL is content addressed", "passed": true, "detail": null}, {"check": "local bytes 3f5d875dc15688a0b40fdd9253d115a774c51b29d05939c092157a39470c4a0d.webp", "passed": true, "detail": null}, {"check": "Nginx delivery 3f5d875dc15688a0b40fdd9253d115a774c51b29d05939c092157a39470c4a0d.webp", "passed": true, "detail": 200}, {"check": "HTTP bytes 3f5d875dc15688a0b40fdd9253d115a774c51b29d05939c092157a39470c4a0d.webp", "passed": true, "detail": null}, {"check": "public immutable success cache 3f5d875dc15688a0b40fdd9253d115a774c51b29d05939c092157a39470c4a0d.webp", "passed": true, "detail": "public, max-age=31536000, immutable"}, {"check": "conditional response metadata 3f5d875dc15688a0b40fdd9253d115a774c51b29d05939c092157a39470c4a0d.webp", "passed": true, "detail": null}, {"check": "local URL is content addressed", "passed": true, "detail": null}, {"check": "local bytes 2cd68474c7819ef689233541a53d559b88f1e25ff3a232533bf0006b550e3edd.webp", "passed": true, "detail": null}, {"check": "Nginx delivery 2cd68474c7819ef689233541a53d559b88f1e25ff3a232533bf0006b550e3edd.webp", "passed": true, "detail": 200}, {"check": "HTTP bytes 2cd68474c7819ef689233541a53d559b88f1e25ff3a232533bf0006b550e3edd.webp", "passed": true, "detail": null}, {"check": "public immutable success cache 2cd68474c7819ef689233541a53d559b88f1e25ff3a232533bf0006b550e3edd.webp", "passed": true, "detail": "public, max-age=31536000, immutable"}, {"check": "conditional response metadata 2cd68474c7819ef689233541a53d559b88f1e25ff3a232533bf0006b550e3edd.webp", "passed": true, "detail": null}, {"check": "local URL is content addressed", "passed": true, "detail": null}, {"check": "local bytes f71a13f3282fc8dd0c538294e7ce395a3d450a92d79571ba6c79ca4103bc35ba.webp", "passed": true, "detail": null}, {"check": "Nginx delivery f71a13f3282fc8dd0c538294e7ce395a3d450a92d79571ba6c79ca4103bc35ba.webp", "passed": true, "detail": 200}, {"check": "HTTP bytes f71a13f3282fc8dd0c538294e7ce395a3d450a92d79571ba6c79ca4103bc35ba.webp", "passed": true, "detail": null}, {"check": "public immutable success cache f71a13f3282fc8dd0c538294e7ce395a3d450a92d79571ba6c79ca4103bc35ba.webp", "passed": true, "detail": "public, max-age=31536000, immutable"}, {"check": "conditional response metadata f71a13f3282fc8dd0c538294e7ce395a3d450a92d79571ba6c79ca4103bc35ba.webp", "passed": true, "detail": null}, {"check": "local URL is content addressed", "passed": true, "detail": null}, {"check": "local bytes c064f0fffab8c66b4c747bbca15f5f19a5175010d751a8ddc70bd0a723244dce.webp", "passed": true, "detail": null}, {"check": "Nginx delivery c064f0fffab8c66b4c747bbca15f5f19a5175010d751a8ddc70bd0a723244dce.webp", "passed": true, "detail": 200}, {"check": "HTTP bytes c064f0fffab8c66b4c747bbca15f5f19a5175010d751a8ddc70bd0a723244dce.webp", "passed": true, "detail": null}, {"check": "public immutable success cache c064f0fffab8c66b4c747bbca15f5f19a5175010d751a8ddc70bd0a723244dce.webp", "passed": true, "detail": "public, max-age=31536000, immutable"}, {"check": "conditional response metadata c064f0fffab8c66b4c747bbca15f5f19a5175010d751a8ddc70bd0a723244dce.webp", "passed": true, "detail": null}, {"check": "local URL is content addressed", "passed": true, "detail": null}, {"check": "local bytes f423d0bc0795a4966040ce141ad757aed78161421533d057fa3f507d7a6e8c08.webp", "passed": true, "detail": null}, {"check": "Nginx delivery f423d0bc0795a4966040ce141ad757aed78161421533d057fa3f507d7a6e8c08.webp", "passed": true, "detail": 200}, {"check": "HTTP bytes f423d0bc0795a4966040ce141ad757aed78161421533d057fa3f507d7a6e8c08.webp", "passed": true, "detail": null}, {"check": "public immutable success cache f423d0bc0795a4966040ce141ad757aed78161421533d057fa3f507d7a6e8c08.webp", "passed": true, "detail": "public, max-age=31536000, immutable"}, {"check": "conditional response metadata f423d0bc0795a4966040ce141ad757aed78161421533d057fa3f507d7a6e8c08.webp", "passed": true, "detail": null}, {"check": "local URL is content addressed", "passed": true, "detail": null}, {"check": "local bytes f38aa779bd39c99d7ab7d77f50399be5b0beac55159ecb8456b27b577ce8e7c3.webp", "passed": true, "detail": null}, {"check": "Nginx delivery f38aa779bd39c99d7ab7d77f50399be5b0beac55159ecb8456b27b577ce8e7c3.webp", "passed": true, "detail": 200}, {"check": "HTTP bytes f38aa779bd39c99d7ab7d77f50399be5b0beac55159ecb8456b27b577ce8e7c3.webp", "passed": true, "detail": null}, {"check": "public immutable success cache f38aa779bd39c99d7ab7d77f50399be5b0beac55159ecb8456b27b577ce8e7c3.webp", "passed": true, "detail": "public, max-age=31536000, immutable"}, {"check": "conditional response metadata f38aa779bd39c99d7ab7d77f50399be5b0beac55159ecb8456b27b577ce8e7c3.webp", "passed": true, "detail": null}, {"check": "local URL is content addressed", "passed": true, "detail": null}, {"check": "local bytes e5884a4b915693a6c16004f27c826ac5556d81f0e6803133f445925266e4f2c5.webp", "passed": true, "detail": null}, {"check": "Nginx delivery e5884a4b915693a6c16004f27c826ac5556d81f0e6803133f445925266e4f2c5.webp", "passed": true, "detail": 200}, {"check": "HTTP bytes e5884a4b915693a6c16004f27c826ac5556d81f0e6803133f445925266e4f2c5.webp", "passed": true, "detail": null}, {"check": "public immutable success cache e5884a4b915693a6c16004f27c826ac5556d81f0e6803133f445925266e4f2c5.webp", "passed": true, "detail": "public, max-age=31536000, immutable"}, {"check": "conditional response metadata e5884a4b915693a6c16004f27c826ac5556d81f0e6803133f445925266e4f2c5.webp", "passed": true, "detail": null}, {"check": "local URL is content addressed", "passed": true, "detail": null}, {"check": "local bytes d7c4a7565a6b780a8fc8e96d1bddebc5d2eeb402dc852799526674ff75d1ceb1.webp", "passed": true, "detail": null}, {"check": "Nginx delivery d7c4a7565a6b780a8fc8e96d1bddebc5d2eeb402dc852799526674ff75d1ceb1.webp", "passed": true, "detail": 200}, {"check": "HTTP bytes d7c4a7565a6b780a8fc8e96d1bddebc5d2eeb402dc852799526674ff75d1ceb1.webp", "passed": true, "detail": null}, {"check": "public immutable success cache d7c4a7565a6b780a8fc8e96d1bddebc5d2eeb402dc852799526674ff75d1ceb1.webp", "passed": true, "detail": "public, max-age=31536000, immutable"}, {"check": "conditional response metadata d7c4a7565a6b780a8fc8e96d1bddebc5d2eeb402dc852799526674ff75d1ceb1.webp", "passed": true, "detail": null}, {"check": "conditional GET 304 without image body", "passed": true, "detail": 304}, {"check": "missing/invalid static path stays outside PHP /images/illustrations/0000000000000000000000000000000000000000000000000000000000000000.webp", "passed": true, "detail": 404}, {"check": "404 is not immutable-cached /images/illustrations/0000000000000000000000000000000000000000000000000000000000000000.webp", "passed": true, "detail": null}, {"check": "missing/invalid static path stays outside PHP /images/illustrations/not-an-image.php", "passed": true, "detail": 404}, {"check": "404 is not immutable-cached /images/illustrations/not-an-image.php", "passed": true, "detail": null}, {"check": "missing/invalid static path stays outside PHP /images/illustrations/.incoming-part", "passed": true, "detail": 404}, {"check": "404 is not immutable-cached /images/illustrations/.incoming-part", "passed": true, "detail": null}, {"check": "every managed article resolves locally", "passed": true, "detail": {"mirror": true, "managed": 176, "local": 176, "latest": "fn20261030"}}, {"check": "page /", "passed": true, "detail": 200}, {"check": "page only embeds local managed images /", "passed": true, "detail": null}, {"check": "absolute same-site OG image /", "passed": true, "detail": "https://clashfreenode.com/images/illustrations/49595aabd5771c0595b745effd3131815418badf3bee0ca2fbd46265494e80e8.webp"}, {"check": "page /freenode", "passed": true, "detail": 200}, {"check": "page only embeds local managed images /freenode", "passed": true, "detail": null}, {"check": "page /shadowrocketids", "passed": true, "detail": 200}, {"check": "page only embeds local managed images /shadowrocketids", "passed": true, "detail": null}, {"check": "page /search/Clash", "passed": true, "detail": 200}, {"check": "page only embeds local managed images /search/Clash", "passed": true, "detail": null}, {"check": "page /a/fn20261030.html", "passed": true, "detail": 200}, {"check": "page only embeds local managed images /a/fn20261030.html", "passed": true, "detail": null}, {"check": "absolute same-site OG image /a/fn20261030.html", "passed": true, "detail": "https://clashfreenode.com/images/illustrations/49595aabd5771c0595b745effd3131815418badf3bee0ca2fbd46265494e80e8.webp"}, {"check": "real receiver helper returns stable local copy", "passed": true, "detail": {"url": "https://clashfreenode.com/images/illustrations/49595aabd5771c0595b745effd3131815418badf3bee0ca2fbd46265494e80e8.webp", "assignment_unchanged": true}}], "assets": 37, "selections": {"freenode": 85, "shadowrocketids": 91}, "models": {"mirror": true, "managed": 176, "local": 176, "latest": "fn20261030"}, "passed": true, "check_count": 246, "failed_count": 0, "verified_at": "2026-10-30T04:26:32Z"}}}