知识库首页 方法论 00_覆盖审计.md

00 覆盖审计

本地来源:方法论/新词新站_300单_AI复购赛道全量分析_2026-08-24/00_覆盖审计.md

全量源文件覆盖审计

  • 源目录:/Users/project/1B/sites/找词上站agent/新词新站
  • 生成时间(UTC):2026-08-24T11:50:03.037886+00:00
  • 主清单:00_全量源文件清单.csv
  • 本审计只做文件覆盖与可解析性盘点,不写赛道结论。

1. 覆盖分母

指标 数量 口径
源条目总数 454,566 普通文件 + 符号链接;不跟随目录链接
普通文件 454,534 lstat/DirEntry.is_file(follow_symlinks=False)
符号链接 32 清单单独列出 target、resolved target 与 target_exists
现有去重网站数 29,561 复用 build_inventory.py 的域名级主表,不是文件数
主清单 CSV 数据行 454,566 必须与源条目总数相等

文件数与去重网站数不能混用:同一网站可以在 CSV/JSON/XLSX、多月快照和归档中重复出现;大量 GamePix 运行资源也不是网站样本。

2. 双重枚举复核

方法 条目数 对比结果
Python os.scandir + lstat 454,566 主方法,生成 CSV
BSD find (-type f / -type l) 454,566 find 独有 hash=0;主方法独有 hash=0
rg --files --hidden --no-ignore 454,534 与主方法的普通文件集对比:rg 独有=0;主方法独有=0

rg 的主要目的是第二引擎复核普通文件;符号链接以 find + lstat 为准。中间 NUL 分隔路径保留在 _work/inventory_*.bin,不会被换行文件名破坏。

枚举裁定:PASS(两集合完全一致)。本次主扫描结束后,后台 BuildOrSkip_全量五榜_2026-08-24 任务仍在持续写入新分页,因而 find 在稍后时点看到 0 个单调新增文件;主扫描中已纳入的路径没有任何一个在 find 时消失。清单分母因此冻结为主扫描快照 454,566 条,不会为追逐永不停止的写入而无限重跑。

第二枚举时点新增路径(最多列 50 条):

扫描期间动态生成、稳定后已增量解析并追加到最终清单的路径:

  • BuildOrSkip_全量五榜_2026-08-24/failures/explore/page-00017.FAILED-20260824T193819.json
  • BuildOrSkip_全量五榜_2026-08-24/parsed_pages/explore/page-00010.json
  • BuildOrSkip_全量五榜_2026-08-24/parsed_pages/explore/page-00011.json
  • BuildOrSkip_全量五榜_2026-08-24/parsed_pages/explore/page-00012.json
  • BuildOrSkip_全量五榜_2026-08-24/parsed_pages/explore/page-00013.json
  • BuildOrSkip_全量五榜_2026-08-24/parsed_pages/explore/page-00014.json
  • BuildOrSkip_全量五榜_2026-08-24/parsed_pages/explore/page-00015.json
  • BuildOrSkip_全量五榜_2026-08-24/parsed_pages/explore/page-00016.json
  • BuildOrSkip_全量五榜_2026-08-24/raw_pages_sanitized/explore/page-00010.html.gz
  • BuildOrSkip_全量五榜_2026-08-24/raw_pages_sanitized/explore/page-00011.html.gz
  • BuildOrSkip_全量五榜_2026-08-24/raw_pages_sanitized/explore/page-00012.html.gz
  • BuildOrSkip_全量五榜_2026-08-24/raw_pages_sanitized/explore/page-00013.html.gz
  • BuildOrSkip_全量五榜_2026-08-24/raw_pages_sanitized/explore/page-00014.html.gz
  • BuildOrSkip_全量五榜_2026-08-24/raw_pages_sanitized/explore/page-00015.html.gz
  • BuildOrSkip_全量五榜_2026-08-24/raw_pages_sanitized/explore/page-00016.html.gz

现有 traffic registry 资产已复用:00_快速查找_项目索引/文件索引.csv 有 891 条历史记录,当前仍存在 870 条,缺失 21 条;目录树_两级.txt 用于解释该子项目的目录角色。它们是 2026-06-20 的子目录历史快照,不代替本次全根目录枚举。

3. 文件类型处理策略

