摘要
PRD V1.4 §5.4 FR-3.5-03 验收要点(原文):「各场景译文术语一致性抽检;高风险场景接入双轨复核(FR-3.5-04)后方可启用。」 需求本体:面向报价单据、商务合同、企业资质文件、客服对话、数字员工话术、授权店铺页面、消费者咨询应答七场景提供场景化商务翻译(七场景为本卡 scenario_code 枚举的唯一合法来源,不得增删场景语义)。 现状说明关键句:当前翻译能力无场景建模——无术语库、无场景提示词集;商务合同与报关文件目前走固定模板生成、不经 AI 翻译。
代码证据坐实「规划中」:rg -i "scenario" 于 translation 模块全目录 0 业务命中(无场景实体/模板查找/路由机制);
translation_config.prompt 为仅支持 {source}/{target} 占位的单一全局字符串;
fillPrompt 扩展位在位(client.ts:295-306 复核精确无漂移)。管道底座(client/加密/重试队列/双防线跳过)同 AI-3.5-02 在位。
设计归属总口径:本卡 owns ①场景实体(七场景枚举+prompt_template+适用 locale 对)、②per-locale/per-entity 三级 prompt 路由机制、③术语注入消费方式、④场景批次上线路由; references_only ⑤翻译管道底座(AI-3.5-02)、⑥词库实体与注入契约(AI-3.3-03——schema 为「评审候选稿」,RK-14 两域联审前不冻结)、⑦高风险双轨复核(AI-3.5-04,本卡仅标门禁位,禁止两套状态机)。
关键概念
translation-scenario(prefix trscene):七场景枚举+prompt_template(支持 {source}/{target}/{terms} 三占位)+适用 locale 对+priority+status+high_risk+batch+version。translation_config.prompt,现状行为逐字节等价)。任何一级查询失败回退第三级,不阻断翻译。getTranslationTermContext:模板含 {terms} 时以 prompt_block 整段替换;prompt_block=null(域无词条/词库不可用/flag 关闭)→ 替换为空串,翻译照常执行(NFR-3.8-01)。{terms} 占位在冻结前按空串处理=功能完整但无术语约束。方案设计
两段式总览(承 TDD-TEMPLATE §0 规则 4)
| 分段 | 门控 | 内容 | 开工条件 |
|---|---|---|---|
| 场景建模段(无门控) | 无门控 | ①场景实体+七场景枚举 ②三级 prompt 路由 ③批次路由框架(非对话批次) ④admin 管理 API/界面 ⑤路由独立开关(关闭=现状全局 prompt 行为) | 立即可开工(p2-b);生产行为在翻译接入(D-dec1/C2)前与现状等价——模板只影响已接入后的调用 |
| 接入段(门控) | DEP-3.3-03 + D-dec1/C2 + C-c6-dialog | A 术语注入接线 / B 翻译启用与扩量(批次挂 AI-3.5-02 §4.2 步骤链链尾)/ C 对话类批次 | 各门控独立关闭后对应段方可开工;三门控互不阻塞彼此之外的部分 |
场景模板/批次配置的全部数据变更走 Workflow step(4.6);@medusajs/* 零触碰(translation client/config/job 均为本地模块内扩展);场景模板与生效状态以后端表为单一数据源;查询参数化绑定。
场景实体 translation_scenario(首切片字段级,从零新建)
新本地模块 backend/src/modules/translation-scenario/(models/services/workflows/index),表 translation_scenario:
| 字段 | 类型 | 约束/默认 | 说明 |
|---|---|---|---|
id | text | PK,prefix trscene | |
scenario_code | enum(quotation_doc, business_contract, company_qualification, support_dialog, digital_employee_script, storefront_page, consumer_inquiry) | not null | 七场景枚举,逐字对齐 PRD 需求描述原文(报价单据/商务合同/企业资质文件/客服对话/数字员工话术/授权店铺页面/消费者咨询应答);新场景经迁移扩展枚举 |
prompt_template | text | nullable | 场景模板,支持 {source}/{target}/{terms} 三占位({terms}=术语约束段落位);null=该行仅作批次/优先级占位不参与路由 |
source_locale / target_locale | enum(ja-JP, zh-Hans, en-US) | nullable / nullable | 适用 locale 对;双 null=全 locale 对适用的场景默认模板(三级路由第二级);值域复用 SUPPORTED_SOURCE_LOCALES(locale.ts:36-40),禁止新建字面量;约束:两者同时非空时 target_locale ≠ source_locale(service 层校验) |
priority | integer | not null, default 0 | 同 scenario_code 多条 published 命中时取 priority 最高(同分取 updated_at 最新) |
status | enum(draft, published, deprecated) | not null, default draft | 生效语义:仅 published 参与路由(与 AI-3.3-03 词条三态同构) |
high_risk | boolean | not null, default false | 高风险门禁位:true 场景生产生效前置=AI-3.5-04 双轨复核通道就绪;清单初值(候选,随 TASK-016 定稿):business_contract=true、company_qualification=true,其余 false |
batch | enum(batch1_nondialog, batch2_dialog) | not null | 批次路由:非对话类(quotation_doc/business_contract/company_qualification/storefront_page)=batch1;对话类(support_dialog/digital_employee_script/consumer_inquiry)=batch2(C-c6-dialog 门控) |
version | integer | not null, default 1 | 行内版本号:published 再编辑→回退 draft 且 version+1(运营机制沿用 AI-3.3-03 同构) |
metadata | jsonb | nullable | prev_snapshot(编辑前快照)等扩展 |
created_at / updated_at / deleted_at | timestamptz | 标准三件套 |
索引与约束:INDEX(scenario_code, status)(路由热点查询);INDEX(scenario_code, source_locale, target_locale, status)(第一级命中);INDEX(batch, status)(批次门控扫描)。
三级 prompt 路由机制(架构级,路由失败回退默认不阻断)
- 接线位置:解析出的模板在传入
fillPrompt(client.ts:295-306)之前完成{terms}占位替换——fillPrompt函数体保持不动(继续只做{source}/{target}替换),场景路由作为独立纯函数(resolveScenarioPrompt,新 service)在 system prompt 组装链(client.ts:464-465)上游插入; - 回退语义:任何一级查询失败(DB 异常)→ 直接第三级全局 prompt,不阻断翻译(NFR-3.8-01);路由命中日志(命中层级/scenario id)进可观测日志,指标名
scenario_route_hit_level随实现纳入; - 幂等与并发:路由为只读查询,无缓存一致性风险;首版直查库(模板量级=场景×locale 对,千级以内),进程内 TTL 缓存标注为演进项。
术语注入消费(接入段 A——DEP-3.3-03 门控;契约引用不自建)
消费契约(引用 AI-3.3-03 §4.3①——状态:评审候选稿,RK-14 联审前不冻结,以联审稿为准):
getTranslationTermContext({ domain, source_locale, target_locale })
→ { terms: [...], prompt_block: string | null }
{terms}占位替换:路由产出的模板含{terms}时 → 以prompt_block整段替换;prompt_block=null(域无词条/词库不可用/flag 关闭)→{terms}替换为空串(模板中该段标记自然消失,翻译照常执行)——注入失败跳过术语段(NFR-3.8-01);- domain 取值:场景→词库域映射常量表(如 business_contract→legal、company_qualification→tax/legal 候选,映射表随实现期与运营确认;词库六域枚举值域以联审冻结稿为准);
- 拼接位置:
{terms}替换发生在模板层(三级路由接线上游),不触碰 client.ts:464-465 组装语义; - 本卡不设计:词条实体/取词口径/prompt_block 格式细节——全部引用 AI-3.3-03,杜绝第二套词库语义。
场景批次上线路由(对话/非对话分批,禁止混批)
| 批次 | 场景(scenario_code) | 生效门控 | 说明 |
|---|---|---|---|
| 批次 1(非对话类) | quotation_doc / business_contract / company_qualification / storefront_page | status=published+翻译接入(D-dec1/C2,承 AI-3.5-02 §4.2 步骤链);high_risk 场景(business_contract/company_qualification 候选)另挂 AI-3.5-04 双轨复核门禁位 | 非对话批次不受 C-c6-dialog 约束(处理对象仍为商务文书/页面内容,非对话数据) |
| 批次 2(对话类) | support_dialog / digital_employee_script / consumer_inquiry | C-c6-dialog 评估关闭后方可上线(C6③:对话数据使委托/越境处理对象从商品数据升级为对话数据)+批次 1 同款门控 | RK-07 缓解落位:批次配置为常量表起步(代码内置),禁止运行时把对话类场景加入批次 1 |
- 门禁实现:路由查询条件含批次门控谓词——batch2 场景在 C-c6-dialog 门控常量(
C6_DIALOG_EVALUATION_CLOSED=false起步)未翻转时不参与生产路由(dev/test 环境可经显式 env 覆盖用于开发验证,生产不可);high_risk 场景在 AI-3.5-04 复核通道就绪常量未翻转时同理 fail-closed 拦截; - 混批防护:批次为实体字段非运行时可变配置——变更 batch 字段走 Workflow 且校验「batch2→batch1 迁移禁止」(守卫在 step);admin 界面不提供批次编辑入口(防误操作);
- 报关单据注记:报关文件不在七场景枚举内(需求描述原文无此项),维持固定模板现状,本卡不新增;商务合同/报关固定模板不经 AI 的 PRD 口径维持(生成归业务模块,翻译入口待其接入)。
路由流程 · 执行时序 · 状态机 · 实体图
published + locale 对 + prompt_template 非空"} L1 -- "命中" --> HIT["取 priority 最高(同分取 updated_at 最新)"] L1 -- "未命中" --> L2{"第二级:场景默认模板?
同 code + 双 null + published"} L2 -- "命中" --> HIT L2 -- "未命中" --> L3 L1 -- "DB 异常" --> L3 L2 -- "DB 异常" --> L3 HIT --> OUT["resolveScenarioPrompt 产物 → terms 替换 → fillPrompt"] L3 --> OUT OUT --> OBS["命中日志:scenario_route_hit_level(可观测指标)"]
数据模型 / API / Workflow
数据模型汇总
| 对象 | 变更 | 内容 |
|---|---|---|
translation_scenario(新表/新模块) |
新建 | 12 字段全列见场景实体字段表+3 索引(migration 走 medusa db:generate) |
translation_config / translation_job / 翻译 client |
无 schema 改动 | 管道底座 references_only(AI-3.5-02 owns);场景翻译服务端触发若入队,经场景参数承载而非扩展 reference 枚举(避免枚举膨胀,源 §2.1③ 显式声明) |
空场景表下三级路由恒落第三级=现状全局 prompt 行为,种子链路零依赖零破坏;demo 种子不注入场景模板(模板为运营资产,避免 seed 与运营口径混淆——同 AI-3.3-03 §10.1 声明口径)。
API 契约汇总
| 路由 | 方法 | 权限域 | 契约要点 | 错误码 |
|---|---|---|---|---|
/admin/translation-scenarios |
GET | admin | query:scenario_code/status/batch/limit/offset;响应 { translation_scenarios, count }+ai_configured 透出(缺口⑥) |
400 |
/admin/translation-scenarios |
POST | admin | body:scenario_code/prompt_template/source_locale?/target_locale?/priority?/high_risk?/batch;入 Workflow upsert-translation-scenario;响应单行(status=draft) |
400/409(同 code+locale 对+priority 唯一性冲突校验随实现细化) |
/admin/translation-scenarios/[id] |
GET / POST / DELETE | admin | 详情 / 局部更新(published 再编辑→回退 draft+version+1)/ 软删 | 404/409 |
/admin/translation-scenarios/[id]/status |
POST | admin | body:{ action: "publish"|"deprecate"|"restore", reason? };入 Workflow transition-translation-scenario;publish 时批次/高风险门禁预检告警(不拦截录入,拦截生产生效——门禁在路由层) |
404/409(非法迁移) |
内部 service:resolveScenarioPrompt |
— | 模块内 | 三级路由,无 HTTP 暴露 | — |
状态机(service 层白名单,forward-only):draft → published → deprecated → published(restore);draft → deprecated;published 再编辑 → draft(version+1)。非法迁移抛 409。沿用 AI-3.3-03 §4.2 同构白名单,行内实现,不引入 AI-3.9-04 工具依赖。
Workflow 设计(数据变更必须走 Workflow)
新 Workflow 目录 backend/src/workflows/translation-scenario/:
upsert-translation-scenario
steps: validate-scenario-input(七场景枚举/locale 白名单/目标语≠源语/batch 与 scenario_code 匹配校验:
对话类 scenario_code 强制 batch2、非对话类强制 batch1——混批在录入层即拒绝)
→ upsert-scenario-record(draft 态;published 再编辑 version+1+存 prev_snapshot)
→ emit "translation-scenario.upserted"
补偿:upsert 失败事务回滚
transition-translation-scenario
steps: load-scenario → assert-status-transition(白名单守卫在 step 内)
→ update-scenario-status(published/deprecated 落 reason/metadata)
→ emit "translation-scenario.transitioned"
补偿:快照回写
delete-translation-scenario
steps: load → soft-delete → emit(补偿:恢复 deleted_at=null)
翻译执行本体(场景路由→fillPrompt→LLM 调用→落译文→重试)完整复用 AI-3.5-02 管道 Workflow/step 链(references_only),本卡零新增执行 Workflow。
前端触点与 i18n
前端触点(逐端)
| 端 | 改动 |
|---|---|
| admin-panel | 新增 src/routes/translation-scenarios/page.tsx(七场景列表:code/batch/status/high_risk 筛选+模板编辑 Drawer+状态动作按钮)——骨架复用 settings/translation-config 页与 AI-3.3-03 §4.6 管理页范式;AI 配置态提示横幅复用 AI-3.5-02 P-② 语义(缺口⑥) |
| vendor-panel | 暂无改动(场景模板为平台侧职责;商家级场景模板运营归属随 P2 运营模式立项,本卡不预设) |
| storefront / b2b / h2b storefront | 无改动(场景翻译为后端内容生产链路,前台零新增交互) |
| influencer / referrer panel | 无改动 |
i18n 三语言 key 规划(en / zhCN / ja)
admin-panel/src/i18n/translations/{en,zhCN,ja}.json 新增命名空间 translationScenario.*(三语值随实现提交;禁止混入 translationConfig.* 既有空间):
| key(前缀 translationScenario.) | 内容 |
|---|---|
title | 页面标题 |
code.quotationDoc / .businessContract / .companyQualification / .supportDialog / .digitalEmployeeScript / .storefrontPage / .consumerInquiry | 七场景枚举名 |
status.draft / .published / .deprecated | 三态徽标文案 |
batch.batch1Nondialog / .batch2Dialog | 批次徽标文案 |
highRisk.badge | 高风险徽标 |
action.publish / .deprecate / .restore | 状态动作按钮 |
gate.dialogBatchHint | C-c6-dialog 门控提示 |
gate.highRiskHint | 双轨复核门禁提示 |
验收与测试
验收标准(PRD 要点+技术口径)
| # | 验收标准 | 映射 |
|---|---|---|
| A1 | 各场景译文术语一致性抽检:场景×术语用例集框架就绪(词条按给定译法翻译的一致率口径),合格率/采样率数值基线立项定(DEC-5);术语约束本体在 DEP-3.3-03 关闭后联调生效 | PRD 要点① / 4.3/4.5 |
| A2 | 高风险场景门禁位:high_risk=true 场景在双轨复核通道就绪前生产路由 fail-closed 拦截(负向测试);通道就绪翻转后放行 | PRD 要点② / 4.4 |
| A3 | 分批上线:批次 1 四场景可独立上线;批次 2 三场景在 C-c6-dialog 关闭前生产不可见(混批防护:batch 字段 Workflow 校验+admin 无批次编辑入口) | 4.4 |
| A4 | 三级路由回退:scenario+locale 命中/场景默认/全局 prompt 三级各自可验证;路由查询异常回退第三级不阻断;无场景上下文请求行为与现状逐字节等价 | 4.2/5.3 |
| A5 | 状态机与版本:非法迁移 409;published 再编辑 version+1 回退 draft;publish/deprecate/restore 留痕 | 4.5/4.6 |
| A6 | 降级路径:AI 未配置→场景任务 markSkippedNoConfig 终态化+主业务零阻断(5.3 测试点④) | 5.3 / NFR-3.8-01 |
| A7 | L0 门禁:本文档十要素齐备+关键锚点可 rg(client.ts:295-306 / fillPrompt / translation-config.ts / translation-job.ts / DEP-3.3-03 / D-dec1 / C-c6-dialog / 七场景枚举 / 双轨复核 / 评审候选稿);translation 域 8 个既有单测回归(fillPrompt 语义未变) | 模板 |
测试策略(分层)与量化占位
| 层 | 范围 | 明细 |
|---|---|---|
| 新增单测(路由 service) | 4.2 | 三级命中/回退矩阵;priority 排序;locale 对校验;{terms} 空串替换;DB 异常回退第三级 |
| 新增单测(实体+Workflow) | 4.1/4.6 | 七场景枚举校验;batch 与 scenario_code 匹配守卫(混批录入拒绝);状态机白名单(合法/非法矩阵);version 自增+prev_snapshot |
| 新增单测(门禁) | 4.4 | 批次 2 生产路由不可见(门控常量 false 态);高风险 fail-closed 拦截与翻转放行;dev env 覆盖仅 dev 生效 |
| 新增 integration(API) | 4.5 | admin CRUD+status 流转全链路;权限域守卫;ai_configured 透出 |
| 既有回归 | A7 | translation 域 8 单测文件复跑(client/ssrf/config.service/mark-skipped-no-config/retry-translations/translation-updated-revalidate/translation-config/run-translate-product)——fillPrompt 未改动语义回归 |
| 术语一致性联调(后置) | A1 | DEP-3.3-03 关闭后:getTranslationTermContext→{terms} 注入→译文术语一致率抽检跑批 |
术语一致性合格率(基线/目标)、抽检采样率、场景路由命中层级分布 scenario_route_hit_level=基线立项定(DEC-5)。
风险与降级
风险卡
getTranslationTermContext 无冻结格式可消费(接入段 A)。不阻塞场景实体与 prompt 路由架构——场景建模段五项全量无词库依赖;{terms} 占位在冻结前按空串处理=功能完整但无术语约束。缓解:联审冻结后接线改造面收敛于 {terms} 替换函数一处。
ai_configured(API 已含),横幅语义沿用 AI-3.5-02 P-②(可观测性非阻断)。
降级与跳过路径(NFR-3.8-01 强制范式)——三级回退+双防线引用
- 场景模板缺失/路由查询异常 → 第三级全局 prompt(现状行为,翻译不阻断);
{terms}注入失败(prompt_block=null/词库异常/词库 flag 关闭)→ 术语段替换为空串,翻译照常;- LLM 未配置(isAIConfigured 预检范式)→ 整段跳过——既有双防线(入口预检+markSkippedNoConfig 兜底终态化)承 AI-3.5-02 §5.3,本卡零改动引用;
- AI 调用失败 → 既有重试队列(幂等 enqueue/指数退避/MAX 5)兜底,主业务零阻断。
「未配置/故障即跳过不阻断主业务。」
跳过路径测试点(要素 8 必含):
- 场景模板缺失→全局 prompt 回退且译文产出正常;
- 路由查询抛错→同①;
- 术语注入失败→无术语段翻译成功;
- AI 未配置→场景翻译任务 markSkippedNoConfig 终态化、主业务成功;
- 批次门禁:batch2 场景在 C-c6-dialog 未关闭时生产路由不可见(dev 覆盖除外);
- 高风险门禁位:high_risk 场景在双轨通道未就绪时生产路由 fail-closed 拦截。
迁移与回滚
| migration | 内容 | 兼容性 |
|---|---|---|
translation-scenario 模块 migration | CREATE TABLE translation_scenario(全列+3 索引) | 新表,无存量 |
| 变更 | 回滚路径 |
|---|---|
| 场景路由整体 | 独立开关 featureFlags.translation_scenario(默认 false):关闭→路由恒跳过(无场景上下文),翻译走全局 prompt 现状行为——关闭态与代码回退等价,二选一不并存两套回滚机制(承 AI-3.3-02 §10.3 范式声明) |
| 批次门禁 | 门控常量翻转即回退(batch2 回到不可见态);batch 字段数据不回滚(字段本身无害) |
| 术语注入 | 词库 flag 关闭/prompt_block=null → {terms} 恒空串(词库侧回滚由 AI-3.3-03 §10 承载);本卡侧代码回退=移除 {terms} 替换调用 |
| 场景数据 | 行级 deprecate/restore 即业务回滚(4.5);物理回滚仅限 migration down(新表无历史包袱) |
上线顺序建议:S1→S2→S3→S4(场景建模段,flag 关态交付=零行为变化)→ 生产翻译接入(D-dec1/C2,承 AI-3.5-02 §4.2 步骤链)→ 批次 1 上线(flag 开启+high_risk 门禁位验证)→ DEP-3.3-03 关闭→S5/S6 术语注入 → 批次 2 等 C-c6-dialog 关闭后上线。全卡不改动翻译管道既有语义(fillPrompt 函数体零改动);本 TDD 为设计文档,不改任何源代码/迁移/配置。
前置决策点
Blocker 二分表(要素 7 强制完整——architectural 级硬要求)
| Blocker | 类型 | 阻塞什么 | 可并行做什么 |
|---|---|---|---|
| DEP-3.3-03(共享术语库基础设施 A 波先行;TASK-010 产物 schema 为「评审候选稿」——RK-14 两域联审前不冻结) Blocker 待联审 | internal_dependency | 阻塞术语一致性落地(接入段 A)——词库实体/注入契约冻结前无冻结格式可消费;不阻塞场景实体与 prompt 路由架构 | 场景建模段全量可开工:实体/三级路由/批次框架/admin 管理面/开关/单测;词库冻结后接线改造面收敛于 {terms} 替换函数一处 |
| D-dec1(翻译 AI 服务接入时点,PRD 2.5/8.1 C1) Blocker 待决策 | management_decision | 阻塞翻译接入扩量时点(接入段 B:生产启用与批次 1 上线);不阻塞场景建模与路由设计 | 场景建模段全量+dev 环境内网 LLM 工程验证(承 AI-3.5-02 §7 对等口径);生产闸门动作全部后置 |
| C-c6-dialog(数字员工对话记录/客服对话翻译 APPI 影响评估,清单未出——PRD 8.1 C6②③) Blocker 待评估 | compliance_assessment | 阻塞对话类场景批次(批次 2)生产上线;不阻塞非对话类批次与全部架构 | 批次 1 全量推进;批次 2 场景实体/模板/路由可先行开发(dev 验证);评估输入(对话数据流图)可由批次注记供给合规侧 |
内部依赖与下游引用方
| 方向 | 条目 | 关系 |
|---|---|---|
| 上游 | AI-3.5-02(pilot) | 翻译管道底座(client/加密/重试/跳过/审计)references_only;接入步骤链挂其链尾 |
| 上游 | AI-3.3-03(p2-a,评审候选稿) | 术语注入消费(接入段 A);RK-14 联审冻结前不得开工 |
| 下游 | AI-3.5-04(C 波,TASK-016) | 双轨复核消费本卡场景清单与 high_risk 门禁位(其 owns 复核本体;禁止两套状态机——其生命周期引用 AI-3.9-04 框架) |
| 下游 | AI-3.6-03(B 波,TASK-015) | 数字员工话术场景(digital_employee_script)为其话术底座;其对话引擎多语应答引用本卡场景路由 |
| 决策点 | DEC-5 | 术语一致性抽检合格率/采样率等数值占位(8.2) |
开放数值决策
- DEC-5 术语一致性抽检合格率(基线/目标)与采样率——基线立项定,本卡仅引用编号不内联臆造数值。
- DEC-5 场景路由命中层级分布
scenario_route_hit_level的观测口径与目标——同属 DEC-5,随实现纳入。
术语一致性抽检合格率/采样率=基线立项定(DEC-5);D-dec1/C-c6-dialog 仅引用编号不内联时点。
附录:溯源表
本文档由 docs/reports/ai-module-prd/tdd/AI-3.5-03-vertical-scenario-translation.md(v1.0,2026-10-26)可读化重组生成。章节映射与处理方式如下:
| 本文档章节 | 源文档章节 | 处理方式 |
|---|---|---|
| 摘要 | 文档头(元数据/depth_baseline/design_ownership)+§1 溯源与现状 | Summarized |
| 关键概念 | §2 代码现状底座+§3 缺口与目标状态 | Summarized |
| 方案设计 · 两段式总览与设计归属 | §4.0 两段式总览+文档头归属总口径 | Preserved |
| 方案设计 · 场景实体 translation_scenario | §4.1(字段级全表+索引约束) | Preserved |
| 方案设计 · 三级 prompt 路由 | §4.2(含接线位置/回退语义/幂等并发) | Preserved |
| 方案设计 · 术语注入消费 | §4.3(契约引用+注入设计+不设计声明) | Preserved |
| 方案设计 · 批次上线路由 | §4.4(批次表+门禁实现+混批防护+报关注记) | Preserved |
| 数据模型 / API / Workflow | §4.5 API 契约+§4.6 Workflow 设计+§10.1 migration | Preserved |
| 前端触点与 i18n | §4.7(逐端触点+translationScenario.* key 规划) | Preserved |
| 验收与测试 | §8.1 验收标准(A1-A7)+§8.2 测试策略与量化占位 | Preserved |
| 风险与降级 | §5.3 降级与跳过路径+§7.1 Blocker 二分表+§10.2/10.3 回滚与上线顺序 | Preserved |
| 前置决策点 | §6 合规挂钩+§7 依赖与决策点(含 §7.2 引用方) | Preserved |
| 图 1 三级路由流程 | §4.2 路由机制文字流程 | Inferred(文字流程转绘为流程图,判定条件一致) |
| 图 2 场景翻译执行时序 | §4.2/§4.3/§5.3 降级路径 | Inferred(多节链路合并转绘) |
| 图 3 状态机 | §4.5 状态机白名单文字描述 | Inferred(迁移规则转绘,白名单一致) |
| 图 4 实体关系 ER 图 | §4.1 字段表+§2.1②③ 底座引用+§4.3 契约 | Inferred(按源字段与归属关系转绘) |
源 TDD 全部锚点在 run-e79ea839f23d 中以 rg/sed 逐条复核;漂移双写共 2 处(translation-config.ts 卡内 :13-21→模型 :10 起/prompt :16、translation-job.ts 卡内 :48-68→字段簇 :44-68/model.define :37);client.ts:295-306(fillPrompt)复核精确无漂移。词库消费契约引用状态:AI-3.3-03 实体 schema 与注入契约为「评审候选稿」(RK-14 两域联审前不冻结),本卡接入段以其联审冻结稿为准。