37 KiB
37 KiB
前端-应用与通用界面:文件合同
本页从目标文件清单投影,共 62 个目标条目。测试用例的具体规格在独立用例清单;文件和目标合同不代表实现或验收已完成。
本部分文件树
agent-example/
└── web/
├── eslint.config.js # 前端静态检查配置
├── index.html # 工作台 HTML 入口
├── package.json # 前端依赖与构建命令
├── playwright.config.ts # 浏览器旅程配置
├── pnpm-lock.yaml # 前端依赖锁
├── src/
│ ├── main.tsx # React 挂载入口
│ ├── vite-env.d.ts # 构建环境类型
│ ├── 功能/
│ │ └── 资料研究/
│ │ └── 资料页.tsx # 来源与原文对照页面(W18 起并入研究入口)
│ ├── 应用/
│ │ ├── 作品会话.ts # 切作品屏障、取消和迟到隔离
│ │ ├── 作者会话.ts # 作者登录与会话
│ │ ├── 依赖装配.tsx # 查询缓存、会话和全局依赖
│ │ ├── 工作台布局.tsx # 导航、分栏与全局面板
│ │ ├── 应用.tsx # 应用根
│ │ └── 路由.tsx # 页面路由
│ ├── 接口/
│ │ ├── 事件连接.ts # 事件游标、重连与去重
│ │ ├── 传输.ts # 身份、错误、取消及请求封装
│ │ ├── 查询键.ts # 作品、目标、分支、版本和用途缓存键
│ │ └── 生成/
│ │ ├── 客户端.ts # 从已审 OpenAPI 生成
│ │ └── 类型.ts # 稳定协议外壳和投影合同类型
│ └── 界面/
│ ├── 主题.css # 暖纸张配色、间距和样式变量
│ ├── 关系图.tsx # 数据与回调驱动的关系图
│ ├── 分栏.tsx # 可调整分栏
│ ├── 反馈状态.tsx # 加载、空结果、失败和重试
│ ├── 对话框.tsx # 确认与任务反馈容器
│ ├── 差异视图.tsx # 受控内容差异
│ ├── 排版.css # 中文阅读与编辑排版
│ ├── 结构表单/
│ │ ├── 字段渲染.tsx # 已支持字段类型的显示和输入
│ │ ├── 引用选择.tsx # 通过业务查询选择受限引用
│ │ ├── 投影会话.ts # 结构、投影和数据版本绑定
│ │ ├── 校验反馈.tsx # 字段错误、结构过期与未保存输入
│ │ └── 结构表单.tsx # 按后端投影组合字段
│ ├── 编辑器/
│ │ ├── 字符位置.ts # UTF-16 与码点位置集中转换
│ │ ├── 文档适配.ts # 编辑器和正式文档结构往返
│ │ ├── 正文编辑器.tsx # 受控正文编辑
│ │ └── 粘贴处理.ts # 允许结构与空白保真
│ └── 表单.tsx # 共用表单布局
├── tests/
│ ├── 交互/
│ │ ├── 上下文材料.test.tsx # 任务材料组件渲染验证
│ │ ├── 任务重连.test.tsx # 持久化游标续接
│ │ ├── 候选审阅.test.tsx # 被审内容与批准范围
│ │ ├── 切作品隔离.test.tsx # 迟到响应不写错作品
│ │ ├── 创作对话.test.tsx # 创作对话组件渲染验证
│ │ ├── 动态字段与结构过期.test.tsx # 新字段可编辑,版本变化保留输入并复核
│ │ ├── 报告失效.test.tsx # 旧报告不显示当前通过
│ │ └── 隐藏字段不泄露.test.tsx # 撤回投影后清除缓存和显示
│ ├── 单元/
│ │ └── 中文显示与动作.test.tsx # 作者界面语义的逐例行为验证
│ ├── 旅程/
│ │ ├── 任务材料.spec.ts # 任务材料真实浏览器旅程验证
│ │ ├── 创建作品到确认正文.spec.ts # 真后端创作旅程
│ │ ├── 动态类型到事实确认.spec.ts # 新类型全链消费
│ │ ├── 定稿导出与反馈.spec.ts # 固定稿件交付
│ │ ├── 拆书到方法绑定.spec.ts # 来源到方法消费
│ │ ├── 生成对话.spec.ts # 创作对话真实浏览器旅程验证
│ │ ├── 编辑冲突与恢复.spec.ts # 编辑保存和任务恢复
│ │ └── 资料对照.spec.ts # 资料对照页真实浏览器旅程
│ ├── 编辑/
│ │ ├── 中文输入.test.tsx # 输入法组合时不破坏正文或提前保存
│ │ ├── 保存冲突.test.tsx # 并发编辑不覆盖
│ │ ├── 断网缓冲.test.tsx # 未提交内容恢复
│ │ ├── 正文往返.test.ts # 段落与可见文本往返
│ │ └── 选区转换.test.ts # 码点和 UTF-16
│ └── 设置.ts # 前端测试环境
├── tsconfig.json # TypeScript 配置
├── vite.config.ts # 前端开发与构建配置
└── vitest.config.ts # 组件和行为测试配置
逐文件合同
web/package.json
- 归属与种类:S03;工程配置。
- 意图:声明工作台的构建、测试及依赖入口。
- 职责:前端依赖与构建命令。
- 边界:只包含前端及构建依赖;宿主 SDK 与服务端凭据不混入浏览器包。
- 目标:安装和构建命令明确,真实浏览器旅程与单元检查分开。
- 合同依据:专属接口与副作用。
web/pnpm-lock.yaml
- 归属与种类:S03;工程配置。
- 意图:固定前端完整依赖解析结果。
- 职责:前端依赖锁。
- 边界:由包管理器生成;不能手工伪造版本或代替构建验证。
- 目标:声明依赖与锁一致,安装可核对确切依赖集合。
- 合同依据:专属接口与副作用。
web/index.html
- 归属与种类:S03;源码。
- 意图:为工作台提供可访问的根页面。
- 职责:工作台 HTML 入口。
- 边界:只声明文档语言、挂载点和资源入口;不维护重复业务页面。
- 目标:构建产物能独立加载且中文文档语义和挂载点正确。
- 合同依据:专属接口与副作用。
web/tsconfig.json
- 归属与种类:S03;工程配置。
- 意图:约束前端类型检查和模块解析。
- 职责:TypeScript 配置。
- 边界:仅编译与类型规则;不能替代动态 Schema 的运行时校验。
- 目标:客户端、组件和中文路径能正确解析,类型错误阻止构建。
- 合同依据:专属接口与副作用。
web/vite.config.ts
- 归属与种类:S03;工程配置。
- 意图:定义工作台构建和开发资源入口。
- 职责:前端开发与构建配置。
- 边界:只配置开发代理和产物;不把服务端配置、数据库凭据或私人原稿打包。
- 目标:产物可由同版本后端服务,资源路径与发布清单一致。
- 合同依据:专属接口与副作用。
web/vitest.config.ts
- 归属与种类:S03;工程配置。
- 意图:划定前端离线组件与纯逻辑测试。
- 职责:组件和行为测试配置。
- 边界:只配置测试环境和覆盖范围;不得默认连接正式后端或以覆盖率冒充产品验收。
- 目标:离线测试可隔离运行,失败和环境缺失明确返回。
- 合同依据:专属接口与副作用。
web/playwright.config.ts
- 归属与种类:S03;工程配置。
- 意图:配置浏览器对真后端的作者旅程。
- 职责:浏览器旅程配置。
- 边界:使用显式隔离服务、数据库和测试身份;替身模型与真实模型结果分别记录。
- 目标:页面点击验证实际接口和持久状态,服务未就绪不产生通过结果。
- 合同依据:专属接口与副作用。
web/eslint.config.js
- 归属与种类:S03;工程配置。
- 意图:统一前端可自动发现的问题规则。
- 职责:前端静态检查配置。
- 边界:只配置静态检查;不以规则数量、文件行数或源码形状替代行为。
- 目标:检查能定位错误而允许职责保持不变的合理重构。
- 合同依据:专属接口与副作用。
web/src/main.tsx
- 归属与种类:S03;源码。
- 意图:提供唯一的浏览器挂载入口。
- 职责:React 挂载入口。
- 边界:只创建根节点并装配应用;不直接请求模型或写业务记录。
- 目标:页面使用统一路由和会话,热更新或重复挂载不会重复发起创作任务。
- 合同依据:专属接口与副作用。
web/src/vite-env.d.ts
- 归属与种类:S03;源码。
- 意图:让前端编译识别构建器和公开环境变量。
- 职责:构建环境类型。
- 边界:只声明类型;不得把声明等同运行校验或在公开变量中存凭据。
- 目标:类型检查与允许的公开配置一致,敏感配置不进入客户端声明。
- 合同依据:专属接口与副作用。
web/src/应用/应用.tsx
- 归属与种类:S03;源码。
- 意图:维持工作台的 应用根。
- 职责:应用根。
- 边界:只管理应用装配、会话和导航;不承担业务写入与模型调用。
- 目标:切作品有订阅屏障和缓存身份,页面可从真实状态恢复。
- 合同依据:应用与会话。
web/src/应用/路由.tsx
- 归属与种类:S03;源码。
- 意图:维持工作台的 页面路由。
- 职责:页面路由。
- 边界:只管理应用装配、会话和导航;不承担业务写入与模型调用。
- 目标:切作品有订阅屏障和缓存身份,页面可从真实状态恢复。
- 合同依据:应用与会话。
web/src/应用/依赖装配.tsx
- 归属与种类:S03;源码。
- 意图:维持工作台的 查询缓存、会话和全局依赖。
- 职责:查询缓存、会话和全局依赖。
- 边界:只管理应用装配、会话和导航;不承担业务写入与模型调用。
- 目标:切作品有订阅屏障和缓存身份,页面可从真实状态恢复。
- 合同依据:应用与会话。
web/src/应用/工作台布局.tsx
- 归属与种类:S03;源码。
- 意图:维持工作台的 导航、分栏与全局面板。
- 职责:导航、分栏与全局面板。
- 边界:只管理应用装配、会话和导航;不承担业务写入与模型调用。
- 目标:切作品有订阅屏障和缓存身份,页面可从真实状态恢复。
- 合同依据:应用与会话。
- 非测试旧文件承接:muse/authority/studio/read/server.py;web/app.py。
web/src/应用/作者会话.ts
- 归属与种类:S03;源码。
- 意图:维持工作台的 作者登录与会话。
- 职责:作者登录与会话。
- 边界:只管理应用装配、会话和导航;不承担业务写入与模型调用。
- 目标:切作品有订阅屏障和缓存身份,页面可从真实状态恢复。
- 合同依据:应用与会话。
web/src/应用/作品会话.ts
- 归属与种类:S03;源码。
- 意图:维持工作台的 切作品屏障、取消和迟到隔离。
- 职责:切作品屏障、取消和迟到隔离。
- 边界:只管理应用装配、会话和导航;不承担业务写入与模型调用。
- 目标:切作品有订阅屏障和缓存身份,页面可从真实状态恢复。
- 合同依据:应用与会话。
web/src/界面/主题.css
- 归属与种类:S03;源码。
- 意图:提供一致的 暖纸张配色、间距和样式变量。
- 职责:暖纸张配色、间距和样式变量。
- 边界:只接收数据与回调或样式变量;不读取业务数据库和运行配置。
- 目标:不同功能可以复用且不互相共享隐式业务状态。
- 合同依据:受控界面。
web/src/界面/排版.css
- 归属与种类:S03;源码。
- 意图:提供一致的 中文阅读与编辑排版。
- 职责:中文阅读与编辑排版。
- 边界:只接收数据与回调或样式变量;不读取业务数据库和运行配置。
- 目标:不同功能可以复用且不互相共享隐式业务状态。
- 合同依据:受控界面。
web/src/界面/分栏.tsx
- 归属与种类:S03;源码。
- 意图:提供一致的 可调整分栏。
- 职责:可调整分栏。
- 边界:只接收数据与回调或样式变量;不读取业务数据库和运行配置。
- 目标:不同功能可以复用且不互相共享隐式业务状态。
- 合同依据:受控界面。
web/src/界面/对话框.tsx
- 归属与种类:S03;源码。
- 意图:提供一致的 确认与任务反馈容器。
- 职责:确认与任务反馈容器。
- 边界:只接收数据与回调或样式变量;不读取业务数据库和运行配置。
- 目标:不同功能可以复用且不互相共享隐式业务状态。
- 合同依据:受控界面。
web/src/界面/表单.tsx
- 归属与种类:S03;源码。
- 意图:提供一致的 共用表单布局。
- 职责:共用表单布局。
- 边界:只接收数据与回调或样式变量;不读取业务数据库和运行配置。
- 目标:不同功能可以复用且不互相共享隐式业务状态。
- 合同依据:受控界面。
web/src/界面/反馈状态.tsx
- 归属与种类:S03;源码。
- 意图:提供一致的 加载、空结果、失败和重试。
- 职责:加载、空结果、失败和重试。
- 边界:只接收数据与回调或样式变量;不读取业务数据库和运行配置。
- 目标:不同功能可以复用且不互相共享隐式业务状态。
- 合同依据:受控界面。
web/src/界面/差异视图.tsx
- 归属与种类:S03;源码。
- 意图:提供一致的 受控内容差异。
- 职责:受控内容差异。
- 边界:只接收数据与回调或样式变量;不读取业务数据库和运行配置。
- 目标:不同功能可以复用且不互相共享隐式业务状态。
- 合同依据:受控界面。
web/src/界面/关系图.tsx
- 归属与种类:S03;源码。
- 意图:提供一致的 数据与回调驱动的关系图。
- 职责:数据与回调驱动的关系图。
- 边界:只接收数据与回调或样式变量;不读取业务数据库和运行配置。
- 目标:不同功能可以复用且不互相共享隐式业务状态。
- 合同依据:受控界面。
web/src/界面/编辑器/正文编辑器.tsx
- 归属与种类:S03;源码。
- 意图:以受控方式完成 受控正文编辑。
- 职责:受控正文编辑。
- 边界:只做编辑表示、转换和输入处理;不保存服务器正文、不决定采纳。
- 目标:中文输入、空行、组合字符和选区往返保持约定。
- 合同依据:正文编辑器。
web/src/界面/编辑器/文档适配.ts
- 归属与种类:S03;源码。
- 意图:以受控方式完成 编辑器和正式文档结构往返。
- 职责:编辑器和正式文档结构往返。
- 边界:只做编辑表示、转换和输入处理;不保存服务器正文、不决定采纳。
- 目标:中文输入、空行、组合字符和选区往返保持约定。
- 合同依据:正文编辑器。
web/src/界面/编辑器/字符位置.ts
- 归属与种类:S03;源码。
- 意图:以受控方式完成 UTF-16 与码点位置集中转换。
- 职责:UTF-16 与码点位置集中转换。
- 边界:只做编辑表示、转换和输入处理;不保存服务器正文、不决定采纳。
- 目标:中文输入、空行、组合字符和选区往返保持约定。
- 合同依据:正文编辑器。
web/src/界面/编辑器/粘贴处理.ts
- 归属与种类:S03;源码。
- 意图:以受控方式完成 允许结构与空白保真。
- 职责:允许结构与空白保真。
- 边界:只做编辑表示、转换和输入处理;不保存服务器正文、不决定采纳。
- 目标:中文输入、空行、组合字符和选区往返保持约定。
- 合同依据:正文编辑器。
web/src/界面/结构表单/结构表单.tsx
- 归属与种类:S03;源码。
- 意图:使 按后端投影组合字段 随动态结构工作。
- 职责:按后端投影组合字段。
- 边界:只消费后端投影并使用已支持控件;不运行 Schema 提供的代码或绕过 owner 保存。
- 目标:新字段可渲染和验证,结构或投影变化阻止旧请求且保留允许输入。
- 合同依据:动态表单。
web/src/界面/结构表单/字段渲染.tsx
- 归属与种类:S03;源码。
- 意图:使 已支持字段类型的显示和输入 随动态结构工作。
- 职责:已支持字段类型的显示和输入。
- 边界:只消费后端投影并使用已支持控件;不运行 Schema 提供的代码或绕过 owner 保存。
- 目标:新字段可渲染和验证,结构或投影变化阻止旧请求且保留允许输入。
- 合同依据:动态表单。
web/src/界面/结构表单/引用选择.tsx
- 归属与种类:S03;源码。
- 意图:使 通过业务查询选择受限引用 随动态结构工作。
- 职责:通过业务查询选择受限引用。
- 边界:只消费后端投影并使用已支持控件;不运行 Schema 提供的代码或绕过 owner 保存。
- 目标:新字段可渲染和验证,结构或投影变化阻止旧请求且保留允许输入。
- 合同依据:动态表单。
web/src/界面/结构表单/校验反馈.tsx
- 归属与种类:S03;源码。
- 意图:使 字段错误、结构过期与未保存输入 随动态结构工作。
- 职责:字段错误、结构过期与未保存输入。
- 边界:只消费后端投影并使用已支持控件;不运行 Schema 提供的代码或绕过 owner 保存。
- 目标:新字段可渲染和验证,结构或投影变化阻止旧请求且保留允许输入。
- 合同依据:动态表单。
web/src/界面/结构表单/投影会话.ts
- 归属与种类:S03;源码。
- 意图:使 结构、投影和数据版本绑定 随动态结构工作。
- 职责:结构、投影和数据版本绑定。
- 边界:只消费后端投影并使用已支持控件;不运行 Schema 提供的代码或绕过 owner 保存。
- 目标:新字段可渲染和验证,结构或投影变化阻止旧请求且保留允许输入。
- 合同依据:动态表单。
web/src/接口/传输.ts
- 归属与种类:S03;源码。
- 意图:在工作台统一 身份、错误、取消及请求封装。
- 职责:身份、错误、取消及请求封装。
- 边界:只处理传输、事件与缓存协议;不改变业务错误的含义或自动覆盖冲突。
- 目标:重连、取消、错误和目标身份在所有功能一致。
- 合同依据:前端传输。
web/src/接口/事件连接.ts
- 归属与种类:S03;源码。
- 意图:在工作台统一 事件游标、重连与去重。
- 职责:事件游标、重连与去重。
- 边界:只处理传输、事件与缓存协议;不改变业务错误的含义或自动覆盖冲突。
- 目标:重连、取消、错误和目标身份在所有功能一致。
- 合同依据:前端传输。
web/src/接口/查询键.ts
- 归属与种类:S03;源码。
- 意图:在工作台统一 作品、目标、分支、版本和用途缓存键。
- 职责:作品、目标、分支、版本和用途缓存键。
- 边界:只处理传输、事件与缓存协议;不改变业务错误的含义或自动覆盖冲突。
- 目标:重连、取消、错误和目标身份在所有功能一致。
- 合同依据:前端传输。
web/src/接口/生成/客户端.ts
- 归属与种类:构建;生成物。
- 意图:让前端使用与后端同源的协议声明。
- 职责:从已审 OpenAPI 生成。
- 边界:机器生成,不手改;只固定外壳,动态字段按服务器投影校验。
- 目标:接口变更可生成和比对,客户端不维护第二套字段合同。
- 合同依据:生成客户端。
web/src/接口/生成/类型.ts
- 归属与种类:构建;生成物。
- 意图:让前端使用与后端同源的协议声明。
- 职责:稳定协议外壳和投影合同类型。
- 边界:机器生成,不手改;只固定外壳,动态字段按服务器投影校验。
- 目标:接口变更可生成和比对,客户端不维护第二套字段合同。
- 合同依据:生成客户端。
web/tests/设置.ts
- 归属与种类:验证;测试。
- 意图:保护“前端测试环境”的结果与拒绝语义。
- 职责:前端测试环境。
- 边界:离线行为验证;不按文件名、固定完成数或 mock 页面代替实际能力。
- 目标:相关行为被破坏时能失败,合法反例与失败恢复有明确断言;环境缺失不算通过。
- 合同依据:行为验证。
web/tests/编辑/中文输入.test.tsx
- 归属与种类:验证;测试。
- 意图:保护“输入法组合时不破坏正文或提前保存”的结果与拒绝语义。
- 职责:输入法组合时不破坏正文或提前保存。
- 边界:离线行为验证;不按文件名、固定完成数或 mock 页面代替实际能力。
- 目标:相关行为被破坏时能失败,合法反例与失败恢复有明确断言;环境缺失不算通过。
- 合同依据:行为验证。
web/tests/编辑/正文往返.test.ts
- 归属与种类:验证;测试。
- 意图:保护“段落与可见文本往返”的结果与拒绝语义。
- 职责:段落与可见文本往返。
- 边界:离线行为验证;不按文件名、固定完成数或 mock 页面代替实际能力。
- 目标:相关行为被破坏时能失败,合法反例与失败恢复有明确断言;环境缺失不算通过。
- 合同依据:行为验证。
web/tests/编辑/选区转换.test.ts
- 归属与种类:验证;测试。
- 意图:保护“码点和 UTF-16”的结果与拒绝语义。
- 职责:码点和 UTF-16。
- 边界:离线行为验证;不按文件名、固定完成数或 mock 页面代替实际能力。
- 目标:相关行为被破坏时能失败,合法反例与失败恢复有明确断言;环境缺失不算通过。
- 合同依据:行为验证。
web/tests/编辑/保存冲突.test.tsx
- 归属与种类:验证;测试。
- 意图:保护“并发编辑不覆盖”的结果与拒绝语义。
- 职责:并发编辑不覆盖。
- 边界:离线行为验证;不按文件名、固定完成数或 mock 页面代替实际能力。
- 目标:相关行为被破坏时能失败,合法反例与失败恢复有明确断言;环境缺失不算通过。
- 合同依据:行为验证。
web/tests/编辑/断网缓冲.test.tsx
- 归属与种类:验证;测试。
- 意图:保护“未提交内容恢复”的结果与拒绝语义。
- 职责:未提交内容恢复。
- 边界:离线行为验证;不按文件名、固定完成数或 mock 页面代替实际能力。
- 目标:相关行为被破坏时能失败,合法反例与失败恢复有明确断言;环境缺失不算通过。
- 合同依据:行为验证。
web/tests/交互/切作品隔离.test.tsx
- 归属与种类:验证;测试。
- 意图:保护“迟到响应不写错作品”的结果与拒绝语义。
- 职责:迟到响应不写错作品。
- 边界:离线行为验证;不按文件名、固定完成数或 mock 页面代替实际能力。
- 目标:相关行为被破坏时能失败,合法反例与失败恢复有明确断言;环境缺失不算通过。
- 合同依据:行为验证。
web/tests/交互/候选审阅.test.tsx
- 归属与种类:验证;测试。
- 意图:保护“被审内容与批准范围”的结果与拒绝语义。
- 职责:被审内容与批准范围。
- 边界:离线行为验证;不按文件名、固定完成数或 mock 页面代替实际能力。
- 目标:相关行为被破坏时能失败,合法反例与失败恢复有明确断言;环境缺失不算通过。
- 合同依据:行为验证。
web/tests/交互/任务重连.test.tsx
- 归属与种类:验证;测试。
- 意图:保护“持久化游标续接”的结果与拒绝语义。
- 职责:持久化游标续接。
- 边界:离线行为验证;不按文件名、固定完成数或 mock 页面代替实际能力。
- 目标:相关行为被破坏时能失败,合法反例与失败恢复有明确断言;环境缺失不算通过。
- 合同依据:行为验证。
web/tests/交互/报告失效.test.tsx
- 归属与种类:验证;测试。
- 意图:保护“旧报告不显示当前通过”的结果与拒绝语义。
- 职责:旧报告不显示当前通过。
- 边界:离线行为验证;不按文件名、固定完成数或 mock 页面代替实际能力。
- 目标:相关行为被破坏时能失败,合法反例与失败恢复有明确断言;环境缺失不算通过。
- 合同依据:行为验证。
web/tests/交互/动态字段与结构过期.test.tsx
- 归属与种类:验证;测试。
- 意图:保护“新字段可编辑,版本变化保留输入并复核”的结果与拒绝语义。
- 职责:新字段可编辑,版本变化保留输入并复核。
- 边界:离线行为验证;不按文件名、固定完成数或 mock 页面代替实际能力。
- 目标:相关行为被破坏时能失败,合法反例与失败恢复有明确断言;环境缺失不算通过。
- 合同依据:行为验证。
web/tests/交互/隐藏字段不泄露.test.tsx
- 归属与种类:验证;测试。
- 意图:保护“撤回投影后清除缓存和显示”的结果与拒绝语义。
- 职责:撤回投影后清除缓存和显示。
- 边界:离线行为验证;不按文件名、固定完成数或 mock 页面代替实际能力。
- 目标:相关行为被破坏时能失败,合法反例与失败恢复有明确断言;环境缺失不算通过。
- 合同依据:行为验证。
web/tests/旅程/创建作品到确认正文.spec.ts
- 归属与种类:验证;测试。
- 意图:保护“真后端创作旅程”的结果与拒绝语义。
- 职责:真后端创作旅程。
- 边界:真后端浏览器验证;不按文件名、固定完成数或 mock 页面代替实际能力。
- 目标:相关行为被破坏时能失败,合法反例与失败恢复有明确断言;环境缺失不算通过。
- 合同依据:行为验证。
web/tests/旅程/编辑冲突与恢复.spec.ts
- 归属与种类:验证;测试。
- 意图:保护“编辑保存和任务恢复”的结果与拒绝语义。
- 职责:编辑保存和任务恢复。
- 边界:真后端浏览器验证;不按文件名、固定完成数或 mock 页面代替实际能力。
- 目标:相关行为被破坏时能失败,合法反例与失败恢复有明确断言;环境缺失不算通过。
- 合同依据:行为验证。
web/tests/旅程/拆书到方法绑定.spec.ts
- 归属与种类:验证;测试。
- 意图:保护“来源到方法消费”的结果与拒绝语义。
- 职责:来源到方法消费。
- 边界:真后端浏览器验证;不按文件名、固定完成数或 mock 页面代替实际能力。
- 目标:相关行为被破坏时能失败,合法反例与失败恢复有明确断言;环境缺失不算通过。
- 合同依据:行为验证。
web/tests/旅程/动态类型到事实确认.spec.ts
- 归属与种类:验证;测试。
- 意图:保护“新类型全链消费”的结果与拒绝语义。
- 职责:新类型全链消费。
- 边界:真后端浏览器验证;不按文件名、固定完成数或 mock 页面代替实际能力。
- 目标:相关行为被破坏时能失败,合法反例与失败恢复有明确断言;环境缺失不算通过。
- 合同依据:行为验证。
web/tests/旅程/定稿导出与反馈.spec.ts
- 归属与种类:验证;测试。
- 意图:保护“固定稿件交付”的结果与拒绝语义。
- 职责:固定稿件交付。
- 边界:真后端浏览器验证;不按文件名、固定完成数或 mock 页面代替实际能力。
- 目标:相关行为被破坏时能失败,合法反例与失败恢复有明确断言;环境缺失不算通过。
- 合同依据:行为验证。
web/tests/单元/中文显示与动作.test.tsx
- 归属与种类:验证;测试。
- 意图:保护作者界面语义的明确输入与可观察后果。
- 职责:作者界面语义的逐例行为验证。
- 边界:离线组件测试;正式写入另有真后端旅程;用例独立,不复制旧文件的全局顺序和实现形状。
- 目标:中文含义与诊断信息可理解,数量来自数据;点击携带当前对象与审阅版本,不拼旧脚本。
- 合同依据:专属合同。
- 用例合同:TC-158ceb91f1fe;TC-72fea2ff83a5;TC-210481806e32;TC-b1bc2e61bdb3;TC-532f19c48838;TC-f66b7b4c00d2;TC-39ab793c3a80;TC-178a47c1dbea;TC-d6ac7580979e;TC-4dff767010c5;TC-b70927866815;TC-5a9dc17fdf74;TC-043a74500daf;TC-00f820aca9ee;TC-f9bc3a8d21cf;TC-ea9587d92a04;TC-8098487cc24d;TC-6d0421af315b;TC-6723f3b292d5;TC-b11d342a8dbc。
web/tests/交互/上下文材料.test.tsx
- 归属与种类:验证;测试。
- 意图:保护清单、省略原因与失效标注的渲染语义。
- 职责:任务材料组件渲染验证。
- 边界:离线组件,传输替身;真实后端旅程由 Playwright 承担。
- 目标:渲染破坏时用例失败。
- 合同依据:行为验证。
- 用例合同:NC-ui-context-snapshot-list;NC-ui-context-stale-evidence;NC-ui-context-empty-state。
web/tests/旅程/任务材料.spec.ts
- 归属与种类:验证;测试。
- 意图:保护工作台三层内容在真实浏览器可见。
- 职责:任务材料真实浏览器旅程验证。
- 边界:真实隔离库与真实浏览器;不 mock 后端。
- 目标:三层内容可见且无页面错误。
- 合同依据:行为验证。
- 用例合同:NC-browser-context-workbench。
web/tests/交互/创作对话.test.tsx
- 归属与种类:验证;前端组件测试。
- 意图与职责:保护发起面板、消息流折叠与检查决定面板的渲染语义。
- 边界:离线组件,传输替身;真实后端旅程由 Playwright 承担。
- 目标:渲染破坏或状态误呈时用例失败。
web/tests/旅程/生成对话.spec.ts
- 归属与种类:验证;前端浏览器旅程。
- 意图与职责:真实浏览器与隔离库内核对创作对话、独立检查呈现与采纳阻断。
- 边界:真实隔离库与真实浏览器;不 mock 后端;视觉判定独立留证。
- 目标:通过任务与失败候选的检查呈现及服务端阻断可复核,页面无预期外控制台错误。
web/src/功能/资料研究/资料页.tsx
- 归属与种类:前端;页面组件。
- 意图:让作者在一页内对照来源版本原文、清理候选结果并进入研究工作区。
- 职责:来源清单选择、版本原文呈现、清理对照应用、研究入口链接。
- 边界:只读呈现与显式动作;不伪造数据、不推断效果因果。
- 目标:来源、原文可追溯;清理对照可见;研究入口可达。
- 合同依据:B03 资料研究。
- 旧文件承接:取代 W17 的
资料对照页.tsx(榜单与拆书职责分页,见 榜单与选题页/拆书工作区)。
web/src/功能/资料研究/拆书工作区.tsx
- 归属与种类:前端;页面组件。
- 意图:发起来源拆解、跟踪窗口进度并从失败恢复。
- 职责:来源选择、拆解发起(选书理由/运行配置)、台账与失败窗恢复、原文分析对照入口。
- 边界:同源互斥与漂移错误如实显示;不伪造进度。
- 目标:错误与缺证据可逐项处理;失败可恢复。
web/src/功能/资料研究/原文分析对照.tsx
- 归属与种类:前端;组件。
- 意图:窗口原文与逐窗分析结果并排对照。
- 职责:按码点区间取原文、实体/写法计数与歧义提示呈现。
- 边界:只呈现已登记检查点内容;不补造分析。
web/src/功能/资料研究/榜单与选题页.tsx
- 归属与种类:前端;页面组件。
- 意图:榜单时点观察与样本选题依据集中呈现。
- 职责:快照列表(失败如实显示)、样本字数比较、选书理由发起拆解。
- 边界:观察差异只陈述指标;不构成优劣结论或效果因果。
web/tests/旅程/资料对照.spec.ts
- 归属与种类:验证;前端浏览器旅程。
- 意图与职责:真实浏览器与隔离库核对资料对照页的来源、原文、清理说明与榜单失败态。
- 边界:真实隔离库与真实浏览器;不 mock 后端;视觉判定独立留证。
- 目标:对照呈现与失败态可复核,页面无预期外控制台错误。