Profile,能力进入 Skill 或 Adapter,权限进入 Policy,编排进入 Flow,一次工作进入 Run,决策边界进入 Checkpoint;外部依赖和执行前证据使用共享执行契约表达。
最小对象链路
Huoban 的对象不是平铺词表,而是一条 AI 工作链路。v1alpha1 的十个顶层 kind 具有同等协议地位;具体实现可以只消费其中一部分,但不能因此发明协议内不存在的 Core/Extension 等级。1
能力:Skill
Skill 声明可复用能力、输入输出、上下文提示和副作用。2
上下文:Profile
Profile 把团队规则、项目结构、领域语言和历史决策整理成分层上下文。3
编排:Flow
Flow 通过 capability-first stage 描述能力如何排列、产物声明如何传递、哪里需要 checkpoint。4
边界:Policy
Policy 声明副作用、权限和审批规则,让自动化边界可审查。5
快照:Run
Run 锁定一次工作使用的对象引用、mode、bindings 和当前 schema 支持的 snapshot hash。6
预检:Requirement 与 Preflight
对象声明外部依赖;Preflight 在具体 Run 和 workspace 上记录引用、binding 与环境就绪证据。
7
校对:Checkpoint
Checkpoint 把高判断力或高风险位置变成显式决策边界。8
产物:Artifact
Artifact 记录一次 Run 产生的文档、报告、代码、diff 或决策记录。9
来源:Registry 与 Trust
Registry 组织对象来源和索引范围,Trust 记录对象来源、审查状态、信任等级和 sandbox 要求。十个顶层对象
Huoban v1alpha1 只有以上十个顶层
kind。执行前就绪与生命周期语义不通过增加大对象解决,而是使用四类共享结构:
这些结构没有独立 metadata、spec/status 生命周期,也不进入
Registry.index.includeKinds。它们是共享协议结构,不是“次一级对象”。详见 Requirement、Preflight 和 Lifecycle Handler。
未进入 v1alpha1 的候选方向
下列概念目前不是 v1alpha1 schema 对象。它们可以作为未来候选对象、实现扩展或已存在对象的内部语义出现,但不属于当前公共对象模型。
这条边界很重要:没有 schema 和 examples 支撑的概念,不应该被写成已经稳定的公共标准对象。
资源对象格式
Huoban 对象采用声明式资源对象格式:status 是可选字段。schema 校验字段形状,generation 递增和 observedGeneration 更新由工具或实现约定维护。
spec 与 status
Huoban 必须保持spec 与 status 的边界。spec 说明“想要什么”,status 说明“已经观察到什么”。
作者或上游系统写 spec:
status:
generation 与 observedGeneration
Huoban 对象支持:metadata.generation在spec发生语义变化时递增。status.observedGeneration表示当前 status 对应哪个 generation。- 如果二者不一致,说明观察状态还没有追上当前 spec。
Conditions
conditions 是机器可读的状态摘要。它不替代日志、产物正文或审查结论。
示例 condition type 包括但不限于:
SkillResolvedProfileResolvedFlowValidatedPolicyCheckedAdapterBoundRegistryLoadedTrustResolvedPreflightResolvedPreflightReadyOptionalDependencyUnavailableRunPlannedStageStartedStageCompletedArtifactProducedCheckpointRequiredCheckpointApprovedRunCompletedRunFailedProfileConflictDetectedUndeclaredSideEffectObserved
type、status、reason 的机器可读结构。
非目标:不做过程式脚本
Huoban 的核心对象不描述“执行哪条命令”,而描述“这项 AI 工作需要什么能力、使用什么上下文、遵守什么边界、在哪里校对、留下什么产物”。 核心对象模型不应以这些字段为中心:Adapter 子结构或实现私有扩展中。
Huoban 要描述期望的 AI 工作结构,而不是把自己变成 CI 脚本格式。