{
  "added_at": "2026-10-17",
  "additional_evidence_urls": [
    "https://github.com/boyang-hu/website-rebuild-skill/blob/ac60c9d8a2ab40045a89b5403c3457f1404e92b3/README.en.md",
    "https://github.com/boyang-hu/website-rebuild-skill/blob/ac60c9d8a2ab40045a89b5403c3457f1404e92b3/skills/website-rebuild/references/case-studies/rsc-reconstruction.md",
    "https://github.com/boyang-hu/website-rebuild-skill/blob/ac60c9d8a2ab40045a89b5403c3457f1404e92b3/skills/website-rebuild/scripts/flight-decode.mjs",
    "https://github.com/boyang-hu/website-rebuild-skill/blob/ac60c9d8a2ab40045a89b5403c3457f1404e92b3/skills/website-rebuild/scripts/verify-flight.mjs",
    "https://github.com/boyang-hu/website-rebuild-skill/blob/ac60c9d8a2ab40045a89b5403c3457f1404e92b3/skills/website-rebuild/tools/flight-to-mdx.mjs",
    "https://github.com/boyang-hu/website-rebuild-skill/blob/ac60c9d8a2ab40045a89b5403c3457f1404e92b3/selftest/run.mjs",
    "https://github.com/boyang-hu/website-rebuild-skill/blob/ac60c9d8a2ab40045a89b5403c3457f1404e92b3/LICENSE"
  ],
  "category": "reconstruction-cases",
  "description_en": "Documents a website-rebuild-skill case that decodes browser-delivered React Server Component Flight streams, reconstructs a buildable Next project and compares its output with a captured site. The reported rauchg.com campaign uses route-tree comparison and module-reference mapping; the new server source is inferred from observable output.",
  "description_zh": "记录 website-rebuild-skill 的一个案例：解码浏览器收到的 React 服务端组件 Flight 流，重建可构建的 Next 项目，再与捕获站点的输出比较。作者报告的 rauchg.com 重建过程采用路由树比较与模块引用映射；新服务端源码由可观察输出推断。",
  "entry_url": "https://awesomerea.org/resources/rauchg-rsc-reconstruction-case/",
  "entry_url_zh": "https://awesomerea.org/zh/resources/rauchg-rsc-reconstruction-case/",
  "evidence_url": "https://github.com/boyang-hu/website-rebuild-skill/blob/ac60c9d8a2ab40045a89b5403c3457f1404e92b3/skills/website-rebuild/references/rsc-reconstruction.md",
  "group": "cases",
  "id": "rauchg-rsc-reconstruction-case",
  "json_url": "https://awesomerea.org/resources/rauchg-rsc-reconstruction-case/record.json",
  "kind": "case-study",
  "markdown_url": "https://awesomerea.org/resources/rauchg-rsc-reconstruction-case/index.md",
  "markdown_url_zh": "https://awesomerea.org/zh/resources/rauchg-rsc-reconstruction-case/index.md",
  "name": "rauchg.com: rebuilding an RSC blog from captured Flight output",
  "name_zh": "rauchg.com：根据捕获的 Flight 输出重建 RSC 博客",
  "record_type": "resource",
  "relationship": "independent-reconstruction",
  "requirement_facets": [
    "prerequisites",
    "scope",
    "testing",
    "testing",
    "limits",
    "license"
  ],
  "requirements": [
    "The documented rauchg.com snapshot used Next 16.1.1, Turbopack and React 19 canary. The tooling requires Node.js 22+ and a local Chrome/Chromium for comparison; some stages invoke version-pinned external tools. Repeating the method needs an authorized target snapshot and a separately built reconstruction, not just the skill repository.",
    "Flight decoding exposes delivered element trees, route state and client-module references. The reconstructed server-component source is explicitly an inference from that output; flight-to-mdx also needs site-specific shape/link adaptations.",
    "The author reports 18/18 routes passing a Flight semantic gate and a runtime sweep for this case. The gate compares normalized trees and enforces a global module-ID bijection. It normalizes build-hash namespaces and selected encoding differences; configured prop/class exclusions can omit registered fields or subtrees.",
    "The gate does not check CSS, so layout, fonts and rendered pixels need separate comparisons. Public synthetic self-tests include changed-text rejection and rejection of a one-to-many module mapping.",
    "The method explicitly leaves unobserved error responses, database/write paths, server caches, dynamic-image generator source and unlinked routes unresolved. The author also notes possible model-training familiarity with a nominally blind target.",
    "MIT applies to the skill and tooling, not to reconstructed websites, their scripts, fonts or other assets. The source documents separate authorization/publication decisions and private, noindex output defaults."
  ],
  "requirements_zh": [
    "文档中的 rauchg.com 快照使用 Next 16.1.1、Turbopack 和 React 19 canary。工具需要 Node.js 22+，并使用本地 Chrome／Chromium 做比较；部分阶段调用固定版本的外部工具。重做该方法需要获授权的目标快照和另行构建的重建结果，而不只是技能仓库。",
    "Flight 解码呈现已下发的元素树、路由状态和客户端模块引用。重建的服务端组件源码被明确视为根据这些输出推断的结果；flight-to-mdx 也需要针对站点调整结构与链接处理。",
    "作者报告此案例的 18/18 条路由通过 Flight 语义检查与运行遍历。检查器比较规范化后的树，并要求模块 ID 建立全局一一映射；它归一化构建哈希命名及选定编码差异，配置的属性／类排除项还可忽略已登记字段或子树。",
    "该检查器不检查 CSS，因此布局、字体与渲染像素需要另行比较。公开合成自测包括拒绝文本变更和拒绝一个源模块对应多个重建模块。",
    "方法明确留下未观察到的错误响应、数据库／写入路径、服务端缓存、动态图像生成器源码及无入链路由等未恢复范围。作者也说明，名义上的盲测目标可能已存在于模型训练知识中。",
    "MIT 适用于技能与工具，不适用于重建网站及其脚本、字体或其他素材。源码文档将授权与发布另行处理，输出默认私有并设置 noindex。"
  ],
  "targets": [
    "website"
  ],
  "url": "https://github.com/boyang-hu/website-rebuild-skill/blob/ac60c9d8a2ab40045a89b5403c3457f1404e92b3/skills/website-rebuild/references/rsc-reconstruction.md",
  "verification": "source-reviewed",
  "verified_at": "2026-10-17"
}
