Data/UI SeparationBilingual PilotIntent Workbench

意图识别专题 · 数据/UI 分离样板

这个页面记录意图识别专题如何把事实层、证据层和双语 UI 展示层拆开,作为后续高校、教授、论文、实验室资源工作台的复用模板。

一、事实层与 UI 层契约

事实、证据、状态、ID 不随语言变化;语言包只负责展示。

Facts

bare TableGit

topic_workbench_profiles/items/objects 保存专题状态、语义实体、工程合同与双语业务字段;旧 workbench.json 只保留为离线迁移输入。

Locale

data/ui.zh.json / data/ui.en.json

保存菜单、标题、字段名、展示摘要和语言化说明,不新增 URL、外部 ID 或证据状态。

Runtime

assets/lri-tablegit.js + topic-i18n-runtime.js

共享 Provider 按 topic_id 从 Hosted TableGit 过滤读取并固定同一 revision;locale 只补充 UI 标签。

二、高校/学术资源 facts schema

后续高校资源页可复用同一套字段,避免中英文页面各维护一份事实。

字段归属说明
official_namefacts官方名称,不由翻译层改写。
external_idsfactsOpenAlex / ORCID / ROR / DOI / Scholar / Scopus。
evidence_refsfacts证据链引用,必须能解析到 evidence_sources。
display_namelocale中文/英文展示名称,可本地化。
short_summarylocale基于 facts 和 evidence 的语言化摘要,不新增证据。

三、共享运行时复用方式

专题页面只需要声明 data 属性和引入共享 runtime。

页面壳约定

body 标记 topic id、locale base、storage key;按钮使用 data-lang="zh/en";页面保留中文静态 fallback,JavaScript 加载失败时仍可阅读。

四、校验门禁

用 validator 防止双语页面漂移成两份事实。

Validator

tools/topic_workbench/validate_data_ui_separation.py

检查 runtime、ui_contract、locale 文件、事实层字段、意图工程样板和评测矩阵。

Boundary

locale 不承载事实

locale 包不得新增 URL、OpenAlex/ORCID/ROR/DOI、evidence_refs、official_links 等事实字段。