研究 Alpha · 门禁 v2:正式发布 0 条(含专家复核;专家网络未建立)· 52 条为「部分来源已核」研究档案(总编辑批准)· 0 条来源可定位 —— 均不应作为事实结论引用 · 门禁说明
← 方法文档

design-v2 · migration-report.md

Markdown 原文逐字发布,未经渲染加工。版本 8508aeb

# EXO-TRACE v1→v2 数据迁移报告(migration-report)

> 对齐:审计 §6.2(10+ 轴)、§6.3(核心对象拆分)、§P0-1(发布状态拆分)、阶段 P1(数据底座重构)、§P1-8(旧 URL 永久兼容)、§15.2(分类与数据验收)。
> 数据基线:`data/cases/*.json` 共 6 文件、52 条案例(00-anchors 1、astronomy 12、databases 0、debunked 15、military 12、mythology 12);222 条来源;187 条原子主张;163 条反解释;media 条目 0。
> 结论先行:**约 70% 字段可脚本自动迁移;三处结构性拆分(domain/status/sources)半自动;纯人工缺口集中在来源核验、locator 补齐与实体化,估计 100–170 小时。**

---

## 1. 数据现状总览

| 项 | 值 | 迁移含义 |
|---|---:|---|
| 案例 | 52(51 published + 1 ai_draft) | 全部需重放到 v2 review_status 阶梯 |
| 来源 | 222(tier A93/B64/C41/D15/E5/R3/F1) | 拆为 Source + Citation + Relation |
| 来源 url_confidence | verified 145 / likely 32 / unknown 45 | 77 条未达 verified,需人工核 |
| 无 URL 来源 | 49 | 需补链或定为 link_only |
| 原子主张 | 187(verified 106 / unverified 50 / refuted 19 / disputed 12) | 升为独立 Claim 对象 |
| 主张缺 locator | 92/187 | Citation 精确锚点的最大人工缺口 |
| 反解释 | 163(alternative-mechanism 140 / evidential-limit 23) | 升为 Hypothesis/Explanation 对象 |
| 有坐标案例 | 26/52 | Place 角色标注需人工 |
| claimed_vs_recorded | 52/52 | 双时间点已齐,可自动生成两条 TimeInterval |
| media 条目 | 0 | **无媒体迁移负担**,v2 媒体体系从零建 |
| sources.sha256 / derived_from 使用 | 0 / 0 | 字段存在但从未填,迁移时不产出 |
| independent_group | 222/222 已填 | 可自动生成案内 same_origin_as 关系 |
| review.verified_by | 52 条均为「liyandong(站点所有者)」 | 按 P0-2 全部映射为 editor 角色,不映射为专家 |

---

## 2. 逐字段迁移矩阵

自动化程度:**A**=纯脚本;**S**=脚本产出+人工确认;**M**=纯人工。

### 2.1 案例级字段

