Files
Genarrative/docs/project-memory/shared-memory/team-conventions.md
T
suzmii a0f6b7c67d 统一思考与执行过程折叠样式及中文耗时
思考展开复用安全Markdown渲染,折叠显示浅色单行纯文本预览与右侧箭头。
共享过程摘要组件,执行过程按真实操作数显示统计并保留各组独立计时。
工具、整轮、生成任务和策划耗时统一为中文时分秒格式。
补齐格式与Markdown回归、更新已有界面断言并验证窄屏键盘操作。
2026-09-18 14:34:10 +08:00

5.1 KiB

团队协作约定

协作模式

  • 3 名开发人员在各自环境使用本地 Agent,通过同一 Git 仓库同步代码和项目知识。
  • 每个任务保持分支、工作树和修改范围清晰;多人或多 Agent 并行修改前先划分不重叠的文件边界。
  • 项目知识进入 docs/docs/project-memory/;个人 ~/.codex、Agent 会话和本地配置不共享。

开发前

  1. 同步目标分支并确认工作树状态,不覆盖他人的未提交修改。
  2. 阅读 AGENTS.md;复杂任务继续读取 Agent 执行准则、项目概览、本文、开发工作流和当前专题文档。
  3. 以源码、package.json、Cargo manifest、app.rs、OpenAPI 和生成契约核对易漂移事实;RAG 与历史记录只提供候选上下文。
  4. 文档不足以确定字段、状态、迁移或验收时,先补当前权威文档再编码。
  5. 跨模块功能、公开契约、SpacetimeDB schema、AGC/Runtime 和复杂 UI 状态链路先建立主规范、里程碑规范和单里程碑实现计划,并在评审通过后实现。

开发中

  • AGC 思考与执行入口共用共享单行摘要骨架;Markdown 只在展开正文走既有安全渲染,折叠预览只取纯文本,不在 summary 嵌套链接或按钮。耗时统一复用中文时分秒格式(秒一位小数),格式化与各层计时边界分离,不因统一文案改变状态来源。

  • Direct 对话计时区分条目展示时间与生命周期事件时间:整轮用用户发送到明确终态的跨度,工具用各自开始/完成边界;运行时用 100ms 叶子时钟刷新一位小数,终态冻结,旧历史缺边界不推测。不得用整秒时间的大小比较取代 Thread Manager 的事件顺序判定新回合。

  • AGC 批量追加素材标签由原生在一次项目写锁与 revision CAS 下合并各项原标签,先校验全批再写 manifest;前端不能循环单素材分类命令,不回传展示层推导的分类或旧标签全集,以免部分写入或覆盖未编辑字段。

  • 画布卡片类型与信息角标共用 CanvasCardCornerActions;菜单收纳共用 OverflowActions,宿主决定展示数量和资源命令。AGC 选中菜单前 5 项直显,Web 默认不折叠;浮层 portal 继续接入现有画布关闭与滚轮归属判据。

  • 修改范围保持聚焦;优先扩展现有系统、页面、组件、DTO 和脚本,不新建平行入口或业务真相。

  • UI 开发优先复用现有公共组件;跨页面或跨端重复的视觉/交互模式应沉淀到 packages/shared,由现有页面迁移使用,禁止在业务页复制同类 UI。共享组件只承载通用表现与交互,不下沉领域规则、后端副作用或正式业务状态。

  • AGC 当前 Agent 与策划 Agent 的消息层级共用 packages/sharedAgentMessageContent:正文使用 body,思考、中间输出与工具调用使用 process;宿主不按 Agent 类型重新定义过程字号和颜色,错误状态保留语义色。

  • 后端遵循 module-*spacetime-modulespacetime-clientapi-serverplatform-*shared-contracts 的现役边界。

  • 前端只负责表现、交互和临时 UI 状态;正式状态来自后端投影、API 或持久化契约。

  • 对已明确退役且无现役调用方、公开契约、持久化迁移或活跃实例的对象,不写兼容实现、维持旧行为的测试、墓碑注释或墓碑文档。

  • 修改 /api/external/v1 时,同批更新 docs/openapi/genarrative-external-v1.openapi.json 与契约测试。

  • 修改 SpacetimeDB schema 时遵守字段追加/default 约束,同步 migration、表目录、生成绑定,并运行 schema 检查;删除、改名、重排或改类型前先确认迁移计划。

  • 日志不递归输出完整配置、应用状态或 provider client;新增字段默认不进入安全摘要。

  • 中文文案、注释和文档保持 UTF-8,优先局部补丁,不擅自翻译成英文。

文档生命周期

  • docs/README.md 只索引当前实现依据和仍维护专题。
  • shared-memory/ 只保留当前稳定概览、决策、流程和坑点;同一事实不复制多份版本。
  • plans/ 只放正在执行且有明确剩余门禁的短期计划;todos/ 只放真实开放且有关闭条件的事项。
  • 计划完成、事项关闭或对象退役后,稳定结论融合进权威专题或共享记忆,过程文档直接删除;历史由 Git 提供。
  • 新增 Markdown 使用 【标签名】中文标题-YYYY-MM-DD.md 命名。

开发后

  1. 运行范围匹配的测试、类型检查、npm run check:encodinggit diff --check
  2. 更新对应当前专题;产生长期有效变化时再更新共享记忆。
  3. 检查 staged diff,确保没有无关文件、密钥、本地路径或他人改动。
  4. 提交标题使用中文;标题后逐行写明修改项,每项单独一行。

禁止提交

  • .env、API Key、Token、Cookie、认证文件和个人配置。
  • 个人绝对路径、会话记录、隐私信息。
  • 构建产物、日志、缓存和数据库 dump。
  • 已完成计划、阶段测试数字、分支合并流水账和已失效实现口径。