4.9 KiB
4.9 KiB
Agent 协作说明(Codex / Cloud / Cursor / Claude / 其它 AI 工具通用)
本文件供所有在仓库内工作的 AI 编码助手阅读。仓库级开发、测试、发布规范以 ENGINEERING_WORKFLOW_RULES.md 为准;生产发布规范以 PRODUCTION_RELEASE_RULES.md 为准。
必读:分支与发布闸门
- 新建分支前必须先同步远端主线,推荐执行
bash scripts/new-branch.sh feature/xxx。 - 在“修复 bug / 开发中”阶段,默认只允许本地修改、本地运行、本地测试;没有用户明确批准,不允许
git push、不允许生成或发布任何103相关 runtime/artifact、不允许合并或并入main、不允许触发任何生产动作。 - “明确批准”必须是针对下一步动作本身的直接确认,不能把“继续处理”“先看看结果”之类表述解释成
push、发版、合并main的授权。 - 即使代码已经改完,也必须先完成与本次改动对应的测试或 verify,并在测试后再次确认,才能决定是否进入
push、合并main、103构建或发布等下一步。 - 分支代码必须先合并进
main,确认main正常后,才允许发布。 - 发布只能从完整
main打整包,禁止从功能分支、单个 commit、单个修复或局部差异单包发布。 - 发布前必须确认 CI 已通过,且没有未合并的关键变更。
- 发布前必须重新检查当前分支是否落后
origin/main。 - 发布来源必须是干净、可追溯的 Git commit。
- 禁止从脏工作区、detached HEAD、落后主线的分支发布。
- 发布前必须执行:
bash scripts/check-release-ready.sh
必读:已验证回归守卫(勿轻易覆盖)
下列行为经过长时间调试验证。删改相关代码前必须先读文档并跑 verify:
| 主题 | 文档 |
|---|---|
MindSpace 公开页 edit_file 落盘 + 聊天 Finish 不丢消息 |
docs/regression-guards/mindspace-publish-and-chat-finish.md |
| MindSpace remote 页面 sync + storage 缺失缩略图 fallback | docs/regression-guards/mindspace-remote-page-sync-and-thumbnail.md |
| Page Data 数据集注册、绑定与交付验收 | docs/regression-guards/page-data-delivery-contract.md |
| H5 SSE 断线续播、Portal/Goose 游标映射与 Finish 终态恢复 | docs/regression-guards/h5-session-stream-replay.md |
| Memory V2 候选表初始化与生命周期灰度作用域 | docs/regression-guards/memory-v2-candidate-and-lifecycle.md |
索引:docs/regression-guards/README.md
改相关文件前必跑
npm run verify:mindspace-publish-guards
npm run verify:mindspace-publish-guards:full
npm run verify:mindspace-page-sync-guards
npm run verify:h5-session-patches
发版脚本(scripts/release-portal-runtime-prod.sh)在未 --skip-tests 时也会执行相关 verify。
受保护的关键路径
mindspace-public-finish-sync.mjs-edit_file必须 materialize 到public/*.htmlchat-finish-sync.mjs- Finish / UpdateConversation 必须 merge,禁止盲覆盖conversation-display.mjs+src/utils/message.ts- 用户消息不得展示 routing/skill 内部前缀src/hooks/useTKMindChat.ts-syncSessionMessagesmerge + 重试server.mjs- session snapshot 需hint_mc且hint_ua才走缓存mindspace-pages.mjs- storage 缺失时 HTML 页回退读 workspacerelative_pathmindspace-page-sync-service.mjs+server.mjs- remote 模式也必须 sync public HTMLsession-stream.mjs+session-stream-store.mjs+tkmind-proxy.mjs- Portal replay ID 不得直接作为 GooseLast-Event-ID
代码内搜索 REGRESSION GUARD 可定位所有内联说明。
相关单测
mindspace-public-finish-sync.test.mjschat-finish-sync.test.mjsconversation-display.test.mjs
MindSpace page sync + thumbnail
mindspace-page-sync-service.test.mjsmindspace-pages.test.mjs
Cursor 专用规则(其它工具请读上文文档)
Cursor 额外加载:.cursor/rules/mindspace-publish-chat-finish-guards.mdc
内容与 docs/regression-guards/mindspace-publish-and-chat-finish.md 一致,仅为 Cursor 在编辑相关文件时自动提示。
仓库惯例
- 本地开发:
pnpm dev(见 README.md) - Page Data API:见 docs/page-data-api-usage.md;改动相关路径后执行
npm run verify:page-data - 生产隔离:docs/service-isolation-runbook.md
- 发版须 Git commit,禁止本机直
rsync到103/105