| v1 字段 | 出现 | v2 去向 | 映射规则 | 程度 |
|---|---:|---|---|---|
| id | 52 | Case.id(永不改名) | 原样保留;同时作为旧 URL 键(§6) | A |
| title.zh/en | 52 | Case.title | 原样 | A |
| domain | 52 | collections[] + topics[] + track + claim_types[] | 见 §3.1 拆分规则 | S |
| publication_status | 52 | review_status | 见 §3.2 映射表 | A |
| status | 52 | resolution_status +(部分转 review 轴) | 见 §3.2;13 条需人工定 resolution | S |
| focal_claim_zh | 51 | Claim(role=focal) | 升为独立 Claim 对象并标 focal;wandjina 缺失需补 | A |
| score_targets_zh | 51 | Assessment.score_targets | 随评分对象走 | A |
| provisional | 3 | 由 review_status 阶梯表达后废除 | `partially_sourced` 及以下即隐含 provisional | A |
| evidence_cutoff_date | 51 | Case.evidence_cutoff_date | 原样;wandjina 补 | A |
| date.display/year/precision | 52 | TimeInterval(role=claimed_occurrence) | year+precision → 区间(century→±50 等规则表) | A |
| date.claimed_vs_recorded | 52 | TimeInterval ×2(claimed / first_recorded) | 两个年份各生成一条 | A |
| location | 52 | Place + 关系 occurred_at 或 culturally_associated_with | 坐标原样;**角色需人工**:神话/古籍条不得标为事件精确发生地(审计 §13.1) | S |
| summary_zh | 52 | Case.summary_zh | 原样 | A |
| what_it_does_not_show_zh | 14 | Case.limits_zh(改通用名) | 原样;建议 v2 对全部轨道渐进补齐 | A |
| civilization | 12 | cultures[] | 单值→数组 | A |
| motifs | 12 | Relation(depicts→Motif 实体) | M1–M10 建为 Motif 实体,案例连边 | A |
| source_text | 12 | CulturalText 实体 | title/卷次/作者/成书年代/语言 直映 | A |
| original_excerpt / translation_zh / traditional_interpretation_zh | 12 | CulturalText.excerpt + Translation 层 | 原样迁;**translation_zh 未区分直译/学术译本/译者版本**(审计 §13.2),需人工补层 | S |
| et_interpretation | 12 | Claim(type=ancient_contact_reinterpretation) + Person/Source 实体 | proposed_by → Person;published_in → Source | S |
| known_contamination | 12 | Hypothesis(type=contamination) 或 Case.contamination_note | 有具体机制者升 Hypothesis | S |
| evidence_modalities | 52 | evidence_modalities[](10 轴之一) | 值基本 1:1;`oral-tradition`、`rock-art` 为库内超 enum 值,纳入 v2 受控词表(§7) | A |
| atomic_claims | 51 | Claim + Citation | 见 §3.3 | S |
| sources | 52 | Source + Citation + Relation | 见 §3.3 | S |
| counter_explanations | 52 | Hypothesis/Explanation 对象 + 假说对照矩阵 | type→hypothesis 类别;nature(alternative-mechanism/evidential-limit) 保留——这是 v1 的好设计,直接进 v2 | A |
| official_status | 40 | Assessment 对象 | **文本需人工拆**:谁、何机构、依据何材料、支持哪条命题(审计轨道 A9「权威认为不单独成证据」) | M |
| scores + score_rationale_zh | 52 | Assessment(S/E/D/A/X) + 理由 | 原样迁;v2 展示层改区间/分层(审计 §6.4),数据层保留原值 | A |
| media | 0 | MediaWork/File/Rendition | 空集,无迁移动作 | A |
| related | 18 案 30 边 | Relation(type=related) | 原样;方向与语义(same_origin/对照)人工细化可延后 | A |
| tags | 52 | tags[](自由标签轴) | 原样保留,不与 topics 混用 | A |
| review | 52 | ReviewEvent | 见 §3.4 | A |
| uncertainty_notes | 52 | Case.uncertainty_notes | 原样;其中埋藏的「未核验项清单」建议逐步结构化为 validation 对象(可延后) | A |
| original_claim_zh | 15 | Claim(role=original_claim) | debunked 类的「原始主张」升为独立 Claim,与 focal_claim 并存 | A |
| audit_trail / audit_trace | 3 | ReviewEvent[] | 两个字段名不一致(见 §7),统一为 audit_trail 后迁 | A |
| research_value_zh / claim_split_note_zh | 1/1 | Case 备注字段 | 原样 | A |

### 2.2 来源级字段(sources[] 内部)

| v1 字段 | 出现/222 | v2 去向 | 规则 | 程度 |
|---|---:|---|---|---|
| id, title, authors, publisher, date, doi, url, lang | 全或部分 | Source(书目身份) | 直映 | A |
| tier | 222 | Source.tier(保留) | 直映;v2 另加 source_types[] 轴(§3.1) | A |
| kind | 222 | Source.kind | 直映;`preprint`(2)、`manuscript`(1) 超 enum,纳入 v2 词表 | A |
| archive_url | 188 填/91 非空 | Source.archive_url | 直映 | A |
| source_identity | 222 | Source.identity_note | 直映(无 URL 来源的定位描述,49 条依赖它) | A |
| url_confidence | 222 | Source.verification_status | verified→verified;likely/unknown→pending_verification(合并后由核验流程重判) | A |
| locator(source 级) | 55 | Citation.locator | source 级页码移到「案例↔来源」的 Citation 上 | A |
| independent_group | 222 | Relation(same_origin_as) | 同案同组的来源两两连 same_origin_as;跨案例同根合并需人工(§4) | S |
| cited_source_actually_used | 43 | Relation(quotes/derived_from) + Source.secondary_of | 该字段是 v1 揭示污染链的关键设计,转为显式来源关系边 | S |
| material_state | 5 | MediaFile.generation 概念的前身 | 仅 5 条有值;来源为文献时并入 Source 备注,为媒体时待 v2 媒体层 | A |
| sha256 / derived_from / earliest_known_source | 0 | — | 从未使用,不迁移 | A |

