import fs from 'node:fs';
import assert from 'node:assert/strict';
const dir='reports/bridge-3d-only-20260914';
const acceptance=JSON.parse(fs.readFileSync(dir+'/acceptance.json','utf8'));
const cleanup=JSON.parse(fs.readFileSync(dir+'/cleanup.json','utf8'));
assert.equal(acceptance.pass,true);assert.equal(cleanup.pass,true);
for(const stage of ['before-check','before-applied','after-check','after-applied','v1-history-check','v1-history-applied','legacy-v1-source-check','legacy-v1-source-applied'])fs.copyFileSync(`E:/work/edit_3d/.codex-tmp/bridge-3d-only-migration/${stage}.json`,`${dir}/migration-${stage}.json`);
fs.copyFileSync('reports/bridge-scripted-tasks-20260913/registered.json',dir+'/registered.json');
const registered=JSON.parse(fs.readFileSync(dir+'/registered.json','utf8'));
const esc=s=>String(s).replaceAll('&','&').replaceAll('<','<').replaceAll('"','"');
fs.writeFileSync(dir+'/index.html',`
桥梁四流程三维版本生效验收桥梁四流程 · 三维版本正式生效验收
2026-09-14 · 开发环境 · 127.0.0.1:6180 / 192.168.31.168:6180 · 通过 6100 Gateway。
PASS:文字播放器及兼容分支已移除;四条原任务均进入 HTML+JS 三维工作区。
| 任务 | 原入口 ID | 脚本版本 | 内容版本 | 步骤 |
${registered.map(t=>`| ${esc(t.code)} ${esc(t.name)} | ${esc(t.id)} | ${esc(t.scriptVersion)} | ${esc(t.versionId)} | ${t.steps} |
`).join('')}
005 的 v2 是原三维版本,保留。006–008 只接受 v3,不允许文字版降级。静态 JS 仅决定内容来源,学员训练照常保存进度、提交、评定成绩与统计。
数据修复
经负责人授权,042 软删除错误运行 102、103 及关联事实。006、007 保留原任务编号,通过正式接口发布并绑定新内容版本;无活动引用的错误文字内容版本软删除。005 有效运行保留。修复前备份位于工作区本地目录,未写入此报告。
${['before-check','before-applied','after-check','after-applied','v1-history-applied','legacy-v1-source-applied'].map(s=>`- ${s} 执行证据
`).join('')}
正式任务闭环验证
管理员预览 + 临时学员直接领取四条原任务。39 步、94 次三维操作,提交后由教员示例评分 85 分,核验学员可见成绩与统计。临时账号、运行、成员及关联数据已清理,四条任务不残留验收成绩。
${acceptance.checks.map(c=>`- ${esc(c)}
`).join('')}
后端 422 项测试、前端 6 项脚本/模型/路由检查与生产构建通过。
完整验收结果 · 测试数据清理 · Final database state | 正式版本映射
正式入口截图
任务列表仍为四条${registered.map(t=>`
${esc(t.code)} 原任务三维预览
${esc(t.code)} 学员流程完成与成绩显示(验收数据已清理)`).join('')}`);