Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 15 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,15 @@ AI 调度、runtime assurance、shielding、Capability 与 agentic scheduler con
C-first 确定性执行边界、统一授权语义和独立事实验收”作为待反证的组合差异。精确覆盖关系和
必须复现的直接基线见[前人工作与阅读地图](docs/prior-art.md)。

FlowKernel 不是通用 Agent Harness。Prompt、上下文、记忆、规划、技能与工具选择属于不可信的
智能编排域;Harness 只能提交有类型的 `ActionProposal`,不能给自己签发 Capability,也不能
直接控制调度器。确定性权限边界负责约束行动,资源机制负责落实硬上限:

> Intelligence proposes. Authority constrains. Mechanism enforces.

“Harness 越狱不应自动成为权限提升”是需要由隔离、旁路测试和故障证据验证的设计不变量,
不是当前仓库已经实现的安全保证。

## 实现契约

> C owns mechanism and enforcement; policy sources may only propose bounded actions.
Expand All @@ -44,6 +53,8 @@ C-first 确定性执行边界、统一授权语义和独立事实验收”作为
迁移前有效检查点等约束不能交给奖励函数自行领悟。
- **Mechanism and policy stay separated.** 学习系统可以调整策略,但不重写上下文切换、
中断、页分配和锁等底层机制。
- **Harness, authority and resource mechanism stay separated.** 智能编排、确定性授权与资源
落实只共享版本化合同,不共享凭据、执行入口、可变状态或故障域。
- **Execution is not truth.** `ALLOW` 只表示动作获准,`SUCCEEDED` 只表示执行器报告完成;
关于现实的声明仍需独立读回和证据裁决。
- **Every privileged transition has provenance and recovery.** 记录 Principal、授权、目标、前后
Expand Down Expand Up @@ -137,11 +148,13 @@ flowchart TD
| [PlainJournal](https://github.com/NoctilumeDev/PlainJournal) | 分布式业务系统的可靠性、恢复与资源边界 |
| [PlainJournalPro](https://github.com/NoctilumeDev/PlainJournalPro) | 多商户平台、账本结算与异构服务治理 |
| [VeriTrail](https://github.com/NoctilumeDev/VeriTrail) | 受控执行、事实读回、失败保留与外部验收 |
| [JPyxis](https://github.com/NoctilumeDev/JPyxis) | 异构计算中控制、定义、运行时与合同的解耦 |
| FlowKernel | 概率策略如何在确定性行动、权限、来源和恢复边界内运行 |

前三个应用项目提供所有权、资源、故障与恢复样本;VeriTrail 提供独立验收和事实资格方法;
FlowKernel 研究这些约束如何进入执行底座。集成的是失败后留下的边界思想,不是把现有项目
代码拼进内核。它们都是问题来源与控制组,不是 FlowKernel 已完成研究的证据。
JPyxis 研究异构计算能力怎样通过合同挂载而不共享控制权;FlowKernel 研究这些约束如何进入
执行底座。集成的是失败后留下的边界思想,不是把现有项目代码拼进内核。它们都是问题来源与
控制组,不是 FlowKernel 已完成研究的证据。

## 当前不做

Expand Down
7 changes: 6 additions & 1 deletion docs/architecture-hypotheses.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,12 @@ FlowKernel 的 C 执行器提供有限动作:调整预算或权重、限流、
迁移和放置。Linux reference lab 使用 cgroup、`sched_ext`、eBPF 和确定性控制器表达相同的
对照动作。规则或学习系统只在动作集合内提出建议,不能绕过 Guard 和执行层。

预期收益是策略可以独立迭代、回放和回滚;需要验证的代价是跨层状态同步与控制延迟。
Agent Harness 若被接入,只属于不可信策略侧。它可以管理 Prompt、上下文、记忆、规划和工具
选择,但只能生成版本化 Proposal;权限边界独立完成 Capability 与状态校验,资源机制只接受
已经授权并截断到资源包络内的命令。三者不得共享可绕过合同的调用路径、凭据或可变控制状态。

预期收益是策略可以独立迭代、回放和回滚,Harness 失守也不自然升级为资源控制权;需要验证
的代价是跨层状态同步、权限衰减、控制延迟和隔离机制自身的复杂度。

## H2:Fast Path 与 Slow Path 必须分离

Expand Down
25 changes: 18 additions & 7 deletions docs/execution-os-constitution.md
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@ AcceptanceVerdict 也不自动映射为认识状态:`PASS` 只能支持本次
`INCONCLUSIVE`、`BOUNDARY` 和 `PENDING` 都不能被升级为成功。资源不足、观测冲突或验收链
不完整时,系统必须保留 `UNKNOWN`、`PARTIAL` 或未验证状态。

## 4. 八条宪法边界
## 4. 九条宪法边界

1. **概率智能默认不拥有执行主权或事实权。** 规则、启发式、RL、LLM、Agent 与人工判断都
可以产生候选策略,但都不能仅凭自信把判断写成系统事实。
Expand All @@ -106,6 +106,10 @@ AcceptanceVerdict 也不自动映射为认识状态:`PASS` 只能支持本次
变化与 break-glass 必须显式、限域、限时、留痕,并具有撤销或恢复路径。
8. **UNKNOWN 必须得到保护,系统自身也必须可恢复。** 模型缺席、节点失败、维护者换机、
凭据轮换或原托管平台失效,都不能自动抹掉系统事实与工程记忆。
9. **智能编排、权限调停与资源机制不得合并为单一信任域。** Agent Harness 可以管理 Prompt、
上下文、记忆、规划、技能和工具选择,但只能提交有类型的 Proposal,不能自行签发
Capability、授权自身或直接操作资源机制。权限边界只把通过校验的 Proposal 转换为有界命令;
调度器与底层机制只认识 workload、预算、优先级、期限和硬上限,不解释模型或业务语义。

这里的“没有绝对控制权”不是声称物理机所有者、固件、编译器或托管平台已经被 FlowKernel
消除。它表示在系统所声明的信任边界内,不给任何日常主体提供未经完整调停的 God Mode;
Expand All @@ -116,10 +120,12 @@ AcceptanceVerdict 也不自动映射为认识状态:`PASS` 只能支持本次
```mermaid
flowchart TD
principal["Human / Agent / Service\nPrincipal"] --> intent["Intent / Request"]
intent --> policy["Policy plane\nRule / Heuristic / RL / LLM"]
intent --> policy["Untrusted policy / Agent Harness\nPrompt / Plan / Rule / RL / LLM"]
policy --> proposal["Versioned ActionProposal\nUntrusted"]
proposal --> core["C-first trusted core\nIdentity handles / Capability checks\nLifecycle / Resource / Isolation\nGuard / Bounded executor / Recovery"]
core --> runtime["Runtime / Hardware"]
proposal --> authority["Deterministic authority boundary\nPrincipal / Capability / Object\nLifecycle / Guard / Provenance"]
authority --> command["Authorized bounded command"]
command --> mechanism["OS resource mechanism\nScheduler / Memory / I-O / Network\nProcess / Device / Isolation"]
mechanism --> runtime["Workload / Runtime / Hardware"]
runtime --> observation["Result / Observation"]
observation --> acceptance["External acceptance\nRuntime / Artifact / DB / Browser / Verifier"]
acceptance --> runVerdict["AcceptanceVerdict\nPASS / FAIL / INCONCLUSIVE / BOUNDARY / PENDING"]
Expand All @@ -129,10 +135,11 @@ flowchart TD
epistemic --> policy
```

这个结构故意保留两条边界:
这个结构故意保留三条不能折叠的边界:

- C-first 可信核心负责“动作能否发生、怎样有界发生、失败怎样回退”,不负责替业务世界宣布
最终真值;
- Agent Harness 与其他策略源负责表达意图和候选动作,但不拥有授权、资源或机制入口;
- 确定性权限边界负责“动作能否发生、允许到什么范围”,底层资源机制负责“实际最多能够发生
到什么程度”;两层只通过有界命令连接,不共享 Prompt、策略状态、凭据或隐式控制流;
- 外部验收负责“行动后的现实究竟是什么”,但不直接修改被验对象、Guard 或历史记录。

VeriTrail、GitHub 门禁、数据库、浏览器和发布物读回可以为 Acceptance 提供方法或事实源,
Expand Down Expand Up @@ -166,6 +173,10 @@ FlowKernel 不以消除幻觉、误判或 reward hacking 为可交付目标。
Error impact is a subset of the authorized isolation domain.
```

因此,`Jailbreak != Privilege escalation` 是一项必须验证的系统不变量,而不是对模型对齐能力
的乐观假设。Harness 策略失守最多只能产生违规 Proposal;若它能够据此签发权限、修改 Guard、
扩大资源包络或绕过资源机制,就说明分层已经失败。

任何策略源都不能因为一次错误判断而自然获得以下能力:

- 修改不属于该 Principal 的对象;
Expand Down
8 changes: 8 additions & 0 deletions docs/prior-art.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,14 @@
动作的 fallback。它是 FlowKernel 讨论 Agent Principal、有限动作和 complete mediation 时
必须比较的应用层基线;其工具调用策略不等于内核 Capability,也不覆盖资源所有权、恢复后
权限保持或外部事实验收。
- [Microsoft Agent Framework:Agent Harness](https://learn.microsoft.com/en-us/agent-framework/get-started/harness):
把规划/执行模式、待办、上下文压缩、文件记忆与访问、工具审批和跨轮会话状态作为 Harness
脚手架。它是 FlowKernel 划定应用层编排责任的直接工程基线:这些能力属于不可信策略域,
不是 C-first 权限边界或资源调度机制,也不能因存在工具审批就推导出系统级最小权限。
- [OpenAI:A practical guide to building agents](https://openai.com/business/guides-and-resources/a-practical-guide-to-building-ai-agents/):
将模型、工具与指令/guardrails 作为 Agent 的基础组成,并讨论工具行动与编排。FlowKernel
不把工具调用或 Agent loop 当作研究创新;它需要额外验证的是 Harness 失守后,Capability、
硬资源上限、机制隔离和恢复边界是否仍由独立、确定性的层次保持。
- [NIST Separation of Duty](https://csrc.nist.gov/glossary/term/separation_of_duty):说明职责与访问
授权可以被拆分,从而减少单一主体独立滥用系统的风险。FlowKernel 只把它作为未来高风险
governance transition 的候选原则,不在单维护者阶段伪造多人治理。
Expand Down
9 changes: 9 additions & 0 deletions docs/threat-model.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@
| workload 与应用进度信号 | 不可信 | 可能错误、过期、伪造或被操纵 |
| Human / maintainer / administrator | 有权但非 Oracle | 可能误判、定义错误目标、越权或凭据被盗 |
| Agent / service principal | 不可信请求方 | 只能在持有的 Capability 范围内请求动作 |
| Agent Harness | 不可信智能编排域 | 可管理 Prompt、上下文、记忆、规划和工具选择;只能提交 Proposal |
| FlowKernel C 可信核心 | 可信计算基 | 必须小、可测试、可在无模型时独立运行 |
| 最小架构汇编 | 高风险可信边界 | 只提供 C 无法表达的启动、中断和切换接口 |
| 内核与硬件计数器 | 有限可信 | 仍可能延迟、丢失、溢出或被错误解释 |
Expand Down Expand Up @@ -62,6 +63,9 @@
同时依赖一个无法恢复的组件。
21. **恢复扩权**:checkpoint、灾难恢复或维护者接管路径绕过原 Capability、租户隔离或审计要求。
22. **治理失活**:职责分离或多人批准形成死锁,导致补丁、撤销、恢复或紧急停机无人能够完成。
23. **Harness 失守与边界混淆**:prompt injection、越狱、恶意上下文、工具返回或规划错误使
Harness 产生越权 Proposal;共享凭据、直接机制入口或混合状态又把策略错误升级为权限和
资源突破。

## 硬不变量

Expand All @@ -70,6 +74,8 @@
- 每个特权动作都必须属于 allowlist,并通过 Principal、Capability、Object、范围、参数、
时限、撤销状态和版本校验;
- 作者、管理员、人类审批和模型置信度都不能形成绕过 Guard 的隐藏旁路;
- Harness 不得签发 Capability、授权自身、修改 Guard 或直接调用特权执行器与资源机制;
- 权限边界与资源机制分别校验授权范围和硬资源上限,不能只信任上游的“已批准”字段;
- 生命周期转换必须来自当前状态允许的边,并满足唯一所有者与资源后置条件;
- 架构汇编不能包含策略分支,C/汇编调用边界必须保存并恢复约定状态;
- 任何外部长度、索引、枚举和句柄在使用前完成边界与生命周期校验;
Expand Down Expand Up @@ -101,6 +107,9 @@
- 非法、越界、重放和高频动作建议;
- capability 委托、衰减、过期、撤销、缓存失效与 confused deputy;
- 模型超时、崩溃、漂移和不稳定输出;
- Harness 在 prompt injection、越狱或恶意工具输出下请求删除边界外对象、修改 Guard、扩大
CPU/内存/设备配额和访问未授权网络时,权限层拒绝或截断且资源层硬上限保持;
- 绕过 Harness 或权限层直接调用下一层,以及伪造“已批准”命令时,目标层独立校验并 fail closed;
- Guard 与执行器重启、磁盘压力和审计写入失败;
- Guard/authority state 损坏、可信核心资源耗尽和 fallback 控制器接管;
- 网络分区、租约过期、重复恢复和损坏 checkpoint;
Expand Down
29 changes: 29 additions & 0 deletions docs/vision.md
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,35 @@ Slow Path 不是 RL 专属路径。静态规则、启发式、自适应阈值、
Policy source,并输出同一种有类型、带 Principal、Object、能力范围和有效期的 Proposal。
若简单规则更好,系统应保留简单规则。

### Agent Harness 与资源机制

通用 Agent Harness 通常负责长任务所需的规划与执行循环、待办、上下文压缩、文件记忆、
工具审批和会话持久化。FlowKernel 不重复实现这些应用层能力,也不把 Harness 纳入可信调度
核心。若未来接入 Harness,它只是一种不可信 Policy source:

```text
Agent Harness
Prompt / Context / Memory / Planning / Tool selection
|
| typed ActionProposal; no self-issued authority
v
Deterministic Authority Boundary
Principal / Capability / Object / Lifecycle / Guard / Budget
|
| authorized, clamped and bounded command
v
OS Resource Mechanism
Scheduler / Memory / I/O / Network / Process / Device / Isolation
```

三层只共享版本化合同与不可变标识,不共享可变状态、凭据、特权执行入口、恢复所有权或故障域。
Harness 不理解中断、页分配和调度器内部结构;资源机制不解释 Prompt、模型置信度或“任务很重要”
之类的 AI 语义。适用平台上的候选实现应优先使用不同进程、地址空间、身份和资源包络建立真实
隔离,但具体 IPC、Capability 表示和部署拓扑仍需由 R0/R1 实验决定。

目标不是证明模型不会被越狱,而是验证:即使 Harness 产生恶意或错误 Proposal,它仍不能自行
扩权、修改 Guard、触碰边界外对象或突破底层硬资源上限。

### Authority 与事实边界

- 人、Agent、服务及策略运行时作为 Principal;规则与模型是由 Principal 使用的版本化 policy
Expand Down