路线图
仓库中的 ROADMAP.md
是唯一事实来源。A3S Use 尚未发布受支持的产品版本,也未达到
production-ready。合约完成和测试通过只是实现证据,不是发布声明。
当前协议基线
当前预览版只接受一条合约线:
首个受支持版本之前,过时的预览 schema、API、receipt 和磁盘状态会被删除,
不会被当作兼容目标。遇到不支持的状态时 fail closed,并提示清理后重装。
SemVer、requires_use、宿主 target 和 provider capability 检查仍是必须的
正确性规则。
领域包必须与 package manager 本身分离。当前阶段 a3s-use-science 不属于本仓库、
workspace、runtime、CI 或 release graph;未来如需集成,必须与其他领域包一样通过
公开包合约作为已签名 Registry package 分发。
Host protocol v6 显式绑定 User 或 Workspace scope kind,并只从持久化 Host、
graph、enablement 与 lifecycle 证据推导 operation phase 和有界 checkpoint 数。
不同 kind 下相同 textual ID 具有不同 fence 和 replay store。status revision
绑定完整 projection,watch 最多长轮询 30 秒;显式用户 cancellation 只在
durable admission 前接受。多包进度不会把 currentSurface 错归到某个包,只有
durable Host outcome 才会报告 Completed。
ROADMAP A2 是下一个发布关键的权威切换。ADR-003 要求每个安装使用一个 SQLite/WAL Control Store,通过类型化聚合事务提交本地控制状态,并用 outbox 隔离外部 provider 副作用。数据库可以先完成验证再启用,但绝不能镜像当前 JSON 权威;graph、operation、Grant、enablement、binding、capability、reachability、 diagnostic、backup 与 restore 的读取方必须一起切换。
仓库现在包含一份 由测试约束的协调切换清单。 它让每个受支持的 installation-state 叶节点只归属一次,并固定所有必须在禁止双写、 禁止旧状态回退读取的前提下同步切换的消费者。这只冻结了实现边界;生产启用仍保持关闭, 也尚未完成任何 A2 项。
当前检入的 Control Store 内核仍刻意保持未启用状态。其 clean-state schema-v11
聚合会持久化每个规范化的完整 reviewed Plan envelope 与带版本的 authorization
evidence,并从中推导 operation identity、Plan/authorization digest、action、root
package、installation scope 与 generation cursor;重启、离线导出验证和 staged restore
都会重新核对这些关系投影。installation generation、期望 package-state generation 与
immutable package-lifecycle generation 与 Grant receipt revision 仍彼此独立。完整的下一代
snapshot、两类 package generation 与目标 Grant inventory 现在由 reviewed Plan、精确
prior generation、有界的已提交历史,以及 authorization-v2 中的 prior snapshot、change set
和 confirmation evidence 确定性投影得到;resolved Grant 的字节、摘要与 receipt revision
不再由调用方提供。commit、离线导出与 restore 会拒绝偏差。该规则覆盖五种操作、User 与
Workspace 安装、共享依赖的多根图,以及 uninstall/reinstall。它还会为每个已启用的 Tool 与 MCP
surface 从 reviewed Plan 中推导精确的 Runtime provider selection,保留无关 package 的选择,并移除
已禁用或已删除 surface 的选择。candidate capability digest 会绑定目标 snapshot、package lifecycle
identity、Grant revision 与 provider selection,但不会在外部 effect 成功前声称 endpoint、readiness、
编译产物或 Knowledge observation 已经存在。同一投影还会推导所有无法加入本地事务的
有界工作:surface prepare、capability cutover、已接受调用的 drain,以及 surface stop/remove。
依赖 surface 先准备并按反向顺序退休。每个 intent 都绑定类型化的 Capability Index、
invocation lease、Runtime、Flow、Knowledge、Skill 或 UI owner;Tool 与 MCP effect 保留
精确的 reviewed provider selection。Package state、lifecycle identity、Grant 与 provider
selection 是事务事实,不会再被复制为伪 effect。Payload 字节、带域分离的 idempotency key、
digest 与关系投影在同一事务提交;claim 与 completion 会在重启后把它们
重新绑定到已提交 generation,并拒绝不完整的 outbox inventory。Applied outcome 现在会保存
规范化、owner-specific 的 Capability Index、invocation lease、Runtime Task/不透明 Service
readiness、Flow artifact、Knowledge projection 或 Skill/UI content evidence;deferred、rejected 与
unknown outcome 不能携带 applied state。Deferred 只表示 owner 已证明没有接受任何 effect,并持久化
一个有界 not-before 时间,以便到期后自动复用原 key。记录 cutover application 的事务会在 drain 前原子推进 publication;
之后的必需 effect 失败保持 effects-pending,并以同一 key 显式 reconciliation,而不会回滚已可见
generation;operation completion 也不能早于 provider observation。该内核还验证了 snapshot、
完整 Grant、reviewed provider selection、capability history、跨重启的 unknown/expired claim
显式 reconciliation、可离线验证的确定性导出,以及 clean staged restore。未启用的单 effect
dispatcher 现在会在 claim → owner I/O → observation 全过程持有 installation 级共享 maintenance fence,
然后提交 claim,在 owner I/O 前释放事务与有界 executor,再把精确 identity 路由到
彼此独立的 Capability Index、invocation lease、Runtime、Flow、Knowledge、Skill 或 UI 端口,并在之后
记录 owner-shaped observation。经 owner 证明的 safe-no-effect deferral 会在持久化 not-before 时间之前
阻止 claim,到期后无需 reconciliation,只自动重试原 key。Provider timeout 必须在 claim lease 内保留固定的 observation 预算,
并记录为 unknown evidence。Timeout 或调用方取消只会停止等待,不会取消可能已被接受的 owner task;
该 task 会继续持有同一个共享 maintenance guard,直到自身真正结束。进程退出、过期 claim 与含糊结果
都必须显式复用同一 key 完成 reconciliation。测试已覆盖 provider I/O 期间重入 Store、七类路由、
挂起 provider 的有界等待、task panic、取消等待,以及 effect 后 observation 前退出。同一个 claim 事务现在还会推导 owner-shaped committed context:package
端口只接收精确的 selection、lifecycle、host、snapshot identity 与 Grant;Runtime 额外接收完整的 reviewed
provider selection;Capability Index 接收 candidate generation,以及每个已启用 selected surface 的最新终态
prepare,包括跨 multi-root generation 保留的历史 observation 与显式 optional degradation。Grant coverage
缺失、最新状态仍非终态、teardown 冒充 prepare 或 generation 漂移,都会在 owner I/O 前 fail closed。
并发的 whole-installation restore 在 observation 持久化之前,或仍有分离的进程内 effect task 运行时,
无法取得排他 maintenance fence。
多 package generation 提交也已改为先写入完整 node set,再在同一事务写入带立即外键的 dependency edge。
Artifact Store 现在提供不可克隆的 verified package lease:它同时持有全局 reachability 与单 artifact
mutation 共享锁,拒绝 quarantine 或未完成 GC,绑定完整 package fingerprint、受限 manifest、精确文件/字节
计数、catalog surface graph 与声明文件,并且不暴露 package root。首个真实的 post-commit adapter
现已覆盖 immutable Skill/UI preparation:它会重新派生 typed owner 与原始 idempotency key,只通过该
lease 读取精确的 named surface,并在读取后复验完整 package;无路径 receipt 不受重试 claim metadata
影响。Artifact Store contention 会成为可自动复用同一 key 的安全 deferred,篡改、缺失或 authority
替换会成为已证明无副作用的 rejected,这个只读 adapter 不会产生 unknown acceptance;static
stop/remove 也不依赖 artifact 路径。生产 lifecycle 仍不会构造 dispatcher。OKF Knowledge adapter 现已加入
同一个 committed Control boundary:首次
prepare 使用经过验证的无路径字节,先保存 staged receipt 再 promote,在 applied 前保存 promoted evidence,
并可仅凭保留 receipt 重放;任何可能已被接受的外部 effect 或后续 receipt 写入歧义都保持 unknown。真实
SQLite 组合测试覆盖已提交 claim 到持久化 Control observation。Artifact-only admission 具备幂等性、会重验
prepared source、不创建 lifecycle receipt,并让 reference admission 跨越独立 Control commit。Capability
Index 与 invocation lease 现在由第三个真实的 Capability Plane adapter 共同实现。它先调用 host-owned 的纯 Agent catalog projector,拒绝不属于 enabled 且已准备 surface incarnation 的 descriptor,再写规范、内容寻址的
Index document,applied Control observation 仍是唯一 publication cursor,并绑定不可变 Agent catalog 身份。Admission 在取得每个精确 package
incarnation 的共享锁前后各读取一次 Control cursor,因此并发 cutover 会让 admission 返回 stale;排他 drain
会在 accepted call 活跃时安全 deferred。发布具备 no-follow、no-replace 与精确崩溃重放语义。Index 和 lease
文件都是备份排除的派生 operational state;coordinated legacy inventory 现在会把 canonical catalog 与 descriptor-snapshot 记录作为严格的 CapabilityPayloads family 校验,并拒绝 owner 的 staging/lock/journal 残留;生产 owner-native restore、retention 与 Control registry cutover 仍未完成。真实组合测试覆盖
Knowledge、Skill、catalog/Index cutover、stale admission 与同一 key 的 drain 重试。严格的 descriptor projector
现在只接受经过 host 验证的 CapabilityDescriptionProof,并要求显式的 package-scoped signer allowlist。它会在
派生 opaque route reference 前核对精确的 package/lifecycle/catalog provenance、selected-surface dependency、
prepared owner receipt、active Grant coverage,以及 reviewed Tool/MCP shape。这仍是确定性的 subset gate;key
custody 仍未完成。安装级 descriptor snapshot store 现在会把精确规范化 proof set 与 signer policy
绑定到 Control candidate identity,以 canonical bytes 做内容寻址,使用有界 no-follow staging、no-clobber
发布并在重启读取时复验。缺失证据会安全 deferred,替换、重复 key 或篡改会 fail closed;coordinated backup 会校验并归档该 canonical snapshot,但该 store 仍是
未激活的 external owner。Runtime Tool release 规划现在会沿未激活的
Runtime/Control 路径携带规范化 input/output schema attestation;生产 Control/Runtime wiring、key
custody 与 owner-native clean-target restore/retention 仍未完成。core 现在定义了 domain-separated 的
SignedCapabilityDescription envelope,extension boundary 使用有界 Ed25519
trust store 校验 key rotation、expiry 与 revocation。Gateway facade 现在会在
获取 Control snapshot lease 和构造 provider resolver 之前验证 signed envelope;
这只是已验收的机制/组合接缝。Registry/TUF key source、Control proof admission
与 production lifecycle wiring 仍未完成。Flow owner 现在也沿同一边界完成
qualification:读取 path-free verified 源码 payload,以 durable no-clobber 内容寻址方式写入 owner
workspace,并且只委托 a3s-flow 执行 Native TypeScript preflight。package root 不会跨越 owner 边界;
源码替换或 preflight 失败不会写入 Control observation,Artifact Store 争用则沿同一个 key 安全延迟。
非激活 Runtime owner 现在也在同一已提交权威边界上完成验收,覆盖 release-backed Tool Task、Tool Service
与 Streamable HTTP MCP。首次 prepare 只读取无路径、已验证的 release payload;Task 不创建 Runtime unit,
Service 则按单调顺序持久化 requested、精确 Runtime observation、类型化 Gateway readiness 与最终 binding。
最终 receipt 可在不访问 Artifact 的情况下重放,终态 provisioning 重叠不会触发第二次 apply,退休只使用
receipt-owned 精确证据。外部 effect 前的争用可安全 deferred,authority 或字节漂移会 rejected,任何 effect
后的歧义都保持 unknown。Runtime 现在提供有界规范 plan payload 与重启安全 resolver,可以从已提交
semantics digest 重建完整计划并重新校验精确 provider evidence。安装级、宿主拥有的
RuntimeSurfacePlanStore 现已作为持久化 source 完成验收,支持规范 digest 寻址、有界批量发布、no-clobber
写入、可重启读取和篡改 fail closed。它只拥有 payload 字节而不拥有 desired state,因此生命周期转换必须先
发布精确的新记录,再提交对应的 Control effect。生产 lifecycle 仍未构造 dispatcher;它必须把该 source
与原子的 composition 绑定到 committed authority,不能把本次验收使用的进程内 selection 当作生产权威。当前内部资格组合会从已注册的 reviewed operation 投影完整的 Control transition,校验精确的 Runtime
prepare 覆盖与 reviewed Grant proposal digest,并在同一个安装级共享 maintenance fence 下先发布 immutable plan,再提交投影后的 generation。这进一步收窄了 cutover 边界,但不会激活 private kernel,也不接受调用方选择的 transition 字段。私有的无路径 payload
契约现已冻结六个外部 owner ID
及其 ACL backup policy;
全局 Artifact Store 被明确排除,另外五个 owner 必须形成一组完整、规范、绑定精确 installation、
Control generation、registry/owner schema、digest 与有界计数的 receipt。私有 session 现在会在一个
排他 maintenance fence 下冻结精确的规范 Control export digest,并在 owner I/O 前释放 SQLite 事务。
Knowledge owner 已能生成并独立复验受注册大小上限约束的 OKF SQLite/FTS5 archive 与规范
binding/selection inventory;数据库缺失时使用不会创建 live state 的零文件 manifest。Snapshot 创建与
离线验证都要求精确绑定的 Control export,把每个保留 incarnation 关联到其 prepare intent 与已提交
OKF bundle,核对 applied observation/projection evidence,并要求已删除或缺失的 applied data 具有对应
remove effect。Deferred outcome 仅作为 safe-no-effect 调度证据;claimed 与 unknown outcome 仅作为
reconciliation evidence,三者都不能选择 desired state。它仍未接入旧 backup scanner。
通过验证的 Knowledge snapshot 现在可以在 clean target 的 state root 下暂存并重新审计精确数据库,
随后在持有对应排他 maintenance fence 时,通过一次原子 rename 发布;仅在保留该 staged attempt 与 fence
时,rename 后的重试才是幂等的。非 owner、已有、含糊、链接、重新绑定或 policy 不匹配的 target 会
fail closed,absent state 不创建 payload。planning-and-diagnostic observation owner 现在已有具体的有界
snapshot、离线 verifier 与 clean-target restore boundary。它复用各认知 store 自己的 validator,只归档
终态 diagnostic history 和终态 resolution attempt,并把被排除的活跃 resolution/download record 的数量
与规范 path/digest inventory 绑定到 manifest;lock 永不进入 restore authority。No-follow 遍历、重复
检查、二次扫描、no-clobber 发布与精确 archive 验证会拒绝漂移和替换。通过离线验证的 archive 可以在不
触碰 live owner path 的前提下暂存;激活要求精确的排他 maintenance fence、干净的初始 record inventory、
原子 activating 标记与以 digest 命名的确定性 partial,从而只重放精确 snapshot 子集。Host protocol
projection 现在已有第三个具体 snapshot、offline-verification 与 clean-target restore boundary。它只归档
经过 owner validator 验证的 request-to-plan、可选 outcome 与规范 cancellation record。派生 operation 与
latest-enablement index 必须完整且一致,但不会进入 archive。第二次有界 no-follow 扫描和精确
Control-export reconciliation 会在 no-clobber 发布前完成,因此 projection 无权选择 desired state 或
package/capability generation。No-change request 会被显式保留,而不会虚构 operation。通过验证的 snapshot
可以用精确源字节与重新推导的规范 index 构造完整的 target-local owner root,并排除 legacy alias 与 lock。
激活要求精确的排他 maintenance fence 且 live root 不存在,写入绑定 snapshot 的 marker,重新审计完整物理
与语义 inventory,再原子发布整个 root 且不覆盖任何 target。确定性的 archive、record 与 marker partial,
加上发布后的 replay,覆盖本地崩溃边界。Restore Coordinator 现在是第四个具体 snapshot 与 restore owner。
其 owner-native journal decoder 只归档属于绑定 installation、规范编码且已完成的
operation。Active marker 与 operation 被排除,但两者的有界 digest inventory 仍绑定到 manifest,并覆盖
marker-only handoff。孤儿 nonterminal operation、pruning 或 temporary 残留、未知 entry、link、外来 history
与 path rebinding 都会 fail closed。No-clobber 发布前会执行第二次扫描,流式离线验证把精确终态字节与无路径
receipt 绑定到 Control export;空历史或仅 active 的历史不会创建 archive。其 self-hosted restore adapter
会保留 active marker 与可能存在的当前 operation,同时以可重放方式只替换终态历史。持久化 activation
evidence 绑定精确 before/source/target inventory。达到原生 64-record 上限时,legacy whole-installation marker
会预留一个槽位;typed complete-set marker 没有对应 operation,因此保留全部 64 条记录。Marker-only handoff、
状态前进与每个本地 partial 都保持确定且可检测篡改。Runtime plan owner 是第五个被快照的 owner:它捕获
安装级不可变 plan envelope,验证完整 key/plan 绑定,在 Host projection 激活前恢复 plan,并把引用的 Runtime
blob digest 纳入 installation artifact reachability。私有 complete-set snapshot coordinator 现在会在同一个 maintenance fence 与
timestamp 下捕获一份规范 Control export 和全部五个已注册 owner snapshot。无路径规范 manifest 绑定精确
registry、receipt、schema、digest 与字节账目。单一固定顺序 archive 会流式写到所有 Use data/state root
之外,经所有 owner-native offline verifier 完整审计后才以 no-clobber 方式发布。Absent owner 不增加 payload,
全局 Artifact Store 继续排除在外。通过验证的聚合现在可以在 .control-installation-restore 下暂存一个
确定的 clean-target attempt。无路径 descriptor 会先绑定精确 snapshot、installation、registry、Knowledge
policy 与六个 component;随后保留一个排他 fence,构建 Control 和全部 owner-native candidate。Control 会
checkpoint 为单一 SQLite 文件,按 export 往返复验并绑定物理摘要,且不会修改任何 live owner 路径。精确
重试与中断的 Control 暂存可以恢复;target 污染、link、未知 entry、重绑定与完成 candidate 漂移都会 fail
closed。完整激活会在持久化顶层 intent 前预检全部 owner。不可变 attempt 仍是权威;activation.json 是唯一
可变的有序 journal,typed 全局 .maintenance.restore.json marker 绑定同一个不可变 operation,并阻止普通
共享访问。Control Store、Runtime plans、Host projection、Knowledge、observations、Restore Coordinator 按固定顺序执行;
每一步都遵循 journal、marker、owner effect、checkpoint。每个 checkpoint 通过字节数与 domain-separated
digest 绑定规范的无路径结果;Coordinator owner 还会在修改历史前校验精确 marker 字节、长度与摘要。Reopen
会重新取得精确 guard,绑定相同 verified snapshot、attempt、registry 与 policy,并重建或验证每个
candidate/live 边界。Journal/marker partial、六个 effect 后 checkpoint 前边界、marker 退休前的第六个
checkpoint,以及 marker 删除和六个暂存树按固定顺序退休后的进程退出都能收敛。只有完整 journal 才允许
marker 缺失;乱序 live root、含糊 marker、link、重绑定和 evidence 漂移都会 fail closed。完成态 replay
不再执行 owner effect,只能恢复六个无 link 暂存树的有界固定顺序退休。21 个真实子进程退出边界覆盖顶层
协议和每个退休边界。规范的 attempt.json 与完整 activation.json 构成精确绑定 installation 的终态
收据。旧 backup 和 artifact reachability 只排除该收据;不完整、扩展、含 link 或被篡改的 evidence 都会
fail closed。生产 Grant 转换、Runtime/Flow dispatcher 组合、backup/restore 接线和协调一致的权威切换仍未完成,
因此尚未完成任何 A2 roadmap 项。
已实现基线
- Manifest v3 与 catalog v3 已覆盖命名 Tool、MCP、OKF、Flow、Skill、UI 表面、包依赖、权限上限与精确 provenance。
InstallationId(kind, id)已隔离 mutable package state、receipt、Grant、 binding、capability publication、backup/restore 和 lock。全局 Registry/TUF 与 raw-blob/expanded-tree Artifact Store 不拥有 installation authority;source prune 与 scoped uninstall 永不删除全局字节。Guarded reachability、hard quota admission 与只读 digest audit 已覆盖两个物理层。Exact-plan 逻辑隔离通过 canonical marker 原位保留 mismatch 字节并阻止新的普通访问。Verified rehydration 现要求 Artifact Store 外部候选、精确审查证据、新的全局零引用证明, 以及 prepared/completed fail-closed 恢复;完成态精确重放只读,且不再依赖 外部候选或完成后新增的引用。Confirmed GC 现要求有界的显式目标 allowlist、 新的全局零引用证明、精确物理与 lifecycle 证据、持久化 fail-closed 删除栅栏、 同分片原子退休与只读终态重放。A1 双安装验收矩阵现已让同一个已签名 OKF package 在相同文本 ID 的 User 与 Workspace 安装中分别完成 apply、restart、精确 snapshot、 leased query、upgrade、uninstall 与终态重放;每次操作都保持另一安装的 cursor 不变,并确保其已接纳 lease 仍可调用。- 有界 resolver 会冻结一个 Registry/TUF package lock,前向准备依赖,一次 发布图快照,再反向退休不再需要的包。
- standalone CLI 会把有界 enabled Registry set 持久化为 canonical ACL, authority change 必须绑定 reviewed revision;TUF/cache state 按 source identity 隔离,恢复完全相同的 identity 时不会改写 receipt。
- Plan v4 分离审查和 mutation,并绑定 operation identity、confirmation、 scope、package transition、impact、Grant、provider 与当前状态证据。
- Use 已实现类型化
PluginManagerService,在 production Host Manager 之上 统一 catalog search/inspect、稳定 installed-state 分页、status、全部冻结的 planning operation、持久 reviewed-plan 重开与 digest-only apply。标准 MCP adapter 直接从冻结合约生成 13 个 v5 tool,apply/cancellation 确认只由注入的 可信 host provider 提供;10 个 v4 tool 作为 migration contract 保留。 - 无路径的
CapabilityDescriptor与 catalog 合约、opaque reference 类型以及 embeddingCapabilityGatewayMcpServer已实现并通过 contract test。adapter 只通过注入 provider,以标准 MCP 发布 catalog 授权的 Tool;精确 snapshot lease 与 publication/package lifecycle generation 绑定也已完成。Gateway HTTP/mcp现在具备宿主配置的 bearer/Origin 检查、重复 header 拒绝、有界 in-flight/rolling-window admission、sanitized challenge/backoff 响应,以及 独立 Rust client discovery/invocation 检查;live reference resolution、 provider 现在还提供显式的 pre-invocation authorization hook,会 fail closed 并清理拒绝结果;HTTP 已支持有界的多 principal consumer mapping。生产 receipt/Runtime/Grant 组合、CLI wiring、TLS 部署与 production-host recovery 仍未完成。 - 宿主现在可以从一个 immutable
CapabilityRegistrySnapshot投影面向消费者的 Gateway catalog。该 projection 在CapabilityGatewayMcpServer::from_registry_snapshot获取 RAII lease 前,重新校验 精确 package/manifest identity、已审核 publication evidence、selected surface 与 ready binding;签名验证和 opaque reference 解析仍由宿主负责。这是 embedding primitive,不代表 live resolver 或 production multi-principal registry 已完成。 - standalone
pluginCLI 已把同样 10 个 operation 映射到该 service。planning 不产生 mutation;精确 apply 必须提供持久 operation ID、plan digest 与显式--yes,cached apply 和 replay 均保持零网络。 - Lifecycle journal 已提供精确崩溃重放、cutover-aware publication、精确 generation 排空,以及 fail-closed corruption handling。
extension inspect --json提供有界 lifecycle 历史;extension diagnose --json则在无网络访问和无写入的情况下读取一个保留的 planned/admitted/cancelled install/upgrade/uninstall 图、active admitted enable/disable operation,或最新 Host-reviewed pre-admission enable/disable plan/cancellation,并关联其 reviewed plan、Registry/TUF、provider、Grant、 cutover、drain、rollback 与 recovery 证据。- 保留图与 pre-plan attempt 会分别暴露 archive 和签名 executable-planning
target 的 expected/retained bytes 及精确
missing/partial/complete状态。 真实进程终止测试证明 partial observation、精确 Range resume 和无空窗 graph handoff。 - pre-lock resolution attempt 会跨进程保留 refreshed/cached 的逐 Registry TUF 进度、无路径 source/trust digest、有界失败码与最终 lock 证据,并在删除前先把 后继 download state 写稳。
extension diagnose --history --json会在每个 scope/package 的 8 MiB 上限内保留 最新 16 个已验证 completed/rolled-back operation 或 cancelled graph plan,在 uninstall 后仍可 查询,并对精确崩溃重放去重。- standalone 已组合 Tool Task、stdio MCP、Skill/UI projection、SQLite/FTS5
OKF,以及注入式
a3s-flowNative TypeScript preflight。 - standalone Knowledge 后端已实现 whole-scope quota、tombstone pruning、 SQLite/WAL compaction、integrity audit、non-overwriting verified backup、 canonical exact-plan oldest-first backup rotation、derived-index repair 与 authority-bound database restore。
- GitHub Pages 和中英文产品文档已经存在,但只描述开发预览版。
剩余发布计划
1. 托管宿主 provider 组合 — 进行中
- 宿主拥有的
RuntimeSurfacePlanStore已完成规范、有界、no-clobber plan 发布验收; - Runtime plan payload 已注册为第五个 snapshot owner,接入 complete-set staging、六步 activation/checkpoint 与 installation artifact reachability,恢复顺序先于 Host projection; 在启用生产 dispatcher 前,仍需把它绑定到 Control commit。
- 用持久化 host source、重启安全 resolver 与原子 dispatcher cutover 组合生产 Runtime Service 和 HTTP MCP/Gateway provider。
- 完成托管 Knowledge Workspace/session carrier 和 UI sandbox 的 ownership、 CSP、backend binding、drain、retention 与 garbage collection。
- 证明 owner 或精确 readiness evidence 缺失时,required 表面始终不发布。
2. A3S Code TUI 热插拔验收 — 进行中
- 把 A3S Code TUI 迁移到已实现的共享 Plugin Manager service,并在 Code 中 组合 manager MCP。standalone CLI 已完成收敛且保留 compatibility JSON 字段; TUI 与 product presentation wiring 不得引入第二套 plan 或 mutation 路径。
- 对全部六类表面和包含依赖的图验证 install、invoke、精确 generation upgrade、再次 invoke、uninstall 与 restart。
- 证明 User/Workspace scope 隔离、watcher resume、terminal result replay, 以及崩溃后不重复副作用。
2a. 任意 agent 的 Capability Gateway — 进行中
- PR #192 已冻结 portable
descriptor/catalog schema,并增加 embedding 标准 MCP adapter。PR
#199 和
#200 增加精确 snapshot lease,
并分离 publication 与 package lifecycle generation。PR
#202 增加共享的有界 admission 与
Streamable HTTP
/mcp;PR #203 增加重复 header 拒绝和真正的 独立 Rust client 检查。 - 仍需完成生产 receipt/Runtime/Grant 组合、CLI/service wiring、TLS 部署与
production recovery。HTTP embedding 已支持最多 64 项不可变的
token→principal registry,会完整扫描 credential 并拒绝重复 token;
Embedding API 已提供
CapabilityGatewayInvocationResolver与CapabilityGatewayResolvedProvider:一个 opaque reference 会被解析为私有 lease,与 catalog identity 校验后只授权一次,并在 invocation 结束前保持; 当前 embedding 已把 HTTP bearer authentication 选中的 principal 传给 provider authorization 与 invocation;生产宿主仍需完成 live authority 接线。 CapabilityRegistrySnapshot::capability_gateway_catalog与CapabilityGatewayMcpServer::from_registry_snapshot已补齐 snapshot 到 catalog 的有界、fail-closed 组合间隙;签名验证与 opaque reference 解析仍由宿主负责。CapabilityConsumerProfile与CapabilityConsumerNegotiation现在会把显式generic-mcp或a3sprofile 绑定到 Gateway。A3S extension label 使用 canonical contract,缺失支持时 fail closed,不会静默降级;这只是类型化协商 边界,resource/prompt 与生产宿主 projection 仍未完成。- 需要用不共享 package filesystem 的独立 Rust、TypeScript、Python client 验证 discovery/invocation,并覆盖 upgrade、restart、uninstall 与跨 scope 拒绝。
3. 分布式 Flow 与 OS 集成 — 待完成
- 在保持单一 package-owned
a3s-flow身份的前提下增加 remote placement、 scheduling、suspension、resumption、cancellation 与 observation。 - 证明远程执行只改变 placement;唯一 lock、receipt 和 lifecycle journal 仍由 Use 持有。
4. 跨平台实进程矩阵 — 待完成
- Windows x86_64 已通过真实
a3s-use进程运行签名 Registry 信任/lock、 依赖图 install/upgrade/uninstall、Grant、standalone Flow preflight/生命周期 和 OKF cutover 场景;还会在 upgrade 完成 cutover 后杀死进程,再重放已移除 依赖的清理,且 capability generation 不会膨胀。 - Windows x86_64 现已运行当前完整的 workspace 测试;确定性的真实
directory junction 回归测试证明 package 与持久状态信任边界会在遍历前拒绝
Windows reparse point。Flow Runtime 覆盖还会在 Windows 上保留精确 generation、
拒绝 artifact substitution 与被篡改或移动的 binding、按 scope kind 隔离相同
文本 ID,并拒绝 linked scope directory。共享的原生 link 测试还会使用真实
Windows directory junction,覆盖 Registry target-cache 状态、保留的 lifecycle
receipt、package graph 与 diagnostic store、enablement lock、Runtime 与 lifecycle
record、whole-state backup/restore,以及 OKF database、binding、backup 与 restore
路径。Windows 原生测试还证明,单 package 与 graph 的 cutover 容量拒绝发生在
lifecycle receipt 被替换之前,并且 Box CLI 委派到
.cmdcomponent 时会保留 参数、输出与退出状态。 - Registry state/cache、Workspace Grant、package 与 Host record、lifecycle、 Runtime、Flow、Knowledge、enablement、backup、restore 和 diagnostic 的全部 生产临时文件发布现已使用有界 Windows 重试原语,同时保留 replace 与 no-clobber 语义。restore journal/Knowledge 恢复源会在有界 rename 失败后继续 保留,whole-state restore candidate 会保留已审查的文件属性,lifecycle/ restore-history 目录移动也使用相同重试边界。短暂 file 或 directory lock 释放后会原子收敛;持续 replacement lock 会在两秒后停止,且不会改动 原 target。Registry resumable partial 现在会用单个 final-component no-follow handle 完成最终校验;promotion 随后以 no-follow 方式重开并重新哈希 final path, 再将该 verified handle 持有到 staging 完成。校验后的 replacement 会让 commit 失败;Unix staging 始终绑定已持有的 handle,Windows 则允许 reader,同时拒绝 外部写入、删除与替换。Windows 原生 scanner 测试现已证明,短暂的 no-delete-share 争用会在两秒 promotion 边界内收敛;持续争用不会发布 final target,并会保留完整 partial,供后续无网络重试重新哈希、promotion 和 staging。 invalid-partial 清理以及 stale、partial、verified-target cache 删除也使用相同的 有界 blocking retry。原生测试证明短暂争用可以收敛;持续的 selected-target lock 会保留该 entry,后续 prune 会重新扫描剩余 inventory。bounded abandoned lifecycle receipt 与 artifact staging 也使用相同的删除重试。 原生测试也把 active artifact-staging rename 争用绑定到 commit 状态机。短暂 lock 会让同一次 commit 完成;持续 lock 不会改动 receipt 或 Registry snapshot,会保留 residual staging,并允许释放后精确重放。selected upgrade-receipt replacement 现在也有同等的原生验证。reboot recovery 以及超出这些精确 promotion、cache-removal、active package-commit、upgrade-receipt replacement 与 lifecycle-removal 边界的 antivirus contention 仍未完成。
- 在声明支持的 Linux、macOS、Windows target 上运行等价的签名六表面生命 周期与故障注入场景。
- 真实进程测试现已覆盖 target 下载断点续传,以及 verified archive 提取期间 的进程终止。两种场景都不会发布任何 package 状态;提取恢复会显式使用 offline 模式,从重新验证的缓存完成且不发出网络请求。
- 真实进程 package copy 中断还证明,持久化 pending plan 与 applying journal 会重放同一 generation,回收实际 artifact-staging 残留,并在无网络访问时 只发布一次。
- 九节点真实进程 install 现会在完整 Registry 图和 durable cutover 已可见、 但一个依赖 journal 与父图记录尚未完成时被终止。显式 offline 重放不发出 网络请求,会完成精确图,并且不会再次推进 generation。
- 外部终止的 managed-host 进程现已覆盖 Registry publish/hide 边界上的五节点 权限包 install、upgrade 与 uninstall,此时 Grant operation 仍为 prepared。 恢复会禁用重新授权、不发出网络请求、保留精确 candidate Grant、只退休绑定的 prior Grant,并且不会额外推进 Registry generation。
- 真实 Host protocol 进程现已在 Registry server 下线时覆盖全部五种 reviewed mutation。install、upgrade 与 uninstall 会在五节点 graph publish/hide 后被 终止;disable 会在 root hide 和 Grant cutover 已完成、accepted-call drain 仍被阻塞时终止;enable 会在 publication 已完成但 candidate Grant 仍为 prepared 时终止。重启消费持久化的 reviewed plan 与 confirmation, install/upgrade 只使用 verified planning cache,完成 drain 与 lifecycle/Grant journal,收敛精确 candidate/prior Grant 或 enablement regrant/revocation,并且不额外推进 generation,最后持久化可精确重放的 terminal Host outcome。
- 覆盖下载中断、归档提取、cutover、drain、进程崩溃、真实产品宿主 Grant cutover、重启、verified-target promotion、cache removal 与 lifecycle removal 之外的其余杀毒软件争用,以及 reparse-point replacement race。
5. 供应链与运维 — 进行中
- 运营一个有文档的 Registry,覆盖签名、root rotation、expiry、mirror replacement、offline recovery 与 incident procedure。
- Registry add/list/replace/default/enable/disable/remove 与 exact-identity evidence restore 已实现;真实生产 Registry 的运营和演练仍未完成。
- 同一套固定 Action 与发布工具版本的 workflow 已生成确定性归档、跨平台 安装脚本、逐平台 SPDX SBOM、GitHub OIDC provenance/SBOM attestation, 以及经过本地复核的 keyless Sigstore checksum bundle。
- 两套平台 installer 均已要求 Cosign,在下载归档前按精确 tag workflow identity 验证 checksum manifest,证据无效时 fail closed,并随版本保留 已验证的 manifest 与 bundle。
- 无编译缓存的逐字节重建现已在非发布资格运行
33651777660
中覆盖全部五个 release target 的所有随包原生可执行文件并通过,源自精确的
main提交4f6e4725205d06ab81f8ea98bfee85c7eb4b2bcd,并统一使用一个 release codegen unit;该运行不发布资产。v0.3.5发布尝试因 public core crate 过期而未创建 Release。发布工作流 33675697857 的 13 个 job 均通过,并从精确的main提交54758910f2f4ad9498137410e0a2207d412e99a1为 tagv0.3.6发布已验证归档、 installer、SBOM/reproducibility 证据与 typed Use crate,见 v0.3.6 Release。独立 witness 与产品门禁仍未完成。 随后发布工作流 33687297386 的 13 个 job 也全部通过,并从精确的main提交48a0b76f8a4a87a11d16627c7bd7567920852508为 tagv0.3.7发布当前已验证 归档、installer、SBOM/reproducibility 证据与 typed Use crate,见 v0.3.7 Release (a3s-use-core 0.2.6、a3s-use-extension 0.3.7、a3s-use 0.3.7)。 - 随后发布工作流
33720485826 的 13
个 job 也全部通过,并从精确的
main提交6d3a7baf32ce998a2e487c40fbf78b4a6cda2579为 tagv0.3.8发布当前已验证 归档、installer、SBOM/reproducibility 证据与 typed Use crate,见 v0.3.8 Release (a3s-use-core 0.2.7、a3s-use-extension 0.3.8、a3s-use 0.3.8)。 - 随后发布工作流
33756618837 的 13
个 job 也全部通过,并从精确的
main提交a5f3cc40bfb0a1021ca150d2ce4295409b74d220为 tagv0.3.9发布当前已验证 归档、installer、SBOM/reproducibility 证据与 typed Use crate,见 v0.3.9 Release (a3s-use-core 0.2.7、a3s-use-extension 0.3.9、a3s-use 0.3.9)。 - 随后发布工作流
33791616307 的 13
个 job 也全部通过,并从精确的
main提交c4c80a223bfff3698ca4b4598e7175c6e3303239为 tagv0.3.10发布当前已验证 归档、installer、SBOM/reproducibility 证据与 typed Use crate,见 v0.3.10 Release (a3s-use-core 0.2.8、a3s-use-extension 0.3.10、a3s-use 0.3.10)。 - 随后发布工作流
33830280138 的验证、
五平台主构建、typed crate 与五平台独立重建门禁全部通过,并从精确的
main提交c25028ae0245ba1d28f7e2837e2a87f7e9f6fe40为 tagv0.3.11发布当前已验证归档、installer、SBOM/reproducibility 证据与 typed Use crate,见 v0.3.11 Release (a3s-use-core 0.2.9、a3s-use-extension 0.3.11、a3s-use 0.3.11)。 - 仍需增加外部运营的完整 staged tree/最终归档 witness,并把验证证据保留在 Release asset 信任边界之外。
- 继续演练缺失 Registry/package/lifecycle/Grant authority 恢复、clean-machine
恢复、跨平台 restore/retention 演练、whole-product storage
policy、telemetry、安全响应与支持 runbook。OKF scope audit/backup/FTS
repair、authority-bound database 与 exact-subset missing-binding restore
已实现并通过 crash test;冲突或更新的 binding evidence 会 fail closed。
确定性的 whole-installation inventory backup 现已在一个独占 fence 内覆盖所有
allowlisted Use-owned family,绑定 Registry/receipt authority,拒绝非终结或不安全
state,并能不经提取离线校验全部 payload。immutable Capability Gateway catalog 与
descriptor-snapshot 记录现在作为严格的
CapabilityPayloadsfamily 做规范与内容寻址校验; 生产 owner-native restore/retention 仍未完成。精确匹配 version/OS/architecture 的 reviewed whole-install restore 现已实现,包括无路径的精确 action plan、不变的 live Registry 与 Grant authority、外部 rollback archive、拒绝 link/reparse point 的 candidate、七个 durable phase、15 个进程退出恢复边界、终态 replay,以及只读、 有界的 status/history。Archive 仍只是完整性证据,无法重建缺失 authority。 Whole-installation retention 现会在一个外部目录 锁下完整校验每个托管 archive,返回无路径、oldest-first 的 canonical plan, 要求精确 digest 确认,并保留两个 recovery generation。exact-plan oldest-first scope backup rotation 与无路径 active/history/capacity diagnostic 也已可用。保留的 planned/admitted/cancelled install、upgrade、 uninstall 图与 active admitted enable/disable operation 现已有有界的 cross-product diagnostic;其中 Registry-backed install/upgrade 图与可跨进程保留 的 pre-plan attempt 可无网络报告 expected/retained archive bytes 与 exact-target missing/partial/complete 状态;相同精确 lock 也会独立报告 planning-target byte progress。最新 Host-reviewed pre-admission enable/disable request 会投影为planned或cancelled,active/completed Use 证据优先,且不 公开私有 Host request/fence identity。已结束 operation 现在也具有有界、无网络、 最新优先的历史,并会验证终结 outcome、对损坏状态 fail closed。真实 Host/CLI 测试证明 pre-admission 诊断不会联网、授权、admit 或写 lifecycle,并会在 Host finalization 窗口抑制陈旧证据。
Production-ready 定义
只有当用户可以选择可信 Registry、审查一个精确 plan、安装签名依赖图、在受 支持宿主中热使用六类表面、无需猜测地恢复、无混合 generation 地升级,并在 每个声明平台上卸载后不遗留 route、Grant、进程、projection 或包拥有状态时, A3S Use 才可以发布。