认知应用 · Draft

Yao Morphz Runtime Profile v0.1

规范正文 · 与源码同步在 GitHub 查看源码

状态:草案

维护者:新变元

规范原文:English

最后更新:2026-08-21

1. 目的

本 Profile 在不把 Scheduler 暴露为语言控制面的前提下,将 Yao Core 绑定到 Morphz Runtime, 定义稳定 Host Object、不可变 View、Host Effect、Capability Settlement、Lowering Target 与 Resource Limit。

2. 边界规则

当一个操作的正确性依赖 Yao 类型、因果身份、事务、恢复或 Runtime 权威结算时,它属于 本 Profile;可替换的领域能力属于 Tool Schema。Yao 可以观察并请求改变 Runtime 语义对象, 但不能直接修改数据库行、Lease、Revision、Queue、Worker、Scheduler Job、Thread Activation 或 Provider Client。

3. Host Object

Agent Objective Evaluation Context Evidence Outcome
HarnessBinding CapabilitySet Principal ExecutionTarget Program

Thread 可以作为只读因果/诊断引用。ActivationExecutionJobPlanExecution、Queue、 Lease、Fence 与数据库 Record 不是语言对象。Ref 不可伪造,按 Kind 与稳定 Identity 比较; 源码不能从 String 构造 Ref。

4. Evaluation Environment

Morphz 在准入时提供 typed immutable runtime Record:

runtime.agent              Ref<Agent>
runtime.evaluation         Ref<Evaluation>
runtime.context            Ref<Context>
runtime.objective          Option<Ref<Objective>>
runtime.harness            Option<Ref<HarnessBinding>>
runtime.capabilities       Ref<CapabilitySet>
runtime.principal          Option<Ref<Principal>>
runtime.execution_target   Option<Ref<ExecutionTarget>>

例如 runtime.context。快照身份绑定 Evaluation,读取为纯操作;获取更新或扩张的 Host View 是显式 Host Effect。

Runtime 持有的程序执行到嵌套 infer 时,Morphz 不会把父级词法环境隐式复制给模型持有的 正文。只有 Yao 源码在 (captures ...) 中明确列出的父程序绑定才可以越过该边界;Morphz 只把这些值序列化到可能发送给当前配置模型服务商的内部请求。源码 Artifact、捕获名称与序列化 值都进入持久因果记录,因此进程重启不能扩大或改变披露集合。

5. 不可变 View

(host.view REF (returns TYPE))

Effect 为 (host view.KIND)。Runtime 校验 Type 是否为该 Ref Kind 允许的投影,以及 Principal 是否可见。初始投影包括 Objective、Evaluation、Context、Evidence、Outcome、HarnessBinding、 CapabilitySet、Principal 与 ExecutionTarget 的语义摘要,不包含存储、Secret 与 Scheduler 内部状态。

6. Evidence 与 Outcome

纯构造候选值:

(evidence (kind "test-result") (value EXPR) (refs REF...))
(outcome (status succeeded) (value EXPR) (evidence REF...))

显式持久化:

(evidence.commit CANDIDATE)
(outcome.commit CANDIDATE)

Effect 分别为 (host evidence.commit)(host outcome.commit)。Runtime 校验 Route、Authority、 Evidence Identity、Completion Contract 与不可变 Event,返回 Ref<Evidence>/Ref<Outcome>

Candidate Type 是封闭的 Runtime Value。源码只能通过 evidence/outcome 构造,不能用 decode、Raw JSON 或伪造 Tag 得到。提交前 Morphz 会重新验证完整 Transport Shape,并确认 每一个 Evidence 引用都来自同一 Context 内由 Runtime 提交的 Event。

7. Objective Effect

(objective.report (objective REF) (progress EXPR) (evidence REF...))
(objective.propose-wait (objective REF) (condition EXPR) (reason String))
(objective.propose-completion (objective REF) (outcome REF))

这些操作向 Objective Authority 提交带类型、Revision-aware 的 Proposal。 objective.report 提交不可变 Progress Fact;objective.propose-wait 通过 Objective Supervisor 校验并应用等待条件;objective.propose-completion 只消费同一 Context 中已提交的 Outcome,再准备完成转换。每个操作都返回带 Proposal Identity 及适用 Before/After Revision 的类型化不可变 Receipt。同一已准入 Proposal 在恢复时必须重放既有结果,不得让 Objective Revision 前进两次。程序不能直接设置 Objective Status 或 Revision。

