@zq-silk/yui 0.16.2 → 1.0.0-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +6 -4
- package/dist/agent/agent.js +4 -9
- package/dist/agent/executionComponents.js +4 -4
- package/dist/agentRun/agentRun.js +8 -8
- package/dist/artifacts/managedGit.js +3 -56
- package/dist/brief/taskBrief.js +3 -3
- package/dist/cli/updateOrchestrator.js +2 -13
- package/dist/cli/updatePorts.js +36 -69
- package/dist/cli/upgradeCommand.js +4 -8
- package/dist/cli.js +4 -7
- package/dist/commands/controllerCommands.js +1 -1
- package/dist/commands/taskCommands.js +8 -1
- package/dist/commands/taskRoleRuntimeStatus.js +1 -1
- package/dist/context/runInputContract.js +1 -1
- package/dist/controller/agentRuntimeObserver.js +4 -4
- package/dist/controller/clientRuntime.js +19 -44
- package/dist/controller/controller.js +16 -4
- package/dist/controller/fileSchedulerStoreAdapter.js +6 -6
- package/dist/controller/globalInputDelivery.js +3 -1
- package/dist/controller/jobSupervisor.js +3 -3
- package/dist/controller/providerRetryDelivery.js +128 -118
- package/dist/controller/runtime.js +1 -1
- package/dist/controller/structuredProviderObservation.js +1 -1
- package/dist/coordination/workMailbox.js +4 -4
- package/dist/core/controllerIdentity.js +25 -0
- package/dist/core/controllerProcessIdentity.js +2 -2
- package/dist/core/controllerServer.js +4 -2
- package/dist/core/protocol.js +1 -1
- package/dist/domain/validation.js +6 -0
- package/dist/event/taskEvent.js +3 -3
- package/dist/execution/workItemExecution.js +2 -2
- package/dist/executor/agentExecutor.js +6 -6
- package/dist/executor/effectiveLaunch.js +3 -3
- package/dist/grant/capabilityGrant.js +2 -2
- package/dist/input/inputRequest.js +4 -4
- package/dist/integration/changeSet.js +3 -3
- package/dist/integration/integrationAttempt.js +3 -3
- package/dist/integration/integrationSourceApplication.js +1 -1
- package/dist/job/durableJob.js +1 -1
- package/dist/job/jobRunner.js +2 -2
- package/dist/message/message.js +8 -6
- package/dist/milestone/milestone.js +3 -3
- package/dist/profile/agentProfile.js +3 -3
- package/dist/release/runtimeRelease.js +9 -7
- package/dist/repository/project.js +3 -3
- package/dist/resources/liveReferences.js +1 -1
- package/dist/resources/sqliteResourceRegistry.js +2 -2
- package/dist/review/reviewRound.js +5 -5
- package/dist/role/role.js +7 -8
- package/dist/runtime/acpProtocol.js +2 -3
- package/dist/runtime/agentDriverObservation.js +1 -1
- package/dist/runtime/agentHost.js +3 -3
- package/dist/runtime/agentHostProtocol.js +2 -2
- package/dist/runtime/codexInteractiveHost.js +1 -1
- package/dist/runtime/launchBroker.js +1 -1
- package/dist/runtime/processExitObservation.js +1 -1
- package/dist/runtime/providerContinuationReconciliationService.js +84 -75
- package/dist/runtime/providerRuntimeIdentity.js +3 -3
- package/dist/runtime/runtimeCoherence.js +7 -3
- package/dist/runtime/runtimeObservation.js +3 -3
- package/dist/runtime/sessionOwnerIdentity.js +1 -1
- package/dist/runtime/taskRuntimeIsolation.js +3 -3
- package/dist/runtime/tmuxAdapters.js +3 -3
- package/dist/scheduler/taskWake.js +1 -1
- package/dist/storage/baselineSchema.js +606 -0
- package/dist/storage/homeLayout.js +5 -16
- package/dist/storage/recordValidation.js +16 -4
- package/dist/storage/sqliteSchema.js +106 -1741
- package/dist/storage/sqliteStore.js +16 -14
- package/dist/storage/storageSchema.js +8 -7
- package/dist/storage/storageVersions.js +23 -16
- package/dist/storage/taskStore.js +3 -29
- package/dist/storage/upgrade/upgradeOrchestrator.js +14 -102
- package/dist/task/task.js +15 -7
- package/dist/task/taskActivation.js +5 -4
- package/dist/telemetry/sqliteTelemetryStore.js +2 -2
- package/dist/verification/gateArtifact.js +5 -3
- package/dist/verification/verificationPlan.js +6 -7
- package/dist/workItem/workItem.js +6 -6
- package/dist/workspace/cleanupInspection.js +1 -9
- package/dist/worktree/managedWorkspace.js +3 -3
- package/docs/managed-turn-and-session-runtime.md +26 -14
- package/docs/managed-turn-and-session-runtime.zh-CN.md +18 -10
- package/docs/release-workflow.md +60 -300
- package/docs/release-workflow.zh-CN.md +46 -234
- package/docs/sqlite-control-plane-design.md +48 -289
- package/docs/sqlite-control-plane-design.zh-CN.md +37 -53
- package/docs/storage-baseline.md +139 -0
- package/docs/storage-baseline.zh-CN.md +111 -0
- package/docs/task-delivery.md +3 -4
- package/docs/task-delivery.zh-CN.md +3 -3
- package/docs/testing/verification-levels.md +40 -180
- package/docs/testing/verification-levels.zh-CN.md +27 -131
- package/i18n/README.zh-CN.md +5 -4
- package/package.json +1 -1
- package/dist/storage/migrations/agentFailureContext.js +0 -22
- package/dist/storage/migrations/agentRunContract.js +0 -159
- package/dist/storage/migrations/artifactsToGit.js +0 -338
- package/dist/storage/migrations/collapseWorktreeLayout.js +0 -963
- package/dist/storage/migrations/currentInputContract.js +0 -86
- package/dist/storage/migrations/currentRuntimeContract.js +0 -228
- package/dist/storage/migrations/historicalVerificationPlan.js +0 -35
- package/dist/storage/migrations/integrationContinuation.js +0 -105
- package/dist/storage/migrations/narrowAgentFailureContext.js +0 -65
- package/dist/storage/migrations/notificationOnlyWakes.js +0 -74
- package/dist/storage/migrations/removeRuntimeGeneration.js +0 -207
- package/dist/storage/migrations/submitIntent.js +0 -126
- package/dist/storage/migrations/unifyHomeLayout.js +0 -925
- package/dist/storage/migrations/verificationPlanV1.js +0 -162
- package/dist/storage/migrations/verificationPolicy.js +0 -74
- package/dist/storage/migrations/workItemHistory.js +0 -46
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
# 存储基线 1.0
|
|
2
|
+
|
|
3
|
+
Yui 1.0.0-alpha 是纯净运行基线。软件版本 `1.0.0-alpha`、Home 存储版本 `1.0`、
|
|
4
|
+
记录格式版本 `1`、Controller 协议版本 `1` 各有职责。后续 `1.0.0` 软件包
|
|
5
|
+
复用最终已验证的预发布存储契约,不再重置。首个 alpha 发布后如需修改
|
|
6
|
+
持久化契约,必须声明显式的小版本迁移。
|
|
7
|
+
|
|
8
|
+
## 当前运行包
|
|
9
|
+
|
|
10
|
+
- `storage_schema` 的单行记录是唯一存储版本权威,包含格式、主版本、小版本、
|
|
11
|
+
Schema 摘要与创建时间。JSON 中版本采用 `"1.0"` 字符串,不用浮点数。
|
|
12
|
+
- 新 Home 一次创建最终 DDL,不执行旧 v1→v37 链。普通读取只校验当前身份、
|
|
13
|
+
物理结构和类型化记录,不转换数据。
|
|
14
|
+
- 显式 `upgrade/update` 默认也只允许同主版本内连续的小版本升级。
|
|
15
|
+
首个 `1.0` 尚无小版本升级步骤。跨主版本、降级、未知格式、旧整数版本
|
|
16
|
+
都会在激活前拒绝;指定软件版本不等于授权跨存储主版本。
|
|
17
|
+
- Yui 自有记录格式从 1 开始。Host 控制采用独立的
|
|
18
|
+
`yui-agent-host-control/v1`,不会误认历史 `yui-agent-host/v1`。
|
|
19
|
+
原本为 v1 的 Context、Run、Host 事件和 Driver 协议保持 v1。
|
|
20
|
+
外部 Provider 协议和依赖版本不重置。
|
|
21
|
+
- 业务 revision、授权 epoch、ID、事件序号、原生数据和冻结 Context
|
|
22
|
+
不是 Schema 版本,不能重置。
|
|
23
|
+
- `storage_migration_archive` 只保留不透明审计证据,不解释旧格式来执行工作。
|
|
24
|
+
其中的旧版本数字与原始字节保持不变。
|
|
25
|
+
- Candidate 的当前权威只有所属 WorkItem 的候选数组。基线不再创建无用的
|
|
26
|
+
`work_item_candidates`、`coordination_locks` 表或废弃的 `idx_input_open` 索引。
|
|
27
|
+
|
|
28
|
+
运行 tarball 不包含历史迁移模块,也不包含独立转换器。旧 tag 和发布包用于
|
|
29
|
+
显式诊断,不构成运行时回退。
|
|
30
|
+
|
|
31
|
+
## 从 0.16.2 一次性转换
|
|
32
|
+
|
|
33
|
+
独立 `yui-baseline-cutover` 压缩包只接受精确的 0.16.2 结构和完整 v37 账本。
|
|
34
|
+
更旧 Home 必须先通过 0.16.2 升级;转换器本身不执行整条旧迁移链。
|
|
35
|
+
准入依据是精确的存储结构与账本,不是当前安装的软件版本号;
|
|
36
|
+
已经满足该 v37 契约的 Home 不需要为了改软件编号而重写数据。
|
|
37
|
+
|
|
38
|
+
使用 `1.0.0-alpha.1` 附带的修正版转换器。初始 alpha 转换器会把 `home_meta`
|
|
39
|
+
的等价缩进误判为不支持;修正版仅允许该表逐行缩进不同,保留原 DDL 并按目标定义
|
|
40
|
+
重建该表,验证所有行不变。字段、约束、其他结构对象和完整账本仍严格匹配。
|
|
41
|
+
已发布的运行时存储 1.0 定义没有改变。
|
|
42
|
+
|
|
43
|
+
v37 → 1.0 转换保留缺少可选 Snapshot 引用的 Run、原始引用和结果。
|
|
44
|
+
记录可以读取不代表它必须能执行:证据缺失不应阻断整个 Home 转换。
|
|
45
|
+
Leader/Operator 可以查看、废弃异常 Run;显式普通重试根据当前授权事实创建
|
|
46
|
+
新的 Run 和 Snapshot,不改写旧证据。Review/结果汇总若要复用确切冻结证据,
|
|
47
|
+
仍需满足该操作的前提。未知格式、结构损坏和未结算外部效果仍是独立的转换阻塞条件。
|
|
48
|
+
|
|
49
|
+
1. 使用 0.16.2 结算活动 Run、Job、已认领通知、在途重试和未知外部效果。
|
|
50
|
+
保留排队意图,不伪造完成。停止受管 Session 和 Controller。
|
|
51
|
+
`session stop --all` 会拒绝忙碌 Session,不是强停或丢弃工作的授权。
|
|
52
|
+
2. 将已发布的 1.0.0-alpha.1 暂存在独立安装前缀中,安装所需原生依赖。
|
|
53
|
+
不先覆盖全局 CLI,不让新 Controller 打开旧 Home。
|
|
54
|
+
3. 核验转换包校验和并解压,调用入口。以下路径均为**占位示例**:
|
|
55
|
+
|
|
56
|
+
```sh
|
|
57
|
+
node /absolute/converter/cli.mjs \
|
|
58
|
+
--home /absolute/home --runtime /absolute/staged/package
|
|
59
|
+
|
|
60
|
+
node /absolute/converter/cli.mjs \
|
|
61
|
+
--home /absolute/home --runtime /absolute/staged/package \
|
|
62
|
+
--apply --backup-dir /absolute/new-backup-directory
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
`--runtime` 指包含 `package.json`、`dist/` 和可用依赖的软件包目录,
|
|
66
|
+
不是 `bin/yui`。默认仅检查。`--apply` 要求 Home 外一个不存在的新备份目录,
|
|
67
|
+
其父目录必须存在且为规范物理路径。从外部 Operator shell 执行,不在受管
|
|
68
|
+
Task 或正在转换的 Session 内执行。
|
|
69
|
+
|
|
70
|
+
工具拒绝活动持久执行、待应用 outbox、活动 Session、仍存活的登记进程、
|
|
71
|
+
可观测到引用此 Home/数据库的进程、待消费的原生 Inbox 文件,以及未完成的
|
|
72
|
+
Controller 交接或发现记录。登记所有者身份不可验证时仍阻塞;不会接管或
|
|
73
|
+
终止无关用户进程。也应停止非受管写入者及外部工作区编辑器:普通文件复制
|
|
74
|
+
不是文件系统快照。维护锁和 SQL 写事务保护实际转换。
|
|
75
|
+
|
|
76
|
+
变更前复制整个 Home,并生成带校验和的独立 SQLite 备份。转换只处理明确的
|
|
77
|
+
Yui 记录封装及活动类型化验证计划,将每个改写前的原始负载和旧账本保存在审计中。
|
|
78
|
+
用户文本、原生负载、冻结 Context、Git 数据、未提交文件、ID、计数和 Task
|
|
79
|
+
结果保持原样。
|
|
80
|
+
删除两张旧表之前,每一行原始内容都写入审计的
|
|
81
|
+
`baseline-v37/retired-table/<table>` 分类,不把其中的负载当作活动记录规范化。
|
|
82
|
+
回执以 `retiredRows` 单独报告归档行数。
|
|
83
|
+
|
|
84
|
+
旧 `active-release.json` 和 `runtime-identity.json` 归档到
|
|
85
|
+
`retired-runtime/`,不改写成新运行事实。工具不恢复旧 Host、不改全局安装、
|
|
86
|
+
不启动 Controller、不提交模型输入。转换成功后,再由暂存的 1.0.0-alpha.1 CLI
|
|
87
|
+
安装精确版本并启动新运行环境;通过正常显式生命周期创建新 Session,
|
|
88
|
+
历史记录不代表活动授权。
|
|
89
|
+
|
|
90
|
+
声明的运行资源目录中的隔离所有者标记也会先验证旧摘要,再转换格式并重算
|
|
91
|
+
相应指纹,原文件保存在归档中。资源路径、namespace 和端口分配不变。
|
|
92
|
+
未知标记或符号链接直接阻塞,不猜测接管。
|
|
93
|
+
|
|
94
|
+
## 证据与恢复
|
|
95
|
+
|
|
96
|
+
成功结果为 `outcome: converted`、目标 `1.0` 及精确备份路径。
|
|
97
|
+
对有效新 Home 重复运行返回 `already-current`,不再次备份或改写。
|
|
98
|
+
|
|
99
|
+
- `backup/home/` 保留 Home 树;`backup/yui.db` 是一致的独立数据库快照;
|
|
100
|
+
`receipt.json` 记录来源、目标、摘要及转换结果;`retired-runtime/` 保存旧绑定。
|
|
101
|
+
- 校验失败时回滚 SQL,并恢复本次移动的运行绑定。若恢复无法确认,错误会指出
|
|
102
|
+
保留文件;Home 应继续保持停止。
|
|
103
|
+
- 崩溃或回执写入失败不证明数据库仍是旧版。先检查实际格式与备份,再选择恢复;
|
|
104
|
+
没有自动修复 worker 或猜测性重放。
|
|
105
|
+
- 回滚前停止新写入者、另存失败或新 Home,再将旧 Home 树和独立 `yui.db`
|
|
106
|
+
恢复到**原来的同一路径**,不能混入新 WAL/SHM。只使用 0.16.2;
|
|
107
|
+
按精确进程身份检查快照中转换器自己的维护锁。
|
|
108
|
+
- 一旦新版产生业务写入,恢复旧备份会丢失这些新写入,必须明确处理,不能自动恢复。
|
|
109
|
+
|
|
110
|
+
真实 Home 转换和发布需要另外获得用户授权。隔离样本通过不等于生产 Home
|
|
111
|
+
已经满足转换条件。
|
package/docs/task-delivery.md
CHANGED
|
@@ -83,7 +83,7 @@ how the Agent ordered them.
|
|
|
83
83
|
A configured VerificationPlan reuses only complete, successful, log-verified
|
|
84
84
|
evidence for the exact Project, commit, plan, toolchain and target/base boundary.
|
|
85
85
|
A plan with no reusable evidence executes normally. Plans require
|
|
86
|
-
`schemaVersion:
|
|
86
|
+
`schemaVersion: 1` and contain no `l1` or `record/reuse/enforce` mode.
|
|
87
87
|
Storage 34→35 preserves the original Project declarations, L1 artifacts and
|
|
88
88
|
binary logs in migration audit storage, outside current execution and cache
|
|
89
89
|
lookup. Historical `historical-change-sets` Integrations must be settled and
|
|
@@ -109,7 +109,7 @@ Unstructured checks do not search historical Jobs for a substitute result.
|
|
|
109
109
|
Fresh execution withdraws the old success before starting. Failure is recorded
|
|
110
110
|
as failure; interruption, missing logs or a mutated candidate leave no reusable
|
|
111
111
|
success. Both Job and local execution verify the exact clean candidate before
|
|
112
|
-
publishing successful proof. The
|
|
112
|
+
publishing successful proof. The baseline-v1 L2-only execution digest excludes older proof without
|
|
113
113
|
deleting its history. A stale
|
|
114
114
|
cache consumer cannot restore an older result. Release lookup considers the
|
|
115
115
|
newest recorded matching proof rather than searching past a failure for an
|
|
@@ -367,8 +367,7 @@ This adds neither a retry worker nor another persistent ownership protocol.
|
|
|
367
367
|
Current Resource records are read strictly: required safety fields, enum values,
|
|
368
368
|
and every active reference must be valid. A malformed record or mismatched
|
|
369
369
|
SQLite/payload identity is reported without supplying defaults, dropping refs,
|
|
370
|
-
or rewriting stored evidence. This enforces the
|
|
371
|
-
storage remains at version 37.
|
|
370
|
+
or rewriting stored evidence. This enforces the current storage 1.0 record contract.
|
|
372
371
|
|
|
373
372
|
Failed preparation compensates only its unadopted resources. Standalone Task
|
|
374
373
|
clones use exact clone identity/cleanliness checks before direct deletion;
|
|
@@ -70,7 +70,7 @@ Integration 在候选 worktree 中套用固定来源提交,运行已配置的
|
|
|
70
70
|
`historical-change-sets` Integration 必须先结算且不存在执行/交付引用,才能将
|
|
71
71
|
完整 payload 转为 `integration.source-retired` Task 事件;旧 ID 不会复用。
|
|
72
72
|
无匹配证据时正常执行。
|
|
73
|
-
计划必须提供 `schemaVersion:
|
|
73
|
+
计划必须提供 `schemaVersion: 1`,不再包含 `l1` 或 `record/reuse/enforce` 模式。
|
|
74
74
|
|
|
75
75
|
新建操作时显式要求重跑:
|
|
76
76
|
|
|
@@ -88,7 +88,7 @@ yui task upstream integrate <task> --project <project> --rerun-checks
|
|
|
88
88
|
|
|
89
89
|
新执行开始前撤下旧成功。失败如实记录;中断、缺失日志或候选被改写时,
|
|
90
90
|
不会保留可复用成功。Job 和本地执行在发布成功证据前,共同检查候选的精确提交、
|
|
91
|
-
分支和干净状态。
|
|
91
|
+
分支和干净状态。baseline-v1 L2-only 执行摘要隔离旧证据,不删除原有历史。
|
|
92
92
|
过期的缓存使用者不能恢复旧结果。发布查询查看最新匹配证据,不跳过失败去找旧绿灯。
|
|
93
93
|
缓存只表示当前可复用证据,不充当 Task 执行历史;原 Job 和 Integration 记录独立保留。
|
|
94
94
|
|
|
@@ -282,7 +282,7 @@ Session 进程归属只读取 SQLite `session_owners`,并校验存活 PID 和
|
|
|
282
282
|
|
|
283
283
|
当前 Resource 记录严格验证必需安全字段、枚举和每条活动引用。损坏记录或 SQLite
|
|
284
284
|
主键与 payload 身份不符会明确报错,不补默认值、不丢弃坏引用、不改写原始证据。
|
|
285
|
-
|
|
285
|
+
这是执行当前存储 1.0 的记录合同。
|
|
286
286
|
|
|
287
287
|
准备失败只补偿未采用的资源:独立 Task clone 经精确身份、干净状态检查后直接
|
|
288
288
|
删除;linked worktree 使用准备时捕获的路径、分支、提交和自身 Git common directory。
|
|
@@ -49,186 +49,46 @@ is required.
|
|
|
49
49
|
|
|
50
50
|
## Permanent core smoke
|
|
51
51
|
|
|
52
|
-
`npm test` and `npm run test:core` build the checkout and run
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
17. Host facts reach the existing Inbox without opening Controller-owned storage;
|
|
93
|
-
Controller-side fencing and ACK-loss replay preserve the original execution.
|
|
94
|
-
Production launch planning preserves scoped startup evidence before native
|
|
95
|
-
Session adoption without exporting a Run ID into the Session environment.
|
|
96
|
-
Historical Host detection and cross-version live-runtime fixtures are not
|
|
97
|
-
part of the current contract; supported historical storage migrations remain tested.
|
|
98
|
-
Archive racing Host ingress retains the complete source envelope without
|
|
99
|
-
reopening the Task or settling original uncertain input.
|
|
100
|
-
18. Project maintenance waiters yield to the holder, use a shared 60-second
|
|
101
|
-
monotonic budget with independent 200–500ms jitter, and cancel on Controller
|
|
102
|
-
stop without losing activation intent. Disposable lock/SQLite/Git fixtures
|
|
103
|
-
cover exclusion, partial release and under-lock revalidation; injected time
|
|
104
|
-
checks the minute-long deadline without sleeping for a minute. Competing
|
|
105
|
-
activations each adopt their own workspace without replaying Git work.
|
|
106
|
-
19. Task usage distinguishes zero, partial and unknown across exact requests,
|
|
107
|
-
cumulative baselines, Session replacement and native child overlap. A small
|
|
108
|
-
event fixture checks direct Leader/parallel time semantics and the shared
|
|
109
|
-
CLI/Web/audit lifetime projection without collecting Provider data.
|
|
110
|
-
20. explicit cleanup releases retained terminals without affecting other Tasks
|
|
111
|
-
or claiming that live resources are gone; Controller replacement waits for
|
|
112
|
-
the old process to exit.
|
|
113
|
-
21. structured verification preserves argv, explicit shell failure, environment
|
|
114
|
-
and workspace-relative cwd through the actual RPC parser and both local
|
|
115
|
-
executors. Corrected execution semantics invalidate old gate reuse without
|
|
116
|
-
rewriting historical artifacts or migrations.
|
|
117
|
-
22. concurrent resource registration preserves unrelated rows and rejects
|
|
118
|
-
stale same-record writes; GC closes owned connections on success/failure.
|
|
119
|
-
23. Context counts, exact inspection and bounded event deltas work without
|
|
120
|
-
materializing complete history or acquiring a writer lock. Telemetry
|
|
121
|
-
ingestion yields to the event loop and drains its worker on close.
|
|
122
|
-
24. Release resume re-queries uncertain effects, retains confirmed work and
|
|
123
|
-
refuses exhausted grants, using disposable SQLite and fake external ports.
|
|
124
|
-
These checks do not claim validation of real release services.
|
|
125
|
-
25. The pre-1.0 contract cleanup normalizes old singleton dispatches only through
|
|
126
|
-
explicit storage migration. Unsupported CLI/ACP input, unregistered development
|
|
127
|
-
links, unpinned release identities and unsupported quarantine receipts are
|
|
128
|
-
refused without inventing acceptance or discarding evidence. Current link,
|
|
129
|
-
configuration and quarantine operations remain usable.
|
|
130
|
-
26. Activation refuses absent intent before resource adoption and still honors
|
|
131
|
-
planning deferral and cancellation. Retiring the integration queue preserves
|
|
132
|
-
exact records and active attempts in one rollback-safe migration, without
|
|
133
|
-
inventing delivery. Conflicted Integrations remain completion blockers.
|
|
134
|
-
27. Unknown lock ownership stays fenced, including unavailable OS evidence.
|
|
135
|
-
PR lookup distinguishes absence, malformed/ambiguous results and transport
|
|
136
|
-
failure through injected ports. Receipt-free Git operations remain unchanged,
|
|
137
|
-
while normal receipt-backed continuation still works. Notification-only
|
|
138
|
-
migration preserves current delivery and audit history and refuses live links.
|
|
139
|
-
28. SQLite admission ignores unrelated side files but refuses a non-empty Home
|
|
140
|
-
without its database. Default CLI/HTTP discovery stays bounded and retains
|
|
141
|
-
off-page Task detail; unknown writer leases diagnose without mutation.
|
|
142
|
-
Review migration preserves candidate evidence while making scope explicit.
|
|
143
|
-
29. Missing authoritative readers fail before Provider preparation or queue
|
|
144
|
-
admission instead of becoming empty evidence. WorkItem history retirement
|
|
145
|
-
preserves the original payload and current work, advances event IDs safely,
|
|
146
|
-
and refuses unknown old shapes without advancing the migration ledger.
|
|
147
|
-
30. WorkItem overlap is a read-only advisory; exact permission/dependency guards
|
|
148
|
-
remain. Real local verification proves default reuse, explicit rerun failure,
|
|
149
|
-
incomplete evidence and stale-consumer rejection through the current proof path.
|
|
150
|
-
An Integration rerun cannot bypass an equivalent unfinished gate. Policy
|
|
151
|
-
migration preserves historical execution and blocks an admitted old gate.
|
|
152
|
-
31. Message edits preserve submission intent and immutable request identity;
|
|
153
|
-
no-op edits do not enqueue work, and an edited develop request cannot create
|
|
154
|
-
a planning Run. Unkeyed discussions still plan after activation is resolved.
|
|
155
|
-
Queue identity remains frozen through an interrupt-then handoff; completion sees explicitly
|
|
156
|
-
queued input. Input migration preserves raw audit evidence, refuses to
|
|
157
|
-
auto-authorize old pending immediate activations and keeps the prior ledger.
|
|
158
|
-
The actual Controller continues admitted requests but not cancellations.
|
|
159
|
-
Required Store reads fail before config mutation or full-scan fallback.
|
|
160
|
-
Explicit Job requests replay one operation and reject changed or missing keys.
|
|
161
|
-
32. Worker Job admission/management and the pre-spawn gate reject a different
|
|
162
|
-
owner/workspace; legitimate Worker and Leader Jobs remain usable. Candidate
|
|
163
|
-
mutation blocks publication of reusable success, including after explicit
|
|
164
|
-
abort/retry. Upstream wiring returns its admitted Job and continuation IDs.
|
|
165
|
-
Plugin replacement retains delayed old-generation cleanup errors without
|
|
166
|
-
undoing a newer selection. A shared validator rejects bad record writes,
|
|
167
|
-
ordinary/Context reads and full-Home health checks without repairing data.
|
|
168
|
-
33. Built CLI calls refuse replaced Operator writes, Task-owned Home mutations
|
|
169
|
-
and foreign-Task queries while retaining legitimate reads and current
|
|
170
|
-
Operator actions. Job reads enforce Context scope at the Controller port.
|
|
171
|
-
Real local runtime directories move once through quarantine/restore/purge;
|
|
172
|
-
current durable ownership overrides a stale cleanup plan and prevents
|
|
173
|
-
purging a reopened Task.
|
|
174
|
-
34. Current CLI rejects `task turn`; completion has one identity and preserves
|
|
175
|
-
unrelated shell content through install/uninstall. GC protects exact live
|
|
176
|
-
SQLite Session custody without consulting old JSON. The 34→35 cutover
|
|
177
|
-
preserves raw retired payloads/log bytes and identity counters, blocks
|
|
178
|
-
unsettled gates/custody, and rolls back malformed conversions.
|
|
179
|
-
35. Native model aliases/resolved IDs and open custom-model fields retain their
|
|
180
|
-
distinct contracts; configuration errors display the observed choices.
|
|
181
|
-
Rejected Leader startup stays quiet across Store reopen and repeated passes,
|
|
182
|
-
preserves original/later input and blocks premature completion. Explicit
|
|
183
|
-
retry requeues the exact rejected claim once without rewriting its history;
|
|
184
|
-
typed contention remains retryable and unknown acceptance cannot be replayed.
|
|
185
|
-
36. Failure-scoped capability reads preserve the recorded model/workspace/settings
|
|
186
|
-
selection after Role edits, reject changed Agent bindings, honor explicit
|
|
187
|
-
metadata refresh and identify cached fallback. The Controller supplies native
|
|
188
|
-
account context without accepting caller credentials. Task/Role/record reads
|
|
189
|
-
stay fenced. Runless startup and native rejection reuse one error/notification.
|
|
190
|
-
Migration 35→36 preserves historical error bytes and the earlier ledger while
|
|
191
|
-
marking absent historical configuration unavailable, never reconstructing it.
|
|
192
|
-
37. Narrow failure context survives independently of execution/Review/Session
|
|
193
|
-
protocols; 36→37 preserves the original snapshot in audit. Repeated native
|
|
194
|
-
submission rejection creates one error and one supervisor notice through
|
|
195
|
-
the shared writer. A small injected cache proves completed-result eviction,
|
|
196
|
-
pending-request coalescing, explicit refresh and truthful cache provenance.
|
|
197
|
-
38. Current Session wrappers retarget only their exact generated shell form,
|
|
198
|
-
preserving immutable Manifests and leaving unknown scripts untouched.
|
|
199
|
-
Per-key release receipts survive reopen and reject invalid current records.
|
|
200
|
-
A storage blocker after Controller drain restores the captured identity
|
|
201
|
-
without activating a package or migrating data.
|
|
202
|
-
39. Global Session replacement proves native quiescence before settling retained
|
|
203
|
-
input, including when a prior attempt has already archived the Session.
|
|
204
|
-
Unknown execution and changed Turn identity remain fenced. Existing Messages
|
|
205
|
-
and stop evidence survive; queued notifications cannot revive an explicitly
|
|
206
|
-
stopped Session or submit across cleanup admitted during Host preparation.
|
|
207
|
-
40. Configuration metadata distinguishes native help enumeration, static adapter
|
|
208
|
-
contracts and missing fields. A disposable metadata-only producer checks
|
|
209
|
-
partial discovery, exact cache reuse and failed-refresh provenance; the
|
|
210
|
-
permission picker cannot invent choices or erase explicit current values.
|
|
211
|
-
Doctor uses the same help interpretation without guessing model aliases.
|
|
212
|
-
41. Operator attention transfers atomically to one Global Message per batch,
|
|
213
|
-
without overlapping new events while busy. SQLite reopen, rollback and exact
|
|
214
|
-
receipt reuse preserve the pending suffix and undelivered evidence. A local
|
|
215
|
-
fake Host control port checks unknown/rejected delivery, successor inputs,
|
|
216
|
-
and the Controller's dirty signal without a live model. Existing Global
|
|
217
|
-
control tests retain interrupt-then and exact Session/authority coverage.
|
|
218
|
-
|
|
219
|
-
Keep the test phase seconds-scale; measure TypeScript build separately. Record
|
|
220
|
-
incremental runtime when adding a critical regression. The seven recovery boundary
|
|
221
|
-
cases initially add about 0.4 seconds of test bodies (about 0.6 seconds standalone,
|
|
222
|
-
including module startup) on the development host. Keep real-model launches out
|
|
223
|
-
of this suite. Real tmux/CLI lifecycle checks belong to the bounded package smoke
|
|
224
|
-
below, not a second core daemon matrix.
|
|
225
|
-
The Integration continuation regressions use disposable Git repositories,
|
|
226
|
-
SQLite and fake Jobs, without a provider or shared Home. Their test bodies
|
|
227
|
-
take about 3 seconds on the development host; validation settlement adds
|
|
228
|
-
about 1.4 seconds to the initial 1.5-second coverage.
|
|
229
|
-
Archive preflight adds three small disposable Git/SQLite scenarios (about
|
|
230
|
-
one second of test bodies); broader owner/diagnostic combinations remain
|
|
231
|
-
temporary validation evidence, not a second permanent matrix.
|
|
52
|
+
`npm test` and `npm run test:core` build the checkout and run the maintained suite.
|
|
53
|
+
The baseline cutover retires tests owned solely by the removed v1..v37
|
|
54
|
+
implementation. Their source/evidence remains in the frozen 0.16.2 release;
|
|
55
|
+
mixed tests retain current behavior, such as Review scope and Integration
|
|
56
|
+
completion boundaries.
|
|
57
|
+
|
|
58
|
+
Current coverage includes:
|
|
59
|
+
|
|
60
|
+
1. Fresh storage 1.0, exact schema/record validation, no initialization over
|
|
61
|
+
unknown data, and rejection of old integer formats without mutation.
|
|
62
|
+
2. Independent v37 conversion: original intent/audit/counters, nested Session
|
|
63
|
+
envelopes, opaque Context, rollback on invalid input, offline backup and
|
|
64
|
+
repeat-call idempotence. The CLI fixture uses a disposable Home; it never
|
|
65
|
+
converts a real account. The converter is not part of the runtime tarball.
|
|
66
|
+
3. Exact-version staging, mismatched-target refusal, same-major contiguous
|
|
67
|
+
minor preflight, explicit maintenance-owner identity across handover, and
|
|
68
|
+
restoration against captured protocol/storage identity rather than omitted fields.
|
|
69
|
+
4. Durable Task/Message/Decision context, draft activation authority, mailbox
|
|
70
|
+
claims, notification idempotence, Session replacement and exact late results.
|
|
71
|
+
5. Integration/Job request identity, immutable candidate proofs, conflict
|
|
72
|
+
continuation, Review scope and final acceptance without fabricated delivery.
|
|
73
|
+
6. Runtime/Host isolation, Provider protocol parsing and bounded retry using
|
|
74
|
+
fake producers, current configuration provenance and native-account boundaries.
|
|
75
|
+
7. Workspace/GC authority, archive cleanup, resource CAS, telemetry, Web
|
|
76
|
+
projections and authorized release recovery without real external effects.
|
|
77
|
+
8. Idempotent per-checkout launcher installation, exact argument/Home forwarding,
|
|
78
|
+
refusal to overwrite unrelated files, and rejection of removed global-link
|
|
79
|
+
commands before side effects. Development Home reset retains its independent
|
|
80
|
+
identity checks and backup behavior.
|
|
81
|
+
9. Failure isolation for optional Controller maintenance, individual retry
|
|
82
|
+
Sessions and Task continuation observation, with scoped errors and no
|
|
83
|
+
fabricated delivery, cancellation or quiescence.
|
|
84
|
+
|
|
85
|
+
Keep the test phase seconds-scale and measure build separately. Use the
|
|
86
|
+
existing assembled-package smoke for actual CLI/Controller/Host/tmux wiring,
|
|
87
|
+
not a second daemon matrix. Converter schema fixtures preserve one frozen
|
|
88
|
+
endpoint; do not reconstruct the entire historical chain in the new suite.
|
|
89
|
+
Real-model or real-Home checks require explicit authorization.
|
|
90
|
+
Current envelope checks reject arbitrary unknown fields, rather than maintaining
|
|
91
|
+
a blacklist of retired field names.
|
|
232
92
|
|
|
233
93
|
## Skill and instruction changes
|
|
234
94
|
|
|
@@ -35,137 +35,33 @@ Yui 是一个单用户本地产品。永久验证保护关键的 happy path 和
|
|
|
35
35
|
|
|
36
36
|
## 永久 core smoke
|
|
37
37
|
|
|
38
|
-
`npm test` 和 `npm run test:core`
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
Git index,区分冻结结果差异;清理重查 HEAD、owner 分支和新增脏状态。
|
|
66
|
-
只读 Git 状态检查不执行配置的 clean filter。
|
|
67
|
-
17. Host 不打开 Controller 拥有的存储,事实仍先进入现有 Inbox;
|
|
68
|
-
Controller 侧归属校验和 ACK 丢失重放保护原始执行。生产 launch 路径
|
|
69
|
-
在不向 Session 环境导出 Run ID 的前提下保留 scoped 启动证据。
|
|
70
|
-
历史 Host 识别和跨版本存活运行时 fixture 不属于当前合同;
|
|
71
|
-
有效历史存储的迁移测试仍然保留。
|
|
72
|
-
归档与 Host 消费交错时保留完整来源 envelope,不重新打开 Task 或结算原不确定输入。
|
|
73
|
-
18. Project 维护锁等待不阻塞持锁者,使用共享的 60 秒单调时钟预算与每次独立的
|
|
74
|
-
200–500ms 随机间隔;Controller 停止时取消等待,不丢失激活意图。
|
|
75
|
-
可丢弃锁、SQLite 和 Git fixture 覆盖排他、部分锁释放及取锁后重校验,
|
|
76
|
-
注入时钟验证一分钟截止逻辑,不实际等待一分钟;竞争激活各自采用工作区,
|
|
77
|
-
不重放 Git 操作。
|
|
78
|
-
19. Task 用量在精确请求、累计基线、Session 替换和原生子执行重叠下区分真实零、
|
|
79
|
-
部分与未知。小型事件 fixture 覆盖直接 Leader/并行耗时,以及 CLI/Web/audit
|
|
80
|
-
共享的全生命周期投影,不采集 Provider 数据。
|
|
81
|
-
20. 明确清理释放保留终端、不影响其他 Task、不把存活资源报告为已释放;
|
|
82
|
-
Controller 替换确认旧进程退出。
|
|
83
|
-
21. 结构化验证经过实际 RPC 解析器和两种本地执行器,保持 argv、显式 Shell 失败、
|
|
84
|
-
环境和工作区相对 cwd 的语义。修正执行契约后不再复用旧结果,不重写历史证据或迁移。
|
|
85
|
-
22. 并发资源登记保留无关记录、拒绝覆盖已变化的同一记录;GC 在成功和失败时关闭自有连接。
|
|
86
|
-
23. Context 计数、原文查阅和事件分页不全量加载历史、不获取写锁;遥测写入让出事件循环,
|
|
87
|
-
关闭时排空自有 Worker。
|
|
88
|
-
24. Release 使用临时 SQLite 和 fake 外部端口检查不确定效果查询、已确认步骤复用、
|
|
89
|
-
grant 次数耗尽;不宣称真实发布服务已验证。
|
|
90
|
-
25. 1.0 前的契约清理只通过显式迁移规范化旧单条调度批次;拒绝旧 CLI/ACP 输入、
|
|
91
|
-
未登记开发链接、未固定 release 身份与不受支持的 quarantine 回执,不编造接受或
|
|
92
|
-
丢弃证据。当前链接、配置和隔离资源恢复仍可用。
|
|
93
|
-
26. 激活在资源采用前拒绝缺失请求,仍保留规划延后与取消边界。集成队列退役通过可回滚的
|
|
94
|
-
单次迁移保留完整记录及活动尝试,不编造交付;冲突中的 Integration 仍阻止完成。
|
|
95
|
-
27. owner 或 OS 身份不明时锁仍保持围栏;PR 查询通过注入端口区分不存在、格式错误、
|
|
96
|
-
歧义及传输失败。无回执的 Git 操作保持原样,正常回执续作仍可用。通知格式迁移保留
|
|
97
|
-
当前投递和审计历史,并拒绝活动执行引用。
|
|
98
|
-
28. SQLite 准入不受无关旁路文件覆盖,缺少数据库的非空 Home 仍拒绝初始化。
|
|
99
|
-
CLI/HTTP 默认目录有界,页外详情继续可读;未知 writer lease 只诊断不修改。
|
|
100
|
-
Review 迁移保留候选证据并显式写入 scope。
|
|
101
|
-
29. 核心读取缺失时,在 Provider 准备及消息入队前失败,不将缺失接口当作空证据。
|
|
102
|
-
WorkItem 历史状态退役保留完整原文和当前工作,安全递增 Event ID,
|
|
103
|
-
未知旧形态不推进迁移账本。
|
|
104
|
-
30. WorkItem 重叠仅作只读建议,权限和依赖保护不变。实际本地检查验证默认复用、
|
|
105
|
-
显式重跑失败、未完成证据与过期消费者拒绝,覆盖现行证明路径;
|
|
106
|
-
Integration 重跑不能绕过等价未完成验证。模式迁移保留历史执行,并阻止切换
|
|
107
|
-
已接纳的旧验证。
|
|
108
|
-
31. Message 编辑保留提交意图和不可变请求身份;相同正文更新不排队,develop 编辑
|
|
109
|
-
不创建 planning Run。激活解除后,未绑定请求身份的讨论仍可进入规划;queue 请求
|
|
110
|
-
身份在 interrupt-then 交接后仍冻结。完成检查仍能看到显式排队的输入。输入迁移保留
|
|
111
|
-
原始审计证据和旧账本,不擅自授权旧 pending immediate 激活。实际 Controller
|
|
112
|
-
接纳当前已授权请求,但不恢复已取消请求。缺失 Store 读取在配置写入或全量扫描
|
|
113
|
-
前失败。显式 Job 请求复用同一操作,拒绝不同输入和缺失请求键。
|
|
114
|
-
32. Worker Job 的准入、管理和启动前检查拒绝其他 owner/工作区,同时保留合法
|
|
115
|
-
Worker 与 Leader 操作。候选被改写时不能发布可复用成功,显式放弃后重试也不
|
|
116
|
-
借用旧绿灯。Upstream 返回已接纳 Job 和精确续作 ID。插件多次替换后仍记录迟到的
|
|
117
|
-
旧实例清理失败,不回滚新选择。共享校验拒绝无效写入、普通/Context 读取和全
|
|
118
|
-
Home 健康检查,不自动修补数据。
|
|
119
|
-
|
|
120
|
-
把测试阶段保持在秒级;单独度量 TypeScript 构建。新增一个关键回归时记录其增量运行
|
|
121
|
-
时长。这七个恢复边界用例在开发主机上最初约增加 0.4 秒的测试体(独立运行约 0.6 秒,
|
|
122
|
-
含模块启动)。真实模型调用不进入该套件;真实 tmux/CLI 生命周期由下面有界的
|
|
123
|
-
package smoke 覆盖,不在 core 中维护第二套 daemon 矩阵。
|
|
124
|
-
归档预检新增三个可丢弃 Git/SQLite 场景,测试体约一秒;更广的 owner/诊断组合
|
|
125
|
-
保留为临时验证证据,不形成第二套永久矩阵。
|
|
126
|
-
|
|
127
|
-
新增的入口与 GC 回归还验证:实际 CLI 拒绝旧 Operator 写入、Task 角色修改
|
|
128
|
-
Home 设置和跨 Task 查询,同时保留正常读取与当前 Operator 操作;
|
|
129
|
-
Job 读取在 Controller 入口执行 Context 范围检查。真实本地 runtime 目录
|
|
130
|
-
只移动一次,隔离、恢复与清除可闭环;最新持久所有权优先于旧清理计划,
|
|
131
|
-
Task 重新打开后不能被 purge。
|
|
132
|
-
|
|
133
|
-
当前合同回归还覆盖:拒绝 `task turn`,单一补全身份在安装/卸载后保留无关
|
|
134
|
-
shell 内容;GC 读取精确的 SQLite Session 归属而不读取旧 JSON;`34→35` 保留
|
|
135
|
-
退休 payload、日志字节和身份计数,阻止未结算 gate/旧归属,并完整回滚无效转换。
|
|
136
|
-
|
|
137
|
-
启动回归验证原生模型别名、实际 ID 与开放自定义模型字段各自的合同,并在模型配置
|
|
138
|
-
拒绝时显示观测到的选项。Leader 启动被拒绝后,多次调度与重开 Store 不再产生尝试,
|
|
139
|
-
原始及后续输入保留并阻止提前完成;显式重试仅将精确拒绝批次重新排队,不改写历史。
|
|
140
|
-
明确的资源争用仍可重试;已接受或接受状态未知的通知不能重放。
|
|
141
|
-
|
|
142
|
-
失败配置查询在 Role 修改后仍保留原模型、工作区与 settings 选择,拒绝已改变的
|
|
143
|
-
Agent 绑定,支持显式刷新并标明缓存。Controller 提供原生账户环境,不接收调用方
|
|
144
|
-
凭据;Task、Role 与具体错误记录的读权限仍受约束。无 Run 启动失败与原生拒绝
|
|
145
|
-
复用一份错误和通知。`35→36` 保留历史错误字节和旧账本,把未记录配置标为不可用,
|
|
146
|
-
不猜测补齐。
|
|
147
|
-
|
|
148
|
-
精简失败上下文不再依赖执行、Review 或 Session 协议;`36→37` 把原快照留在审计中。
|
|
149
|
-
重复原生提交拒绝通过共同写入入口只产生一个错误和一条上级通知。小容量注入测试
|
|
150
|
-
验证结果淘汰、进行中查询合并、显式刷新以及真实的缓存来源标记。
|
|
151
|
-
|
|
152
|
-
当前 Session wrapper 只重定位明确生成的 Shell 形态,保留不可变 Manifest 与未知
|
|
153
|
-
脚本。逐 key release 回执重开后可复用成功,非法当前记录仍明确报错。Controller
|
|
154
|
-
停止后的存储阻塞恢复已捕获身份,不激活新包或迁移数据。
|
|
155
|
-
|
|
156
|
-
Global Session 替换回归验证:即使旧 Session 已被先前失败的切换移入历史,也必须
|
|
157
|
-
先确认原生执行静止再结算保留的输入;未知执行和并发 Turn 身份变化仍拒绝结算。
|
|
158
|
-
原始 Message 与停止证据保留。队列通知不能重启已明确停止的 Session,也不能越过
|
|
159
|
-
Host 准备期间新出现的 cleanup 义务。
|
|
160
|
-
|
|
161
|
-
配置元数据回归区分原生 help 枚举、静态 adapter 合同与缺失字段。一次性、仅返回
|
|
162
|
-
元数据的测试程序验证部分发现、精确缓存复用和刷新失败来源;权限选择器不能猜测
|
|
163
|
-
选项或抹去用户已有值,Doctor 共用 help 解析且不补造模型别名。
|
|
164
|
-
|
|
165
|
-
Operator attention 按批次原子交接给一条 Global Message,忙时新事件不与已交出事件重叠。
|
|
166
|
-
SQLite 重开、回滚和精确 receipt 重用保留后到批次及未投递证据。本地假 Host control 入口
|
|
167
|
-
检查 unknown/rejected 投递、后继输入及 Controller dirty signal,不调用真实模型;既有
|
|
168
|
-
Global 控制测试继续保护 interrupt-then 和精确 Session/authority。
|
|
38
|
+
`npm test` 和 `npm run test:core` 构建当前 checkout 并运行维护中的套件。
|
|
39
|
+
基线切换移除仅属于旧 v1→v37 实现的测试,源码和证据保留在冻结的 0.16.2。
|
|
40
|
+
混合测试中的当前行为继续保留,例如 Review scope 和 Integration 完成边界。
|
|
41
|
+
|
|
42
|
+
当前覆盖包括:
|
|
43
|
+
|
|
44
|
+
1. 新建存储 1.0、精确结构与记录校验、禁止覆盖未知数据库、无修改拒绝旧整数格式。
|
|
45
|
+
2. 独立 v37 转换:原始意图、审计、计数器、嵌套 Session、不透明 Context、
|
|
46
|
+
无效输入回滚、离线备份及重复调用幂等。CLI 样本使用临时 Home,不转换真实账号;
|
|
47
|
+
转换器不进入运行 tarball。
|
|
48
|
+
3. 精确版本暂存、目标不匹配拒绝、同主版本连续小版本预检、交接锁显式所有者,
|
|
49
|
+
以及恢复时核对捕获的协议和存储身份,不接受缺失字段。
|
|
50
|
+
4. 持久 Task/Message/Decision 上下文、Draft 激活权威、mailbox 认领、
|
|
51
|
+
通知幂等、Session 替换及精确晚到结果。
|
|
52
|
+
5. Integration/Job 请求身份、冻结候选证据、冲突延续、Review scope 和最终验收。
|
|
53
|
+
6. Runtime/Host 隔离、假生产者的 Provider 协议和有界重试、配置来源与账号边界。
|
|
54
|
+
7. 工作区/GC 权威、归档清理、资源 CAS、telemetry、Web 投影与无真实外部效果的发布恢复。
|
|
55
|
+
8. checkout 隔离启动器的幂等安装、参数与 Home 精确传递、禁止覆盖无关文件,
|
|
56
|
+
以及已移除的全局链接命令在任何副作用前拒绝。开发 Home 重置保留独立的身份检查
|
|
57
|
+
和备份行为。
|
|
58
|
+
9. Controller 可选维护、各个重试 Session、Task continuation 观察的失败隔离,
|
|
59
|
+
诊断包含所属对象,不伪造投递、取消或静默状态。
|
|
60
|
+
|
|
61
|
+
测试阶段保持秒级,构建单独计时。真实 CLI/Controller/Host/tmux 接线复用现有
|
|
62
|
+
组装包冒烟,不新增守护进程矩阵。转换样本只保留一个冻结终点,不在新套件里
|
|
63
|
+
重新实现整条旧迁移链。真实模型或真实 Home 检查需要显式授权。
|
|
64
|
+
当前记录按声明的字段集合拒绝未知字段,不维护退役字段名称黑名单。
|
|
169
65
|
|
|
170
66
|
## Skill 与指令变更
|
|
171
67
|
|
package/i18n/README.zh-CN.md
CHANGED
|
@@ -30,8 +30,9 @@ Yui 是面向编程 Agent 的本地控制面。你只需用自然语言把目标
|
|
|
30
30
|
Web 仅本地回环,包含只读视图和经认证的用户控制。
|
|
31
31
|
- **默认隔离** —— 仓库改动发生在受管 Git worktree 中,稳定 checkout 保持只读。
|
|
32
32
|
|
|
33
|
-
> **状态:**
|
|
34
|
-
>
|
|
33
|
+
> **状态:** 1.0.0-alpha.1,采用纯净的存储 1.0 基线。默认更新只执行同一存储
|
|
34
|
+
> 主版本内已声明的小版本升级。旧 v37 Home 需要独立的
|
|
35
|
+
> [一次性转换](../docs/storage-baseline.zh-CN.md)。
|
|
35
36
|
|
|
36
37
|
[快速开始](#快速开始) · [通过对话管理工作](#通过对话管理工作) · [架构](#架构) · [设计原则](#设计原则)
|
|
37
38
|
|
|
@@ -347,8 +348,8 @@ Yui 默认将控制面数据保存在 `~/.yui`,通过 `YUI_HOME` 选择另一
|
|
|
347
348
|
|
|
348
349
|
验证当前 checkout 时,先执行 `make install-local`,之后使用绝对路径
|
|
349
350
|
`<checkout>/output/dev/bin/yui`。它默认使用 checkout 内的隔离 Home,首次使用
|
|
350
|
-
状态命令前执行该 launcher 的 `setup
|
|
351
|
-
验证本地修改。真实模型、付费或共享资源测试需要用户明确请求这些资源。
|
|
351
|
+
状态命令前执行该 launcher 的 `setup`。开发工具不管理全局安装,
|
|
352
|
+
不要用全局 `yui` 验证本地修改。真实模型、付费或共享资源测试需要用户明确请求这些资源。
|
|
352
353
|
|
|
353
354
|
## 社区与支持
|
|
354
355
|
|