diff --git a/reports/bridge-content-cleanup-20260925/README.md b/reports/bridge-content-cleanup-20260925/README.md
new file mode 100644
index 0000000..971cb9d
--- /dev/null
+++ b/reports/bridge-content-cleanup-20260925/README.md
@@ -0,0 +1,35 @@
+# 005~008 内容目录清理(第一阶段)
+
+时间:2026-09-25。环境:本地 Web 6180,经 Gateway 6100;root 维护账号。
+
+用户要求模型制作、场景制作、训练编排仅保留 005~008 相关内容。现有删除接口会软删除工程、版本和资产记录,并拒绝删除仍被其他内容或教学任务引用的工程。
+
+## 已完成
+
+- 核对 13 个模型、14 个场景、38 个编排及 12 份作业指导书。
+- 清理前备份全部 77 个工程的详情、版本、依赖及资产元数据;未删除资产二进制文件。
+- 通过正式内容接口撤回并软删除 28 个无保留业务引用的工程:2 个模型、3 个场景、23 个编排。每次写入使用版本校验,服务端记录审计。
+- 剩余列表为 11 个模型、11 个场景、15 个编排。
+- 逐项核对保留的 14 个相关工程及 5 个固定教学入口,内容与清理前一致。
+
+## 保留范围
+
+四组制作链:模型 466/468/470/472、场景 467/469/471/473、编排 438/439/440/441。
+
+先前 005 验证链(场景 457、编排 458、任务 116)与 005 相关,亦予保留;原任务 86~89 未改动。
+
+## 待用户选择的范围
+
+另有 23 个非 005~008 工程因直接或间接引用暂未处理。其中 18 个工程直接关联 27 个旧教学任务或 3 份作业指导书,其余 5 个是上述业务的依赖。
+
+已询问用户:将这些工程移出制作列表但保留旧任务/指导书可用,或连同关联旧任务/指导书一起清理。此次授权只指定三个制作列表,尚未扩大到删除教学任务、成绩或指导书。**当前不是全部清理完成。**
+
+## 记录与恢复依据
+
+- `plan.json`:保留项、候选项、全部历史依赖和跨范围引用。
+- `deleted-unreferenced.json`:28 个已删工程、执行时间和备份 SHA-256。
+- `unreferenced-verification.json`:第一阶段清理后的数量与未变更校验。
+- `inventory-before.json`:脱敏的清理前目录清单,不含任务定义、成员或鉴权信息。
+- 完整备份仅保存在本机 `E:/work/edit_3d/.codex-tmp/bridge-content-cleanup-20260925/`,包含原工程与全部版本,可供恢复核对;未提交完整业务快照到 Git。
+
+工具 `tools/bridge-content-cleanup-20260925.mjs` 默认只列出固定审计清单;仅显式 `--apply-unreferenced` 执行该清单中无引用项。不会自动删除后来新增的工程。已完成项按执行记录跳过;并发版本变化会停止执行。
diff --git a/reports/bridge-content-cleanup-20260925/deleted-unreferenced.json b/reports/bridge-content-cleanup-20260925/deleted-unreferenced.json
new file mode 100644
index 0000000..39b4a41
--- /dev/null
+++ b/reports/bridge-content-cleanup-20260925/deleted-unreferenced.json
@@ -0,0 +1,203 @@
+{
+ "startedAt": "2026-09-24T17:56:24.904Z",
+ "deleted": [
+ {
+ "id": "436",
+ "name": "CL-mode1",
+ "type": "MODEL",
+ "deletedAt": "2026-09-24T17:56:25.290Z",
+ "backupSha256": "0ef507457408becc7de3925b13d6612b2163f968a55cdab3dde1d79e251b3312"
+ },
+ {
+ "id": "155",
+ "name": "测试",
+ "type": "MODEL",
+ "deletedAt": "2026-09-24T17:56:25.675Z",
+ "backupSha256": "260e2e49b064d45d3c720a1d403043fc0ffa9e7d003529aab83277018e3201df"
+ },
+ {
+ "id": "432",
+ "name": "HTML服务端编排-mtyissgj",
+ "type": "TRAINING",
+ "deletedAt": "2026-09-24T17:56:26.128Z",
+ "backupSha256": "9f353ddcb5b90017e82bcd6668038b86d554bea54ebb681b0d88d4000c660703"
+ },
+ {
+ "id": "435",
+ "name": "HTML服务端编排-mtyjtx1p",
+ "type": "TRAINING",
+ "deletedAt": "2026-09-24T17:56:26.698Z",
+ "backupSha256": "b757d1c6a3cc3c872145f592e3d944956324c26f21d72875e054ed2c7b002ff0"
+ },
+ {
+ "id": "434",
+ "name": "HTML闭环验收-mtyjgaok",
+ "type": "TRAINING",
+ "deletedAt": "2026-09-24T17:56:27.238Z",
+ "backupSha256": "fb4d3f3be7cc3dcf659c5b666c84567683ae3570523aae461a8e1d09f627ae3a"
+ },
+ {
+ "id": "433",
+ "name": "HTML服务端编排-mtyjd8w5",
+ "type": "TRAINING",
+ "deletedAt": "2026-09-24T17:56:27.760Z",
+ "backupSha256": "8aadf6d62ea56c8cfba789bb5594bc527fef3b1af4ceadfdc98213c2a4dc82dc"
+ },
+ {
+ "id": "431",
+ "name": "HTML媒体验收-411-mtygwyxh",
+ "type": "TRAINING",
+ "deletedAt": "2026-09-24T17:56:28.317Z",
+ "backupSha256": "3a608c7f43e0561502d398004210cc79d5969f9b4ae553c598dabeef4823d449"
+ },
+ {
+ "id": "430",
+ "name": "HTML闭环验收-mtygust6",
+ "type": "TRAINING",
+ "deletedAt": "2026-09-24T17:56:28.849Z",
+ "backupSha256": "cacecc001fa781d79f2e59f646237ac5227f41a462afcdc9dc334720396da0bd"
+ },
+ {
+ "id": "429",
+ "name": "HTML媒体验收-411-mtygrzvz",
+ "type": "TRAINING",
+ "deletedAt": "2026-09-24T17:56:29.395Z",
+ "backupSha256": "3d5af2f607e13eae1e7a075a71d400a8fb935e01856c3a191467c13feff8761b"
+ },
+ {
+ "id": "428",
+ "name": "HTML媒体验收-411-mtygq1cj",
+ "type": "TRAINING",
+ "deletedAt": "2026-09-24T17:56:29.929Z",
+ "backupSha256": "38aedef25fcfcb2a508fb20ba074792cd14d77cb89dfaaa27f1a8499b680dc21"
+ },
+ {
+ "id": "427",
+ "name": "HTML媒体验收-411-mtygo2oi",
+ "type": "TRAINING",
+ "deletedAt": "2026-09-24T17:56:30.248Z",
+ "backupSha256": "571c04ffb3170a8f7e2159e80008902fe67c0a2cdc2ea13f575f595a6668c0ca"
+ },
+ {
+ "id": "426",
+ "name": "HTML媒体验收-411-mtyglbos",
+ "type": "TRAINING",
+ "deletedAt": "2026-09-24T17:56:30.571Z",
+ "backupSha256": "3a3ca0f282d8e18921dcd3646006aa16af528083b2915095e3479b1c511221d0"
+ },
+ {
+ "id": "425",
+ "name": "HTML媒体验收-411-mtygj471",
+ "type": "TRAINING",
+ "deletedAt": "2026-09-24T17:56:30.895Z",
+ "backupSha256": "62f3305b0711f214629819ccb41e9bb3c4ed75b0f44da95301e3c391fa2b7577"
+ },
+ {
+ "id": "423",
+ "name": "HTML闭环验收-mtyg3srb",
+ "type": "TRAINING",
+ "deletedAt": "2026-09-24T17:56:31.402Z",
+ "backupSha256": "6beb94f94771ac5f7f97b32135b14cefb40b39655e496d1dc02a1693bba674f0"
+ },
+ {
+ "id": "422",
+ "name": "HTML闭环验收-mtyg0s9h",
+ "type": "TRAINING",
+ "deletedAt": "2026-09-24T17:56:31.908Z",
+ "backupSha256": "a0794846d86de6d8f350445e4fdef797782e65fc226afbb0ce9788a813729d00"
+ },
+ {
+ "id": "421",
+ "name": "HTML闭环验收-mtyfndrj",
+ "type": "TRAINING",
+ "deletedAt": "2026-09-24T17:56:32.462Z",
+ "backupSha256": "74efc4c6f6aeb6188fb644f0d5b651b08677829f9cffffb5e9b5718edd2b696d"
+ },
+ {
+ "id": "420",
+ "name": "HTML闭环验收-mtyfllat",
+ "type": "TRAINING",
+ "deletedAt": "2026-09-24T17:56:32.741Z",
+ "backupSha256": "eab2ad591aaba34c5ec28f9823d8060f864a15792af847ef178cb4b4ae36e492"
+ },
+ {
+ "id": "419",
+ "name": "动画能力验收训练-20260912",
+ "type": "TRAINING",
+ "deletedAt": "2026-09-24T17:56:33.144Z",
+ "backupSha256": "352829a984229ce78e84e52f6fd9e03297eadaa2fbf9ee506da331a177da10cb"
+ },
+ {
+ "id": "418",
+ "name": "动画能力验收场景-20260912",
+ "type": "SCENE",
+ "deletedAt": "2026-09-24T17:56:33.625Z",
+ "backupSha256": "09df00c479996104a18f62051591e503b0bbf9f1e0dbbfd316abd130e6cd989c"
+ },
+ {
+ "id": "415",
+ "name": "桥梁虚拟仿真-ZDS",
+ "type": "TRAINING",
+ "deletedAt": "2026-09-24T17:56:34.489Z",
+ "backupSha256": "77589a6b1419b2efaf2cd15787d17e09b4cc74a3f0a296784bd18ab442a0731e"
+ },
+ {
+ "id": "408",
+ "name": "ZDS-场景1",
+ "type": "SCENE",
+ "deletedAt": "2026-09-24T17:56:35.418Z",
+ "backupSha256": "2c94deb1cd61cf93ab0635bc44a9c058f45abab6b27c61bcedef2379b2598561"
+ },
+ {
+ "id": "409",
+ "name": "ZDS-虚拟仿真1",
+ "type": "TRAINING",
+ "deletedAt": "2026-09-24T17:56:35.736Z",
+ "backupSha256": "31b1da5bdd25215cd6d87505a896b4994115ed1061535abed63af7b840b8a57e"
+ },
+ {
+ "id": "162",
+ "name": "实测训练-牛奶卡车进场检查-已验证-20260905",
+ "type": "TRAINING",
+ "deletedAt": "2026-09-24T17:56:36.310Z",
+ "backupSha256": "0031c9d609ad9719fccdffb6b551a99045b55682cd57983ee559fbb0fe2b7860"
+ },
+ {
+ "id": "153",
+ "name": "真实野外山地整机进场点检训练",
+ "type": "TRAINING",
+ "deletedAt": "2026-09-24T17:56:36.783Z",
+ "backupSha256": "cfe7b34c22aa868c3ef47d6554614b21ea662f8da6c2e82326c119d9ee34c521"
+ },
+ {
+ "id": "132",
+ "name": "真实装备车库整机进场点检训练",
+ "type": "TRAINING",
+ "deletedAt": "2026-09-24T17:56:37.125Z",
+ "backupSha256": "5d1638b63d59ec9539736122bdbcbb6e2eb9f857b10ad41d08fbfdd21e6aa39a"
+ },
+ {
+ "id": "131",
+ "name": "真实装备车库整机进场点检场景",
+ "type": "SCENE",
+ "deletedAt": "2026-09-24T17:56:37.653Z",
+ "backupSha256": "7d3c456f90977391a837748f68b2bbeaa7b964718aa5ac6d30c9f5a81c40d61b"
+ },
+ {
+ "id": "97",
+ "name": "桥梁架设装备变幅油缸中修训练",
+ "type": "TRAINING",
+ "deletedAt": "2026-09-24T17:56:38.272Z",
+ "backupSha256": "395fd6ad9aa7ff5234ac1b29e4cb535895c5a0bd1689f0e7e39c8344f6bde884"
+ },
+ {
+ "id": "58",
+ "name": "支腿液压缸中修训练",
+ "type": "TRAINING",
+ "deletedAt": "2026-09-24T17:56:38.636Z",
+ "backupSha256": "80b14fbebaf9ce9e1b6ca5628372212c68a38807714e841d44a1cb2073abc8b0"
+ }
+ ],
+ "completedAt": "2026-09-24T17:56:38.636Z",
+ "pass": true
+}
\ No newline at end of file
diff --git a/reports/bridge-content-cleanup-20260925/index.html b/reports/bridge-content-cleanup-20260925/index.html
new file mode 100644
index 0000000..51666a0
--- /dev/null
+++ b/reports/bridge-content-cleanup-20260925/index.html
@@ -0,0 +1,12 @@
+
005~008 内容目录清理 · 第一阶段
+
+005~008 内容目录清理 · 第一阶段
+2026-09-25 · 本地 6180,经 Gateway 6100 · root 维护账号。
+已完成的清理
清理前已备份全部工程及版本。通过正式内容接口删除无保留业务引用的 28 项,未删除资产二进制文件。
+| 列表 | 清理前 | 本次删除 | 当前剩余 |
|---|
| 模型制作 | 13 | 2 | 11 |
| 场景制作 | 14 | 3 | 11 |
| 训练编排 | 38 | 23 | 15 |
+005~008 四组制作链、原虚拟仿真任务和旧 005 验证入口均未改变;12 份作业指导书也已核对未变。
+尚未全部完成
23 个非 005~008 工程仍有直接或间接引用,其中 18 个工程直接关联 27 个旧教学任务或 3 份指导书。已询问用户:仅将这些内容移出制作列表并保持旧业务可用,或一并清理关联旧业务。尚未扩大删除范围。
+
+模型制作
+场景制作
+训练编排
diff --git a/reports/bridge-content-cleanup-20260925/inventory-before.json b/reports/bridge-content-cleanup-20260925/inventory-before.json
new file mode 100644
index 0000000..4185329
--- /dev/null
+++ b/reports/bridge-content-cleanup-20260925/inventory-before.json
@@ -0,0 +1,925 @@
+{
+ "capturedAt": "2026-09-24T17:53:33.614Z",
+ "baseUrl": "http://127.0.0.1:6180/api",
+ "projects": [
+ {
+ "id": "472",
+ "type": "MODEL",
+ "name": "重型支援桥平衡阀拆拼互换机构模型",
+ "status": "PUBLISHED",
+ "version": 7,
+ "usageCount": 1,
+ "production": {
+ "taskCode": "TASK-VIRTUAL-008",
+ "modelProjectId": "472",
+ "sceneProjectId": "473",
+ "trainingProjectId": "441",
+ "taskId": "89"
+ }
+ },
+ {
+ "id": "470",
+ "type": "MODEL",
+ "name": "重型支援桥前泵换件修复机构模型",
+ "status": "PUBLISHED",
+ "version": 7,
+ "usageCount": 1,
+ "production": {
+ "taskCode": "TASK-VIRTUAL-007",
+ "modelProjectId": "470",
+ "sceneProjectId": "471",
+ "trainingProjectId": "440",
+ "taskId": "88"
+ }
+ },
+ {
+ "id": "468",
+ "type": "MODEL",
+ "name": "重型支援桥液压泵应急替代机构模型",
+ "status": "PUBLISHED",
+ "version": 7,
+ "usageCount": 1,
+ "production": {
+ "taskCode": "TASK-VIRTUAL-006",
+ "modelProjectId": "468",
+ "sceneProjectId": "469",
+ "trainingProjectId": "439",
+ "taskId": "87"
+ }
+ },
+ {
+ "id": "466",
+ "type": "MODEL",
+ "name": "重型支援桥液压泵应急切换机构模型",
+ "status": "PUBLISHED",
+ "version": 17,
+ "usageCount": 1,
+ "production": {
+ "taskCode": "TASK-VIRTUAL-005",
+ "modelProjectId": "466",
+ "sceneProjectId": "467",
+ "trainingProjectId": "438",
+ "taskId": "86"
+ }
+ },
+ {
+ "id": "416",
+ "type": "MODEL",
+ "name": "动画能力验收-组合动作与流向-20260912",
+ "status": "DRAFT",
+ "version": 10,
+ "usageCount": 14
+ },
+ {
+ "id": "407",
+ "type": "MODEL",
+ "name": "ZDS-模型1",
+ "status": "DRAFT",
+ "version": 36,
+ "usageCount": 3
+ },
+ {
+ "id": "157",
+ "type": "MODEL",
+ "name": "实测模型-狐狸动画-已验证-20260905",
+ "status": "DRAFT",
+ "version": 26,
+ "usageCount": 2
+ },
+ {
+ "id": "156",
+ "type": "MODEL",
+ "name": "实测模型-牛奶卡车-已验证-20260905",
+ "status": "PUBLISHED",
+ "version": 20,
+ "usageCount": 2
+ },
+ {
+ "id": "94",
+ "type": "MODEL",
+ "name": "桥梁架设装备整机模型",
+ "status": "DRAFT",
+ "version": 270,
+ "usageCount": 4
+ },
+ {
+ "id": "48",
+ "type": "MODEL",
+ "name": "UAT 挖掘机装备模型",
+ "status": "DRAFT",
+ "version": 556,
+ "usageCount": 3
+ },
+ {
+ "id": "436",
+ "type": "MODEL",
+ "name": "CL-mode1",
+ "status": "DRAFT",
+ "version": 36,
+ "usageCount": 0
+ },
+ {
+ "id": "155",
+ "type": "MODEL",
+ "name": "测试",
+ "status": "DRAFT",
+ "version": 57,
+ "usageCount": 0
+ },
+ {
+ "id": "151",
+ "type": "MODEL",
+ "name": "野外山地场景与桥梁架设装备",
+ "status": "PUBLISHED",
+ "version": 1,
+ "usageCount": 1
+ },
+ {
+ "id": "473",
+ "type": "SCENE",
+ "name": "重型支援桥平衡阀拆拼互换训练场景",
+ "status": "PUBLISHED",
+ "version": 9,
+ "usageCount": 1,
+ "production": {
+ "taskCode": "TASK-VIRTUAL-008",
+ "modelProjectId": "472",
+ "sceneProjectId": "473",
+ "trainingProjectId": "441",
+ "taskId": "89"
+ }
+ },
+ {
+ "id": "471",
+ "type": "SCENE",
+ "name": "重型支援桥前泵换件修复训练场景",
+ "status": "PUBLISHED",
+ "version": 9,
+ "usageCount": 1,
+ "production": {
+ "taskCode": "TASK-VIRTUAL-007",
+ "modelProjectId": "470",
+ "sceneProjectId": "471",
+ "trainingProjectId": "440",
+ "taskId": "88"
+ }
+ },
+ {
+ "id": "469",
+ "type": "SCENE",
+ "name": "重型支援桥液压泵应急替代训练场景",
+ "status": "PUBLISHED",
+ "version": 10,
+ "usageCount": 1,
+ "production": {
+ "taskCode": "TASK-VIRTUAL-006",
+ "modelProjectId": "468",
+ "sceneProjectId": "469",
+ "trainingProjectId": "439",
+ "taskId": "87"
+ }
+ },
+ {
+ "id": "467",
+ "type": "SCENE",
+ "name": "重型支援桥液压泵应急切换训练场景",
+ "status": "PUBLISHED",
+ "version": 16,
+ "usageCount": 1,
+ "production": {
+ "taskCode": "TASK-VIRTUAL-005",
+ "modelProjectId": "466",
+ "sceneProjectId": "467",
+ "trainingProjectId": "438",
+ "taskId": "86"
+ }
+ },
+ {
+ "id": "160",
+ "type": "SCENE",
+ "name": "实测场景-狐狸野外训练区-20260905",
+ "status": "PUBLISHED",
+ "version": 13,
+ "usageCount": 4
+ },
+ {
+ "id": "159",
+ "type": "SCENE",
+ "name": "实测场景-牛奶卡车检验区-20260905",
+ "status": "PUBLISHED",
+ "version": 7,
+ "usageCount": 7
+ },
+ {
+ "id": "457",
+ "type": "SCENE",
+ "name": "005 液压泵应急切换(编排验证)",
+ "status": "PUBLISHED",
+ "version": 20,
+ "usageCount": 1
+ },
+ {
+ "id": "418",
+ "type": "SCENE",
+ "name": "动画能力验收场景-20260912",
+ "status": "PUBLISHED",
+ "version": 3,
+ "usageCount": 12
+ },
+ {
+ "id": "408",
+ "type": "SCENE",
+ "name": "ZDS-场景1",
+ "status": "PUBLISHED",
+ "version": 8,
+ "usageCount": 1
+ },
+ {
+ "id": "131",
+ "type": "SCENE",
+ "name": "真实装备车库整机进场点检场景",
+ "status": "DRAFT",
+ "version": 4,
+ "usageCount": 1
+ },
+ {
+ "id": "152",
+ "type": "SCENE",
+ "name": "真实野外山地桥梁架设训练场",
+ "status": "PUBLISHED",
+ "version": 1,
+ "usageCount": 2
+ },
+ {
+ "id": "49",
+ "type": "SCENE",
+ "name": "UAT 综合检验车间",
+ "status": "DRAFT",
+ "version": 3,
+ "usageCount": 2
+ },
+ {
+ "id": "95",
+ "type": "SCENE",
+ "name": "桥梁架设装备架桥作业训练场",
+ "status": "DRAFT",
+ "version": 1,
+ "usageCount": 2
+ },
+ {
+ "id": "50",
+ "type": "SCENE",
+ "name": "UAT 室外对抗训练场",
+ "status": "DRAFT",
+ "version": 5,
+ "usageCount": 1
+ },
+ {
+ "id": "441",
+ "type": "TRAINING",
+ "name": "重型支援桥平衡阀拆拼互换",
+ "status": "PUBLISHED",
+ "version": 22,
+ "usageCount": 0,
+ "production": {
+ "taskCode": "TASK-VIRTUAL-008",
+ "modelProjectId": "472",
+ "sceneProjectId": "473",
+ "trainingProjectId": "441",
+ "taskId": "89"
+ }
+ },
+ {
+ "id": "440",
+ "type": "TRAINING",
+ "name": "重型支援桥前泵换件修复",
+ "status": "PUBLISHED",
+ "version": 22,
+ "usageCount": 0,
+ "production": {
+ "taskCode": "TASK-VIRTUAL-007",
+ "modelProjectId": "470",
+ "sceneProjectId": "471",
+ "trainingProjectId": "440",
+ "taskId": "88"
+ }
+ },
+ {
+ "id": "439",
+ "type": "TRAINING",
+ "name": "重型支援桥液压泵应急替代",
+ "status": "PUBLISHED",
+ "version": 26,
+ "usageCount": 0,
+ "production": {
+ "taskCode": "TASK-VIRTUAL-006",
+ "modelProjectId": "468",
+ "sceneProjectId": "469",
+ "trainingProjectId": "439",
+ "taskId": "87"
+ }
+ },
+ {
+ "id": "438",
+ "type": "TRAINING",
+ "name": "重型支援桥液压泵应急切换",
+ "status": "PUBLISHED",
+ "version": 21,
+ "usageCount": 0,
+ "production": {
+ "taskCode": "TASK-VIRTUAL-005",
+ "modelProjectId": "466",
+ "sceneProjectId": "467",
+ "trainingProjectId": "438",
+ "taskId": "86"
+ }
+ },
+ {
+ "id": "458",
+ "type": "TRAINING",
+ "name": "005 液压泵应急切换(编排验证)",
+ "status": "DRAFT",
+ "version": 34,
+ "usageCount": 0
+ },
+ {
+ "id": "432",
+ "type": "TRAINING",
+ "name": "HTML服务端编排-mtyissgj",
+ "status": "DRAFT",
+ "version": 4,
+ "usageCount": 0
+ },
+ {
+ "id": "435",
+ "type": "TRAINING",
+ "name": "HTML服务端编排-mtyjtx1p",
+ "status": "PUBLISHED",
+ "version": 2,
+ "usageCount": 0
+ },
+ {
+ "id": "434",
+ "type": "TRAINING",
+ "name": "HTML闭环验收-mtyjgaok",
+ "status": "PUBLISHED",
+ "version": 2,
+ "usageCount": 0
+ },
+ {
+ "id": "433",
+ "type": "TRAINING",
+ "name": "HTML服务端编排-mtyjd8w5",
+ "status": "PUBLISHED",
+ "version": 2,
+ "usageCount": 0
+ },
+ {
+ "id": "431",
+ "type": "TRAINING",
+ "name": "HTML媒体验收-411-mtygwyxh",
+ "status": "PUBLISHED",
+ "version": 2,
+ "usageCount": 0
+ },
+ {
+ "id": "430",
+ "type": "TRAINING",
+ "name": "HTML闭环验收-mtygust6",
+ "status": "PUBLISHED",
+ "version": 2,
+ "usageCount": 0
+ },
+ {
+ "id": "429",
+ "type": "TRAINING",
+ "name": "HTML媒体验收-411-mtygrzvz",
+ "status": "PUBLISHED",
+ "version": 2,
+ "usageCount": 0
+ },
+ {
+ "id": "428",
+ "type": "TRAINING",
+ "name": "HTML媒体验收-411-mtygq1cj",
+ "status": "PUBLISHED",
+ "version": 2,
+ "usageCount": 0
+ },
+ {
+ "id": "427",
+ "type": "TRAINING",
+ "name": "HTML媒体验收-411-mtygo2oi",
+ "status": "DRAFT",
+ "version": 1,
+ "usageCount": 0
+ },
+ {
+ "id": "426",
+ "type": "TRAINING",
+ "name": "HTML媒体验收-411-mtyglbos",
+ "status": "DRAFT",
+ "version": 1,
+ "usageCount": 0
+ },
+ {
+ "id": "425",
+ "type": "TRAINING",
+ "name": "HTML媒体验收-411-mtygj471",
+ "status": "DRAFT",
+ "version": 1,
+ "usageCount": 0
+ },
+ {
+ "id": "423",
+ "type": "TRAINING",
+ "name": "HTML闭环验收-mtyg3srb",
+ "status": "PUBLISHED",
+ "version": 2,
+ "usageCount": 0
+ },
+ {
+ "id": "422",
+ "type": "TRAINING",
+ "name": "HTML闭环验收-mtyg0s9h",
+ "status": "PUBLISHED",
+ "version": 2,
+ "usageCount": 0
+ },
+ {
+ "id": "421",
+ "type": "TRAINING",
+ "name": "HTML闭环验收-mtyfndrj",
+ "status": "PUBLISHED",
+ "version": 2,
+ "usageCount": 0
+ },
+ {
+ "id": "420",
+ "type": "TRAINING",
+ "name": "HTML闭环验收-mtyfllat",
+ "status": "DRAFT",
+ "version": 1,
+ "usageCount": 0
+ },
+ {
+ "id": "419",
+ "type": "TRAINING",
+ "name": "动画能力验收训练-20260912",
+ "status": "DRAFT",
+ "version": 8,
+ "usageCount": 0
+ },
+ {
+ "id": "415",
+ "type": "TRAINING",
+ "name": "桥梁虚拟仿真-ZDS",
+ "status": "PUBLISHED",
+ "version": 8,
+ "usageCount": 0
+ },
+ {
+ "id": "409",
+ "type": "TRAINING",
+ "name": "ZDS-虚拟仿真1",
+ "status": "DRAFT",
+ "version": 10,
+ "usageCount": 0
+ },
+ {
+ "id": "410",
+ "type": "TRAINING",
+ "name": "APE2E-数字人讲解-狐狸-20260909",
+ "status": "DRAFT",
+ "version": 21,
+ "usageCount": 0
+ },
+ {
+ "id": "411",
+ "type": "TRAINING",
+ "name": "APE2E-数字人讲解-牛奶-20260909",
+ "status": "PUBLISHED",
+ "version": 10,
+ "usageCount": 0
+ },
+ {
+ "id": "164",
+ "type": "TRAINING",
+ "name": "实测训练-狐狸红蓝协同巡检-20260905",
+ "status": "PUBLISHED",
+ "version": 11,
+ "usageCount": 0
+ },
+ {
+ "id": "163",
+ "type": "TRAINING",
+ "name": "实测训练-牛奶卡车实装检查-20260905",
+ "status": "PUBLISHED",
+ "version": 7,
+ "usageCount": 0
+ },
+ {
+ "id": "162",
+ "type": "TRAINING",
+ "name": "实测训练-牛奶卡车进场检查-已验证-20260905",
+ "status": "PUBLISHED",
+ "version": 6,
+ "usageCount": 0
+ },
+ {
+ "id": "161",
+ "type": "TRAINING",
+ "name": "实测训练-狐狸野外巡检-已验证-20260905",
+ "status": "PUBLISHED",
+ "version": 9,
+ "usageCount": 0
+ },
+ {
+ "id": "154",
+ "type": "TRAINING",
+ "name": "真实野外山地整机进场点检对抗训练",
+ "status": "PUBLISHED",
+ "version": 1,
+ "usageCount": 0
+ },
+ {
+ "id": "153",
+ "type": "TRAINING",
+ "name": "真实野外山地整机进场点检训练",
+ "status": "PUBLISHED",
+ "version": 1,
+ "usageCount": 0
+ },
+ {
+ "id": "132",
+ "type": "TRAINING",
+ "name": "真实装备车库整机进场点检训练",
+ "status": "DRAFT",
+ "version": 4,
+ "usageCount": 0
+ },
+ {
+ "id": "98",
+ "type": "TRAINING",
+ "name": "桥梁架设装备变幅系统背靠背排故",
+ "status": "DRAFT",
+ "version": 2,
+ "usageCount": 0
+ },
+ {
+ "id": "97",
+ "type": "TRAINING",
+ "name": "桥梁架设装备变幅油缸中修训练",
+ "status": "PUBLISHED",
+ "version": 1,
+ "usageCount": 0
+ },
+ {
+ "id": "58",
+ "type": "TRAINING",
+ "name": "支腿液压缸中修训练",
+ "status": "DRAFT",
+ "version": 1,
+ "usageCount": 1
+ },
+ {
+ "id": "53",
+ "type": "TRAINING",
+ "name": "UAT 液压系统对抗训练定义",
+ "status": "PUBLISHED",
+ "version": 1,
+ "usageCount": 0
+ },
+ {
+ "id": "52",
+ "type": "TRAINING",
+ "name": "UAT 支腿液压缸实装训练定义",
+ "status": "DRAFT",
+ "version": 2,
+ "usageCount": 0
+ },
+ {
+ "id": "51",
+ "type": "TRAINING",
+ "name": "UAT 支腿液压缸虚拟训练定义",
+ "status": "PUBLISHED",
+ "version": 1,
+ "usageCount": 0
+ },
+ {
+ "id": "463",
+ "type": "GUIDE",
+ "name": "重型支援桥液压泵应急替代训练作业指导书",
+ "status": "PUBLISHED",
+ "version": 62,
+ "usageCount": 0
+ },
+ {
+ "id": "462",
+ "type": "GUIDE",
+ "name": "重型支援桥液压泵应急切换训练作业指导书",
+ "status": "DRAFT",
+ "version": 48,
+ "usageCount": 0
+ },
+ {
+ "id": "464",
+ "type": "GUIDE",
+ "name": "重型支援桥前泵换件修复训练作业指导书",
+ "status": "DRAFT",
+ "version": 37,
+ "usageCount": 0
+ },
+ {
+ "id": "465",
+ "type": "GUIDE",
+ "name": "重型支援桥平衡阀拆拼互换训练作业指导书",
+ "status": "DRAFT",
+ "version": 44,
+ "usageCount": 0
+ },
+ {
+ "id": "417",
+ "type": "GUIDE",
+ "name": "动画能力验收指导书-20260912",
+ "status": "DRAFT",
+ "version": 55,
+ "usageCount": 0
+ },
+ {
+ "id": "412",
+ "type": "GUIDE",
+ "name": "正式闭环-狐狸与卡车指导书-20260910",
+ "status": "DRAFT",
+ "version": 25,
+ "usageCount": 0
+ },
+ {
+ "id": "461",
+ "type": "GUIDE",
+ "name": "装备构造原理标准模板(新建)",
+ "status": "DRAFT",
+ "version": 32,
+ "usageCount": 0
+ },
+ {
+ "id": "9",
+ "type": "GUIDE",
+ "name": "支腿液压缸中修作业指导书",
+ "status": "DRAFT",
+ "version": 5,
+ "usageCount": 0
+ },
+ {
+ "id": "414",
+ "type": "GUIDE",
+ "name": "正式图片视频资源回归-20260911",
+ "status": "DRAFT",
+ "version": 2,
+ "usageCount": 0
+ },
+ {
+ "id": "413",
+ "type": "GUIDE",
+ "name": "正式模板新建回归-20260911",
+ "status": "DRAFT",
+ "version": 2,
+ "usageCount": 0
+ },
+ {
+ "id": "56",
+ "type": "GUIDE",
+ "name": "JKHJHL",
+ "status": "DRAFT",
+ "version": 1,
+ "usageCount": 0
+ },
+ {
+ "id": "11",
+ "type": "GUIDE",
+ "name": "行走机构润滑保养作业指导书",
+ "status": "REVIEW",
+ "version": 0,
+ "usageCount": 0
+ }
+ ],
+ "assignments": [
+ {
+ "id": "116",
+ "code": "BRIDGE-005-AUTHORING-PILOT",
+ "status": "DRAFT",
+ "contentProjectId": "458",
+ "contentVersionId": "560"
+ },
+ {
+ "id": "89",
+ "code": "TASK-VIRTUAL-008",
+ "status": "PUBLISHED",
+ "contentProjectId": "441",
+ "contentVersionId": "559"
+ },
+ {
+ "id": "88",
+ "code": "TASK-VIRTUAL-007",
+ "status": "PUBLISHED",
+ "contentProjectId": "440",
+ "contentVersionId": "558"
+ },
+ {
+ "id": "87",
+ "code": "TASK-VIRTUAL-006",
+ "status": "PUBLISHED",
+ "contentProjectId": "439",
+ "contentVersionId": "567"
+ },
+ {
+ "id": "86",
+ "code": "TASK-VIRTUAL-005",
+ "status": "PUBLISHED",
+ "contentProjectId": "438",
+ "contentVersionId": "556"
+ },
+ {
+ "id": "85",
+ "code": "HTML-TIME-MTYK7PCH",
+ "status": "PUBLISHED",
+ "contentProjectId": "161",
+ "contentVersionId": "213"
+ },
+ {
+ "id": "84",
+ "code": "HTML-EX-MTYK7PCH",
+ "status": "PUBLISHED",
+ "contentProjectId": "161",
+ "contentVersionId": "213"
+ },
+ {
+ "id": "83",
+ "code": "HTML-TIME-MTYJW7UD",
+ "status": "PUBLISHED",
+ "contentProjectId": "161",
+ "contentVersionId": "213"
+ },
+ {
+ "id": "82",
+ "code": "HTML-EX-MTYJW7UD",
+ "status": "PUBLISHED",
+ "contentProjectId": "161",
+ "contentVersionId": "213"
+ },
+ {
+ "id": "80",
+ "code": "HTML-EX-MTYJTOUG",
+ "status": "PUBLISHED",
+ "contentProjectId": "161",
+ "contentVersionId": "213"
+ },
+ {
+ "id": "79",
+ "code": "HTML-EX-MTYJNY4T",
+ "status": "PUBLISHED",
+ "contentProjectId": "161",
+ "contentVersionId": "213"
+ },
+ {
+ "id": "77",
+ "code": "HTML-EX-MTYJF2Z6",
+ "status": "PUBLISHED",
+ "contentProjectId": "161",
+ "contentVersionId": "213"
+ },
+ {
+ "id": "75",
+ "code": "HTML-EX-MTYJD0RB",
+ "status": "PUBLISHED",
+ "contentProjectId": "161",
+ "contentVersionId": "213"
+ },
+ {
+ "id": "74",
+ "code": "HTML-EX-MTYJ38OV",
+ "status": "PUBLISHED",
+ "contentProjectId": "161",
+ "contentVersionId": "213"
+ },
+ {
+ "id": "72",
+ "code": "HTML-EX-MTYHWQMI",
+ "status": "PUBLISHED",
+ "contentProjectId": "161",
+ "contentVersionId": "213"
+ },
+ {
+ "id": "71",
+ "code": "HTML-EX-MTYHVMZU",
+ "status": "PUBLISHED",
+ "contentProjectId": "161",
+ "contentVersionId": "213"
+ },
+ {
+ "id": "70",
+ "code": "HTML-EX-MTYHQWXW",
+ "status": "PUBLISHED",
+ "contentProjectId": "161",
+ "contentVersionId": "213"
+ },
+ {
+ "id": "69",
+ "code": "HTML-EX-MTYHNFTH",
+ "status": "PUBLISHED",
+ "contentProjectId": "161",
+ "contentVersionId": "213"
+ },
+ {
+ "id": "53",
+ "code": "APE2E_DH_PLAYBACK_TRUCK",
+ "status": "DRAFT",
+ "contentProjectId": "411",
+ "contentVersionId": "467"
+ },
+ {
+ "id": "52",
+ "code": "APE2E_DH_PLAYBACK_FOX",
+ "status": "DRAFT",
+ "contentProjectId": "410",
+ "contentVersionId": "466"
+ },
+ {
+ "id": "51",
+ "code": "UTE2E-MODES-MTOK5BBA-CONFRONTATION",
+ "status": "PUBLISHED",
+ "contentProjectId": "164",
+ "contentVersionId": "216"
+ },
+ {
+ "id": "50",
+ "code": "UTE2E-MODES-MTOK5BBA-PHYSICAL",
+ "status": "PUBLISHED",
+ "contentProjectId": "163",
+ "contentVersionId": "215"
+ },
+ {
+ "id": "40",
+ "code": "TASK-CONFRONTATION-002",
+ "status": "PUBLISHED",
+ "contentProjectId": "154",
+ "contentVersionId": "196"
+ },
+ {
+ "id": "33",
+ "code": "TASK-CONFRONTATION-BRIDGE-001",
+ "status": "PUBLISHED",
+ "contentProjectId": "98",
+ "contentVersionId": "106"
+ },
+ {
+ "id": "27",
+ "code": "UAT-EXAM-PHYSICAL-001",
+ "status": "PUBLISHED",
+ "contentProjectId": "52",
+ "contentVersionId": "52"
+ },
+ {
+ "id": "26",
+ "code": "UAT-TEACH-PHYSICAL-002",
+ "status": "PUBLISHED",
+ "contentProjectId": "52",
+ "contentVersionId": "52"
+ },
+ {
+ "id": "25",
+ "code": "UAT-TEACH-PHYSICAL-001",
+ "status": "PUBLISHED",
+ "contentProjectId": "52",
+ "contentVersionId": "52"
+ },
+ {
+ "id": "24",
+ "code": "UAT-EXAM-VIRTUAL-001",
+ "status": "PUBLISHED",
+ "contentProjectId": "51",
+ "contentVersionId": "51"
+ },
+ {
+ "id": "21",
+ "code": "UAT-EXAM-CONFRONTATION-001",
+ "status": "PUBLISHED",
+ "contentProjectId": "53",
+ "contentVersionId": "53"
+ },
+ {
+ "id": "20",
+ "code": "UAT-TEACH-CONFRONTATION-002",
+ "status": "PUBLISHED",
+ "contentProjectId": "53",
+ "contentVersionId": "53"
+ },
+ {
+ "id": "19",
+ "code": "UAT-TEACH-CONFRONTATION-001",
+ "status": "PUBLISHED",
+ "contentProjectId": "53",
+ "contentVersionId": "53"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/reports/bridge-content-cleanup-20260925/list-verification.json b/reports/bridge-content-cleanup-20260925/list-verification.json
new file mode 100644
index 0000000..92a3924
--- /dev/null
+++ b/reports/bridge-content-cleanup-20260925/list-verification.json
@@ -0,0 +1,11 @@
+{
+ "pass": true,
+ "types": [
+ "MODEL",
+ "SCENE",
+ "TRAINING"
+ ],
+ "retainedProductionEntries": 12,
+ "unchangedGuides": 12,
+ "errors": []
+}
\ No newline at end of file
diff --git a/reports/bridge-content-cleanup-20260925/models.png b/reports/bridge-content-cleanup-20260925/models.png
new file mode 100644
index 0000000..78cd857
Binary files /dev/null and b/reports/bridge-content-cleanup-20260925/models.png differ
diff --git a/reports/bridge-content-cleanup-20260925/plan.json b/reports/bridge-content-cleanup-20260925/plan.json
new file mode 100644
index 0000000..c455369
--- /dev/null
+++ b/reports/bridge-content-cleanup-20260925/plan.json
@@ -0,0 +1,2363 @@
+{
+ "createdAt": "2026-09-24T17:55:01.946Z",
+ "backupDirectory": "E:/work/edit_3d/.codex-tmp/bridge-content-cleanup-20260925",
+ "keep": [
+ {
+ "id": "472",
+ "type": "MODEL",
+ "name": "重型支援桥平衡阀拆拼互换机构模型",
+ "status": "PUBLISHED",
+ "version": 7,
+ "backupSha256": "a1e7b99b76221f8ea2ec94651ed7e2a9e99944036f5c47c0c829857e74dd004d",
+ "dependencies": [],
+ "currentDependencies": [],
+ "production": {
+ "taskCode": "TASK-VIRTUAL-008",
+ "modelProjectId": "472",
+ "sceneProjectId": "473",
+ "trainingProjectId": "441",
+ "taskId": "89"
+ }
+ },
+ {
+ "id": "470",
+ "type": "MODEL",
+ "name": "重型支援桥前泵换件修复机构模型",
+ "status": "PUBLISHED",
+ "version": 7,
+ "backupSha256": "baa28abf8b11ec815fdb42454d14973c984a7320d3709a57079ebf35d6a79de8",
+ "dependencies": [],
+ "currentDependencies": [],
+ "production": {
+ "taskCode": "TASK-VIRTUAL-007",
+ "modelProjectId": "470",
+ "sceneProjectId": "471",
+ "trainingProjectId": "440",
+ "taskId": "88"
+ }
+ },
+ {
+ "id": "468",
+ "type": "MODEL",
+ "name": "重型支援桥液压泵应急替代机构模型",
+ "status": "PUBLISHED",
+ "version": 7,
+ "backupSha256": "2b7d5f3317ba3c5094cb3e59b343dc2c1c3f925c94da7e7a6f34ed078cfe3b71",
+ "dependencies": [],
+ "currentDependencies": [],
+ "production": {
+ "taskCode": "TASK-VIRTUAL-006",
+ "modelProjectId": "468",
+ "sceneProjectId": "469",
+ "trainingProjectId": "439",
+ "taskId": "87"
+ }
+ },
+ {
+ "id": "466",
+ "type": "MODEL",
+ "name": "重型支援桥液压泵应急切换机构模型",
+ "status": "PUBLISHED",
+ "version": 17,
+ "backupSha256": "41b433ff8f7b140dde1171c561ba7ae22c9f05d9a695dfece4d484129960f058",
+ "dependencies": [],
+ "currentDependencies": [],
+ "production": {
+ "taskCode": "TASK-VIRTUAL-005",
+ "modelProjectId": "466",
+ "sceneProjectId": "467",
+ "trainingProjectId": "438",
+ "taskId": "86"
+ }
+ },
+ {
+ "id": "473",
+ "type": "SCENE",
+ "name": "重型支援桥平衡阀拆拼互换训练场景",
+ "status": "PUBLISHED",
+ "version": 9,
+ "backupSha256": "96f7fa03fd4f28c66502d0682408989cddfba5eb712aedd873c6fa12800917c7",
+ "dependencies": [
+ "472"
+ ],
+ "currentDependencies": [
+ "472"
+ ],
+ "production": {
+ "taskCode": "TASK-VIRTUAL-008",
+ "modelProjectId": "472",
+ "sceneProjectId": "473",
+ "trainingProjectId": "441",
+ "taskId": "89"
+ }
+ },
+ {
+ "id": "471",
+ "type": "SCENE",
+ "name": "重型支援桥前泵换件修复训练场景",
+ "status": "PUBLISHED",
+ "version": 9,
+ "backupSha256": "286f81a90c910567f9d3148d7b47e3273e29c5a87986b8412e0e3720f2eb3525",
+ "dependencies": [
+ "470"
+ ],
+ "currentDependencies": [
+ "470"
+ ],
+ "production": {
+ "taskCode": "TASK-VIRTUAL-007",
+ "modelProjectId": "470",
+ "sceneProjectId": "471",
+ "trainingProjectId": "440",
+ "taskId": "88"
+ }
+ },
+ {
+ "id": "469",
+ "type": "SCENE",
+ "name": "重型支援桥液压泵应急替代训练场景",
+ "status": "PUBLISHED",
+ "version": 10,
+ "backupSha256": "c1dbc1420c1ae119dabbdad9fe5e88941dab807ff11220f9c4b68fc210488e8b",
+ "dependencies": [
+ "468"
+ ],
+ "currentDependencies": [
+ "468"
+ ],
+ "production": {
+ "taskCode": "TASK-VIRTUAL-006",
+ "modelProjectId": "468",
+ "sceneProjectId": "469",
+ "trainingProjectId": "439",
+ "taskId": "87"
+ }
+ },
+ {
+ "id": "467",
+ "type": "SCENE",
+ "name": "重型支援桥液压泵应急切换训练场景",
+ "status": "PUBLISHED",
+ "version": 16,
+ "backupSha256": "31d9c5bda869da61dc63e0a801c6c50d4b185b7873bfc73a90b4165fb9a648db",
+ "dependencies": [
+ "466"
+ ],
+ "currentDependencies": [
+ "466"
+ ],
+ "production": {
+ "taskCode": "TASK-VIRTUAL-005",
+ "modelProjectId": "466",
+ "sceneProjectId": "467",
+ "trainingProjectId": "438",
+ "taskId": "86"
+ }
+ },
+ {
+ "id": "457",
+ "type": "SCENE",
+ "name": "005 液压泵应急切换(编排验证)",
+ "status": "PUBLISHED",
+ "version": 20,
+ "backupSha256": "fb0dc84ae8d2277fba31d65da970b36390f9edb14e7e06f49554c4c766cae74c",
+ "dependencies": [],
+ "currentDependencies": []
+ },
+ {
+ "id": "441",
+ "type": "TRAINING",
+ "name": "重型支援桥平衡阀拆拼互换",
+ "status": "PUBLISHED",
+ "version": 22,
+ "backupSha256": "58ef0cee621ef9d7eac3e553cab8d0286112845ba8166cc89677df690788f300",
+ "dependencies": [
+ "473"
+ ],
+ "currentDependencies": [
+ "473"
+ ],
+ "production": {
+ "taskCode": "TASK-VIRTUAL-008",
+ "modelProjectId": "472",
+ "sceneProjectId": "473",
+ "trainingProjectId": "441",
+ "taskId": "89"
+ }
+ },
+ {
+ "id": "440",
+ "type": "TRAINING",
+ "name": "重型支援桥前泵换件修复",
+ "status": "PUBLISHED",
+ "version": 22,
+ "backupSha256": "e7ba09ed14d77172aa2729ea35f36d45fed81c6d345fd3058941916c9e44c075",
+ "dependencies": [
+ "471"
+ ],
+ "currentDependencies": [
+ "471"
+ ],
+ "production": {
+ "taskCode": "TASK-VIRTUAL-007",
+ "modelProjectId": "470",
+ "sceneProjectId": "471",
+ "trainingProjectId": "440",
+ "taskId": "88"
+ }
+ },
+ {
+ "id": "439",
+ "type": "TRAINING",
+ "name": "重型支援桥液压泵应急替代",
+ "status": "PUBLISHED",
+ "version": 26,
+ "backupSha256": "9eb1ce425b5f78549f540cd5b294a3e8c32394d147932e744d02346bd96c8c9f",
+ "dependencies": [
+ "469"
+ ],
+ "currentDependencies": [
+ "469"
+ ],
+ "production": {
+ "taskCode": "TASK-VIRTUAL-006",
+ "modelProjectId": "468",
+ "sceneProjectId": "469",
+ "trainingProjectId": "439",
+ "taskId": "87"
+ }
+ },
+ {
+ "id": "438",
+ "type": "TRAINING",
+ "name": "重型支援桥液压泵应急切换",
+ "status": "PUBLISHED",
+ "version": 21,
+ "backupSha256": "ccd6d518a1d1759a39a7e9a5c267bc47f5ab8b5042168266e7f7b627314df333",
+ "dependencies": [
+ "467"
+ ],
+ "currentDependencies": [
+ "467"
+ ],
+ "production": {
+ "taskCode": "TASK-VIRTUAL-005",
+ "modelProjectId": "466",
+ "sceneProjectId": "467",
+ "trainingProjectId": "438",
+ "taskId": "86"
+ }
+ },
+ {
+ "id": "458",
+ "type": "TRAINING",
+ "name": "005 液压泵应急切换(编排验证)",
+ "status": "DRAFT",
+ "version": 34,
+ "backupSha256": "05040ae9b2fab0d2b0cb45960353490ffc546d7e16b936faec69a40a04bf65ec",
+ "dependencies": [
+ "457"
+ ],
+ "currentDependencies": [
+ "457"
+ ]
+ }
+ ],
+ "candidates": [
+ {
+ "id": "416",
+ "type": "MODEL",
+ "name": "动画能力验收-组合动作与流向-20260912",
+ "status": "DRAFT",
+ "version": 10,
+ "backupSha256": "62daa2aaab83dd92efd806ee479e056f81f35451a478d3fc8b2397b535d53386",
+ "dependencies": [],
+ "currentDependencies": []
+ },
+ {
+ "id": "407",
+ "type": "MODEL",
+ "name": "ZDS-模型1",
+ "status": "DRAFT",
+ "version": 36,
+ "backupSha256": "7db115816c02bbe22a2a48a31e520653f948518c8ea679d86227c6e160c9f4dc",
+ "dependencies": [],
+ "currentDependencies": []
+ },
+ {
+ "id": "157",
+ "type": "MODEL",
+ "name": "实测模型-狐狸动画-已验证-20260905",
+ "status": "DRAFT",
+ "version": 26,
+ "backupSha256": "aa13a9bb64dbeb2dd89230e339d4d99e85802b08ee992d8de121cc46466ea8db",
+ "dependencies": [],
+ "currentDependencies": []
+ },
+ {
+ "id": "156",
+ "type": "MODEL",
+ "name": "实测模型-牛奶卡车-已验证-20260905",
+ "status": "PUBLISHED",
+ "version": 20,
+ "backupSha256": "25c70104239413eef84c37a6c61300116a6fcdbcc56f446817e5a1b301bd821b",
+ "dependencies": [],
+ "currentDependencies": []
+ },
+ {
+ "id": "94",
+ "type": "MODEL",
+ "name": "桥梁架设装备整机模型",
+ "status": "DRAFT",
+ "version": 270,
+ "backupSha256": "7f9cc2026a70f7ea2e1287b3b6e05f7e356f4470d4a68e9f65b05fa58d5312a1",
+ "dependencies": [],
+ "currentDependencies": []
+ },
+ {
+ "id": "48",
+ "type": "MODEL",
+ "name": "UAT 挖掘机装备模型",
+ "status": "DRAFT",
+ "version": 556,
+ "backupSha256": "e08018f97f54e5903bf0968df38a919a3b4c07335b06306105dd1b680d89fade",
+ "dependencies": [],
+ "currentDependencies": []
+ },
+ {
+ "id": "436",
+ "type": "MODEL",
+ "name": "CL-mode1",
+ "status": "DRAFT",
+ "version": 36,
+ "backupSha256": "0ef507457408becc7de3925b13d6612b2163f968a55cdab3dde1d79e251b3312",
+ "dependencies": [],
+ "currentDependencies": []
+ },
+ {
+ "id": "155",
+ "type": "MODEL",
+ "name": "测试",
+ "status": "DRAFT",
+ "version": 57,
+ "backupSha256": "260e2e49b064d45d3c720a1d403043fc0ffa9e7d003529aab83277018e3201df",
+ "dependencies": [],
+ "currentDependencies": []
+ },
+ {
+ "id": "151",
+ "type": "MODEL",
+ "name": "野外山地场景与桥梁架设装备",
+ "status": "PUBLISHED",
+ "version": 1,
+ "backupSha256": "df8460de12a84beb10eddedd319d1a2b83decdae69eb5a4506dca49f3f3ad984",
+ "dependencies": [],
+ "currentDependencies": []
+ },
+ {
+ "id": "160",
+ "type": "SCENE",
+ "name": "实测场景-狐狸野外训练区-20260905",
+ "status": "PUBLISHED",
+ "version": 13,
+ "backupSha256": "d19fa82beeffcca24656343ad1317db040eff2fca8a802ffc0b5eabc5eff0e85",
+ "dependencies": [
+ "407",
+ "157"
+ ],
+ "currentDependencies": [
+ "407"
+ ]
+ },
+ {
+ "id": "159",
+ "type": "SCENE",
+ "name": "实测场景-牛奶卡车检验区-20260905",
+ "status": "PUBLISHED",
+ "version": 7,
+ "backupSha256": "8393fdf24addc3222cfbc03db56fcf379c8f0bf4aeb4cd888b3f436991ec95e4",
+ "dependencies": [
+ "156"
+ ],
+ "currentDependencies": [
+ "156"
+ ]
+ },
+ {
+ "id": "418",
+ "type": "SCENE",
+ "name": "动画能力验收场景-20260912",
+ "status": "PUBLISHED",
+ "version": 3,
+ "backupSha256": "09df00c479996104a18f62051591e503b0bbf9f1e0dbbfd316abd130e6cd989c",
+ "dependencies": [
+ "416"
+ ],
+ "currentDependencies": [
+ "416"
+ ]
+ },
+ {
+ "id": "408",
+ "type": "SCENE",
+ "name": "ZDS-场景1",
+ "status": "PUBLISHED",
+ "version": 8,
+ "backupSha256": "2c94deb1cd61cf93ab0635bc44a9c058f45abab6b27c61bcedef2379b2598561",
+ "dependencies": [
+ "94",
+ "407"
+ ],
+ "currentDependencies": [
+ "94"
+ ]
+ },
+ {
+ "id": "131",
+ "type": "SCENE",
+ "name": "真实装备车库整机进场点检场景",
+ "status": "DRAFT",
+ "version": 4,
+ "backupSha256": "7d3c456f90977391a837748f68b2bbeaa7b964718aa5ac6d30c9f5a81c40d61b",
+ "dependencies": [],
+ "currentDependencies": []
+ },
+ {
+ "id": "152",
+ "type": "SCENE",
+ "name": "真实野外山地桥梁架设训练场",
+ "status": "PUBLISHED",
+ "version": 1,
+ "backupSha256": "3238f637d491a6c96f174723a8a70fad99e54d0c45cd8f32105d6ec46503bc9b",
+ "dependencies": [
+ "151"
+ ],
+ "currentDependencies": [
+ "151"
+ ]
+ },
+ {
+ "id": "49",
+ "type": "SCENE",
+ "name": "UAT 综合检验车间",
+ "status": "DRAFT",
+ "version": 3,
+ "backupSha256": "528250a7d1ae7643fdce53d4dba6121c30e3eea9c47fbf12c74a20a1ebdd9dc8",
+ "dependencies": [
+ "48"
+ ],
+ "currentDependencies": []
+ },
+ {
+ "id": "95",
+ "type": "SCENE",
+ "name": "桥梁架设装备架桥作业训练场",
+ "status": "DRAFT",
+ "version": 1,
+ "backupSha256": "e15b672ac64c172682b2d0cf34e9ac5c1c322337b391a5f4910def077eca2e8d",
+ "dependencies": [
+ "94"
+ ],
+ "currentDependencies": []
+ },
+ {
+ "id": "50",
+ "type": "SCENE",
+ "name": "UAT 室外对抗训练场",
+ "status": "DRAFT",
+ "version": 5,
+ "backupSha256": "df8fe2b99676af6fb2be2a9769953bbfe0f21e1bb9b359b8b54b7e1bc3e2d14c",
+ "dependencies": [
+ "48"
+ ],
+ "currentDependencies": [
+ "48"
+ ]
+ },
+ {
+ "id": "432",
+ "type": "TRAINING",
+ "name": "HTML服务端编排-mtyissgj",
+ "status": "DRAFT",
+ "version": 4,
+ "backupSha256": "9f353ddcb5b90017e82bcd6668038b86d554bea54ebb681b0d88d4000c660703",
+ "dependencies": [
+ "416",
+ "418"
+ ],
+ "currentDependencies": [
+ "416",
+ "418"
+ ]
+ },
+ {
+ "id": "435",
+ "type": "TRAINING",
+ "name": "HTML服务端编排-mtyjtx1p",
+ "status": "PUBLISHED",
+ "version": 2,
+ "backupSha256": "b757d1c6a3cc3c872145f592e3d944956324c26f21d72875e054ed2c7b002ff0",
+ "dependencies": [
+ "416",
+ "418"
+ ],
+ "currentDependencies": [
+ "416",
+ "418"
+ ]
+ },
+ {
+ "id": "434",
+ "type": "TRAINING",
+ "name": "HTML闭环验收-mtyjgaok",
+ "status": "PUBLISHED",
+ "version": 2,
+ "backupSha256": "fb4d3f3be7cc3dcf659c5b666c84567683ae3570523aae461a8e1d09f627ae3a",
+ "dependencies": [
+ "416",
+ "418"
+ ],
+ "currentDependencies": [
+ "416",
+ "418"
+ ]
+ },
+ {
+ "id": "433",
+ "type": "TRAINING",
+ "name": "HTML服务端编排-mtyjd8w5",
+ "status": "PUBLISHED",
+ "version": 2,
+ "backupSha256": "8aadf6d62ea56c8cfba789bb5594bc527fef3b1af4ceadfdc98213c2a4dc82dc",
+ "dependencies": [
+ "416",
+ "418"
+ ],
+ "currentDependencies": [
+ "416",
+ "418"
+ ]
+ },
+ {
+ "id": "431",
+ "type": "TRAINING",
+ "name": "HTML媒体验收-411-mtygwyxh",
+ "status": "PUBLISHED",
+ "version": 2,
+ "backupSha256": "3a608c7f43e0561502d398004210cc79d5969f9b4ae553c598dabeef4823d449",
+ "dependencies": [
+ "416",
+ "418"
+ ],
+ "currentDependencies": [
+ "416",
+ "418"
+ ]
+ },
+ {
+ "id": "430",
+ "type": "TRAINING",
+ "name": "HTML闭环验收-mtygust6",
+ "status": "PUBLISHED",
+ "version": 2,
+ "backupSha256": "cacecc001fa781d79f2e59f646237ac5227f41a462afcdc9dc334720396da0bd",
+ "dependencies": [
+ "416",
+ "418"
+ ],
+ "currentDependencies": [
+ "416",
+ "418"
+ ]
+ },
+ {
+ "id": "429",
+ "type": "TRAINING",
+ "name": "HTML媒体验收-411-mtygrzvz",
+ "status": "PUBLISHED",
+ "version": 2,
+ "backupSha256": "3d5af2f607e13eae1e7a075a71d400a8fb935e01856c3a191467c13feff8761b",
+ "dependencies": [
+ "416",
+ "418"
+ ],
+ "currentDependencies": [
+ "416",
+ "418"
+ ]
+ },
+ {
+ "id": "428",
+ "type": "TRAINING",
+ "name": "HTML媒体验收-411-mtygq1cj",
+ "status": "PUBLISHED",
+ "version": 2,
+ "backupSha256": "38aedef25fcfcb2a508fb20ba074792cd14d77cb89dfaaa27f1a8499b680dc21",
+ "dependencies": [
+ "416",
+ "418"
+ ],
+ "currentDependencies": [
+ "416",
+ "418"
+ ]
+ },
+ {
+ "id": "427",
+ "type": "TRAINING",
+ "name": "HTML媒体验收-411-mtygo2oi",
+ "status": "DRAFT",
+ "version": 1,
+ "backupSha256": "571c04ffb3170a8f7e2159e80008902fe67c0a2cdc2ea13f575f595a6668c0ca",
+ "dependencies": [
+ "159"
+ ],
+ "currentDependencies": [
+ "159"
+ ]
+ },
+ {
+ "id": "426",
+ "type": "TRAINING",
+ "name": "HTML媒体验收-411-mtyglbos",
+ "status": "DRAFT",
+ "version": 1,
+ "backupSha256": "3a3ca0f282d8e18921dcd3646006aa16af528083b2915095e3479b1c511221d0",
+ "dependencies": [
+ "159"
+ ],
+ "currentDependencies": [
+ "159"
+ ]
+ },
+ {
+ "id": "425",
+ "type": "TRAINING",
+ "name": "HTML媒体验收-411-mtygj471",
+ "status": "DRAFT",
+ "version": 1,
+ "backupSha256": "62f3305b0711f214629819ccb41e9bb3c4ed75b0f44da95301e3c391fa2b7577",
+ "dependencies": [
+ "159"
+ ],
+ "currentDependencies": [
+ "159"
+ ]
+ },
+ {
+ "id": "423",
+ "type": "TRAINING",
+ "name": "HTML闭环验收-mtyg3srb",
+ "status": "PUBLISHED",
+ "version": 2,
+ "backupSha256": "6beb94f94771ac5f7f97b32135b14cefb40b39655e496d1dc02a1693bba674f0",
+ "dependencies": [
+ "416",
+ "418"
+ ],
+ "currentDependencies": [
+ "416",
+ "418"
+ ]
+ },
+ {
+ "id": "422",
+ "type": "TRAINING",
+ "name": "HTML闭环验收-mtyg0s9h",
+ "status": "PUBLISHED",
+ "version": 2,
+ "backupSha256": "a0794846d86de6d8f350445e4fdef797782e65fc226afbb0ce9788a813729d00",
+ "dependencies": [
+ "416",
+ "418"
+ ],
+ "currentDependencies": [
+ "416",
+ "418"
+ ]
+ },
+ {
+ "id": "421",
+ "type": "TRAINING",
+ "name": "HTML闭环验收-mtyfndrj",
+ "status": "PUBLISHED",
+ "version": 2,
+ "backupSha256": "74efc4c6f6aeb6188fb644f0d5b651b08677829f9cffffb5e9b5718edd2b696d",
+ "dependencies": [
+ "416",
+ "418"
+ ],
+ "currentDependencies": [
+ "416",
+ "418"
+ ]
+ },
+ {
+ "id": "420",
+ "type": "TRAINING",
+ "name": "HTML闭环验收-mtyfllat",
+ "status": "DRAFT",
+ "version": 1,
+ "backupSha256": "eab2ad591aaba34c5ec28f9823d8060f864a15792af847ef178cb4b4ae36e492",
+ "dependencies": [],
+ "currentDependencies": []
+ },
+ {
+ "id": "419",
+ "type": "TRAINING",
+ "name": "动画能力验收训练-20260912",
+ "status": "DRAFT",
+ "version": 8,
+ "backupSha256": "352829a984229ce78e84e52f6fd9e03297eadaa2fbf9ee506da331a177da10cb",
+ "dependencies": [
+ "416",
+ "418"
+ ],
+ "currentDependencies": [
+ "416",
+ "418"
+ ]
+ },
+ {
+ "id": "415",
+ "type": "TRAINING",
+ "name": "桥梁虚拟仿真-ZDS",
+ "status": "PUBLISHED",
+ "version": 8,
+ "backupSha256": "77589a6b1419b2efaf2cd15787d17e09b4cc74a3f0a296784bd18ab442a0731e",
+ "dependencies": [
+ "408"
+ ],
+ "currentDependencies": [
+ "408"
+ ]
+ },
+ {
+ "id": "409",
+ "type": "TRAINING",
+ "name": "ZDS-虚拟仿真1",
+ "status": "DRAFT",
+ "version": 10,
+ "backupSha256": "31b1da5bdd25215cd6d87505a896b4994115ed1061535abed63af7b840b8a57e",
+ "dependencies": [],
+ "currentDependencies": []
+ },
+ {
+ "id": "410",
+ "type": "TRAINING",
+ "name": "APE2E-数字人讲解-狐狸-20260909",
+ "status": "DRAFT",
+ "version": 21,
+ "backupSha256": "dae5dcd826823a3523f36977a5de486e18b67e8061fe1fad189cc6f1b576ae9e",
+ "dependencies": [
+ "160"
+ ],
+ "currentDependencies": [
+ "160"
+ ]
+ },
+ {
+ "id": "411",
+ "type": "TRAINING",
+ "name": "APE2E-数字人讲解-牛奶-20260909",
+ "status": "PUBLISHED",
+ "version": 10,
+ "backupSha256": "ca9e53fb4e844cec48ae4e7dfe3d4fc6ed6e90b59d7a7713d7eaa43da1c90773",
+ "dependencies": [
+ "159"
+ ],
+ "currentDependencies": [
+ "159"
+ ]
+ },
+ {
+ "id": "164",
+ "type": "TRAINING",
+ "name": "实测训练-狐狸红蓝协同巡检-20260905",
+ "status": "PUBLISHED",
+ "version": 11,
+ "backupSha256": "e1cc6eddab73c792e4edd2d7d7ad74e2277e9c37d739abc31ad425781041aaa9",
+ "dependencies": [
+ "160"
+ ],
+ "currentDependencies": [
+ "160"
+ ]
+ },
+ {
+ "id": "163",
+ "type": "TRAINING",
+ "name": "实测训练-牛奶卡车实装检查-20260905",
+ "status": "PUBLISHED",
+ "version": 7,
+ "backupSha256": "86f3425b811c781b080ba373ffb69eb8ccf60c7e01d41d42c5d44dd350cd8179",
+ "dependencies": [
+ "159"
+ ],
+ "currentDependencies": [
+ "159"
+ ]
+ },
+ {
+ "id": "162",
+ "type": "TRAINING",
+ "name": "实测训练-牛奶卡车进场检查-已验证-20260905",
+ "status": "PUBLISHED",
+ "version": 6,
+ "backupSha256": "0031c9d609ad9719fccdffb6b551a99045b55682cd57983ee559fbb0fe2b7860",
+ "dependencies": [
+ "159"
+ ],
+ "currentDependencies": [
+ "159"
+ ]
+ },
+ {
+ "id": "161",
+ "type": "TRAINING",
+ "name": "实测训练-狐狸野外巡检-已验证-20260905",
+ "status": "PUBLISHED",
+ "version": 9,
+ "backupSha256": "06d17a67d24cb16e36961f019453b01c7ac2761bb8e0deda07579d80867f82ac",
+ "dependencies": [
+ "160"
+ ],
+ "currentDependencies": [
+ "160"
+ ]
+ },
+ {
+ "id": "154",
+ "type": "TRAINING",
+ "name": "真实野外山地整机进场点检对抗训练",
+ "status": "PUBLISHED",
+ "version": 1,
+ "backupSha256": "6286a82d479b1983ed929d6ae8f17d372146628836d26d0bdac3420d9a546cf4",
+ "dependencies": [
+ "152"
+ ],
+ "currentDependencies": [
+ "152"
+ ]
+ },
+ {
+ "id": "153",
+ "type": "TRAINING",
+ "name": "真实野外山地整机进场点检训练",
+ "status": "PUBLISHED",
+ "version": 1,
+ "backupSha256": "cfe7b34c22aa868c3ef47d6554614b21ea662f8da6c2e82326c119d9ee34c521",
+ "dependencies": [
+ "152"
+ ],
+ "currentDependencies": [
+ "152"
+ ]
+ },
+ {
+ "id": "132",
+ "type": "TRAINING",
+ "name": "真实装备车库整机进场点检训练",
+ "status": "DRAFT",
+ "version": 4,
+ "backupSha256": "5d1638b63d59ec9539736122bdbcbb6e2eb9f857b10ad41d08fbfdd21e6aa39a",
+ "dependencies": [
+ "131"
+ ],
+ "currentDependencies": [
+ "131"
+ ]
+ },
+ {
+ "id": "98",
+ "type": "TRAINING",
+ "name": "桥梁架设装备变幅系统背靠背排故",
+ "status": "DRAFT",
+ "version": 2,
+ "backupSha256": "0e75f093d419d6f9d6d4324061affabec9d72ae55a29b2628a9e18eb8fb8fd0f",
+ "dependencies": [
+ "95"
+ ],
+ "currentDependencies": [
+ "95"
+ ]
+ },
+ {
+ "id": "97",
+ "type": "TRAINING",
+ "name": "桥梁架设装备变幅油缸中修训练",
+ "status": "PUBLISHED",
+ "version": 1,
+ "backupSha256": "395fd6ad9aa7ff5234ac1b29e4cb535895c5a0bd1689f0e7e39c8344f6bde884",
+ "dependencies": [
+ "95"
+ ],
+ "currentDependencies": [
+ "95"
+ ]
+ },
+ {
+ "id": "58",
+ "type": "TRAINING",
+ "name": "支腿液压缸中修训练",
+ "status": "DRAFT",
+ "version": 1,
+ "backupSha256": "80b14fbebaf9ce9e1b6ca5628372212c68a38807714e841d44a1cb2073abc8b0",
+ "dependencies": [],
+ "currentDependencies": []
+ },
+ {
+ "id": "53",
+ "type": "TRAINING",
+ "name": "UAT 液压系统对抗训练定义",
+ "status": "PUBLISHED",
+ "version": 1,
+ "backupSha256": "27ae16d39ff19363e30068b62290732598ec4392ecbef67420c12b457a9e9289",
+ "dependencies": [
+ "50"
+ ],
+ "currentDependencies": [
+ "50"
+ ]
+ },
+ {
+ "id": "52",
+ "type": "TRAINING",
+ "name": "UAT 支腿液压缸实装训练定义",
+ "status": "DRAFT",
+ "version": 2,
+ "backupSha256": "e38092076436559e03e54d78d7ae56894ea0bd231c698199a03c8a464ba13fd1",
+ "dependencies": [
+ "49"
+ ],
+ "currentDependencies": [
+ "49"
+ ]
+ },
+ {
+ "id": "51",
+ "type": "TRAINING",
+ "name": "UAT 支腿液压缸虚拟训练定义",
+ "status": "PUBLISHED",
+ "version": 1,
+ "backupSha256": "89493ff1c71fb63647f5dba9a6c5835291e36970ab1acca0c17556bba15586d7",
+ "dependencies": [
+ "49"
+ ],
+ "currentDependencies": [
+ "49"
+ ]
+ }
+ ],
+ "blockers": [
+ {
+ "id": "416",
+ "type": "MODEL",
+ "name": "动画能力验收-组合动作与流向-20260912",
+ "tasks": [],
+ "outsideReferences": [
+ {
+ "id": "417",
+ "type": "GUIDE",
+ "name": "动画能力验收指导书-20260912"
+ }
+ ]
+ },
+ {
+ "id": "407",
+ "type": "MODEL",
+ "name": "ZDS-模型1",
+ "tasks": [],
+ "outsideReferences": [
+ {
+ "id": "417",
+ "type": "GUIDE",
+ "name": "动画能力验收指导书-20260912"
+ }
+ ]
+ },
+ {
+ "id": "157",
+ "type": "MODEL",
+ "name": "实测模型-狐狸动画-已验证-20260905",
+ "tasks": [],
+ "outsideReferences": [
+ {
+ "id": "417",
+ "type": "GUIDE",
+ "name": "动画能力验收指导书-20260912"
+ }
+ ]
+ },
+ {
+ "id": "156",
+ "type": "MODEL",
+ "name": "实测模型-牛奶卡车-已验证-20260905",
+ "tasks": [],
+ "outsideReferences": [
+ {
+ "id": "417",
+ "type": "GUIDE",
+ "name": "动画能力验收指导书-20260912"
+ }
+ ]
+ },
+ {
+ "id": "94",
+ "type": "MODEL",
+ "name": "桥梁架设装备整机模型",
+ "tasks": [],
+ "outsideReferences": [
+ {
+ "id": "417",
+ "type": "GUIDE",
+ "name": "动画能力验收指导书-20260912"
+ },
+ {
+ "id": "461",
+ "type": "GUIDE",
+ "name": "装备构造原理标准模板(新建)"
+ }
+ ]
+ },
+ {
+ "id": "48",
+ "type": "MODEL",
+ "name": "UAT 挖掘机装备模型",
+ "tasks": [],
+ "outsideReferences": [
+ {
+ "id": "417",
+ "type": "GUIDE",
+ "name": "动画能力验收指导书-20260912"
+ }
+ ]
+ },
+ {
+ "id": "160",
+ "type": "SCENE",
+ "name": "实测场景-狐狸野外训练区-20260905",
+ "tasks": [],
+ "outsideReferences": [
+ {
+ "id": "412",
+ "type": "GUIDE",
+ "name": "正式闭环-狐狸与卡车指导书-20260910"
+ }
+ ]
+ },
+ {
+ "id": "159",
+ "type": "SCENE",
+ "name": "实测场景-牛奶卡车检验区-20260905",
+ "tasks": [],
+ "outsideReferences": [
+ {
+ "id": "412",
+ "type": "GUIDE",
+ "name": "正式闭环-狐狸与卡车指导书-20260910"
+ }
+ ]
+ },
+ {
+ "id": "410",
+ "type": "TRAINING",
+ "name": "APE2E-数字人讲解-狐狸-20260909",
+ "tasks": [
+ {
+ "id": "52",
+ "code": "APE2E_DH_PLAYBACK_FOX",
+ "status": "DRAFT"
+ }
+ ],
+ "outsideReferences": []
+ },
+ {
+ "id": "411",
+ "type": "TRAINING",
+ "name": "APE2E-数字人讲解-牛奶-20260909",
+ "tasks": [
+ {
+ "id": "53",
+ "code": "APE2E_DH_PLAYBACK_TRUCK",
+ "status": "DRAFT"
+ }
+ ],
+ "outsideReferences": []
+ },
+ {
+ "id": "164",
+ "type": "TRAINING",
+ "name": "实测训练-狐狸红蓝协同巡检-20260905",
+ "tasks": [
+ {
+ "id": "51",
+ "code": "UTE2E-MODES-MTOK5BBA-CONFRONTATION",
+ "status": "PUBLISHED"
+ }
+ ],
+ "outsideReferences": []
+ },
+ {
+ "id": "163",
+ "type": "TRAINING",
+ "name": "实测训练-牛奶卡车实装检查-20260905",
+ "tasks": [
+ {
+ "id": "50",
+ "code": "UTE2E-MODES-MTOK5BBA-PHYSICAL",
+ "status": "PUBLISHED"
+ }
+ ],
+ "outsideReferences": []
+ },
+ {
+ "id": "161",
+ "type": "TRAINING",
+ "name": "实测训练-狐狸野外巡检-已验证-20260905",
+ "tasks": [
+ {
+ "id": "85",
+ "code": "HTML-TIME-MTYK7PCH",
+ "status": "PUBLISHED"
+ },
+ {
+ "id": "84",
+ "code": "HTML-EX-MTYK7PCH",
+ "status": "PUBLISHED"
+ },
+ {
+ "id": "83",
+ "code": "HTML-TIME-MTYJW7UD",
+ "status": "PUBLISHED"
+ },
+ {
+ "id": "82",
+ "code": "HTML-EX-MTYJW7UD",
+ "status": "PUBLISHED"
+ },
+ {
+ "id": "80",
+ "code": "HTML-EX-MTYJTOUG",
+ "status": "PUBLISHED"
+ },
+ {
+ "id": "79",
+ "code": "HTML-EX-MTYJNY4T",
+ "status": "PUBLISHED"
+ },
+ {
+ "id": "77",
+ "code": "HTML-EX-MTYJF2Z6",
+ "status": "PUBLISHED"
+ },
+ {
+ "id": "75",
+ "code": "HTML-EX-MTYJD0RB",
+ "status": "PUBLISHED"
+ },
+ {
+ "id": "74",
+ "code": "HTML-EX-MTYJ38OV",
+ "status": "PUBLISHED"
+ },
+ {
+ "id": "72",
+ "code": "HTML-EX-MTYHWQMI",
+ "status": "PUBLISHED"
+ },
+ {
+ "id": "71",
+ "code": "HTML-EX-MTYHVMZU",
+ "status": "PUBLISHED"
+ },
+ {
+ "id": "70",
+ "code": "HTML-EX-MTYHQWXW",
+ "status": "PUBLISHED"
+ },
+ {
+ "id": "69",
+ "code": "HTML-EX-MTYHNFTH",
+ "status": "PUBLISHED"
+ }
+ ],
+ "outsideReferences": []
+ },
+ {
+ "id": "154",
+ "type": "TRAINING",
+ "name": "真实野外山地整机进场点检对抗训练",
+ "tasks": [
+ {
+ "id": "40",
+ "code": "TASK-CONFRONTATION-002",
+ "status": "PUBLISHED"
+ }
+ ],
+ "outsideReferences": []
+ },
+ {
+ "id": "98",
+ "type": "TRAINING",
+ "name": "桥梁架设装备变幅系统背靠背排故",
+ "tasks": [
+ {
+ "id": "33",
+ "code": "TASK-CONFRONTATION-BRIDGE-001",
+ "status": "PUBLISHED"
+ }
+ ],
+ "outsideReferences": []
+ },
+ {
+ "id": "53",
+ "type": "TRAINING",
+ "name": "UAT 液压系统对抗训练定义",
+ "tasks": [
+ {
+ "id": "21",
+ "code": "UAT-EXAM-CONFRONTATION-001",
+ "status": "PUBLISHED"
+ },
+ {
+ "id": "20",
+ "code": "UAT-TEACH-CONFRONTATION-002",
+ "status": "PUBLISHED"
+ },
+ {
+ "id": "19",
+ "code": "UAT-TEACH-CONFRONTATION-001",
+ "status": "PUBLISHED"
+ }
+ ],
+ "outsideReferences": []
+ },
+ {
+ "id": "52",
+ "type": "TRAINING",
+ "name": "UAT 支腿液压缸实装训练定义",
+ "tasks": [
+ {
+ "id": "27",
+ "code": "UAT-EXAM-PHYSICAL-001",
+ "status": "PUBLISHED"
+ },
+ {
+ "id": "26",
+ "code": "UAT-TEACH-PHYSICAL-002",
+ "status": "PUBLISHED"
+ },
+ {
+ "id": "25",
+ "code": "UAT-TEACH-PHYSICAL-001",
+ "status": "PUBLISHED"
+ }
+ ],
+ "outsideReferences": []
+ },
+ {
+ "id": "51",
+ "type": "TRAINING",
+ "name": "UAT 支腿液压缸虚拟训练定义",
+ "tasks": [
+ {
+ "id": "24",
+ "code": "UAT-EXAM-VIRTUAL-001",
+ "status": "PUBLISHED"
+ }
+ ],
+ "outsideReferences": []
+ }
+ ],
+ "all": [
+ {
+ "id": "472",
+ "type": "MODEL",
+ "name": "重型支援桥平衡阀拆拼互换机构模型",
+ "status": "PUBLISHED",
+ "version": 7,
+ "backupSha256": "a1e7b99b76221f8ea2ec94651ed7e2a9e99944036f5c47c0c829857e74dd004d",
+ "dependencies": [],
+ "currentDependencies": [],
+ "production": {
+ "taskCode": "TASK-VIRTUAL-008",
+ "modelProjectId": "472",
+ "sceneProjectId": "473",
+ "trainingProjectId": "441",
+ "taskId": "89"
+ }
+ },
+ {
+ "id": "470",
+ "type": "MODEL",
+ "name": "重型支援桥前泵换件修复机构模型",
+ "status": "PUBLISHED",
+ "version": 7,
+ "backupSha256": "baa28abf8b11ec815fdb42454d14973c984a7320d3709a57079ebf35d6a79de8",
+ "dependencies": [],
+ "currentDependencies": [],
+ "production": {
+ "taskCode": "TASK-VIRTUAL-007",
+ "modelProjectId": "470",
+ "sceneProjectId": "471",
+ "trainingProjectId": "440",
+ "taskId": "88"
+ }
+ },
+ {
+ "id": "468",
+ "type": "MODEL",
+ "name": "重型支援桥液压泵应急替代机构模型",
+ "status": "PUBLISHED",
+ "version": 7,
+ "backupSha256": "2b7d5f3317ba3c5094cb3e59b343dc2c1c3f925c94da7e7a6f34ed078cfe3b71",
+ "dependencies": [],
+ "currentDependencies": [],
+ "production": {
+ "taskCode": "TASK-VIRTUAL-006",
+ "modelProjectId": "468",
+ "sceneProjectId": "469",
+ "trainingProjectId": "439",
+ "taskId": "87"
+ }
+ },
+ {
+ "id": "466",
+ "type": "MODEL",
+ "name": "重型支援桥液压泵应急切换机构模型",
+ "status": "PUBLISHED",
+ "version": 17,
+ "backupSha256": "41b433ff8f7b140dde1171c561ba7ae22c9f05d9a695dfece4d484129960f058",
+ "dependencies": [],
+ "currentDependencies": [],
+ "production": {
+ "taskCode": "TASK-VIRTUAL-005",
+ "modelProjectId": "466",
+ "sceneProjectId": "467",
+ "trainingProjectId": "438",
+ "taskId": "86"
+ }
+ },
+ {
+ "id": "416",
+ "type": "MODEL",
+ "name": "动画能力验收-组合动作与流向-20260912",
+ "status": "DRAFT",
+ "version": 10,
+ "backupSha256": "62daa2aaab83dd92efd806ee479e056f81f35451a478d3fc8b2397b535d53386",
+ "dependencies": [],
+ "currentDependencies": []
+ },
+ {
+ "id": "407",
+ "type": "MODEL",
+ "name": "ZDS-模型1",
+ "status": "DRAFT",
+ "version": 36,
+ "backupSha256": "7db115816c02bbe22a2a48a31e520653f948518c8ea679d86227c6e160c9f4dc",
+ "dependencies": [],
+ "currentDependencies": []
+ },
+ {
+ "id": "157",
+ "type": "MODEL",
+ "name": "实测模型-狐狸动画-已验证-20260905",
+ "status": "DRAFT",
+ "version": 26,
+ "backupSha256": "aa13a9bb64dbeb2dd89230e339d4d99e85802b08ee992d8de121cc46466ea8db",
+ "dependencies": [],
+ "currentDependencies": []
+ },
+ {
+ "id": "156",
+ "type": "MODEL",
+ "name": "实测模型-牛奶卡车-已验证-20260905",
+ "status": "PUBLISHED",
+ "version": 20,
+ "backupSha256": "25c70104239413eef84c37a6c61300116a6fcdbcc56f446817e5a1b301bd821b",
+ "dependencies": [],
+ "currentDependencies": []
+ },
+ {
+ "id": "94",
+ "type": "MODEL",
+ "name": "桥梁架设装备整机模型",
+ "status": "DRAFT",
+ "version": 270,
+ "backupSha256": "7f9cc2026a70f7ea2e1287b3b6e05f7e356f4470d4a68e9f65b05fa58d5312a1",
+ "dependencies": [],
+ "currentDependencies": []
+ },
+ {
+ "id": "48",
+ "type": "MODEL",
+ "name": "UAT 挖掘机装备模型",
+ "status": "DRAFT",
+ "version": 556,
+ "backupSha256": "e08018f97f54e5903bf0968df38a919a3b4c07335b06306105dd1b680d89fade",
+ "dependencies": [],
+ "currentDependencies": []
+ },
+ {
+ "id": "436",
+ "type": "MODEL",
+ "name": "CL-mode1",
+ "status": "DRAFT",
+ "version": 36,
+ "backupSha256": "0ef507457408becc7de3925b13d6612b2163f968a55cdab3dde1d79e251b3312",
+ "dependencies": [],
+ "currentDependencies": []
+ },
+ {
+ "id": "155",
+ "type": "MODEL",
+ "name": "测试",
+ "status": "DRAFT",
+ "version": 57,
+ "backupSha256": "260e2e49b064d45d3c720a1d403043fc0ffa9e7d003529aab83277018e3201df",
+ "dependencies": [],
+ "currentDependencies": []
+ },
+ {
+ "id": "151",
+ "type": "MODEL",
+ "name": "野外山地场景与桥梁架设装备",
+ "status": "PUBLISHED",
+ "version": 1,
+ "backupSha256": "df8460de12a84beb10eddedd319d1a2b83decdae69eb5a4506dca49f3f3ad984",
+ "dependencies": [],
+ "currentDependencies": []
+ },
+ {
+ "id": "473",
+ "type": "SCENE",
+ "name": "重型支援桥平衡阀拆拼互换训练场景",
+ "status": "PUBLISHED",
+ "version": 9,
+ "backupSha256": "96f7fa03fd4f28c66502d0682408989cddfba5eb712aedd873c6fa12800917c7",
+ "dependencies": [
+ "472"
+ ],
+ "currentDependencies": [
+ "472"
+ ],
+ "production": {
+ "taskCode": "TASK-VIRTUAL-008",
+ "modelProjectId": "472",
+ "sceneProjectId": "473",
+ "trainingProjectId": "441",
+ "taskId": "89"
+ }
+ },
+ {
+ "id": "471",
+ "type": "SCENE",
+ "name": "重型支援桥前泵换件修复训练场景",
+ "status": "PUBLISHED",
+ "version": 9,
+ "backupSha256": "286f81a90c910567f9d3148d7b47e3273e29c5a87986b8412e0e3720f2eb3525",
+ "dependencies": [
+ "470"
+ ],
+ "currentDependencies": [
+ "470"
+ ],
+ "production": {
+ "taskCode": "TASK-VIRTUAL-007",
+ "modelProjectId": "470",
+ "sceneProjectId": "471",
+ "trainingProjectId": "440",
+ "taskId": "88"
+ }
+ },
+ {
+ "id": "469",
+ "type": "SCENE",
+ "name": "重型支援桥液压泵应急替代训练场景",
+ "status": "PUBLISHED",
+ "version": 10,
+ "backupSha256": "c1dbc1420c1ae119dabbdad9fe5e88941dab807ff11220f9c4b68fc210488e8b",
+ "dependencies": [
+ "468"
+ ],
+ "currentDependencies": [
+ "468"
+ ],
+ "production": {
+ "taskCode": "TASK-VIRTUAL-006",
+ "modelProjectId": "468",
+ "sceneProjectId": "469",
+ "trainingProjectId": "439",
+ "taskId": "87"
+ }
+ },
+ {
+ "id": "467",
+ "type": "SCENE",
+ "name": "重型支援桥液压泵应急切换训练场景",
+ "status": "PUBLISHED",
+ "version": 16,
+ "backupSha256": "31d9c5bda869da61dc63e0a801c6c50d4b185b7873bfc73a90b4165fb9a648db",
+ "dependencies": [
+ "466"
+ ],
+ "currentDependencies": [
+ "466"
+ ],
+ "production": {
+ "taskCode": "TASK-VIRTUAL-005",
+ "modelProjectId": "466",
+ "sceneProjectId": "467",
+ "trainingProjectId": "438",
+ "taskId": "86"
+ }
+ },
+ {
+ "id": "160",
+ "type": "SCENE",
+ "name": "实测场景-狐狸野外训练区-20260905",
+ "status": "PUBLISHED",
+ "version": 13,
+ "backupSha256": "d19fa82beeffcca24656343ad1317db040eff2fca8a802ffc0b5eabc5eff0e85",
+ "dependencies": [
+ "407",
+ "157"
+ ],
+ "currentDependencies": [
+ "407"
+ ]
+ },
+ {
+ "id": "159",
+ "type": "SCENE",
+ "name": "实测场景-牛奶卡车检验区-20260905",
+ "status": "PUBLISHED",
+ "version": 7,
+ "backupSha256": "8393fdf24addc3222cfbc03db56fcf379c8f0bf4aeb4cd888b3f436991ec95e4",
+ "dependencies": [
+ "156"
+ ],
+ "currentDependencies": [
+ "156"
+ ]
+ },
+ {
+ "id": "457",
+ "type": "SCENE",
+ "name": "005 液压泵应急切换(编排验证)",
+ "status": "PUBLISHED",
+ "version": 20,
+ "backupSha256": "fb0dc84ae8d2277fba31d65da970b36390f9edb14e7e06f49554c4c766cae74c",
+ "dependencies": [],
+ "currentDependencies": []
+ },
+ {
+ "id": "418",
+ "type": "SCENE",
+ "name": "动画能力验收场景-20260912",
+ "status": "PUBLISHED",
+ "version": 3,
+ "backupSha256": "09df00c479996104a18f62051591e503b0bbf9f1e0dbbfd316abd130e6cd989c",
+ "dependencies": [
+ "416"
+ ],
+ "currentDependencies": [
+ "416"
+ ]
+ },
+ {
+ "id": "408",
+ "type": "SCENE",
+ "name": "ZDS-场景1",
+ "status": "PUBLISHED",
+ "version": 8,
+ "backupSha256": "2c94deb1cd61cf93ab0635bc44a9c058f45abab6b27c61bcedef2379b2598561",
+ "dependencies": [
+ "94",
+ "407"
+ ],
+ "currentDependencies": [
+ "94"
+ ]
+ },
+ {
+ "id": "131",
+ "type": "SCENE",
+ "name": "真实装备车库整机进场点检场景",
+ "status": "DRAFT",
+ "version": 4,
+ "backupSha256": "7d3c456f90977391a837748f68b2bbeaa7b964718aa5ac6d30c9f5a81c40d61b",
+ "dependencies": [],
+ "currentDependencies": []
+ },
+ {
+ "id": "152",
+ "type": "SCENE",
+ "name": "真实野外山地桥梁架设训练场",
+ "status": "PUBLISHED",
+ "version": 1,
+ "backupSha256": "3238f637d491a6c96f174723a8a70fad99e54d0c45cd8f32105d6ec46503bc9b",
+ "dependencies": [
+ "151"
+ ],
+ "currentDependencies": [
+ "151"
+ ]
+ },
+ {
+ "id": "49",
+ "type": "SCENE",
+ "name": "UAT 综合检验车间",
+ "status": "DRAFT",
+ "version": 3,
+ "backupSha256": "528250a7d1ae7643fdce53d4dba6121c30e3eea9c47fbf12c74a20a1ebdd9dc8",
+ "dependencies": [
+ "48"
+ ],
+ "currentDependencies": []
+ },
+ {
+ "id": "95",
+ "type": "SCENE",
+ "name": "桥梁架设装备架桥作业训练场",
+ "status": "DRAFT",
+ "version": 1,
+ "backupSha256": "e15b672ac64c172682b2d0cf34e9ac5c1c322337b391a5f4910def077eca2e8d",
+ "dependencies": [
+ "94"
+ ],
+ "currentDependencies": []
+ },
+ {
+ "id": "50",
+ "type": "SCENE",
+ "name": "UAT 室外对抗训练场",
+ "status": "DRAFT",
+ "version": 5,
+ "backupSha256": "df8fe2b99676af6fb2be2a9769953bbfe0f21e1bb9b359b8b54b7e1bc3e2d14c",
+ "dependencies": [
+ "48"
+ ],
+ "currentDependencies": [
+ "48"
+ ]
+ },
+ {
+ "id": "441",
+ "type": "TRAINING",
+ "name": "重型支援桥平衡阀拆拼互换",
+ "status": "PUBLISHED",
+ "version": 22,
+ "backupSha256": "58ef0cee621ef9d7eac3e553cab8d0286112845ba8166cc89677df690788f300",
+ "dependencies": [
+ "473"
+ ],
+ "currentDependencies": [
+ "473"
+ ],
+ "production": {
+ "taskCode": "TASK-VIRTUAL-008",
+ "modelProjectId": "472",
+ "sceneProjectId": "473",
+ "trainingProjectId": "441",
+ "taskId": "89"
+ }
+ },
+ {
+ "id": "440",
+ "type": "TRAINING",
+ "name": "重型支援桥前泵换件修复",
+ "status": "PUBLISHED",
+ "version": 22,
+ "backupSha256": "e7ba09ed14d77172aa2729ea35f36d45fed81c6d345fd3058941916c9e44c075",
+ "dependencies": [
+ "471"
+ ],
+ "currentDependencies": [
+ "471"
+ ],
+ "production": {
+ "taskCode": "TASK-VIRTUAL-007",
+ "modelProjectId": "470",
+ "sceneProjectId": "471",
+ "trainingProjectId": "440",
+ "taskId": "88"
+ }
+ },
+ {
+ "id": "439",
+ "type": "TRAINING",
+ "name": "重型支援桥液压泵应急替代",
+ "status": "PUBLISHED",
+ "version": 26,
+ "backupSha256": "9eb1ce425b5f78549f540cd5b294a3e8c32394d147932e744d02346bd96c8c9f",
+ "dependencies": [
+ "469"
+ ],
+ "currentDependencies": [
+ "469"
+ ],
+ "production": {
+ "taskCode": "TASK-VIRTUAL-006",
+ "modelProjectId": "468",
+ "sceneProjectId": "469",
+ "trainingProjectId": "439",
+ "taskId": "87"
+ }
+ },
+ {
+ "id": "438",
+ "type": "TRAINING",
+ "name": "重型支援桥液压泵应急切换",
+ "status": "PUBLISHED",
+ "version": 21,
+ "backupSha256": "ccd6d518a1d1759a39a7e9a5c267bc47f5ab8b5042168266e7f7b627314df333",
+ "dependencies": [
+ "467"
+ ],
+ "currentDependencies": [
+ "467"
+ ],
+ "production": {
+ "taskCode": "TASK-VIRTUAL-005",
+ "modelProjectId": "466",
+ "sceneProjectId": "467",
+ "trainingProjectId": "438",
+ "taskId": "86"
+ }
+ },
+ {
+ "id": "458",
+ "type": "TRAINING",
+ "name": "005 液压泵应急切换(编排验证)",
+ "status": "DRAFT",
+ "version": 34,
+ "backupSha256": "05040ae9b2fab0d2b0cb45960353490ffc546d7e16b936faec69a40a04bf65ec",
+ "dependencies": [
+ "457"
+ ],
+ "currentDependencies": [
+ "457"
+ ]
+ },
+ {
+ "id": "432",
+ "type": "TRAINING",
+ "name": "HTML服务端编排-mtyissgj",
+ "status": "DRAFT",
+ "version": 4,
+ "backupSha256": "9f353ddcb5b90017e82bcd6668038b86d554bea54ebb681b0d88d4000c660703",
+ "dependencies": [
+ "416",
+ "418"
+ ],
+ "currentDependencies": [
+ "416",
+ "418"
+ ]
+ },
+ {
+ "id": "435",
+ "type": "TRAINING",
+ "name": "HTML服务端编排-mtyjtx1p",
+ "status": "PUBLISHED",
+ "version": 2,
+ "backupSha256": "b757d1c6a3cc3c872145f592e3d944956324c26f21d72875e054ed2c7b002ff0",
+ "dependencies": [
+ "416",
+ "418"
+ ],
+ "currentDependencies": [
+ "416",
+ "418"
+ ]
+ },
+ {
+ "id": "434",
+ "type": "TRAINING",
+ "name": "HTML闭环验收-mtyjgaok",
+ "status": "PUBLISHED",
+ "version": 2,
+ "backupSha256": "fb4d3f3be7cc3dcf659c5b666c84567683ae3570523aae461a8e1d09f627ae3a",
+ "dependencies": [
+ "416",
+ "418"
+ ],
+ "currentDependencies": [
+ "416",
+ "418"
+ ]
+ },
+ {
+ "id": "433",
+ "type": "TRAINING",
+ "name": "HTML服务端编排-mtyjd8w5",
+ "status": "PUBLISHED",
+ "version": 2,
+ "backupSha256": "8aadf6d62ea56c8cfba789bb5594bc527fef3b1af4ceadfdc98213c2a4dc82dc",
+ "dependencies": [
+ "416",
+ "418"
+ ],
+ "currentDependencies": [
+ "416",
+ "418"
+ ]
+ },
+ {
+ "id": "431",
+ "type": "TRAINING",
+ "name": "HTML媒体验收-411-mtygwyxh",
+ "status": "PUBLISHED",
+ "version": 2,
+ "backupSha256": "3a608c7f43e0561502d398004210cc79d5969f9b4ae553c598dabeef4823d449",
+ "dependencies": [
+ "416",
+ "418"
+ ],
+ "currentDependencies": [
+ "416",
+ "418"
+ ]
+ },
+ {
+ "id": "430",
+ "type": "TRAINING",
+ "name": "HTML闭环验收-mtygust6",
+ "status": "PUBLISHED",
+ "version": 2,
+ "backupSha256": "cacecc001fa781d79f2e59f646237ac5227f41a462afcdc9dc334720396da0bd",
+ "dependencies": [
+ "416",
+ "418"
+ ],
+ "currentDependencies": [
+ "416",
+ "418"
+ ]
+ },
+ {
+ "id": "429",
+ "type": "TRAINING",
+ "name": "HTML媒体验收-411-mtygrzvz",
+ "status": "PUBLISHED",
+ "version": 2,
+ "backupSha256": "3d5af2f607e13eae1e7a075a71d400a8fb935e01856c3a191467c13feff8761b",
+ "dependencies": [
+ "416",
+ "418"
+ ],
+ "currentDependencies": [
+ "416",
+ "418"
+ ]
+ },
+ {
+ "id": "428",
+ "type": "TRAINING",
+ "name": "HTML媒体验收-411-mtygq1cj",
+ "status": "PUBLISHED",
+ "version": 2,
+ "backupSha256": "38aedef25fcfcb2a508fb20ba074792cd14d77cb89dfaaa27f1a8499b680dc21",
+ "dependencies": [
+ "416",
+ "418"
+ ],
+ "currentDependencies": [
+ "416",
+ "418"
+ ]
+ },
+ {
+ "id": "427",
+ "type": "TRAINING",
+ "name": "HTML媒体验收-411-mtygo2oi",
+ "status": "DRAFT",
+ "version": 1,
+ "backupSha256": "571c04ffb3170a8f7e2159e80008902fe67c0a2cdc2ea13f575f595a6668c0ca",
+ "dependencies": [
+ "159"
+ ],
+ "currentDependencies": [
+ "159"
+ ]
+ },
+ {
+ "id": "426",
+ "type": "TRAINING",
+ "name": "HTML媒体验收-411-mtyglbos",
+ "status": "DRAFT",
+ "version": 1,
+ "backupSha256": "3a3ca0f282d8e18921dcd3646006aa16af528083b2915095e3479b1c511221d0",
+ "dependencies": [
+ "159"
+ ],
+ "currentDependencies": [
+ "159"
+ ]
+ },
+ {
+ "id": "425",
+ "type": "TRAINING",
+ "name": "HTML媒体验收-411-mtygj471",
+ "status": "DRAFT",
+ "version": 1,
+ "backupSha256": "62f3305b0711f214629819ccb41e9bb3c4ed75b0f44da95301e3c391fa2b7577",
+ "dependencies": [
+ "159"
+ ],
+ "currentDependencies": [
+ "159"
+ ]
+ },
+ {
+ "id": "423",
+ "type": "TRAINING",
+ "name": "HTML闭环验收-mtyg3srb",
+ "status": "PUBLISHED",
+ "version": 2,
+ "backupSha256": "6beb94f94771ac5f7f97b32135b14cefb40b39655e496d1dc02a1693bba674f0",
+ "dependencies": [
+ "416",
+ "418"
+ ],
+ "currentDependencies": [
+ "416",
+ "418"
+ ]
+ },
+ {
+ "id": "422",
+ "type": "TRAINING",
+ "name": "HTML闭环验收-mtyg0s9h",
+ "status": "PUBLISHED",
+ "version": 2,
+ "backupSha256": "a0794846d86de6d8f350445e4fdef797782e65fc226afbb0ce9788a813729d00",
+ "dependencies": [
+ "416",
+ "418"
+ ],
+ "currentDependencies": [
+ "416",
+ "418"
+ ]
+ },
+ {
+ "id": "421",
+ "type": "TRAINING",
+ "name": "HTML闭环验收-mtyfndrj",
+ "status": "PUBLISHED",
+ "version": 2,
+ "backupSha256": "74efc4c6f6aeb6188fb644f0d5b651b08677829f9cffffb5e9b5718edd2b696d",
+ "dependencies": [
+ "416",
+ "418"
+ ],
+ "currentDependencies": [
+ "416",
+ "418"
+ ]
+ },
+ {
+ "id": "420",
+ "type": "TRAINING",
+ "name": "HTML闭环验收-mtyfllat",
+ "status": "DRAFT",
+ "version": 1,
+ "backupSha256": "eab2ad591aaba34c5ec28f9823d8060f864a15792af847ef178cb4b4ae36e492",
+ "dependencies": [],
+ "currentDependencies": []
+ },
+ {
+ "id": "419",
+ "type": "TRAINING",
+ "name": "动画能力验收训练-20260912",
+ "status": "DRAFT",
+ "version": 8,
+ "backupSha256": "352829a984229ce78e84e52f6fd9e03297eadaa2fbf9ee506da331a177da10cb",
+ "dependencies": [
+ "416",
+ "418"
+ ],
+ "currentDependencies": [
+ "416",
+ "418"
+ ]
+ },
+ {
+ "id": "415",
+ "type": "TRAINING",
+ "name": "桥梁虚拟仿真-ZDS",
+ "status": "PUBLISHED",
+ "version": 8,
+ "backupSha256": "77589a6b1419b2efaf2cd15787d17e09b4cc74a3f0a296784bd18ab442a0731e",
+ "dependencies": [
+ "408"
+ ],
+ "currentDependencies": [
+ "408"
+ ]
+ },
+ {
+ "id": "409",
+ "type": "TRAINING",
+ "name": "ZDS-虚拟仿真1",
+ "status": "DRAFT",
+ "version": 10,
+ "backupSha256": "31b1da5bdd25215cd6d87505a896b4994115ed1061535abed63af7b840b8a57e",
+ "dependencies": [],
+ "currentDependencies": []
+ },
+ {
+ "id": "410",
+ "type": "TRAINING",
+ "name": "APE2E-数字人讲解-狐狸-20260909",
+ "status": "DRAFT",
+ "version": 21,
+ "backupSha256": "dae5dcd826823a3523f36977a5de486e18b67e8061fe1fad189cc6f1b576ae9e",
+ "dependencies": [
+ "160"
+ ],
+ "currentDependencies": [
+ "160"
+ ]
+ },
+ {
+ "id": "411",
+ "type": "TRAINING",
+ "name": "APE2E-数字人讲解-牛奶-20260909",
+ "status": "PUBLISHED",
+ "version": 10,
+ "backupSha256": "ca9e53fb4e844cec48ae4e7dfe3d4fc6ed6e90b59d7a7713d7eaa43da1c90773",
+ "dependencies": [
+ "159"
+ ],
+ "currentDependencies": [
+ "159"
+ ]
+ },
+ {
+ "id": "164",
+ "type": "TRAINING",
+ "name": "实测训练-狐狸红蓝协同巡检-20260905",
+ "status": "PUBLISHED",
+ "version": 11,
+ "backupSha256": "e1cc6eddab73c792e4edd2d7d7ad74e2277e9c37d739abc31ad425781041aaa9",
+ "dependencies": [
+ "160"
+ ],
+ "currentDependencies": [
+ "160"
+ ]
+ },
+ {
+ "id": "163",
+ "type": "TRAINING",
+ "name": "实测训练-牛奶卡车实装检查-20260905",
+ "status": "PUBLISHED",
+ "version": 7,
+ "backupSha256": "86f3425b811c781b080ba373ffb69eb8ccf60c7e01d41d42c5d44dd350cd8179",
+ "dependencies": [
+ "159"
+ ],
+ "currentDependencies": [
+ "159"
+ ]
+ },
+ {
+ "id": "162",
+ "type": "TRAINING",
+ "name": "实测训练-牛奶卡车进场检查-已验证-20260905",
+ "status": "PUBLISHED",
+ "version": 6,
+ "backupSha256": "0031c9d609ad9719fccdffb6b551a99045b55682cd57983ee559fbb0fe2b7860",
+ "dependencies": [
+ "159"
+ ],
+ "currentDependencies": [
+ "159"
+ ]
+ },
+ {
+ "id": "161",
+ "type": "TRAINING",
+ "name": "实测训练-狐狸野外巡检-已验证-20260905",
+ "status": "PUBLISHED",
+ "version": 9,
+ "backupSha256": "06d17a67d24cb16e36961f019453b01c7ac2761bb8e0deda07579d80867f82ac",
+ "dependencies": [
+ "160"
+ ],
+ "currentDependencies": [
+ "160"
+ ]
+ },
+ {
+ "id": "154",
+ "type": "TRAINING",
+ "name": "真实野外山地整机进场点检对抗训练",
+ "status": "PUBLISHED",
+ "version": 1,
+ "backupSha256": "6286a82d479b1983ed929d6ae8f17d372146628836d26d0bdac3420d9a546cf4",
+ "dependencies": [
+ "152"
+ ],
+ "currentDependencies": [
+ "152"
+ ]
+ },
+ {
+ "id": "153",
+ "type": "TRAINING",
+ "name": "真实野外山地整机进场点检训练",
+ "status": "PUBLISHED",
+ "version": 1,
+ "backupSha256": "cfe7b34c22aa868c3ef47d6554614b21ea662f8da6c2e82326c119d9ee34c521",
+ "dependencies": [
+ "152"
+ ],
+ "currentDependencies": [
+ "152"
+ ]
+ },
+ {
+ "id": "132",
+ "type": "TRAINING",
+ "name": "真实装备车库整机进场点检训练",
+ "status": "DRAFT",
+ "version": 4,
+ "backupSha256": "5d1638b63d59ec9539736122bdbcbb6e2eb9f857b10ad41d08fbfdd21e6aa39a",
+ "dependencies": [
+ "131"
+ ],
+ "currentDependencies": [
+ "131"
+ ]
+ },
+ {
+ "id": "98",
+ "type": "TRAINING",
+ "name": "桥梁架设装备变幅系统背靠背排故",
+ "status": "DRAFT",
+ "version": 2,
+ "backupSha256": "0e75f093d419d6f9d6d4324061affabec9d72ae55a29b2628a9e18eb8fb8fd0f",
+ "dependencies": [
+ "95"
+ ],
+ "currentDependencies": [
+ "95"
+ ]
+ },
+ {
+ "id": "97",
+ "type": "TRAINING",
+ "name": "桥梁架设装备变幅油缸中修训练",
+ "status": "PUBLISHED",
+ "version": 1,
+ "backupSha256": "395fd6ad9aa7ff5234ac1b29e4cb535895c5a0bd1689f0e7e39c8344f6bde884",
+ "dependencies": [
+ "95"
+ ],
+ "currentDependencies": [
+ "95"
+ ]
+ },
+ {
+ "id": "58",
+ "type": "TRAINING",
+ "name": "支腿液压缸中修训练",
+ "status": "DRAFT",
+ "version": 1,
+ "backupSha256": "80b14fbebaf9ce9e1b6ca5628372212c68a38807714e841d44a1cb2073abc8b0",
+ "dependencies": [],
+ "currentDependencies": []
+ },
+ {
+ "id": "53",
+ "type": "TRAINING",
+ "name": "UAT 液压系统对抗训练定义",
+ "status": "PUBLISHED",
+ "version": 1,
+ "backupSha256": "27ae16d39ff19363e30068b62290732598ec4392ecbef67420c12b457a9e9289",
+ "dependencies": [
+ "50"
+ ],
+ "currentDependencies": [
+ "50"
+ ]
+ },
+ {
+ "id": "52",
+ "type": "TRAINING",
+ "name": "UAT 支腿液压缸实装训练定义",
+ "status": "DRAFT",
+ "version": 2,
+ "backupSha256": "e38092076436559e03e54d78d7ae56894ea0bd231c698199a03c8a464ba13fd1",
+ "dependencies": [
+ "49"
+ ],
+ "currentDependencies": [
+ "49"
+ ]
+ },
+ {
+ "id": "51",
+ "type": "TRAINING",
+ "name": "UAT 支腿液压缸虚拟训练定义",
+ "status": "PUBLISHED",
+ "version": 1,
+ "backupSha256": "89493ff1c71fb63647f5dba9a6c5835291e36970ab1acca0c17556bba15586d7",
+ "dependencies": [
+ "49"
+ ],
+ "currentDependencies": [
+ "49"
+ ]
+ },
+ {
+ "id": "463",
+ "type": "GUIDE",
+ "name": "重型支援桥液压泵应急替代训练作业指导书",
+ "status": "PUBLISHED",
+ "version": 62,
+ "backupSha256": "5e58fd354ab55ff705971961965486c6267e6abfec6d41131bc3939489aae526",
+ "dependencies": [],
+ "currentDependencies": []
+ },
+ {
+ "id": "462",
+ "type": "GUIDE",
+ "name": "重型支援桥液压泵应急切换训练作业指导书",
+ "status": "DRAFT",
+ "version": 48,
+ "backupSha256": "e4bedb9b0b2d517dbe042f9b011db7ff11481c9edfcd8d07ef54cb8c24fbd7cd",
+ "dependencies": [],
+ "currentDependencies": []
+ },
+ {
+ "id": "464",
+ "type": "GUIDE",
+ "name": "重型支援桥前泵换件修复训练作业指导书",
+ "status": "DRAFT",
+ "version": 37,
+ "backupSha256": "41371c6344ea1c332ee8ab7cd8464a517c33b0d2760c8e5d55402057aa0e88fb",
+ "dependencies": [],
+ "currentDependencies": []
+ },
+ {
+ "id": "465",
+ "type": "GUIDE",
+ "name": "重型支援桥平衡阀拆拼互换训练作业指导书",
+ "status": "DRAFT",
+ "version": 44,
+ "backupSha256": "4d169a5d216d55a0c182938bc00382a5040ab32cb45ba2106de8d7261dc2c641",
+ "dependencies": [],
+ "currentDependencies": []
+ },
+ {
+ "id": "417",
+ "type": "GUIDE",
+ "name": "动画能力验收指导书-20260912",
+ "status": "DRAFT",
+ "version": 55,
+ "backupSha256": "8d49d03cea449dae79a613f9656531b870d103a5ce4e3d02ae1c94ea4abcaa15",
+ "dependencies": [
+ "416",
+ "94",
+ "407",
+ "156",
+ "157",
+ "48"
+ ],
+ "currentDependencies": [
+ "416",
+ "94",
+ "407",
+ "156",
+ "157",
+ "48"
+ ]
+ },
+ {
+ "id": "412",
+ "type": "GUIDE",
+ "name": "正式闭环-狐狸与卡车指导书-20260910",
+ "status": "DRAFT",
+ "version": 25,
+ "backupSha256": "c9b37597206827cf770ae43ab13c39228379d120e8533032016bb04c82cbea01",
+ "dependencies": [
+ "160",
+ "159"
+ ],
+ "currentDependencies": [
+ "160",
+ "159"
+ ]
+ },
+ {
+ "id": "461",
+ "type": "GUIDE",
+ "name": "装备构造原理标准模板(新建)",
+ "status": "DRAFT",
+ "version": 32,
+ "backupSha256": "4544841f940e298328ba14035f11f4227cc96c833de8b90b3ca6ec6e0d67e787",
+ "dependencies": [
+ "94"
+ ],
+ "currentDependencies": [
+ "94"
+ ]
+ },
+ {
+ "id": "9",
+ "type": "GUIDE",
+ "name": "支腿液压缸中修作业指导书",
+ "status": "DRAFT",
+ "version": 5,
+ "backupSha256": "cf9893d6c81fb09fc22184226d486092029cd4e716a0f65e3747d3c2a46c8989",
+ "dependencies": [],
+ "currentDependencies": []
+ },
+ {
+ "id": "414",
+ "type": "GUIDE",
+ "name": "正式图片视频资源回归-20260911",
+ "status": "DRAFT",
+ "version": 2,
+ "backupSha256": "977d34fb7e4ca6d124730c450443cee689e119511e999038fbc643c43756743d",
+ "dependencies": [],
+ "currentDependencies": []
+ },
+ {
+ "id": "413",
+ "type": "GUIDE",
+ "name": "正式模板新建回归-20260911",
+ "status": "DRAFT",
+ "version": 2,
+ "backupSha256": "aa4f7e91443fbf9f28672c046981f97cd6d03dd623e433d9216a898d2fa587db",
+ "dependencies": [],
+ "currentDependencies": []
+ },
+ {
+ "id": "56",
+ "type": "GUIDE",
+ "name": "JKHJHL",
+ "status": "DRAFT",
+ "version": 1,
+ "backupSha256": "a4422007cda0b2f33d381c97f1e3717d7829eb973bae36cfcb4e40f736cf15c2",
+ "dependencies": [],
+ "currentDependencies": []
+ },
+ {
+ "id": "11",
+ "type": "GUIDE",
+ "name": "行走机构润滑保养作业指导书",
+ "status": "REVIEW",
+ "version": 0,
+ "backupSha256": "736a3011c2a75e24bee0372e20ef8a59e8ad270dd1d638494756c951e37fae61",
+ "dependencies": [],
+ "currentDependencies": []
+ }
+ ]
+}
\ No newline at end of file
diff --git a/reports/bridge-content-cleanup-20260925/scenes.png b/reports/bridge-content-cleanup-20260925/scenes.png
new file mode 100644
index 0000000..15eecb0
Binary files /dev/null and b/reports/bridge-content-cleanup-20260925/scenes.png differ
diff --git a/reports/bridge-content-cleanup-20260925/training-projects.png b/reports/bridge-content-cleanup-20260925/training-projects.png
new file mode 100644
index 0000000..cc296c4
Binary files /dev/null and b/reports/bridge-content-cleanup-20260925/training-projects.png differ
diff --git a/reports/bridge-content-cleanup-20260925/unreferenced-verification.json b/reports/bridge-content-cleanup-20260925/unreferenced-verification.json
new file mode 100644
index 0000000..ac3c830
--- /dev/null
+++ b/reports/bridge-content-cleanup-20260925/unreferenced-verification.json
@@ -0,0 +1,88 @@
+{
+ "pass": true,
+ "checkedAt": "2026-09-24T17:57:11.513Z",
+ "deleted": 28,
+ "counts": {
+ "MODEL": 11,
+ "SCENE": 11,
+ "TRAINING": 15
+ },
+ "checks": [
+ {
+ "id": "472",
+ "unchanged": true
+ },
+ {
+ "id": "470",
+ "unchanged": true
+ },
+ {
+ "id": "468",
+ "unchanged": true
+ },
+ {
+ "id": "466",
+ "unchanged": true
+ },
+ {
+ "id": "473",
+ "unchanged": true
+ },
+ {
+ "id": "471",
+ "unchanged": true
+ },
+ {
+ "id": "469",
+ "unchanged": true
+ },
+ {
+ "id": "467",
+ "unchanged": true
+ },
+ {
+ "id": "457",
+ "unchanged": true
+ },
+ {
+ "id": "441",
+ "unchanged": true
+ },
+ {
+ "id": "440",
+ "unchanged": true
+ },
+ {
+ "id": "439",
+ "unchanged": true
+ },
+ {
+ "id": "438",
+ "unchanged": true
+ },
+ {
+ "id": "458",
+ "unchanged": true
+ },
+ {
+ "task": "BRIDGE-005-AUTHORING-PILOT",
+ "unchanged": true
+ },
+ {
+ "task": "TASK-VIRTUAL-008",
+ "unchanged": true
+ },
+ {
+ "task": "TASK-VIRTUAL-007",
+ "unchanged": true
+ },
+ {
+ "task": "TASK-VIRTUAL-006",
+ "unchanged": true
+ },
+ {
+ "task": "TASK-VIRTUAL-005",
+ "unchanged": true
+ }
+ ]
+}
\ No newline at end of file
diff --git a/tools/bridge-content-cleanup-20260925.mjs b/tools/bridge-content-cleanup-20260925.mjs
new file mode 100644
index 0000000..4af4420
--- /dev/null
+++ b/tools/bridge-content-cleanup-20260925.mjs
@@ -0,0 +1,60 @@
+import fs from 'node:fs';
+import crypto from 'node:crypto';
+import assert from 'node:assert/strict';
+import { login, call } from './role-permissions-live.mjs';
+
+// One-time cleanup of the explicitly audited local inventory. New projects are never included.
+const dir = 'reports/bridge-content-cleanup-20260925';
+const plan = JSON.parse(fs.readFileSync(dir + '/plan.json', 'utf8'));
+const protectedIds = new Set([...plan.keep, ...plan.blockers].map(p => p.id));
+for (let changed = true; changed;) {
+ changed = false;
+ for (const project of plan.all.filter(p => protectedIds.has(p.id))) {
+ for (const id of project.dependencies) if (!protectedIds.has(id)) { protectedIds.add(id); changed = true; }
+ }
+}
+const pending = plan.candidates.filter(p => !protectedIds.has(p.id));
+const order = [];
+while (pending.length) {
+ const index = pending.findIndex(p => !pending.some(other => other.id !== p.id && other.dependencies.includes(p.id)));
+ assert.ok(index >= 0, 'Dependency cycle: stop rather than deleting referenced content');
+ order.push(...pending.splice(index, 1));
+}
+console.log(JSON.stringify({ removable: order.map(p => ({ id: p.id, type: p.type, name: p.name })), protectedCount: protectedIds.size }, null, 2));
+if (process.argv.includes('--apply-unreferenced')) {
+ const session = await login('root');
+ const request = (path, body, method) => call('tran/v1/' + path, session.accessToken, body, method);
+ const resultPath = dir + '/deleted-unreferenced.json';
+ const result = fs.existsSync(resultPath) ? JSON.parse(fs.readFileSync(resultPath, 'utf8')) : { startedAt: new Date().toISOString(), deleted: [] };
+ const save = () => fs.writeFileSync(resultPath, JSON.stringify(result, null, 2));
+ try {
+ for (const project of order) {
+ assert.ok(['MODEL', 'SCENE', 'TRAINING'].includes(project.type));
+ assert.ok(!protectedIds.has(project.id));
+ const backup = fs.readFileSync(plan.backupDirectory + '/project-' + project.id + '.json');
+ assert.equal(crypto.createHash('sha256').update(backup).digest('hex'), project.backupSha256, 'Backup must match audited snapshot');
+ const response = await request('content/projects/' + project.id);
+ if (response.status === 404 && result.deleted.some(p => p.id === project.id)) continue;
+ assert.equal(response.status, 200, 'Read project ' + project.id);
+ let current = response.data.project;
+ assert.equal(current.type, project.type);
+ assert.equal(current.name, project.name);
+ assert.equal(current.version, project.version, 'Concurrent change to project ' + project.id);
+ if (current.status === 'PUBLISHED') {
+ const revoked = await request('content/projects/' + project.id + '/review', {
+ version: current.version, action: 'REVOKE', comment: '按用户要求清理非005~008的历史内容;已备份并核对无保留工程或教学任务引用。',
+ });
+ assert.equal(revoked.status, 200, 'Revoke project ' + project.id + ': ' + revoked.message);
+ current = revoked.data.project;
+ }
+ const deleted = await request('content/projects/' + project.id + '?version=' + current.version, undefined, 'DELETE');
+ assert.equal(deleted.status, 200, 'Delete project ' + project.id + ': ' + deleted.message);
+ result.deleted.push({ id: project.id, name: project.name, type: project.type, deletedAt: new Date().toISOString(), backupSha256: project.backupSha256 });
+ save();
+ }
+ result.completedAt = new Date().toISOString(); result.pass = true; save();
+ console.log('Deleted unreferenced projects:', result.deleted.length);
+ } catch (error) {
+ result.pass = false; result.error = error.message; save(); throw error;
+ }
+}