a64fb5a168f2e44358b186265b893c4eec5dd1a5
Why: 卡流机制(CF1)需要消息部件正式引用收件箱 ActivityCard——submit_card 产卡时卡片为产物权威载体,消息只存引用+锚点渲染(原仅能从 data 字符串里正则抠 card:<id>)。 Evidence: go test ./... 通过;golden message.json 增 card 引用部件锁定 cardId 线格式(-update 重生成后逐字节一致)。 Impact: CardPart 增可选 cardId(omitempty,旧数据零影响);ts/types.ts 同步,镜像经 make contracts 再生成。 Refs: Dev 任务卡 feature/cardflow-r1;提案 cardflow-and-process-split(编制中)。
Agent-System-Core
系统核心契约:领域模型(Project/Conversation/Message/Run/Artifact/Plan)、流式事件信封、
HITL 卡片协议、插件 API 与 manifest、AgentProfile 画像、设置 schema、UI 扩展词汇、
文档解析(ParsedDocument IR)与检索/记忆契约。Go 模块路径 agent-system-core。
三态一致
同一契约以三种形态发布,变更须保持一致:
- Go 类型(
*.go,camelCase JSON 标签)——后端与代码插件使用。 - 黄金样本(
testdata/golden/*.json)——线格式权威,go test ./...强校验;变更显式重生成(go test ./... -update)。 - TS 类型(
ts/types.ts)——前端镜像,前端测试按黄金样本做形状断言。
原则
- 只含契约与纯函数,不含实现、不含 I/O、不依赖生态仓。
- 前向兼容:字段只增不删;消费方对未知
type/词汇静默忽略(v字段协商)。 - 摄取 IR(ParsedDocument)是解析器与下游的隔离层;检索/记忆契约先行、实现后置。
验证
go test ./...
Description
系统核心契约:领域模型、流式事件与 HITL 卡片协议、插件 API、设置与 UI 扩展词汇、文档解析/检索/记忆契约,供前后端与插件共同依赖;不含实现。
579 KiB
Languages
Go
84.5%
TypeScript
12.3%
Shell
3.2%