Files
KSP_project/reference/mission_merge_plan.md
T
ArmorandClaude Opus 4.7 e1d601a774 chore: add reference docs, scripts, tests, demo, prototypes
- Reference docs: known issues, user journey, location redesign, mission merge plan
- Scripts: fill_location_state, merge_missions, migrate_location, migrate_state
- Tests: e2e test suite, asset entries unit tests
- Demo: location board, hifi prototypes, test screenshots
- Data backup: asset log entries and state nodes
- Update .gitignore

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-06-01 15:29:47 +08:00

446 lines
16 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 任务日志合并方案
## 目标
将同一个任务的 Outbound → Operations → Inbound 三条独立日志合并为**一条日志**。Outbound/Inbound 的 transition 事件改为 state node,合并三条日志中原有的 state node。
## 合并规则
### 基本规则
1. **主日志(Operations**为保留对象
-`start_at` 扩展为 Outbound 的 `start_at`
-`end_at` 扩展为 Inbound 的 `end_at`
-`mission_label`, `summary`, `note` 保持不变
-`state_label` 合并三者:`Transfer; <Operations state>; Transfer`(或根据实际节点内容优化)
2. **Outbound 和 Inbound 日志删除**,它们的 state node 迁移到主日志中
3. **关键 transition 事件**以 state node 形式记录在主日志中:
- 从 Outbound 继承:`Crew Arrival`, `Earth Departure`, `<Target> Arrival`
- 从 Inbound 继承:`<Target> Departure`, `Earth Arrival`
4. **特殊处理**
- 如果 Outbound 和 Operations 之间有日期重叠(Outbound end > Operations start),按 Operations start 为准截断 Outbound
- 如果 Inbound 没有 end_at(任务仍在进行中),则保持 end_at 为 NULL
- ST-01 ISSEM-1 包含两个目标(Mercury + Venus),前后两段 transfer → operations → transfer,合并为一个复合任务条目
---
## 受影响资产 & 具体变更
以下用 `>>>` 标记 state node 迁移方向。
---
### 1. XH-01 羲和号
#### 1.1 MMD — Mars Mission Demo
**Before (3 entries):**
```
Outbound 2054-07-10 → 2054-08-21 Transfer Sun [0 nodes]
Ops 2054-08-21 → 2055-01-10 Planetary Ops Mars [0 nodes]
Inbound 2055-01-10 → 2055-02-28 Transfer Sun [1 node]
└─ 2055-02-28: Earth Arrival
```
**After (1 entry):**
```
MMD 2054-07-10 → 2055-02-28 Transfer → Planetary Ops → Transfer Mars
└─ 2055-02-28: Earth Arrival (from Inbound)
```
> 注:Outbound 缺 state node(无 Crew Arrival / Earth Departure / Mars Arrival 记录)。保留空白,后续可补充。
---
#### 1.2 MOCM-1 — Mars One Base Construction Mission 1
**Before:**
```
Outbound 2055-06-15 → 2055-07-30 Transfer Sun [2 nodes]
└─ 2055-06-15: Crew Arrival
└─ 2055-06-18: Earth Departure for Mars
Ops 2055-07-30 → 2056-02-07 Base Construction Mars [0 nodes]
Inbound 2056-02-07 → 2056-03-18 Transfer Sun [1 node]
└─ 2056-03-18: Earth Arrival
```
**After:**
```
MOCM-1 2055-06-15 → 2056-03-18 Transfer → Construction → Transfer Mars
└─ 2055-06-15: Crew Arrival (from Outbound)
└─ 2055-06-18: Earth Departure for Mars (from Outbound)
└─ 2056-03-18: Earth Arrival (from Inbound)
```
---
#### 1.3 MOCM-3 — Mars One Base Construction Mission 3
**Before:**
```
Outbound 2056-07-30 → 2056-09-15 Transfer Sun [2 nodes]
└─ 2056-07-30: Crew Arrival
└─ 2056-08-02: Earth Departure for Mars
Ops 2056-09-15 → 2057-02-12 Base Construction Mars [0 nodes]
Inbound 2057-02-12 → 2057-03-25 Transfer Sun [1 node]
└─ 2057-03-25: Earth Arrival
```
**After:**
```
MOCM-3 2056-07-30 → 2057-03-25 Transfer → Construction → Transfer Mars
└─ 2056-07-30: Crew Arrival (from Outbound)
└─ 2056-08-02: Earth Departure for Mars (from Outbound)
└─ 2057-03-25: Earth Arrival (from Inbound)
```
---
#### 1.4 ME-2 — Mars Expedition 2
**Before:**
```
Outbound 2057-05-05 → 2057-06-22 Transfer Sun [2 nodes]
└─ 2057-05-05: Crew Arrival
└─ 2057-05-09: Earth Departure for Mars
Ops 2057-06-22 → 2058-04-18 Planetary Ops Mars [2 nodes]
└─ 2057-06-25: Mars EDL and surface operations begin
└─ 2058-04-10: Begin Mars Departure preparations
Inbound 2058-04-18 → 2058-05-20 Transfer Sun [2 nodes]
└─ 2058-04-18: Mars Departure for Earth
└─ 2058-05-20: Earth Arrival
```
**After:**
```
ME-2 2057-05-05 → 2058-05-20 Transfer → Planetary Ops → Transfer Mars
└─ 2057-05-05: Crew Arrival (from Outbound)
└─ 2057-05-09: Earth Departure for Mars (from Outbound)
└─ 2057-06-25: Mars EDL and surface operations begin (from Ops)
└─ 2058-04-10: Begin Mars Departure preparations (from Ops)
└─ 2058-04-18: Mars Departure for Earth (from Inbound)
└─ 2058-05-20: Earth Arrival (from Inbound)
```
---
#### 1.5 EE-1 — Europa Expedition 1
**Before:**
```
Outbound 2058-07-10 → 2058-09-25 Transfer Sun [3 nodes]
└─ 2058-07-10: Crew Arrival
└─ 2058-07-12: Earth Departure for Jupiter system
└─ 2058-09-25: Europa Arrival
Ops 2058-09-25 → 2059-07-10 Planetary Ops Jupiter System [7 nodes]
└─ 2058-09-27: Europa descend
└─ 2058-12-15: Europa ascend
└─ 2058-12-20: Begin IO exploration
└─ 2059-01-20: Return to Europa Outpost
└─ 2059-06-20: Begin Europa Outpost departure preparations
└─ 2059-06-25: Crew ascend from Europa Outpost
└─ 2059-07-05: Begin Ganymede exploration
Inbound 2059-07-10 → 2059-11-15 Transfer Sun [0 nodes]
```
**After:**
```
EE-1 2058-07-10 → 2059-11-15 Transfer → Jupiter Exploration → Transfer Jupiter System
└─ 2058-07-10: Crew Arrival (from Outbound)
└─ 2058-07-12: Earth Departure for Jupiter system (from Outbound)
└─ 2058-09-25: Europa Arrival (from Outbound)
└─ 2058-09-27: Europa descend (from Ops)
└─ 2058-12-15: Europa ascend (from Ops)
└─ 2058-12-20: Begin IO exploration (from Ops)
└─ 2059-01-20: Return to Europa Outpost (from Ops)
└─ 2059-06-20: Departure preparations (from Ops)
└─ 2059-06-25: Crew ascend from Europa Outpost (from Ops)
└─ 2059-07-05: Begin Ganymede exploration (from Ops)
```
> 注:Inbound 无 state node,用户已补充:
> - 2059-07-10: Europa DepartureUses standard trajectory with 112km/s of departure burn
> - 2059-11-15: Earth Arrival, parking to Star Port for the first time
> - 2059-11-16: Europa Expedition 1 crew return
---
#### 1.6 EE-3 — Europa Expedition 3 (进行中)
**Before:**
```
Outbound 2060-02-20 → 2060-05-01 Transfer Sun [0 nodes]
Ops 2060-05-01 → (ongoing) Jupiter Exploration Jupiter System [7 nodes]
└─ 2060-05-02: Io Arrival
└─ 2060-05-07: Io descend
└─ 2060-05-09: Io departure
└─ 2060-05-11: Ganymede Arrival
└─ 2060-05-12: Ganymede descend
└─ 2060-05-21: Ganymede Departure for Callisto
└─ 2060-05-25: Callisto Arrival
```
**After:**
```
EE-3 2060-02-20 → (ongoing) Transfer → Jupiter Exploration Jupiter System
└─ (from Ops: all 7 state nodes preserved)
└─ (Outbound 缺 arrival/departure 记录,后续可补充)
```
---
### 2. ST-01 万星源号
#### 2.1 ISSEM-1 — Inner Solar System Exploration Mission 1
**Before (5 entries — 含两个目标):**
```
Mercury Transfer 2055-03-20 → 2055-04-17 Transfer Sun [3 nodes]
└─ 2055-03-20: Crew Arrival
└─ 2055-03-22: Earth Departure for Mercury
└─ 2055-04-17: Mercury Arrival
Mercury Ops 2055-04-18 → 2055-08-14 Planetary Ops Mercury [4 nodes]
└─ 2055-04-18: Orbital Survey of Mercury begins
└─ 2055-06-14: First Crewed Surface Landing on Mercury
└─ 2055-06-15: EVA operations commence
└─ 2055-06-30: Surface operations complete
Venus Transfer 2055-08-15 → 2055-10-01 Transfer Sun [2 nodes]
└─ 2055-08-15: Departure from Mercury for Venus
└─ 2055-10-01: Venus Arrival
Venus Ops 2055-10-01 → 2056-03-24 Planetary Ops Venus [3 nodes]
└─ 2055-10-02: Orbital Survey of Venus begins
└─ 2055-10-10: Landing Probe Deployment
└─ 2055-11-10: Upper Atmosphere Survey via Callisto MPV
Inbound 2056-03-24 → 2056-04-12 Transfer Sun [2 nodes]
└─ 2056-03-24: Departure from Venus for Earth
└─ 2056-04-12: Earth Arrival
```
**After (1 entry):**
```
ISSEM-1 2055-03-20 → 2056-04-12 Planetary Ops Mercury → Venus
└─ 2055-03-20: Crew Arrival (from Mercury Transfer)
└─ 2055-03-22: Earth Departure for Mercury (from Mercury Transfer)
└─ 2055-04-17: Mercury Arrival (from Mercury Transfer)
└─ 2055-04-18: Orbital Survey of Mercury begins (from Mercury Ops)
└─ 2055-06-14: First Crewed Surface Landing on Mercury (from Mercury Ops)
└─ 2055-06-15: EVA operations commence (from Mercury Ops)
└─ 2055-06-30: Surface operations complete (from Mercury Ops)
└─ 2055-08-15: Departure from Mercury for Venus (from Venus Transfer)
└─ 2055-10-01: Venus Arrival (from Venus Transfer)
└─ 2055-10-02: Orbital Survey of Venus begins (from Venus Ops)
└─ 2055-10-10: Landing Probe Deployment (from Venus Ops)
└─ 2055-11-10: Upper Atmosphere Survey (from Venus Ops)
└─ 2056-03-24: Departure from Venus for Earth (from Inbound)
└─ 2056-04-12: Earth Arrival (from Inbound)
```
---
#### 2.2 MOCM-2 — Mars One Construction Mission 2
**Before:**
```
Outbound 2056-06-02 → 2056-07-01 Transfer Sun [4 nodes]
└─ 2056-06-02: Crew Arrival
└─ 2056-06-04: Picking up Mars One construction cargo
└─ 2056-06-06: Earth Departure for Mars
└─ 2056-07-01: Mars Arrival
Ops 2056-07-03 → 2056-10-12 Base Construction Mars [4 nodes]
└─ 2056-07-03: Crew descend to Martian Surface
└─ 2056-07-20: Heavy Cargo Delivery to Surface via Callisto MPV
└─ 2056-09-17: MOCM-3 Crew Arrival via XH-01
└─ 2056-10-12: MOCM-2 Crew ascend to Stellaria
Inbound 2056-10-15 → 2056-11-03 Transfer Sun [2 nodes]
└─ 2056-10-15: Departure from Mars for Earth
└─ 2056-11-03: Earth Arrival
```
**After:**
```
MOCM-2 2056-06-02 → 2056-11-03 Transfer → Construction → Transfer Mars
└─ (合并所有 10 个 state nodes)
```
---
#### 2.3 EOCM-1 — Europa Outpost Construction Mission 1
**Before:**
```
Outbound 2056-12-15 → 2057-02-25 Transfer Sun [4 nodes]
Ops 2057-02-27 → 2057-10-01 Outpost Construction Europa [3 nodes]
Return 2057-10-04 → 2057-12-20 Transfer Europa [2 nodes]
```
**After:** 合并为 1 条目 2056-12-15 → 2057-12-209 个 state node。
---
#### 2.4 SEM-1 — Saturn Exploration Mission 1
**Before:**
```
Outbound 2058-06-01 → 2058-10-12 Transfer Sun [3 nodes]
Ops 2058-10-12 → 2059-07-01 Planetary Ops Saturn System [2 nodes]
Inbound 2059-07-01 → 2059-11-24 Transfer Sun [2 nodes]
```
**After:** 合并为 1 条目 2058-06-01 → 2059-11-247 个 state node。
---
#### 2.5 OSSEM-1 — Outer Solar System Exploration Mission 1 (进行中)
**Before:**
```
Outbound 2060-02-11 → 2060-07-24 Transfer Sun [5 nodes]
└─ 2060-02-11: Leave Star Port
└─ 2060-02-12: Crew and Supply
└─ 2060-02-13: Earth Departure for Neptune
└─ 2060-07-21: Neptune SOI
└─ 2060-07-24: Neptune Arrival Burn
Ops 2060-07-25 → (ongoing) Exploration Neptune [4 nodes]
└─ 2060-07-25: Course Correction Burn
└─ 2060-07-25: Triton Arrival
└─ 2060-08-13: Triton Surface Operation
└─ 2060-11-01: Triton Departure
```
**After:**
```
OSSEM-1 2060-02-11 → (ongoing) Transfer → Exploration Neptune
└─ (合并所有 9 个 state nodes)
```
---
### 3. ST-02 克里斯滕号
#### 3.1 EOCM-2 — Europa Outpost Construction Mission 2
**Before:**
```
Outbound 2057-10-06 → 2058-01-19 Transfer Sun [0 nodes]
Ops 2058-01-19 → 2058-09-06 Outpost Construction Europa [0 nodes]
Inbound 2058-09-06 → 2058-11-08 Transfer Sun [0 nodes]
```
**After:** 合并为 1 条目 2057-10-06 → 2058-11-08,无 state node(所有三段都没有)。
---
#### 3.2 EE-2 — Europa Expedition 2
**Before:**
```
Outbound 2059-04-06 → 2059-06-25 Transfer Sun [3 nodes]
Ops 2059-06-25 → 2060-06-28 Planetary Ops Europa [3 nodes]
Inbound 2060-06-28 → 2060-08-30 Transfer Sun [2 nodes]
```
**After:** 合并为 1 条目 2059-04-06 → 2060-08-308 个 state node。
---
#### 3.3 ME-1 — Mars Expedition 1
这是 ST-02 的一个特例:**只有 Operations 条目,没有 Outbound/Inbound。**
```
Ops 2056-11-19 → 2057-09-08 Planetary Ops Mars [0 nodes]
```
保持不变。
---
### 4. XH-02 太白号
#### 4.1 AEM — Asteroid Exploration Mission
**Before:**
```
Outbound 2057-05-04 → 2057-07-17 Transfer Sun [0 nodes]
Ops 2057-07-17 → 2058-01-04 Asteroid Ops Vesta [0 nodes]
Inbound 2058-01-04 → 2058-04-17 Transfer Sun [0 nodes]
```
**After:** 合并为 1 条目 2057-05-04 → 2058-04-17。
---
#### 4.2 ME-3 — Mars Expedition 3
**Before:**
```
Ops 2058-04-17 → 2059-05-04 Planetary Ops Mars [0 nodes]
Inbound 2059-05-04 → 2059-07-06 Transfer Sun [0 nodes]
```
**After:** 合并为 1 条目 2058-04-17 → 2059-07-06。
> 注:ME-3 没有显式 Outbound(可能 XH-02 在 AEM 返回后直接转入 ME-3)。
---
#### 4.3 ME-4 — Mars Expedition 4 (进行中)
**Before (复杂 — 含两段 outbound/inbound):**
```
ME-3 Inbound 2059-11-04 → 2060-01-06 Transfer Sun [0 nodes]
Uncrewed Outbound 2060-01-22 → 2060-02-27 Transfer Sun [0 nodes]
ME-4 Ops Part 1 2059-10-24 → 2059-11-04 Planetary Ops Mars [2 nodes]
ME-4 Ops Part 2 2060-02-28 → 2060-10-30 Planetary Ops Mars [2 nodes]
ME-4 Outbound 2059-08-04 → 2059-10-24 Transfer Sun [2 nodes]
```
此 case 穿插了 ME-3 返航和无人往返,**单独处理,不纳入本次合并**。
---
### 6. 缺失 Inbound State Node 的条目
以下 Inbound/Return 条目没有任何 state node,需用户补充 departure/arrival 信息:
| Asset | Mission | Inbound 时段 | 备注 |
|-------|---------|-------------|------|
| **XH-01** | EE-1 | 2059-07-10 → 2059-11-15 | ✅ 已补充(见上) |
| **ST-02** | EOCM-2 | 2058-09-06 → 2058-11-08 | 待补充 |
| **XH-02** | AEM | 2058-01-04 → 2058-04-17 | 待补充 |
| **XH-02** | ME-3 (crewed) | 2059-11-04 → 2060-01-06 | 待补充 |
| **XH-02** | ME-3 (uncrewed) | 2059-05-04 → 2059-07-06 | 待补充 |
| **Solar Shuttle 3** | Mars Return | 2060-11-05 → ongoing | 待补充 |
---
### 7. ME-4 (XH-02) — 单独处理
不纳入本次合并。
---
## 汇总
| 受影响 | 条目数 (前 → 后) | 备注 |
|--------|-----------------|------|
| XH-01 | 20 → 8 (+2 已有单条目) | 6 个 merged missions |
| ST-01 | 17 → 6 (+ 若干维护条目) | 5 个 merged (ISSEM-1 五合一) |
| ST-02 | 7 → 3 (+ ME-1 单条) | 2 个 merged |
| XH-02 | 10 → 4 | 2 个 merged (ME-4 待定) |
| JW-01 | 3 → 1 | 1 个 merged |
| Solar Shuttle 2 | 3 → 1 | 1 个 merged |
| **总计** | **~60 → ~23** | **约删 37 条 state 日志** |
---
## 待确认
1. ME-4 (XH-02) 的处理方式 — 它有穿插的时间线和无人往返,需单独讨论
2. Outbound/Inbound 条目中缺失的 arrival/departure state node(如 EE-1 Inbound 完全无 node)是否需要补充?
3. 合并后 title 的命名规则 — 保持 Operations 原 title 还是改用更简洁的命名?
4. state_label 字段 — 合并后是否用分号连接(如 "Transfer; Base Construction; Transfer")还是保留 Operations 的 label