类型 处理 计数口径 是否冒充业务分析
CSV ≤64 MiB 用 csv.reader 逐记录校验;更大文件流式数物理行 记录数(去表头)或 physical data lines 是,但大 CSV 明确标注“物理行”
JSON ≤64 MiB 完整解析;更大则安全跳过 顶层列表记录数/对象键数 否;超大镜像显式记录跳过原因
JSONL 逐行 json.loads 全量校验 非空 JSON 记录数
XLSX 作为 ZIP 打开,读取 worksheet XML dimension 工作表维度行(含表头) 仅标为 parsed_metadata,不称内容全读
SQLite/DB URI mode=ro + query_only 所有用户表 COUNT(*) 之和
MD/TXT 二进制流式数行;小文件附 UTF-8 字符数 物理行
DOCX ZIP 读 word/document.xml 段落元素数,附表格数 仅标为 parsed_metadata
代码/测试 数行并分类 物理行 否,仅覆盖审计
日志 数行并分类 物理行 否,运行证据不等于网站样本
.DS_Store 仅记路径和字节 否,Finder 二进制元数据
图片/视频/音频/字体/游戏运行资源/其他二进制 仅记路径、扩展名、字节和角色 否,显式 skipped
符号链接 保留原 target、解析后 target 和存在性 否,避免重复读目标

4. 解析结果

