数据模型

可用性:available

Harness 数据模型记录任务及执行期间实际发生的行为,不要求 User、Project、Observation 或 Incident。

记录 用途
Event 带 source-scoped external identity、payload 与 context 的版本化输入
Run Goal、input/context、Profile/policy snapshot、configuration digest、state、reason、budget 与 result
Model message Provider-neutral accepted history;tool-call/result group 保持完整有序
Invocation 执行前 durable intent,包含 sequence、tool name/version、可信 effect、argument digest、authorization 与 state
Invocation result 有序 outcome code、有界 output、byte count 与 completion time
Artifact 自由类型和字符串 schema version,带有界 data/reference、provenance、external identity 与可选 verification subject

Run state 为 queuedrunningwaitingsucceededfailedcancelled。预算 limit/counter 分别覆盖 elapsed time、model call、tool call 与 output byte。

model 记录方案或解释,observed 记录可信 adapter 的外部观察,verified 记录明确的 passed/failed 检查,并必须通过 artifact ID 或 external ID 标识 subject。Profile 不能把模型生成内容转换为 observed 或 verified provenance。

自定义 artifact type 不要求修改 core switch。未来通用 renderer 可以回退显示 type、schema、安全 payload/reference 与 provenance;该 renderer 属于 Product 阶段,不属于已实现 Foundation。

RunStore 保存 run snapshot、有序 invocation、artifact 与完整 message group。外部调用前必须先持久化 intent;result 与同批返回 artifact 必须原子持久化。Restart reconstruction 保守处理:未解决 write 保持可见且不会重放。

这是已实现 port 与 Runner 行为,但不表示 Local file adapter 或 Service PostgreSQL schema 已完成集成与 release 验证。

现有事故应用保留自己的记录与 ownership model:

记录 用途
登录账号 唯一登录身份,可访问全部项目
Project configuration 与 credential 事故 connector、加密 secret、repository、trigger 与 provider setting
Observation 与 Incident 项目范围 event stream 与分组后的 operational condition
Remediation run 与 evidence 针对 incident generation 的 diagnosis、plan、provenance 与 review state

PostgreSQL 继续作为这些应用记录的 source of truth;Redis 只保存可丢弃的 digest-keyed 登录 Session。这些依赖描述事故 Service,而不是中立 Harness domain。