0b5c7747a3165bf0d0f2219204b7b70ec3ed7645
Why: A separately exported ContextSection is unused inside the UI package and pushes the knip ratchet over its baseline. Evidence: UI knip reported 56 unused exports against baseline 55. The section shape stays on ContextObservation.sections. Impact: Generated frontend and UI contracts drop the extra export. JSON field names are unchanged. Refs: .task/feature-sillytavern-review.md Co-authored-by: Cursor <cursoragent@cursor.com>
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%