---
name: Case Studies
slug: case-studies
category: Writing
description: Case Studies records empirical examples and failure cases behind SKILL.md rules. Use it when you need to understand why a rule exists or check how strong the evidence is.
github: "https://github.com/boyang-hu/website-rebuild-skill/tree/main/skills/website-rebuild/references/case-studies"
language: JavaScript
stars: 840
forks: 169
install: "npx degit https://github.com/boyang-hu/website-rebuild-skill/tree/main/skills/website-rebuild/references/case-studies ~/.claude/skills/case-studies"
installs_to: ~/.claude/skills/case-studies
source_path: skills/website-rebuild/references/case-studies/skill.md
collection_size: 2
category_size: 1109
collection_url: "https://dirskills.com/collections/boyang-hu/website-rebuild-skill"
added: 2026-09-03T06:03:19.902Z
last_synced: 2026-09-03T06:03:19.902Z
canonical_url: "https://dirskills.com/skills/case-studies"
---

# Case Studies

Case Studies records empirical examples and failure cases behind SKILL.md rules. Use it when you need to understand why a rule exists or check how strong the evidence is.

**Install:**

```bash
npx degit https://github.com/boyang-hu/website-rebuild-skill/tree/main/skills/website-rebuild/references/case-studies ~/.claude/skills/case-studies
```

## README

# case-studies/skill.md — SKILL.md 的实证记录

> **何时加载本文件**：不在必经集合里。只在想知道 SKILL.md 某条规则**为什么存在**、或要核对它的实证强度时读；小节名与 SKILL.md 一一对应。

## 使用前提与授权

**法务考量不得削减镜像完整性或门的覆盖面**：**不得**以"反正不公开""不该多存一份"这类法务理由留洞。实证：某项目以"产出永不公开"为由对一类资产"登记、不补抓"，**缺了约 60% 的资产而五道门始终全绿**，藏了四个里程碑【objectarchive】。

## 适用范围

**C1（重构式逆向）**——路线：flight-decode 建坐标系 → 重构一个可构建的 Next 工程（客户端一方组件按 C2 逐字译，服务端组件从 flight 树反推为显式登记的推断物）→ verify-flight 语义门收口（模块 id 全局双射）。实测 rauchg.com（Next 16/Turbopack）：18/18 路由语义一致，盲逆向对答案结构 ≈95%/行为 ≈98%。

**C2（可做，按 A 类跑）**——实测一个 R3F 站：`useFrame` 回调里就是 `MathUtils.damp(x, y, 7, t)` 这样的普通命令式代码，逐字切片 18 个模块换进页面后 **CLEAN、8 个 canvas 齐全、跨侧 99.5%**。**切片器不关心范式——它切的是字节。** 渲染器当平台层从镜像伺服。

**X 类（可抢救）**——⭐ 抢救产出是**标准镜像**——X 类可走完 L3 全程（实测 first-launch：策略 A 外壳 + 数值门 9,856 样本全等 + 像素带宽内 + 自包含门，无一道门需改语义）。

**X 类（可抢救）**——⛔ **"CDX 无覆盖才是真不可做"按资产层读，不按站读**：IA 爬虫不执行 JS，清单/拼接驱动的站可以代码层覆盖 100% 而画面层为零（实测 157/160 资产任何年代零捕获,断网即白屏）——Step 0 先做分层覆盖侦察（推导 + CDX 前缀查询）预判抢救深度,见 `archival-rescue.md` §1.9。

## Workflow / Flow — M1

⛔ **第一个动作是判 bundle 形态**（扁平拼接 / 模块化打包 / 多 chunk），再选工具——分层表扫顶层声明，而 webpack 打包产物的顶层声明数是 **0**，边界与依赖边由打包器给定（实测 24,378 行 → 569 个现成模块，用 `scripts/module-map.mjs`）。

## Workflow / Flow — M(n+1)

到 M(n) 为止产物**已证明正确但人读不了**（实测：14,271 行挤在一个文件里，`e` 出现 2962 次，注释占 0.2%）。

遇到巨型模块时**先测「延迟绑定少数末尾单例」的收益曲线再决定**（实测 6 个绑定即从 11,246 行降到 1,013 行，而换模块系统要赔上整条工具链才换来同样粒度）。

⭐ **"这件事做不到"这个判断极不可靠**——实测两次判为结构性不可能，两次真凶都是自己工具里的一行 bug；先怀疑测量它的工具，再怀疑对象（`readable-source.md` §3.1–3.1.3）。

## Script Directory

⛔ **不要改成手写词法器**——本 skill 里试过，一个含引号的正则字面量把它带偏了 16,177 行（F27）。**token 流上的括号匹配是精确的，文本上的括号匹配是对字符串/正则/注释的猜测。**

⚠ 这条线是**被违反之后才被发现的**：`module-map.mjs` 依赖 `@babel/*`，却在 `scripts/` 里住了整整八个版本，而同一份纪律的原话就写在它上面三行。**一条只写在文档里、没有任何东西去查的规矩，会安静地失效。**