---

## 3. 三大结构性拆分

### 3.1 domain → collections[] + track + topics[] + claim_types[]

拆分原理(审计 §6.1):v1 的 14 个 domain 混了学科、材料形态、机构来源、事件场景、处置结论五种轴。迁移规则:**domain 决定「主轨道」初值;topics/claim_types 由 domain+tags+summary 关键词半自动预填,人工确认**。理由:52 条量级下人工确认成本低(<8 小时),而错误的自动多标签会长期污染分面。

domain→主轨道默认映射(例外见 §5 逐条表):

| v1 domain | 条数 | 默认 collections | 默认主轨道 | 说明 |
|---|---:|---|---|---|
| military-sensor | 8 | A 证据研究馆 | A4 现代 UAP/军事遭遇 | |
| archaeology | 7 | A | A8 神话/古籍/考古 | 6 条 debunked 类同时挂 A10 topic |
| ancient-text | 6 | A | A8 | |
| government-archive | 5 | A | A9 政府/机构史 | **例外**:roswell→A7、operacao-prato→A4(domain 记录的是来源机构而非案件性质,正是混轴证据) |
| astronomy | 4 | A | A3 天文异常与星际天体 | |
| astrobiology | 4 | A | A1 宇宙生命基础 | |
| hoax-misid | 4 | A | A10 常规解释与取证 | resolution 另走 hoax(§3.2);**例外**:mexico-congress→A7 |
| mythology | 4 | A | A8 | |
| seti | 3 | A | A2 SETI/技术标志 | **例外**:seti-null-results→A11 阴性证据 |
| sighting | 3 | A | A4 | **例外**:starlink、sky-lanterns→A10(它们是「误认类别」而非事件,见下) |
| theory | 1 | B 科学背景馆 | B | 不参与案例外星支持度排名(审计 §5.2) |
| media-evidence | 1 | A | A10 | 审计明言该 domain 本身是混轴产物,取消 |
| physical-trace | 1 | A | A7 物理痕迹/回收物 | |
| religion | 1 | A | A8 | |

**record_type 附带发现**:`starlink-satellite-trains`、`lens-flare-parallax-sensor-artifacts`、`sky-lanterns-and-balloons` 三条不是事件,是「误认类别」知识条目。迁移时 record_type 应标为「解释类别」而非「事件」,未来作为常规解释实验室(审计 §10.2)的种子内容。理由:把类别条目混入事件列表会污染时间轴与地图的分母。【需批准】

claim_types[] 预填词表(从 52 条实际内容归纳):`anomalous_vehicle`(异常飞行器)、`technosignature`、`biosignature`、`artificial_object`(人工天体)、`ancient_contact`、`recovered_object_or_remains`、`anomalous_knowledge`(多贡型)、`physical_trace`、`misidentification`、`hoax`、`religious_vision_reinterpretation`、`control_baseline`(Borisov 型对照条目)。理由:先从存量归纳、再随扩量增补,避免空转的大词表。

### 3.2 status / publication_status → resolution_status + review_status

**v1 status 的病根**:9 个值里「待核验/来源可追溯/已有独立佐证」是来源核验轴,「资料不足/存在争议/常规解释较充分/尚未解释/已证伪」是解释处置轴,「已撤回」是发布治理轴——三轴挤在一个单选框(审计 §6.1 的具体病例)。

映射表(52 条实测分布标注):

