df48c36422
把规则从原 ppt-gen 项目泛化为通用脚手架,覆盖 19 个文件: - ddd/architecture/design-discipline/error-codes/communication-* 等: 领域术语、错误码、消息示例、扩展点、状态流统一为「订单」示范域 - agent-dag/agent.md/agent-concurrency/agent-llm-*:DAG 节点、配置、并发、 LLM 适配从「对话→预览→生成→截图→合成」改为「intake→process→validate→finalize」 - backend-db:Session 实体/状态机/ORM/仓储/checkpoint 对齐新流水线 - 移除幻灯片专属依赖与产物:agent 去 playwright/python-pptx, Dockerfile 去 Chromium 系统库,.gitignore 去 *.pptx - 保留合法通用项:ANSI(PTY 处理)、Playwright(E2E 测试工具)、Gemini CLI(真实 provider) 验证:gemini-cli/openai-api 两变体生成退出 0,生成项目零 PPT 残留, backend/agent 骨架均可 import 运行。
1.7 KiB
1.7 KiB
paths
| paths | |||
|---|---|---|---|
|
错误码目录(错误契约)
错误码是契约的一部分,集中登记,禁止散落定义。
错误码是契约的一部分,前端按 code 分支处理,不依赖 message 文本。集中登记,禁止散落定义。
下表为示范(订单域 + 通用基础设施码),按项目实际增删:
| code | 含义 | 来源 |
|---|---|---|
SESSION_NOT_FOUND |
会话不存在 | Backend |
AGENT_UNAVAILABLE |
Agent 不可用 | Backend |
ORDER_NOT_FOUND |
订单不存在 | Backend |
ORDER_STATE_INVALID |
订单状态不允许此操作 | Backend/Agent |
LLM_STARTUP_ERROR |
LLM 启动/连接失败 | Agent |
EXTERNAL_SERVICE_TIMEOUT |
外部依赖超时 | Agent |
EXTERNAL_SERVICE_ERROR |
外部依赖返回错误 | Agent |
CHECKPOINT_LOST |
断点不可恢复 | Agent |
CAPACITY_EXCEEDED |
并发超额(排队) | Agent |
INVALID_INPUT |
输入校验失败 | Backend/Agent |
INTERNAL_ERROR |
未分类内部错误 | 任意 |
- 命名:
大类_具体,全大写蛇形;新增错误码必须先登记到此表 - code 字面值散落在各服务的异常类(backend
src/exceptions/base.py的AppException子类、agentsrc/domain/exceptions.py的AgentException子类)。本表是单一来源,异常类的code与本表对齐靠 review 把关,不做代码生成(多数 code 服务私有、跨线共享少,生成机制收益不抵复杂度)。改 code 先改本表,再改对应异常类。 - 外部依赖类错误码(
LLM_*/EXTERNAL_SERVICE_*)与具体厂商解耦,换提供商不改 code。