- 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>
16 KiB
任务日志合并方案
目标
将同一个任务的 Outbound → Operations → Inbound 三条独立日志合并为一条日志。Outbound/Inbound 的 transition 事件改为 state node,合并三条日志中原有的 state node。
合并规则
基本规则
-
**主日志(Operations)**为保留对象
- 其
start_at扩展为 Outbound 的start_at - 其
end_at扩展为 Inbound 的end_at - 其
mission_label,summary,note保持不变 - 其
state_label合并三者:Transfer; <Operations state>; Transfer(或根据实际节点内容优化)
- 其
-
Outbound 和 Inbound 日志删除,它们的 state node 迁移到主日志中
-
关键 transition 事件以 state node 形式记录在主日志中:
- 从 Outbound 继承:
Crew Arrival,Earth Departure,<Target> Arrival - 从 Inbound 继承:
<Target> Departure,Earth Arrival
- 从 Outbound 继承:
-
特殊处理:
- 如果 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 Departure(Uses 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-20,9 个 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-24,7 个 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-30,8 个 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 日志 |
待确认
- ME-4 (XH-02) 的处理方式 — 它有穿插的时间线和无人往返,需单独讨论
- Outbound/Inbound 条目中缺失的 arrival/departure state node(如 EE-1 Inbound 完全无 node)是否需要补充?
- 合并后 title 的命名规则 — 保持 Operations 原 title 还是改用更简洁的命名?
- state_label 字段 — 合并后是否用分号连接(如 "Transfer; Base Construction; Transfer")还是保留 Operations 的 label?