分类 数量
解析成功(parsed* 153,749
解析失败 21
明确跳过 300,796

所有 failedskipped 条目都在主 CSV 的 notes 列有原因;该条件由生成脚本断言。

失败/跳过原因汇总

原因 数量
unsupported binary/resource type (.png) 192,609
unsupported binary/resource type (.ogg) 21,857
unsupported binary/resource type (.webm) 21,700
unsupported binary/resource type (.jpg) 20,719
unsupported binary/resource type (.webp) 18,761
unsupported binary/resource type (.m4a) 14,040
unsupported binary/resource type (.mp3) 2,843
unsupported binary/resource type (.ttf) 2,456
unsupported binary/resource type (.unityweb) 1,760
unsupported binary/resource type (.ico) 995
unsupported binary/resource type (.woff) 538
unsupported binary/resource type (.wasm) 396
unsupported binary/resource type (.woff2) 296
unsupported binary/resource type (.webmanifest) 283
unsupported binary/resource type (.otf) 271
unsupported binary/resource type (.glb) 239
unsupported binary/resource type (.data) 206
unsupported binary/resource type (.wav) 205
unsupported binary/resource type (.eot) 156
unsupported binary/resource type (.pck) 84
unsupported binary/resource type (.appcache) 62
unsupported binary/resource type (.atlas) 43
unsupported binary/resource type (.gltf) 43
unsupported binary/resource type (.fnt) 36
symbolic link indexed without following target to avoid duplicate content 32
unsupported binary/resource type (.pyc) 26
unsupported binary/resource type (.gz) 25
unsupported binary/resource type (.gif) 18
RuntimeError: JSON decode/parse failed: JSONDecodeError: Expecting value: line 1 column 1 (char 0) 17
unsupported binary/resource type (.bundle) 17
Finder binary metadata 12
unsupported binary/resource type (.zip) 12
unsupported binary/resource type (.manifest) 10
unsupported binary/resource type (.mp4) 10
unsupported binary/resource type (.cur) 4
unsupported binary/resource type (no extension) 4
unsupported binary/resource type (.bin) 3
unsupported binary/resource type (.part) 3
JSON 1728044388 bytes exceeds full-parse safety limit 67108864 2
unsupported binary/resource type (.aac) 2
unsupported binary/resource type (.bak-20260502150903) 2
unsupported binary/resource type (.bytes) 2
unsupported binary/resource type (.sqlite3-shm) 2
unsupported binary/resource type (.sqlite3-wal) 2
RuntimeError: JSON decode/parse failed: UnicodeDecodeError: 'gb18030' codec can't decode byte 0x81 in position 97: illegal multibyte sequence 1
RuntimeError: JSON decode/parse failed: UnicodeDecodeError: 'gb18030' codec can't decode byte 0x9e in position 28: illegal multibyte sequence 1
RuntimeError: JSON decode/parse failed: UnicodeDecodeError: 'gb18030' codec can't decode byte 0xa5 in position 61: illegal multibyte sequence 1
RuntimeError: JSON decode/parse failed: UnicodeDecodeError: 'gb18030' codec can't decode byte 0xb8 in position 91: illegal multibyte sequence 1
unsupported binary/resource type (.bak-pre24-20260502151830) 1
unsupported binary/resource type (.hash) 1
unsupported binary/resource type (.jpeg) 1
unsupported binary/resource type (.lock) 1
unsupported binary/resource type (.mem) 1
unsupported binary/resource type (.pid) 1
unsupported binary/resource type (.pre-normalize-20260502161902) 1
unsupported binary/resource type (.tag) 1
unsupported binary/resource type (.version) 1
unsupported binary/resource type (.wrl) 1

5. 扩展名分布

扩展名 数量
.png 192,611
.js 93,800
.json 35,606
.ogg 21,858
.webm 21,700
.jpg 20,719
.webp 18,761
.m4a 14,041
.html 12,342
.css 7,516
.mp3 2,843
.ttf 2,456
.unityweb 1,760
.svg 1,455
.md 1,112
.csv 1,042
.ico 995
.woff 538
.wasm 396
.woff2 296
.webmanifest 283
.otf 271
.xlsx 255
.txt 254
.glb 239
.data 206
.wav 205
.eot 156
.xml 152
.log 129
.pck 84
.appcache 62
.pyc 53
.py 49
.atlas 43
.gltf 43
.fnt 36
(none) 32
.jsonl 30
.gz 25
.gif 18
.bundle 17
.zip 12
.manifest 10
.mp4 10
.sh 8
.cur 4
.bin 3
.part 3
.plist 3
.aac 2
.bak-20260502150903 2
.bytes 2
.sqlite3 2
.sqlite3-shm 2
.sqlite3-wal 2
.bak-pre24-20260502151830 1
.docx 1
.gitignore 1
.hash 1
.jpeg 1
.lock 1
.mem 1
.pid 1
.pre-normalize-20260502161902 1
.tag 1
.version 1
.wrl 1

6. 顶层目录分布

顶层目录 数量
新词新站爆款流量traffic-registry 454,255
trustmrr-daily-10k 88
BuildOrSkip_全量五榜_2026-08-24 54
NewSites-2025年每个月流量飙升榜单汇总 47
toolify 43
saas_exit_月入万刀全量梳理_2026-08-22 29
.rankup 17
trustmrr_export_work_2026-06-10 16
全站点与月入万刀机会总梳理_2026-08-23 11
.DS_Store 1
GA4-setup-flow.txt 1
agent-sop-内容值得被转才是最好的外链形式.txt 1
gsc+ga优化sop.txt 1
seo优化sop.txt 1
上站sop.txt 1

7. 随机路径存在性抽查

固定随机种子 20260824,蓄水池抽样 25 条,lexists 通过 25 条:

  • 新词新站爆款流量traffic-registry/01_注册域名原始采集数据/05_GamePix原始条目/gamepix_resources/games/monster-kid-jump/build/index.html — lexists=true, type=file
  • 新词新站爆款流量traffic-registry/01_注册域名原始采集数据/05_GamePix原始条目/gamepix_resources/games/kaido/build/media/win_2.m4a — lexists=true, type=file
  • 新词新站爆款流量traffic-registry/01_注册域名原始采集数据/05_GamePix原始条目/gamepix_resources/games/spider-solitaire-3/manifest.json — lexists=true, type=file
  • 新词新站爆款流量traffic-registry/01_注册域名原始采集数据/05_GamePix原始条目/gamepix_resources/games/tap-fun/build/appmanifest.json — lexists=true, type=file
  • 新词新站爆款流量traffic-registry/01_注册域名原始采集数据/05_GamePix原始条目/gamepix_resources/games/abcpop/build/runtimescene.js — lexists=true, type=file
  • 新词新站爆款流量traffic-registry/01_注册域名原始采集数据/05_GamePix原始条目/gamepix_resources/games/gentlemans-quest/build/images/character_bg_-sheet0.png — lexists=true, type=file
  • 新词新站爆款流量traffic-registry/01_注册域名原始采集数据/05_GamePix原始条目/gamepix_resources/games/rainbow-girls-christmas-party/build/assets/level4/eshade3.png — lexists=true, type=file
  • 新词新站爆款流量traffic-registry/01_注册域名原始采集数据/05_GamePix原始条目/gamepix_resources/games/brick-breaker-unicorn/build/media/collisionhit.webm — lexists=true, type=file
  • 新词新站爆款流量traffic-registry/01_注册域名原始采集数据/05_GamePix原始条目/gamepix_resources/games/toid-blaster/build/style.css — lexists=true, type=file
  • 新词新站爆款流量traffic-registry/01_注册域名原始采集数据/05_GamePix原始条目/gamepix_resources/games/bricks-breaker/cover.jpg — lexists=true, type=file
  • 新词新站爆款流量traffic-registry/01_注册域名原始采集数据/05_GamePix原始条目/gamepix_resources/games/smart-box-match/build/images/shared-0-sheet0.png — lexists=true, type=file
  • 新词新站爆款流量traffic-registry/01_注册域名原始采集数据/05_GamePix原始条目/gamepix_resources/games/flipper-dunk-3d/build/assets/images/skin-icon-ball-candy-3.4c192469c90db049c856.png — lexists=true, type=file
  • 新词新站爆款流量traffic-registry/01_注册域名原始采集数据/05_GamePix原始条目/gamepix_resources/games/new-doodle/build/images/ground_grass-sheet0.png — lexists=true, type=file
  • 新词新站爆款流量traffic-registry/01_注册域名原始采集数据/05_GamePix原始条目/gamepix_resources/games/matchcandy-io/build/states/Achievements.js — lexists=true, type=file
  • 新词新站爆款流量traffic-registry/01_注册域名原始采集数据/05_GamePix原始条目/gamepix_resources/games/quevi-2/build/images/jewel-sheet0.png — lexists=true, type=file
  • 新词新站爆款流量traffic-registry/01_注册域名原始采集数据/05_GamePix原始条目/gamepix_resources/games/potato/cover.jpg — lexists=true, type=file
  • 新词新站爆款流量traffic-registry/01_注册域名原始采集数据/05_GamePix原始条目/gamepix_resources/games/ball-slider/build/media/c 5.webm — lexists=true, type=file
  • 新词新站爆款流量traffic-registry/01_注册域名原始采集数据/05_GamePix原始条目/gamepix_resources/games/watermelon-merge/build/images/fruit-sheet2.png — lexists=true, type=file
  • 新词新站爆款流量traffic-registry/01_注册域名原始采集数据/05_GamePix原始条目/gamepix_resources/games/target-tap-deluxe/icon.png — lexists=true, type=file
  • 新词新站爆款流量traffic-registry/01_注册域名原始采集数据/05_GamePix原始条目/gamepix_resources/games/wear-the-helmet/build/workermain.js — lexists=true, type=file
  • 新词新站爆款流量traffic-registry/01_注册域名原始采集数据/05_GamePix原始条目/gamepix_resources/games/steel-defender/build/images/chessfaketarget-sheet1.png — lexists=true, type=file
  • 新词新站爆款流量traffic-registry/01_注册域名原始采集数据/05_GamePix原始条目/gamepix_resources/games/paint-roller/build/TemplateData/progress-bar-full-dark.png — lexists=true, type=file
  • 新词新站爆款流量traffic-registry/01_注册域名原始采集数据/05_GamePix原始条目/gamepix_resources/games/adventure-capitalist-hole/build/images/powercharge-sheet0.png — lexists=true, type=file
  • 新词新站爆款流量traffic-registry/01_注册域名原始采集数据/05_GamePix原始条目/gamepix_resources/games/fidget-popit-challange/manifest.json — lexists=true, type=file
  • 新词新站爆款流量traffic-registry/01_注册域名原始采集数据/05_GamePix原始条目/gamepix_resources/games/bad-driver/build/icon-256.png — lexists=true, type=file

8. 机械验证结论

  • CSV 数据行 = 454,566,声明源条目 = 454,566:PASS
  • find 与主枚举集合:PASS(两集合完全一致)
  • 随机 25 路径 lexistsPASS
  • 失败/跳过原因完整性:PASS(缺原因 0 条)。
  • 源目录仅读原则:清单脚本只对源路径调用读操作;所有产物位于 /Users/project/1B/千百万刀/方法论/新词新站_300单_AI复购赛道全量分析_2026-08-24

本文档为站内渲染。原始文件本地路径:saas/source/methodology/方法论-新词新站_300单_AI复购赛道全量分析_2026-08-24-00_覆盖审计-ec34ca.md(仅本地保留,不入库不部署)