weichen 626f8e1062 Add the Surface contract types, node ids, and spec validation
Why: The Generative UI proposal U2 needs a versioned, host-validated
envelope for agent-authored pages before any backend surface exists:
identity/compat/version envelopes, stable per-node ids with source
annotations, catalog-driven spec validation, and the surface.updated
projection event.

Evidence: go vet + go test in this repo (table tests cover a realistic
valid spec from the U1 trial shape, violations, limits, and old-payload
backward compatibility).

Impact: Additive only - UINode gains optional id/source (omitempty),
old card/form paths unaffected; no existing symbol changes.

Refs: Documents proposal 2026-10-10-generative-ui-plugin.md (r2, U2/U1
sections); Dev task feature/generative-ui-u2
2026-10-11 08:15:10 +00:00
2026-09-29 17:34:58 +00:00

Agent-System-Core

系统核心契约:领域模型(Project/Conversation/Message/Run/Artifact/Plan)、流式事件信封、 HITL 卡片协议、插件 API 与 manifest、AgentProfile 画像、设置 schema、UI 扩展词汇、 文档解析(ParsedDocument IR)与检索/记忆契约。Go 模块路径 agent-system-core。

三态一致

同一契约以三种形态发布,变更须保持一致:

  1. Go 类型(*.go,camelCase JSON 标签)——后端与代码插件使用。
  2. 黄金样本(testdata/golden/*.json)——线格式权威,go test ./... 强校验;变更显式重生成(go test ./... -update)。
  3. TS 类型(ts/types.ts)——前端镜像,前端测试按黄金样本做形状断言。

原则

  • 只含契约与纯函数,不含实现、不含 I/O、不依赖生态仓。
  • 前向兼容:字段只增不删;消费方对未知 type/词汇静默忽略(v 字段协商)。
  • 摄取 IR(ParsedDocument)是解析器与下游的隔离层;检索/记忆契约先行、实现后置。

验证

go test ./...
S
Description
系统核心契约:领域模型、流式事件与 HITL 卡片协议、插件 API、设置与 UI 扩展词汇、文档解析/检索/记忆契约,供前后端与插件共同依赖;不含实现。
Readme
588 KiB
Languages
Go 84.5%
TypeScript 12.3%
Shell 3.2%