Files
baozaotumao df48c36422 refactor: 规则中性化——剥离 PPT 业务,统一为订单示范域
把规则从原 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 运行。
2026-06-01 23:15:05 -07:00

1.7 KiB

paths
paths
backend/**
agent/**
frontend/**

错误码目录(错误契约)

错误码是契约的一部分,集中登记,禁止散落定义。

错误码是契约的一部分,前端按 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.pyAppException 子类、agent src/domain/exceptions.pyAgentException 子类)。本表是单一来源,异常类的 code 与本表对齐靠 review 把关,不做代码生成(多数 code 服务私有、跨线共享少,生成机制收益不抵复杂度)。改 code 先改本表,再改对应异常类。
  • 外部依赖类错误码(LLM_* / EXTERNAL_SERVICE_*)与具体厂商解耦,换提供商不改 code。