| v1 status | 条数 | → resolution_status | → review 轴影响 | 程度 |
|---|---:|---|---|---|
| 常规解释较充分 | 15 | 常规解释充分 | 无 | A |
| 存在争议 | 12 | 争议(例外 2 条:fermi→not_applicable、lens-flare 视决策 #3) | 无 | A |
| 来源可追溯 | 11 | **人工定**(默认 未评估) | 佐证 review_status≥source_located | M |
| 已证伪 | 9 | 骗局(4) 或 已证伪/refuted(5) | 无 | S |
| 尚未解释 | 2 | 未解决 | 无 | A |
| 已有独立佐证 | 2 | **人工定** | 佐证来源独立性记录 | M |
| 资料不足 | 1 | 资料不足 | 无 | A |
| 待核验 / 已撤回 | 0 | —(词表保留) | | A |

- 「已证伪」triage 规则:counter_explanations 含已承认造假(type=hoax 且有承认记录)→ `hoax`(alien-autopsy、crop-circles、mexico-congress、billy-meier*);科学主张被后续研究推翻(alh84001、palenque、sanxingdui、antikythera、vaimanika)→ `refuted`。*billy-meier 本人从未承认,是否入 hoax 档需人工判(敏感性政策 §3.1 在世人物规则同时适用)。
- 【需批准】v2 `resolution_status` 词表在审计 §6.2 的 7 值(未评估/资料不足/部分解释/常规解释充分/争议/未解决/骗局)之外**增加 `refuted`(已证伪)与 `not_applicable`(理论/类别条目不适用)**。理由:ALH84001 属「主张被科学程序推翻」而非「骗局」也非「常规解释充分」,强行归档会重演混轴;B 馆理论条目按审计 §5.2 本就不参与处置评级。

**publication_status → review_status**(审计 P0-1 阶梯):

| v1 | 条数 | → v2 review_status | 理由 |
|---|---:|---|---|
| published | 51 | **editor_approved**(非 v2 published) | P0-1/P0-2:现门禁仅「≥1 已核来源+≥1 已核主张+站点所有者复核」,达不到 v2 published 的「核心命题必要子主张闭环」;诚实降级,待新门禁逐条重审后再升 |
| ai_draft | 1 | ai_draft | 直映(wandjina) |
| 其余 5 个 v1 值 | 0 | 按语义并入 v2 阶梯 | 无存量 |

【需批准】51 条降级为 editor_approved 是本报告影响最大的单项决策:前台措辞需同步从「正式发布/证据链闭环」改为「站点编辑批准」(对应审计 §15.1 首个验收项)。

### 3.3 sources → Source + Citation +(Relation)

v1 的 source 对象混装了三种东西,按下表拆:

| v1 承载 | v2 对象 | 内容 |
|---|---|---|
| 书目身份(title/authors/publisher/date/doi/url/lang/tier/kind/identity) | **Source** | 全库去重后的来源实体;跨案例同一文献合并为一个 Source(当前 222 条为案内作用域,跨案去重估计合并 10–20%) |
| 「本案在何处使用了它」(locator、被哪条主张引用) | **Citation** | case_id/claim_id → source_id + locator(页码/卷次/时间码) + 引用角色 |
| 来源间关系(independent_group、cited_source_actually_used) | **Relation** | same_origin_as(同组两两连边,自动);quotes/derived_from(43 条 cited_source_actually_used 转显式边,半自动) |

atomic_claims 的迁移与 Citation 同步:187 条主张各升为 Claim 对象,其 source_ref+locator 生成首批 Citation。**95 条有 locator 可全自动;92 条缺 locator 的 Citation 先建立「未锚定」状态**,纳入 §4 人工队列。理由:先迁后补,避免人工补齐阻塞整个迁移管线。

### 3.4 review → ReviewEvent

52 条 review 块全部满足:ai_involvement=drafted、verified_by=liyandong(站点所有者)、independent_review=false。迁移规则:

- 每条生成两个 ReviewEvent:`{role: ai_draft, actor: model字段}` 与 `{role: final_editor_approval, actor: liyandong}`;
- **不生成**任何 expert/method/rights/sensitivity 角色的 ReviewEvent(从未发生过,不得虚构——对应审计 P0-2 与 §15.1「真实反映角色」);
- audit_trail(3 条)中的 AI 交叉检查记录标为 `machine_cross_check`,不计入人类审核数。

---

## 4. 无法自动推断、需人工补齐清单(含工作量估计)

| # | 缺口 | 量 | 动作 | 估时 |
|---|---|---:|---|---:|
| 1 | 未达 verified 的来源(likely 32 + unknown 45) | 77 条 | 逐条核 URL/落地页/存档 | 20–40 h |
| 2 | 无 URL 来源 | 49 条 | 补可核链接,或据 source_identity 定为 link_only/离线馆藏 | 15–25 h |
| 3 | 原子主张缺 locator | 92 条 | 回到来源定位页码/卷次/时间码 | 15–25 h |
| 4 | 「来源可追溯/已有独立佐证」的 resolution_status 人工判定 | 13 条 | 按 v2 词表重判 | 2 h |
| 5 | topics[]/claim_types[] 确认(预填后) | 52 条 | 逐条过目 | 5–8 h |
| 6 | record_type 判定(事件/文本/类别/调查项目/文档) | 52 条 | 逐条,重点 8 条边界(3 类别条+blue book+condign+aaro 报告+seti-null+fermi) | 2 h |
| 7 | official_status → Assessment 结构化(谁/何机构/依据/支持哪条命题) | 40 条 | 人工拆写并绑 citation;含 P0-3 Nimitz AARO 归因修正 | 7–10 h |
| 8 | Person/Organization 实体化(et_interpretation.proposed_by、attributed_to、关键证人) | ~60–80 实体 | 半自动抽取+人工去重定名 | 8–12 h |
| 9 | Place 角色标注(事件地 vs 文化关联地 vs 馆藏地;26 条无坐标的处理) | 52 条 | 神话/古籍 12 条为重点(审计 §13.1) | 4–6 h |
| 10 | TimeInterval 补充角色(出版/解密/调查/改判时间) | 52 条 | claimed/first_recorded 已自动,其余按案补 | 6–10 h |
| 11 | 古籍翻译层重建(直译 vs 学术译本、译者、版本、争议词义,审计 §13.2) | 12 条 | 部分需外部文献 | 12–24 h |
| 12 | 跨案例 Source 去重与同根合并(independent_group 跨案作用域) | 222→约 180–200 | 半自动(doi/url/title 模糊匹配)+人工确认 | 4–8 h |
| 13 | SensitivityReview 首轮(全库筛查+重点 10 条建档,见 sensitivity-policy-v1 §2.3) | 52+10 | 按政策流程 | 8–14 h |
| 14 | wandjina 补 focal_claim/atomic_claims/evidence_cutoff(当前唯一缺失条) | 1 条 | 与其敏感性审核同批完成 | 1–2 h |
| | **合计** | | | **约 110–190 h** |

排序建议:#7(含 P0-3)与 #4 最先做(直接影响可信口径);#1–#3 可与 P2 标杆建设并行分批。理由:审计 P0 阶段要求先恢复准确口径,来源核验类长尾不应阻塞底座上线。

---

## 5. 52 条逐条映射表(domain → 新轨道归属)

馆:A=证据研究馆,B=科学背景馆,C=文化影响馆(副馆=同时在该馆有展览侧条目)。resolution 列为迁移后值(M=需人工判定,先置「未评估」)。

| # | id | v1 domain | 馆 | 主轨道 | 副 topics | resolution_status |
|---|---|---|---|---|---|---|
| 1 | nimitz-2004-tictac | military-sensor | A | A4 | A9, A10 | 未解决(P0-3 修正后复核) |
| 2 | wow-signal-1977 | seti | A | A2 | A11 | 未解决 |
| 3 | blc1-proxima-2019 | seti | A | A2 | A10, A11 | 常规解释充分 |
| 4 | kic-8462852-tabbys-star | astronomy | A | A3 | A2 | 常规解释充分 |
| 5 | oumuamua-1i-2017 | astronomy | A | A3 | B | 常规解释充分 |
| 6 | borisov-2i-2019 | astronomy | A | A3 | A11(对照基线) | M |
| 7 | atlas-3i-2025 | astronomy | A | A3 | C(传播争议) | 常规解释充分 |
| 8 | alh84001-mars-meteorite | astrobiology | A | A1 | A11 | refuted |
| 9 | mars-methane-discrepancy | astrobiology | A | A1 | — | 争议 |
| 10 | venus-phosphine-2020 | astrobiology | A | A1 | — | 争议 |
| 11 | k2-18b-dms-claim | astrobiology | A | A1 | — | 常规解释充分 |
| 12 | seti-null-results-breakthrough-listen | seti | A | **A11** | A2 | M(record_type=数据集/调查) |
| 13 | fermi-paradox-drake-uncertainty | theory | **B** | B | — | not_applicable |
| 14 | roswell-1947-project-mogul | government-archive | A | **A7** | A9, A10, C | 常规解释充分 |
| 15 | alien-autopsy-1995-santilli | hoax-misid | A | A10 | C;敏感 §5 | hoax |
| 16 | crop-circles-bower-chorley | hoax-misid | A | A10 | C | hoax |
| 17 | billy-meier-photographs | hoax-misid | A | A10 | A6, C;在世人物 | hoax(本人未承认,人工复核档位) |
| 18 | phoenix-lights-1997 | sighting | A | A4 | A10 | 争议(v2 拆为两个 Event,见 §6.3) |
| 19 | mexico-congress-alien-bodies-2023 | hoax-misid | A | **A7** | A9, A10, C;遗体敏感 | hoax |
| 20 | nazca-lines-alien-runways | archaeology | A | A8 | A10, C;遗产敏感 | 常规解释充分 |
| 21 | baalbek-trilithon | archaeology | A | A8 | A10 | 常规解释充分 |
| 22 | palenque-pakal-sarcophagus-lid | archaeology | A | A8 | A10, C;丧葬敏感 | refuted |
| 23 | sanxingdui-extraterrestrial-claim | archaeology | A | A8 | A10, C | refuted |
| 24 | saqqara-bird-glider-claim | archaeology | A | A8 | A10;丧葬敏感 | 常规解释充分 |
| 25 | antikythera-mechanism-ooparts-claim | archaeology | A | A8 | A10 | refuted |
| 26 | starlink-satellite-trains | sighting | A | **A10** | A4(record_type=解释类别) | 常规解释充分 |
| 27 | lens-flare-parallax-sensor-artifacts | media-evidence | A | **A10** | (解释类别) | 争议(批准决策 #3 后转 not_applicable) |
| 28 | sky-lanterns-and-balloons | sighting | A | **A10** | A4(解释类别) | 常规解释充分 |
| 29 | iran-1976-tehran-f4 | military-sensor | A | A4 | A9, A10 | 争议 |
| 30 | rendlesham-forest-1980 | military-sensor | A | A4 | A9, A10 | 争议 |
| 31 | belgium-1989-1990-f16-radar | military-sensor | A | A4 | A10 | 争议 |
| 32 | operacao-prato-1977 | government-archive | A | **A4** | A9, A7;医疗敏感 | 资料不足 |
| 33 | jal-1628-1986 | military-sensor | A | A4 | A10 | 常规解释充分 |
| 34 | chile-cefaa-2014-navy-helicopter | military-sensor | A | A4 | A10 | 常规解释充分 |
| 35 | geipan-trans-en-provence-1981 | physical-trace | A | A7 | A9, A10 | 争议 |
| 36 | uk-mod-project-condign-2000 | government-archive | A | A9 | A10(record_type=文档/报告) | M |
| 37 | usaf-project-blue-book | government-archive | A | A9 | A4, A11(record_type=调查项目) | M |
| 38 | washington-dc-1952-radar-flap | military-sensor | A | A4 | A9, A10, C | 常规解释充分 |
| 39 | malmstrom-1967-echo-flight | military-sensor | A | A4 | A9;在世人物 | 争议 |
| 40 | aaro-historical-record-report-2024 | government-archive | A | A9 | A11(record_type=文档) | M |
| 41 | shiyiji-guanyue-cha | ancient-text | A | A8 | C | M |
| 42 | nihonshoki-tenson-korin | ancient-text | A | A8 | C | M |
| 43 | utsuro-bune-1803 | ancient-text | A | A8 | C | 争议 |
| 44 | ezekiel-1-merkabah | religion | A | A8 | C;活态宗教尊重 | M |
| 45 | vaimanika-shastra | ancient-text | A | A8 | A10 | refuted |
| 46 | sumerian-anunnaki | ancient-text | A | A8 | C(Sitchin 传播史) | M |
| 47 | dogon-sirius | mythology | A | A8 | A10(污染链);原住民敏感 | 常规解释充分 |
| 48 | tuatha-de-danann-dark-clouds | mythology | A | A8 | C | M |
| 49 | quetzalcoatl-feathered-serpent | mythology | A | A8 | C;遗产敏感 | 争议 |
| 50 | wandjina-rock-art | archaeology | A | A8 | 原住民敏感(旗舰案例) | M |
| 51 | mengxi-bitan-yangzhou-pearl | ancient-text | A | A8 | — | M |
| 52 | taketori-monogatari-moon-descent | mythology | A | A8 | C | M |

粗体=偏离 domain 默认映射的人工改判(8 处),全部源于 v1 domain 记录的是「来源机构/材料形态」而非案件性质——即审计 §6.1 混轴论断的逐条实证。副 topics 与敏感标注为预填建议,随 §4-#5、#13 人工确认。

轨道覆盖侧写(迁移后):A4×11、A8×16、A10×5(+6 副)、A9×4、A1×4、A3×4、A2×2、A7×3、A11×1、B×1;**A5(USO)与 A6(接触体验)主轨道为 0**——与审计 §2.2 缺口台账一致,属 P4 内容扩展议题,非迁移议题。

---

## 6. 旧 URL 兼容方案(审计 §P1-8)

### 6.1 现状 URL 清单

| 类别 | 模式 | 数量 |
|---|---|---:|
| 案例页 | `https://alien.fatezen.io/cases/<id>.html` | 52 |
| 案例索引 | `/cases/` | 1 |
| 工具/专题页 | `/map.html` `/matrix.html` `/motifs.html` `/timeline.html` `/debunked.html` `/databases.html` `/coverage.html` `/quality.html` `/methodology.html` | 9 |
| 首页 | `/` | 1 |
| 文档页 | `/docs/*.html`(章程、评分手册等 8 页) | 8 |
| 公开数据 | `/data/cases.json` `/data/motifs.json` | 2 |

### 6.2 方案

1. **案例页(核心承诺)**:`Case.id` 写入 v2 为不可改名主键;`/cases/<id>.html` **永久保留为可访问 URL**。两个实现选项【需批准】:
   - **方案 A(推荐)**:`/cases/<id>.html` 继续作为 canonical,v2 新增页面(来源库、鉴证室等)用新路径。零重定向、零 SEO 风险、外部引用不动。代价:`.html` 后缀随新架构显旧。
   - 方案 B:新 canonical `/case/<id>/`,旧地址 301 永久重定向 + 重定向表进版本库。SEO 权重可传递,但 52×外部引用经历一跳。
   理由(推荐 A):本站的产品本质是「可被引用的研究档案」,引用稳定性优先于路径美学;重定向表是新增的可失败部件。
2. **重定向映射表进版本库**:无论选 A/B,建 `deploy/redirects.map`(源路径→目标路径→HTTP 码→设置日期),由构建器生成 Nginx include;CI 校验「sitemap 曾出现过的 URL ∪ redirects 源」全部返回 200/301,永不 404。理由:审计 §13.7 要求链接腐烂检测,先从自家 URL 做起。
3. **工具页**:v2 导航按审计 §10.1 重组后,旧 9 个工具页 301 到新任务入口对应页(如 `/map.html` → 新「地图与时间」下的地球地图页)。功能被拆分的(matrix→比较工作台+证据矩阵)指向语义最近者并在页首放「本页已重组」提示。
4. **案例的合并/拆分/撤回规则**:
   - 拆分(phoenix-lights 两起事件):**URL 不拆**。v2 以 1 Case + 2 Event 建模,旧 URL 仍指该 Case 页。理由:URL 承诺绑定 Case 而非 Event,可避免拆分类操作引发链接断裂。
   - 合并:被并入方 301 至存续方,存续页显示「已合并自 X」横幅。
   - 撤回:**不删除、不 404**;原 URL 保留墓碑页(撤回声明+修订史),对应审计 §13.7 撤回传播要求。
5. **公开数据文件**:`/data/cases.json` 保留并继续以 v1 结构输出(由 v2 数据层降采样生成),响应头加 `Deprecation` 与新版链接;新数据在 `/data/v2/` 版本化路径发布。停止 v1 输出的日落期【需批准:建议 ≥12 个月且提前 90 天在页面公告】。理由:该文件是外部可能已在消费的机器接口,比 HTML 更脆。
6. **锚点兼容**:案例页内小节锚(#sources 等)在新模板中保留同名 id。理由:外部深链常带锚点,成本近零。

---

## 7. 迁移前必修的 schema 漂移(本轮盘点新发现)

以下为数据与 `case.schema.json` 的实际偏差,迁移脚本以数据实态为准,但应先修 v1 校验器口径,避免带病迁移:

| 发现 | 位置 | 处理 |
|---|---|---|
| sources.kind 出现超 enum 值 `preprint`(2)、`manuscript`(1) | astronomy/mythology | 纳入 v2 词表;v1 schema 补值 |
| counter_explanations.type 出现超 enum 值 `narrative-conflation`(1) | debunked | 同上 |
| evidence_modalities 出现超 enum 值 `oral-tradition`(2)、`rock-art`(1) | mythology | 同上;正合审计 §15.2「modalities 升级为实际证据模态列表」 |
| 审计轨迹字段名不一致:`audit_trail`(2) vs `audit_trace`(1) | anchors/astronomy/military | 统一为 audit_trail 后迁 ReviewEvent |
| schema 的 domain enum 16 值 vs 描述「13 类」vs 实用 14 类(contact-experience、database 零使用) | schema | v2 词表取代,不修 v1 |
| review.cross_checked_groups 仅 2 条填写 | — | 迁入 machine_cross_check 事件属性,不作必填 |
| databases.json 为空数组 | data/cases | 4 个目击数据库现仅存在于 databases.html 静态页;v2 中应建为 Organization/Dataset 实体(P4 导入议题,不在本迁移范围) |

---

## 8. 迁移执行顺序与验收

```text
M0  冻结 v1 内容写入(除 P0 口径修正);修 §7 词表漂移,v1 校验器过零 error
M1  脚本迁移:§2 矩阵中全部 A 级字段 → v2 对象库;产出迁移差异报告
    (逐案例:源字段数/目标对象数/丢弃字段=0 的守恒校验)
M2  半自动批次:§3 三大拆分的预填 + 人工确认(§4 中 #4/#5/#6/#9)
M3  人工长尾:#1/#2/#3/#7/#8/#10–#14,按批次进行,不阻塞 M4
M4  旧 URL 兼容层上线(§6),CI 加「历史 URL 永不 404」测试
M5  对照审计 §15.2 验收:52 条不再依赖单一 domain;Claim/Source/Citation/
    Review/Revision 独立对象;同根/转述关系可查询;旧 URL 不失效
```

守恒原则:迁移不丢一个字段、不虚构一个值——v1 中为空/缺失的(如 92 个 locator、wandjina 的 focal_claim)在 v2 中显式标记 missing 并入队列,而不是由 AI 补全(章程第七条 7.2)。理由:迁移的可信度本身就是本站方法论的一次公开演示。

---

## 9. 待批准决策汇总

| # | 决策点 | 建议 | 出处 |
|---|---|---|---|
| 1 | 51 条 v1 published 降级为 v2 editor_approved,前台措辞同步改口 | 采纳(P0-1/P0-2 的必然推论) | §3.2 |
| 2 | resolution_status 词表在审计 7 值外增加 `refuted` 与 `not_applicable` | 采纳 | §3.2 |
| 3 | starlink/lens-flare/sky-lanterns 三条转为「解释类别」record_type,退出事件列表分母 | 采纳 | §3.1 |
| 4 | 8 处偏离 domain 默认映射的人工改判(§5 粗体) | 按表执行 | §5 |
| 5 | 旧案例 URL 方案:A 保留 `.html` 为 canonical(推荐) vs B 301 至新路径 | A | §6.2-1 |
| 6 | `/data/cases.json` v1 兼容输出日落期(建议 ≥12 个月+提前 90 天公告) | 采纳 | §6.2-5 |
| 7 | billy-meier 的 resolution 定 hoax 还是 refuted(本人未承认;在世人物) | 人工复核后定,倾向 hoax+页面保留「本人未承认」并列 | §3.2/§5 |
| 8 | 人工补齐总投入约 110–190 h 的分批节奏(P0 相关项先行) | #7/#4 先行,#1–#3 与 P2 并行 | §4 |