8. Context Effect

(context.propose
  (context-transaction
    (context REF)
    (transaction (context-tx ...))))

context-transaction 是封闭的 ContextTransaction 值。源码只能通过该语法构造,不能由 decode、Raw JSON 或伪造 Tag 构造。外层 Ref<Context> 必须属于当前 Plan Authority;内层 context-tx 源码由既有 Context Authority 解析并提交。Effect 为 (host context.propose), 返回包含 Proposal Identity、Transaction Identity、已提交 Context Version 与 Status 的类型化 不可变 Receipt。同一已准入 Proposal 在恢复时必须返回既有提交,不得重复应用状态变化。 Protected Frame、MVCC Conflict、Transaction Budget 与 Context/Mind 原子修改继续由 Context Authority 所有,而不是由 Yao 自行实现。

9. Lowering

Yao Morphz Authority
call ExecutionJob 或等价的受控 Tool Completion
nested infer Child Evaluation / ThreadActivation 中的完整模型持有 Yao 正文
par Plan Branch Group 与 Child PlanExecution
run 绑定 Validated Program Value 的 Child PlanExecutioninfer 根立即发出 Child Evaluation
host.* Typed Runtime Command 与 Immutable Event/Transaction
terminal value Plan Outcome

公开 Yao 因果 Schema 使用 Program、Effect、Branch、Outcome、Evidence;内部表名与调度策略 不构成规范。

10. Capability

Profile Capability 包括 Tool、infer、各类 host Effect 及 (program EFFECT...)。 创建 Program<T,E> 需要接收该 E 上界程序的权限;run 还要当前拥有每个实际 Child Effect。CapabilitySetView 不得包含 Secret 或 Provider Credential。

11. Resource Profile

资源 默认硬上限
Source Byte 256 KiB
Syntax Nesting 128
Semantic Expression Depth 32
Typed HIR Node 4,096
Record/Map Field 256
串行 map Element 64
Root Program Tool Effect 128
Nested Inference 8
每个 par 分支 32
同时调度分支 部署配置,至多 32
Program Value Nesting 4

部署可以降低但不能提供无界上限。

12. 源码与存储迁移 Profile

Morphz .hns Entry、eval Function Call 和 Program Value Candidate 必须使用唯一的 Typed Yao 源码语言,且不得包含 (version ...)。Plan IR v1 可保持可解码,直到正式迁移移除; 该 Decoder 仅服务于存储迁移,不得形成 Legacy 源码准入路径。

13. 安全要求

Morphz 必须测试 Ref 不可伪造及 Context/Agent 隔离、无法通过 requires/infer/par/ Program Value 扩权、Host View/Diagnostic/Canonical/Provenance 不泄露 Secret、Effect Identity Fence 与精确父级恢复、Objective/Context Revision、取消传播、旧 Program Authority 拒绝、 执行前 Hash 校验及恶意模型输出的有界解码。

14. 实现状态

截至 2026-08-21,参考实现已经包含带 Span Parser、Type/Effect Checked HIR、Pure Evaluator、 精确 Typed Inference Decode、Named Record/Union 与穷尽 match、结构化 par、支持 以 evalinfer 为根并按求值所有者持久分派的 Program Value,以及注入的 runtime Snapshot。 生成的 Program Child 不继承调用方局部绑定,剩余 Program Budget 只转移、不补充。

Morphz 还实现了可安全重放的 Host Receipt、受权 Immutable View、Evidence/Outcome Commit、 实际应用的 Objective Operation 与类型化 Context Transaction。Host 边界会重新验证 Candidate Transport;Evidence 与 Outcome 引用必须是同一 Context 中的 Runtime Commit;Objective Operation 必须携带当前 Objective Ref。Objective Wait/Completion Proposal 只能经 Objective Supervisor 应用,Context Transaction 只能经 Context Authority 应用。确定性的 Proposal 与 Transaction Identity 封闭了 Authority 已提交而 Host Receipt 尚未持久化的崩溃窗口,并避免 重复状态转换。

ExecutionTarget View 注入与跨全部 Child Plan 的取消传播仍是草案工作。参考实现只对已经 落地的 Surface 记录一致性证据,尚不声明完整 v0.1 Conformance。