@zq-silk/yui 0.16.1 → 1.0.0-alpha
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/ARCHITECTURE.md +12 -0
- package/ARCHITECTURE.zh-CN.md +8 -0
- package/README.md +9 -4
- package/dist/agent/agent.js +4 -9
- package/dist/agent/executionComponents.js +4 -4
- package/dist/agent/managedRuntimeEnvironment.js +0 -4
- package/dist/agentRun/agentRun.js +13 -23
- package/dist/artifacts/managedGit.js +3 -56
- package/dist/brief/taskBrief.js +3 -3
- package/dist/cli/agentConfigurationPicker.js +24 -21
- package/dist/cli/commandCatalog.js +18 -10
- package/dist/cli/roleWizard.js +41 -30
- package/dist/cli/updateCommand.js +35 -13
- package/dist/cli/updateOrchestrator.js +73 -44
- package/dist/cli/updatePorts.js +76 -86
- package/dist/cli/upgradeCommand.js +4 -8
- package/dist/cli.js +39 -33
- package/dist/commands/controllerCommands.js +2 -2
- package/dist/commands/executionAuditCommands.js +2 -2
- package/dist/commands/projectCommands.js +1 -1
- package/dist/commands/releaseCommands.js +9 -38
- package/dist/commands/taskCommands.js +91 -81
- package/dist/commands/taskCompletionGate.js +0 -117
- package/dist/commands/taskRoleRuntimeStatus.js +2 -2
- package/dist/commands/taskUpstreamCommands.js +93 -54
- package/dist/context/runContextPack.js +30 -54
- package/dist/context/runInputContract.js +9 -0
- package/dist/context/sessionBootstrapManifest.js +11 -19
- package/dist/controller/agentHostObservation.js +4 -2
- package/dist/controller/agentRuntimeObserver.js +4 -4
- package/dist/controller/clientRuntime.js +19 -44
- package/dist/controller/controller.js +24 -10
- package/dist/controller/fileSchedulerStoreAdapter.js +91 -24
- package/dist/controller/globalInputDelivery.js +31 -8
- package/dist/controller/globalRuntimeAttention.js +34 -0
- package/dist/controller/jobSupervisor.js +3 -3
- package/dist/controller/operatorNotification.js +31 -0
- package/dist/controller/providerRetryAdmission.js +3 -1
- package/dist/controller/providerRetryDelivery.js +136 -119
- package/dist/controller/runtime.js +2 -28
- package/dist/controller/sessionOwnerReconciliation.js +42 -24
- package/dist/controller/structuredProviderObservation.js +28 -1
- package/dist/controller/updateReconciliation.js +72 -20
- 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/doctor/doctor.js +2 -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/agentAdapter.js +28 -96
- package/dist/executor/agentConfigurationCatalog.js +13 -68
- package/dist/executor/agentConfigurationFields.js +120 -0
- package/dist/executor/agentConfigurationProbe.js +55 -80
- package/dist/executor/agentExecutor.js +11 -8
- package/dist/executor/effectiveLaunch.js +3 -3
- package/dist/executor/executorRegistry.js +0 -9
- package/dist/executor/fileRoleLaunchPlanner.js +12 -11
- 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/interaction/operatorPresentation.js +2 -1
- package/dist/job/durableJob.js +1 -1
- package/dist/job/jobRunner.js +2 -2
- package/dist/message/message.js +8 -6
- package/dist/message/messageContinuation.js +8 -9
- package/dist/milestone/milestone.js +3 -3
- package/dist/observability/executionAudit.js +1 -10
- package/dist/observability/runtimeIdentity.js +0 -23
- package/dist/output/agentConfigurationPresentation.js +4 -2
- package/dist/profile/agentProfile.js +3 -3
- package/dist/release/releaseHandover.js +2 -2
- package/dist/release/releaseIdempotencyStore.js +0 -23
- package/dist/release/releaseWorkflowPorts.js +8 -4
- package/dist/release/runtimeRelease.js +9 -7
- package/dist/repository/gitWorkspace.js +66 -19
- package/dist/repository/project.js +3 -3
- package/dist/repository/taskWorkspacePreparer.js +75 -68
- package/dist/resources/liveReferences.js +1 -1
- package/dist/resources/resourceRegistry.js +90 -44
- package/dist/resources/sqliteResourceRegistry.js +5 -7
- package/dist/review/reviewRound.js +5 -5
- package/dist/role/role.js +7 -8
- package/dist/runtime/acpProtocol.js +2 -3
- package/dist/runtime/acpSession.js +21 -5
- package/dist/runtime/agentDriverObservation.js +1 -1
- package/dist/runtime/agentEndpoint.js +4 -1
- package/dist/runtime/agentHost.js +25 -65
- package/dist/runtime/agentHostCleanup.js +85 -0
- package/dist/runtime/agentHostProtocol.js +3 -3
- package/dist/runtime/builtinAgentDrivers.js +46 -119
- package/dist/runtime/builtinTranscriptObserver.js +10 -6
- package/dist/runtime/codexAppServerRuntime.js +55 -89
- package/dist/runtime/codexInteractiveHost.js +1 -1
- package/dist/runtime/jsonLineChannel.js +35 -7
- package/dist/runtime/launchBroker.js +1 -1
- package/dist/runtime/processExitObservation.js +1 -1
- package/dist/runtime/providerContinuationReconciliationService.js +86 -38
- package/dist/runtime/providerRetry.js +15 -0
- package/dist/runtime/providerRuntimeIdentity.js +3 -3
- package/dist/runtime/providerRuntimeReconciler.js +12 -2
- package/dist/runtime/runtimeCoherence.js +7 -3
- package/dist/runtime/runtimeObservation.js +3 -3
- package/dist/runtime/sessionOwnerIdentity.js +1 -1
- package/dist/runtime/structuredProviderHost.js +106 -81
- package/dist/runtime/taskRuntimeIsolation.js +3 -3
- package/dist/runtime/tmuxAdapters.js +3 -3
- package/dist/scheduler/activeRoleRunDelivery.js +5 -1
- package/dist/scheduler/operatorInputNotificationProcessor.js +7 -17
- 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 -112
- package/dist/task/nextAction.js +33 -23
- package/dist/task/task.js +17 -8
- 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/web/assets/assetManifest.js +2 -0
- package/dist/web/assets/client/app.js +72 -3
- package/dist/web/assets/client/components.js +2 -1
- package/dist/web/assets/client/i18n.js +2 -0
- package/dist/web/assets/client/taskSummary.js +345 -0
- package/dist/web/assets/client/taskSurface.js +44 -26
- package/dist/web/assets/client/view.js +33 -0
- package/dist/web/assets/shell.js +1 -0
- package/dist/web/assets/styles/cards.js +21 -0
- package/dist/web/webServer.js +39 -5
- package/dist/web/webSessions.js +165 -0
- package/dist/web/webSnapshot.js +23 -0
- package/dist/web/webTaskSurface.js +23 -0
- 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 +50 -7
- package/docs/managed-turn-and-session-runtime.zh-CN.md +36 -5
- package/docs/observability/README.md +47 -0
- package/docs/observability/README.zh-CN.md +37 -0
- package/docs/project-refresh.md +9 -0
- package/docs/project-refresh.zh-CN.md +8 -0
- package/docs/provider-retry.md +35 -0
- package/docs/release-workflow.md +70 -214
- package/docs/release-workflow.zh-CN.md +53 -157
- package/docs/roles-and-configuration.md +30 -0
- package/docs/roles-and-configuration.zh-CN.md +20 -0
- 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 +132 -0
- package/docs/storage-baseline.zh-CN.md +106 -0
- package/docs/task-delivery.md +110 -2
- package/docs/task-delivery.zh-CN.md +82 -2
- package/docs/task-discovery.md +9 -0
- package/docs/task-discovery.zh-CN.md +6 -0
- package/docs/testing/verification-levels.md +42 -164
- package/docs/testing/verification-levels.zh-CN.md +29 -115
- package/i18n/README.zh-CN.md +7 -4
- package/package.json +1 -1
- package/skills/yui-leader/SKILL.md +11 -0
- package/skills/yui-leader/references/execution.md +22 -0
- package/skills/yui-leader/references/planning.md +6 -2
- package/skills/yui-operator/SKILL.md +45 -13
- package/skills/yui-operator/references/task-delivery.md +99 -0
- package/skills/yui-runtime/SKILL.md +5 -3
- package/skills/yui-runtime/references/publication.md +56 -5
- package/skills/yui-runtime/references/recovery.md +12 -2
- package/dist/runtime/agentHostCompatibility.js +0 -127
- 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
|
@@ -35,120 +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 编译版本的存储代码无法读取 Home,事实仍先进入现有 Inbox;
|
|
68
|
-
Controller 侧归属校验、ACK 丢失重放和 legacy Host 升级拒绝保护原始执行。
|
|
69
|
-
独立冻结的 v1 协议生产者在真实 19→22 迁移前后保持同一进程,通过新 discovery
|
|
70
|
-
分别向两个 Controller 发出认证 RPC,并在断线窗口保留事实。生产 launch 路径
|
|
71
|
-
在不向 Session 环境导出 Run ID 的前提下保留 scoped 启动证据。该 fixture 代表最低
|
|
72
|
-
支持的新线协议,不声称已发布的修复前 Host 可以原地热更新。
|
|
73
|
-
归档与 Host 消费交错时保留完整来源 envelope,不重新打开 Task 或结算原不确定输入。
|
|
74
|
-
18. Project 维护锁等待不阻塞持锁者,使用共享的 60 秒单调时钟预算与每次独立的
|
|
75
|
-
200–500ms 随机间隔;Controller 停止时取消等待,不丢失激活意图。
|
|
76
|
-
可丢弃锁、SQLite 和 Git fixture 覆盖排他、部分锁释放及取锁后重校验,
|
|
77
|
-
注入时钟验证一分钟截止逻辑,不实际等待一分钟;竞争激活各自采用工作区,
|
|
78
|
-
不重放 Git 操作。
|
|
79
|
-
19. Task 用量在精确请求、累计基线、Session 替换和原生子执行重叠下区分真实零、
|
|
80
|
-
部分与未知。小型事件 fixture 覆盖直接 Leader/并行耗时,以及 CLI/Web/audit
|
|
81
|
-
共享的全生命周期投影,不采集 Provider 数据。
|
|
82
|
-
20. 明确清理释放保留终端、不影响其他 Task、不把存活资源报告为已释放;
|
|
83
|
-
Controller 替换确认旧进程退出。
|
|
84
|
-
21. 结构化验证经过实际 RPC 解析器和两种本地执行器,保持 argv、显式 Shell 失败、
|
|
85
|
-
环境和工作区相对 cwd 的语义。修正执行契约后不再复用旧结果,不重写历史证据或迁移。
|
|
86
|
-
22. 并发资源登记保留无关记录、拒绝覆盖已变化的同一记录;GC 在成功和失败时关闭自有连接。
|
|
87
|
-
23. Context 计数、原文查阅和事件分页不全量加载历史、不获取写锁;遥测写入让出事件循环,
|
|
88
|
-
关闭时排空自有 Worker。
|
|
89
|
-
24. Release 使用临时 SQLite 和 fake 外部端口检查不确定效果查询、已确认步骤复用、
|
|
90
|
-
grant 次数耗尽;不宣称真实发布服务已验证。
|
|
91
|
-
25. 1.0 前的契约清理只通过显式迁移规范化旧单条调度批次;拒绝旧 CLI/ACP 输入、
|
|
92
|
-
未登记开发链接、未固定 release 身份与不受支持的 quarantine 回执,不编造接受或
|
|
93
|
-
丢弃证据。当前链接、配置和隔离资源恢复仍可用。
|
|
94
|
-
26. 激活在资源采用前拒绝缺失请求,仍保留规划延后与取消边界。集成队列退役通过可回滚的
|
|
95
|
-
单次迁移保留完整记录及活动尝试,不编造交付;冲突中的 Integration 仍阻止完成。
|
|
96
|
-
27. owner 或 OS 身份不明时锁仍保持围栏;PR 查询通过注入端口区分不存在、格式错误、
|
|
97
|
-
歧义及传输失败。无回执的 Git 操作保持原样,正常回执续作仍可用。通知格式迁移保留
|
|
98
|
-
当前投递和审计历史,并拒绝活动执行引用。
|
|
99
|
-
28. SQLite 准入不受无关旁路文件覆盖,缺少数据库的非空 Home 仍拒绝初始化。
|
|
100
|
-
CLI/HTTP 默认目录有界,页外详情继续可读;未知 writer lease 只诊断不修改。
|
|
101
|
-
Review 迁移保留候选证据并显式写入 scope。
|
|
102
|
-
29. 核心读取缺失时,在 Provider 准备及消息入队前失败,不将缺失接口当作空证据。
|
|
103
|
-
WorkItem 历史状态退役保留完整原文和当前工作,安全递增 Event ID,
|
|
104
|
-
未知旧形态不推进迁移账本。
|
|
105
|
-
30. WorkItem 重叠仅作只读建议,权限和依赖保护不变。实际本地检查验证默认复用、
|
|
106
|
-
显式重跑失败、未完成证据与过期消费者拒绝,覆盖现行证明路径;
|
|
107
|
-
Integration 重跑不能绕过等价未完成验证。模式迁移保留历史执行,并阻止切换
|
|
108
|
-
已接纳的旧验证。
|
|
109
|
-
31. Message 编辑保留提交意图和不可变请求身份;相同正文更新不排队,develop 编辑
|
|
110
|
-
不创建 planning Run。激活解除后,未绑定请求身份的讨论仍可进入规划;queue 请求
|
|
111
|
-
身份在 interrupt-then 交接后仍冻结。完成检查仍能看到显式排队的输入。输入迁移保留
|
|
112
|
-
原始审计证据和旧账本,不擅自授权旧 pending immediate 激活。实际 Controller
|
|
113
|
-
接纳当前已授权请求,但不恢复已取消请求。缺失 Store 读取在配置写入或全量扫描
|
|
114
|
-
前失败。显式 Job 请求复用同一操作,拒绝不同输入和缺失请求键。
|
|
115
|
-
32. Worker Job 的准入、管理和启动前检查拒绝其他 owner/工作区,同时保留合法
|
|
116
|
-
Worker 与 Leader 操作。候选被改写时不能发布可复用成功,显式放弃后重试也不
|
|
117
|
-
借用旧绿灯。Upstream 返回已接纳 Job 和精确续作 ID。插件多次替换后仍记录迟到的
|
|
118
|
-
旧实例清理失败,不回滚新选择。共享校验拒绝无效写入、普通/Context 读取和全
|
|
119
|
-
Home 健康检查,不自动修补数据。
|
|
120
|
-
|
|
121
|
-
把测试阶段保持在秒级;单独度量 TypeScript 构建。新增一个关键回归时记录其增量运行
|
|
122
|
-
时长。这七个恢复边界用例在开发主机上最初约增加 0.4 秒的测试体(独立运行约 0.6 秒,
|
|
123
|
-
含模块启动)。真实模型调用不进入该套件;真实 tmux/CLI 生命周期由下面有界的
|
|
124
|
-
package smoke 覆盖,不在 core 中维护第二套 daemon 矩阵。
|
|
125
|
-
归档预检新增三个可丢弃 Git/SQLite 场景,测试体约一秒;更广的 owner/诊断组合
|
|
126
|
-
保留为临时验证证据,不形成第二套永久矩阵。
|
|
127
|
-
|
|
128
|
-
新增的入口与 GC 回归还验证:实际 CLI 拒绝旧 Operator 写入、Task 角色修改
|
|
129
|
-
Home 设置和跨 Task 查询,同时保留正常读取与当前 Operator 操作;
|
|
130
|
-
Job 读取在 Controller 入口执行 Context 范围检查。真实本地 runtime 目录
|
|
131
|
-
只移动一次,隔离、恢复与清除可闭环;最新持久所有权优先于旧清理计划,
|
|
132
|
-
Task 重新打开后不能被 purge。
|
|
133
|
-
|
|
134
|
-
当前合同回归还覆盖:拒绝 `task turn`,单一补全身份在安装/卸载后保留无关
|
|
135
|
-
shell 内容;GC 读取精确的 SQLite Session 归属而不读取旧 JSON;`34→35` 保留
|
|
136
|
-
退休 payload、日志字节和身份计数,阻止未结算 gate/旧归属,并完整回滚无效转换。
|
|
137
|
-
|
|
138
|
-
启动回归验证原生模型别名、实际 ID 与开放自定义模型字段各自的合同,并在模型配置
|
|
139
|
-
拒绝时显示观测到的选项。Leader 启动被拒绝后,多次调度与重开 Store 不再产生尝试,
|
|
140
|
-
原始及后续输入保留并阻止提前完成;显式重试仅将精确拒绝批次重新排队,不改写历史。
|
|
141
|
-
明确的资源争用仍可重试;已接受或接受状态未知的通知不能重放。
|
|
142
|
-
|
|
143
|
-
失败配置查询在 Role 修改后仍保留原模型、工作区与 settings 选择,拒绝已改变的
|
|
144
|
-
Agent 绑定,支持显式刷新并标明缓存。Controller 提供原生账户环境,不接收调用方
|
|
145
|
-
凭据;Task、Role 与具体错误记录的读权限仍受约束。无 Run 启动失败与原生拒绝
|
|
146
|
-
复用一份错误和通知。`35→36` 保留历史错误字节和旧账本,把未记录配置标为不可用,
|
|
147
|
-
不猜测补齐。
|
|
148
|
-
|
|
149
|
-
精简失败上下文不再依赖执行、Review 或 Session 协议;`36→37` 把原快照留在审计中。
|
|
150
|
-
重复原生提交拒绝通过共同写入入口只产生一个错误和一条上级通知。小容量注入测试
|
|
151
|
-
验证结果淘汰、进行中查询合并、显式刷新以及真实的缓存来源标记。
|
|
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
|
+
当前记录按声明的字段集合拒绝未知字段,不维护退役字段名称黑名单。
|
|
152
65
|
|
|
153
66
|
## Skill 与指令变更
|
|
154
67
|
|
|
@@ -166,7 +79,8 @@ package-start 检查跟随已安装树中的本地 Skill 引用,包括跨 Role
|
|
|
166
79
|
也不增加宽泛回归套件。
|
|
167
80
|
`node scripts/smoke-runtime-package.mjs --assembled .release-stage` 经过真实
|
|
168
81
|
CLI/Controller/Host/SQLite 与隔离 tmux,仅用确定性夹具替换外部 Provider。它验证
|
|
169
|
-
setup、输入跨重启持久化及幂等、scratch
|
|
82
|
+
setup、输入跨重启持久化及幂等、scratch 激活、原生结果入库、完成后保留会话、
|
|
83
|
+
显式重开后的一条幂等 Operator 请求及其精确原生结果,以及
|
|
170
84
|
归档释放活/死 pane 和附属查看 session,且不影响相似名称的相邻 session。
|
|
171
85
|
夹具拥有新建 Home 和独立 PATH,在 setup 前建立清理责任,不调用安装的真实模型 Agent。
|
|
172
86
|
|
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.0 基线。默认更新只执行同一存储
|
|
34
|
+
> 主版本内已声明的小版本升级。旧 v37 Home 需要独立的
|
|
35
|
+
> [一次性转换](../docs/storage-baseline.zh-CN.md)。
|
|
35
36
|
|
|
36
37
|
[快速开始](#快速开始) · [通过对话管理工作](#通过对话管理工作) · [架构](#架构) · [设计原则](#设计原则)
|
|
37
38
|
|
|
@@ -124,6 +125,8 @@ Agent 可以重新读取任务上下文,继续兼容的 Session,或在必要
|
|
|
124
125
|
想直观看进展,可以在另一个终端运行 `yui web`。本地 Web 展示同一份任务与
|
|
125
126
|
待回答问题,也允许发送消息、回答问题,以及显式 queue、steer 或 interrupt Task 输入。
|
|
126
127
|
这些经认证的 Task 控制复用 CLI 的相同操作,不是另一套需要同步的任务系统。
|
|
128
|
+
详情优先展示用户待办、原生会话活动、任务进展和关键结论;固定文件成果与交付证据
|
|
129
|
+
按需展开。详见[用户关注与进展](../docs/observability/README.zh-CN.md#web-用户关注与进展)。
|
|
127
130
|
详见 [Web 权限](../docs/architecture/capabilities-and-resources.zh-CN.md#cli-与-web)
|
|
128
131
|
和[输入时机](../docs/managed-turn-and-session-runtime.zh-CN.md#输入时机queuesteer-与-interrupt)。
|
|
129
132
|
|
|
@@ -345,8 +348,8 @@ Yui 默认将控制面数据保存在 `~/.yui`,通过 `YUI_HOME` 选择另一
|
|
|
345
348
|
|
|
346
349
|
验证当前 checkout 时,先执行 `make install-local`,之后使用绝对路径
|
|
347
350
|
`<checkout>/output/dev/bin/yui`。它默认使用 checkout 内的隔离 Home,首次使用
|
|
348
|
-
状态命令前执行该 launcher 的 `setup
|
|
349
|
-
验证本地修改。真实模型、付费或共享资源测试需要用户明确请求这些资源。
|
|
351
|
+
状态命令前执行该 launcher 的 `setup`。开发工具不管理全局安装,
|
|
352
|
+
不要用全局 `yui` 验证本地修改。真实模型、付费或共享资源测试需要用户明确请求这些资源。
|
|
350
353
|
|
|
351
354
|
## 社区与支持
|
|
352
355
|
|
package/package.json
CHANGED
|
@@ -42,11 +42,22 @@ or planning work; the routes below do not override those restrictions.
|
|
|
42
42
|
been authorized and is legal. A conversation does not reopen, reactivate or
|
|
43
43
|
resume execution. If new implementation is requested, identify the needed
|
|
44
44
|
lifecycle/authority action for the Operator; do not manufacture a Run.
|
|
45
|
+
An explicit same-result follow-up on a completed, unarchived Task can authorize
|
|
46
|
+
the Operator's necessary reopen and submission without a second mechanical
|
|
47
|
+
confirmation. Read the
|
|
48
|
+
[post-completion routing boundary](../yui-runtime/references/publication.md#post-completion-routing-boundary).
|
|
49
|
+
Publication recording/adoption is not a way to start terminal-Task execution.
|
|
45
50
|
|
|
46
51
|
These are instruction routes, not new lifecycle states or a scheduling
|
|
47
52
|
protocol. Where facts disagree or authority is missing, preserve intent and
|
|
48
53
|
report the exact boundary rather than choosing a more permissive route.
|
|
49
54
|
|
|
55
|
+
A `task-reopened` notification can arrive before its follow-up Message. Read the
|
|
56
|
+
prior completion and current Messages; if only lifecycle changed, wait for the
|
|
57
|
+
new request. Do not rerun accepted work, infer external authority, or immediately
|
|
58
|
+
complete again. Once the scoped request arrives, continue it in this Task without
|
|
59
|
+
asking for another “continue”; preserve the original acceptance evidence.
|
|
60
|
+
|
|
50
61
|
Handle a failed Worker/Reviewer launch through the shared
|
|
51
62
|
[configuration recovery guidance](../yui-runtime/references/recovery.md#configuration-and-model-name-failures).
|
|
52
63
|
Read its original failure and scoped metadata before choosing a correction;
|
|
@@ -105,6 +105,11 @@ Honor explicit delegation and independent Review requirements in the user's
|
|
|
105
105
|
messages and Task Brief. Neither `next-action` nor a disabled default review
|
|
106
106
|
policy authorizes dropping them to make completion easier.
|
|
107
107
|
|
|
108
|
+
Missing or cyclic dependencies identify conflicting records, not the correct
|
|
109
|
+
business repair. Read the related requirements, preserve valid edges, then
|
|
110
|
+
explicitly revise the intended dependency set or retire genuinely obsolete work.
|
|
111
|
+
Do not clear all dependencies merely to make a mechanical gate pass.
|
|
112
|
+
|
|
108
113
|
An Integration Job's success is not the final target update. For that
|
|
109
114
|
notification, read [Integration](integration.md) and continue from its exact
|
|
110
115
|
evidence; do not start a duplicate operation. Read that guidance also for an
|
|
@@ -350,6 +355,12 @@ compare-and-swap boundary.
|
|
|
350
355
|
After an authorized PR/MR operation, follow
|
|
351
356
|
[publication recording](../../yui-runtime/references/publication.md).
|
|
352
357
|
External delivery and Task completion remain separate facts.
|
|
358
|
+
Keep authorized follow-up delivery of this result in this Task and its legal
|
|
359
|
+
managed workspace: synchronize, resolve necessary conflicts, validate, perform
|
|
360
|
+
only the authorized external operations, and record their exact evidence.
|
|
361
|
+
Do not refer ordinary delivery to a new Task. When remote delivery is part of
|
|
362
|
+
the current requirement, a local commit or completed Run does not satisfy it;
|
|
363
|
+
report a real blocker rather than declaring that requirement complete.
|
|
353
364
|
|
|
354
365
|
After a ReviewRound is terminal, the Leader or authorized Operator owns
|
|
355
366
|
`task work review cleanup <task>/<round>`. Preserve dirty diagnostic evidence
|
|
@@ -372,6 +383,17 @@ yui task complete <task-id> \
|
|
|
372
383
|
Completion records the exact Project heads. Archive is a separate,
|
|
373
384
|
user-authorized Operator action.
|
|
374
385
|
|
|
386
|
+
Completion is offline by default. `--refresh-remote` only refreshes remote
|
|
387
|
+
freshness observations; neither path rebases or starts Integration checks.
|
|
388
|
+
For observation alone use `task base status <task> [--refresh]`. If upstream
|
|
389
|
+
changes need integration, choose it explicitly before completion:
|
|
390
|
+
`task upstream integrate <task> (--latest|--project <project>)` requests rebase
|
|
391
|
+
and the configured checks/CAS. Consume its exact Integration/Job and partial
|
|
392
|
+
results; a prepared candidate is not an advanced Task HEAD.
|
|
393
|
+
An established final Review is still prepared/dispatched by completion without
|
|
394
|
+
renewed approval. Inspect the returned stage and exact ReviewRound/Run: a
|
|
395
|
+
Review-pending, running or blocked result is not Task completion.
|
|
396
|
+
|
|
375
397
|
If completion reports `pending-user-input`, new user intent has not yet reached
|
|
376
398
|
the current notification window. End this native turn so the next notification
|
|
377
399
|
can be delivered, then read the original messages and reassess the outcome.
|
|
@@ -38,10 +38,14 @@ User/Operator submissions use `--intent record|discuss|develop` on
|
|
|
38
38
|
or activate; the routing result is `planned-needs-manual-activation`.
|
|
39
39
|
|
|
40
40
|
Read the returned routing/feedback and current context before taking the next
|
|
41
|
-
action. Active submissions do not downgrade or reactivate the Task;
|
|
42
|
-
submissions
|
|
41
|
+
action. Active submissions do not downgrade or reactivate the Task; ordinary
|
|
42
|
+
terminal-Task submissions are refused, not saved for later execution or used to
|
|
43
|
+
reopen it. A stopped execution gate is not permission to
|
|
43
44
|
resume. `--request-id <key>` on submissions preserves the original result on a
|
|
44
45
|
matching retry, not permission to replay uncertain work or change its content.
|
|
46
|
+
For expressly requested continuation of a completed result, use the existing
|
|
47
|
+
[authorized reopen and submission path](../../yui-runtime/references/publication.md#post-completion-routing-boundary),
|
|
48
|
+
not Draft activation or an implicit transition inferred from `--intent develop`.
|
|
45
49
|
|
|
46
50
|
Once planning has been entered, starting delivery requires a distinct,
|
|
47
51
|
explicit activation authorization. A development remark during discussion,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: yui-operator
|
|
3
|
-
description: Route
|
|
3
|
+
description: Route requests and follow-up delivery through the owning Task Leaders, coordinate serial delivery across Tasks, explain progress, and manage authorized configuration, lifecycle and safety interventions.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Yui Operator
|
|
@@ -10,10 +10,13 @@ its Global Context without inventing a Task AgentRun. For explicit Task dispatch
|
|
|
10
10
|
load the exact Run Context Pack and preserve its scope and permission boundaries.
|
|
11
11
|
|
|
12
12
|
Be the task-neutral user entry point. Let the user discuss outcomes rather than
|
|
13
|
-
Yui records and commands.
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
13
|
+
Yui records and commands. Keep implementation, acceptance and follow-up delivery
|
|
14
|
+
with the owning Task's Leader by default. The Operator routes intent and
|
|
15
|
+
authority, verifies outcomes and reports to the user; it does not normally take
|
|
16
|
+
over implementation or create a second Task for the same result's delivery.
|
|
17
|
+
Legal configuration, lifecycle and urgent safety interventions remain available;
|
|
18
|
+
responsibility is not an extra permission gate. Global context does not grant a
|
|
19
|
+
delivery workspace. Resolve Skill links relative to this Skill's directory.
|
|
17
20
|
|
|
18
21
|
## Communicate at the user's level
|
|
19
22
|
|
|
@@ -55,8 +58,16 @@ before routing or deciding; a summary/ref is not the requirement or report.
|
|
|
55
58
|
|
|
56
59
|
Route new input to an existing Task when it advances, corrects, narrows, or
|
|
57
60
|
extends the same bounded outcome and shares final acceptance, delivery, or
|
|
58
|
-
rollback.
|
|
59
|
-
|
|
61
|
+
rollback. Development, local completion, PR/MR submission, merge and ordinary
|
|
62
|
+
follow-up fixes are not inherently separate outcomes. Keep their original
|
|
63
|
+
authorization, acceptance and Publication traceable in the owning Task.
|
|
64
|
+
|
|
65
|
+
Create a new Task for a genuinely independent outcome that can be accepted,
|
|
66
|
+
delivered and rolled back separately, or when the user explicitly asks for a new
|
|
67
|
+
Task. State the substantive new outcome or explicit instruction in its routed
|
|
68
|
+
context. An old Task being completed, needing revalidation, sharing files or
|
|
69
|
+
needing a PR is not that reason. A blocked continuation is a boundary to report,
|
|
70
|
+
not evidence that the result has become independent.
|
|
60
71
|
|
|
61
72
|
Repository, file overlap, technical layer, request size, and Task type do not
|
|
62
73
|
determine Task identity. They also do not determine WorkItem count. Let
|
|
@@ -67,7 +78,9 @@ in its description or routed Message. The examples below are separate
|
|
|
67
78
|
operations, not an automatic create/submit/activate sequence. For creation-only
|
|
68
79
|
intent, save the Task without starting planning. Discussion does not authorize
|
|
69
80
|
delivery; follow the Leader's [planning and activation boundary](../yui-leader/references/planning.md)
|
|
70
|
-
before activation.
|
|
81
|
+
before activation. Queries, record-only input and discussion do not authorize
|
|
82
|
+
reopening. An explicit request to continue the same completed result can authorize
|
|
83
|
+
the necessary reopening; follow the delivery guidance below.
|
|
71
84
|
|
|
72
85
|
```sh
|
|
73
86
|
yui operator submit "<related request and delta>" --task <task-id> --intent discuss
|
|
@@ -106,10 +119,28 @@ from current ownership and acceptance boundaries. A WorkItem is justified only
|
|
|
106
119
|
for a substantial independently useful requirement, not for investigation,
|
|
107
120
|
phases, files, tests, reviews, findings, or small repairs.
|
|
108
121
|
|
|
109
|
-
|
|
122
|
+
Before an exceptional, authorized takeover of Task coordination, state why
|
|
123
|
+
Leader routing cannot meet the current need and read
|
|
110
124
|
[yui-leader](../yui-leader/SKILL.md) for execution, review and Integration choices.
|
|
111
125
|
Do not reproduce that scheduling policy in configuration or routing.
|
|
112
126
|
|
|
127
|
+
## Keep delivery in the owning Tasks
|
|
128
|
+
|
|
129
|
+
For PR/MR submission, merge or delivery-related corrections, read
|
|
130
|
+
[same-Task and serial delivery](references/task-delivery.md) before routing.
|
|
131
|
+
For several Tasks, send the bounded authorized request to one owning Leader,
|
|
132
|
+
verify its exact delivery evidence, then advance the next. Do not default to
|
|
133
|
+
a new integration/delivery Task, concurrent dependent publications or direct
|
|
134
|
+
Global implementation. A successful send, native terminal or completed Task
|
|
135
|
+
does not establish remote merge.
|
|
136
|
+
|
|
137
|
+
For an explicitly requested continuation of a completed, unarchived result,
|
|
138
|
+
use the existing `task reopen` then durable submission path. The user's request
|
|
139
|
+
authorizes the necessary reopening within that scope; do not demand that they
|
|
140
|
+
also say “reopen.” Ordinary messages do not auto-reopen a Task. Keep cancelled,
|
|
141
|
+
archived and independently stopped execution boundaries separate, and do not
|
|
142
|
+
use Session recovery to bypass them.
|
|
143
|
+
|
|
113
144
|
## Prefer the lowest-complexity intervention
|
|
114
145
|
|
|
115
146
|
Before intervening, read current intent and the existing configuration or
|
|
@@ -117,10 +148,11 @@ execution path. An explanation request is not a request to change configuration.
|
|
|
117
148
|
Distinguish a missing capability from an existing one that was not supplied
|
|
118
149
|
the user's actual environment or context.
|
|
119
150
|
|
|
120
|
-
Choose routine legal
|
|
121
|
-
review and
|
|
122
|
-
|
|
123
|
-
|
|
151
|
+
Choose routine legal routing and management actions yourself; leave Task
|
|
152
|
+
architecture, allocation, review and delivery choices with its Leader unless a
|
|
153
|
+
justified intervention is needed. Reuse current authority and primitives.
|
|
154
|
+
Do not require a new Task for every atomic management action. Preserve
|
|
155
|
+
user-owned configuration and external-effect boundaries.
|
|
124
156
|
|
|
125
157
|
Escalate only a real product tradeoff, new authority, unavailable external fact,
|
|
126
158
|
credential, irreversible effect, or safety boundary.
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
# Same-Task and serial delivery
|
|
2
|
+
|
|
3
|
+
Use this when the user asks to submit, merge or correct existing Task results.
|
|
4
|
+
The owning Task remains the default home of the result, even after local
|
|
5
|
+
acceptance. This is Agent coordination using current facts and atomic commands,
|
|
6
|
+
not a new delivery workflow or persistent scheduling state.
|
|
7
|
+
|
|
8
|
+
## Establish the current boundary
|
|
9
|
+
|
|
10
|
+
Read each selected Task's current Context, full original request and relevant
|
|
11
|
+
Messages, completion evidence, existing Publication/PR identity and dependencies:
|
|
12
|
+
|
|
13
|
+
```sh
|
|
14
|
+
yui task context <task> --json
|
|
15
|
+
yui task message show <task/message>
|
|
16
|
+
yui task publication list <task> --json
|
|
17
|
+
yui task remote-delivery <task> --json
|
|
18
|
+
yui task role session inspect <task> leader
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
Local reads do not refresh a provider. When an authorized external read is needed,
|
|
22
|
+
inspect the exact existing PR and commits before creating or retrying anything.
|
|
23
|
+
Unknown delivery or external effects are not permission to repeat the operation.
|
|
24
|
+
Use [Runtime recovery](../../yui-runtime/references/recovery.md) for exact
|
|
25
|
+
notification/Session uncertainty, not a private retry or polling loop.
|
|
26
|
+
|
|
27
|
+
Separate lifecycle, execution gate and Session authority:
|
|
28
|
+
|
|
29
|
+
- An active, execution-enabled Task can receive ordinary Leader input. Inspect
|
|
30
|
+
the submission receipt and subsequent notification/result; admission is not
|
|
31
|
+
implementation.
|
|
32
|
+
- A Draft still follows [planning and activation](../../yui-leader/references/planning.md).
|
|
33
|
+
An old planning Session does not gain delivery authority from activation.
|
|
34
|
+
- An explicitly stopped Task needs authorized `task execution start <task>`
|
|
35
|
+
after exact cleanup, not another message or Session replacement to bypass the
|
|
36
|
+
stop. Starting execution is available only for open Tasks.
|
|
37
|
+
- A completed, unarchived Task has separate local acceptance and remote delivery
|
|
38
|
+
facts. An explicit user request to continue the same result authorizes the
|
|
39
|
+
necessary `task reopen` before submitting that bounded request. Follow the
|
|
40
|
+
[authorized two-step path](../../yui-runtime/references/publication.md#post-completion-routing-boundary);
|
|
41
|
+
do not require a second mechanical “reopen” confirmation.
|
|
42
|
+
- Cancelled/retired intent is not active work. An archived Task cannot be reopened;
|
|
43
|
+
retained workspaces and historical Sessions do not authorize execution.
|
|
44
|
+
- Session loss or replacement is not a new result or an automatic lifecycle
|
|
45
|
+
change. Recover only within the Task's current authority, preserving its intent.
|
|
46
|
+
|
|
47
|
+
Use the existing reopen and submission operations, not an invented auto-reopen
|
|
48
|
+
option or a new delivery Task. Reopening and saving input have separate receipts;
|
|
49
|
+
inspect current state after a failure and retain the original request identity.
|
|
50
|
+
Only a real missing authority, resource or unresolved execution boundary calls
|
|
51
|
+
for escalation. Do not reopen for a query, implicitly restore cancelled intent,
|
|
52
|
+
use archived workspaces, restart a separate execution stop, or claim rejected
|
|
53
|
+
input was saved.
|
|
54
|
+
|
|
55
|
+
## Advance one owning Leader at a time
|
|
56
|
+
|
|
57
|
+
Choose a sensible order from the user's order, real dependencies and current
|
|
58
|
+
target-branch facts. For a serial multi-Task delivery request:
|
|
59
|
+
|
|
60
|
+
1. Send only the current Task's Leader a durable request naming the authorized
|
|
61
|
+
external effects, repository and target branch, source result/PR, relevant
|
|
62
|
+
earlier merge evidence, limits and expected proof. Development alone does not
|
|
63
|
+
authorize push/PR/merge; merge does not authorize release, production update or
|
|
64
|
+
archive. Resolve genuinely missing authority before requesting those effects.
|
|
65
|
+
2. The Leader handles synchronization, necessary conflict resolution, relevant
|
|
66
|
+
validation and the authorized normal push/PR/merge in its own legal managed
|
|
67
|
+
workspace. It records confirmed operations promptly through
|
|
68
|
+
[Publication](../../yui-runtime/references/publication.md), retaining original
|
|
69
|
+
acceptance and reviewing/adopting a changed candidate when applicable.
|
|
70
|
+
Do not register the same PR again under another Task to manufacture coverage.
|
|
71
|
+
3. On the durable result/update, read the original report in full and inspect
|
|
72
|
+
the exact Publication, source/merge commits and target. Use authorized
|
|
73
|
+
`task publication verify <task>/<publication>` when needed; then check
|
|
74
|
+
`task remote-delivery <task> --json` for verified merge and coverage of the
|
|
75
|
+
owning Task's accepted result, not just a merged PR label.
|
|
76
|
+
4. Only after that evidence satisfies this Task's requested delivery, send the
|
|
77
|
+
next Leader its request with the now-confirmed predecessor facts. If blocked,
|
|
78
|
+
retain the order and pending intent in existing durable context and report the
|
|
79
|
+
specific boundary. Do not launch the dependent delivery or emit unchanged
|
|
80
|
+
waiting messages; future durable updates supply the next opportunity.
|
|
81
|
+
|
|
82
|
+
After any necessary authorized reopening, either of these is an ordinary durable
|
|
83
|
+
Leader submission for the active Task; choose one, do not send both:
|
|
84
|
+
|
|
85
|
+
```sh
|
|
86
|
+
yui operator submit "<delivery request with authority and boundaries>" \
|
|
87
|
+
--task <task> --intent develop --request-id <id>
|
|
88
|
+
yui task message send <task> "<delivery request with authority and boundaries>" \
|
|
89
|
+
--intent develop --request-id <id>
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
Omit `--to leader` for this ordinary Leader input. Explicit `--to` addresses an
|
|
93
|
+
existing WorkItem/ReviewRound Assignment, not the Task's general conversation.
|
|
94
|
+
Keep the exact request ID on a retry of the same submission and inspect its
|
|
95
|
+
receipt; a new ID is not a remedy for unknown acceptance.
|
|
96
|
+
|
|
97
|
+
For three ordered Tasks, this means request A, verify A, request B against A's
|
|
98
|
+
confirmed delivery, verify B, then request and verify C. It does not mean sending
|
|
99
|
+
three messages immediately and hoping the Leaders serialize themselves.
|
|
@@ -49,9 +49,11 @@ For every explicitly dispatched managed Task AgentRun:
|
|
|
49
49
|
"$YUI_SESSION_CLI" task run context expand "$YUI_TASK_ID/<run-id>" <ref-id> --store <store> --mode full --json
|
|
50
50
|
```
|
|
51
51
|
|
|
52
|
-
|
|
53
|
-
authorized pointer
|
|
54
|
-
|
|
52
|
+
`--store` is required, even when the ref id is unique. Select both fields
|
|
53
|
+
from the exact authorized pointer; never infer a store from the id.
|
|
54
|
+
Dispatched Runs require an explicit frozen Snapshot. A historical Run
|
|
55
|
+
without one is audit-only: current Task facts cannot reconstruct its
|
|
56
|
+
execution Context.
|
|
55
57
|
|
|
56
58
|
A pointer or summary is not the request's body. Before planning or executing,
|
|
57
59
|
read the relevant WorkItem/Task requirements and referenced user/Operator
|
|
@@ -1,20 +1,69 @@
|
|
|
1
1
|
# Record external delivery
|
|
2
2
|
|
|
3
|
-
Use this
|
|
4
|
-
|
|
3
|
+
Use this when routing authorized follow-up delivery or after creating, updating,
|
|
4
|
+
closing, reopening or merging a PR/MR. This procedure does not grant permission
|
|
5
5
|
to push, publish, merge, query an external provider or archive.
|
|
6
6
|
|
|
7
|
+
## Post-completion routing boundary
|
|
8
|
+
|
|
9
|
+
An explicit user request to continue implementation or delivery of the same
|
|
10
|
+
completed, unarchived result authorizes its necessary reopening within that
|
|
11
|
+
request's scope. The Operator need not ask the user to additionally say “reopen.”
|
|
12
|
+
Read the original completion, fixed heads/reports, Publication and current
|
|
13
|
+
authority first, then use the existing two operations:
|
|
14
|
+
|
|
15
|
+
```sh
|
|
16
|
+
yui task reopen <task>
|
|
17
|
+
yui operator submit "<new request, authority, boundaries and prior evidence>" \
|
|
18
|
+
--task <task> --intent develop --request-id <id>
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
Unaddressed `task message send` with the same intent/key options is an alternative
|
|
22
|
+
to the second command, not an additional send. Ordinary send/queue/submit still
|
|
23
|
+
refuses completed Tasks before saving new input; no intent implicitly changes
|
|
24
|
+
lifecycle and there is no auto-reopen option. `--to leader` instead requires an existing
|
|
25
|
+
WorkItem/ReviewRound Assignment.
|
|
26
|
+
|
|
27
|
+
Reopen returns the Task to active and clears its current completion fields;
|
|
28
|
+
original completion events, fixed commits/artifacts and Publication history stay
|
|
29
|
+
intact. The Leader must assess the new request and separately accept any new
|
|
30
|
+
result, not pretend old validation proves changed work. Reopen does not replay
|
|
31
|
+
historical Messages/Runs, change the Role's Agent/model/permissions, or lift an
|
|
32
|
+
independent execution stop. Queries, ordinary record/discussion input and Session
|
|
33
|
+
recovery do not authorize resumption. Cancelled intent needs its own explicit
|
|
34
|
+
restoration authority; archived Tasks cannot reopen. A stopped gate still needs
|
|
35
|
+
the separately authorized start/cleanup path.
|
|
36
|
+
|
|
37
|
+
These are two atomic operations, not one transaction. Read the reopen result and
|
|
38
|
+
the submission's saved/queued receipt separately. If the second step fails,
|
|
39
|
+
inspect current Task/Message facts and continue only the unapplied step within
|
|
40
|
+
unchanged authority. Keep the same submission key on a matching retry; unknown
|
|
41
|
+
native or external effects are never replay permission. Do not reopen again just
|
|
42
|
+
to retry input after another completion, cancellation or stop. A lifecycle-only
|
|
43
|
+
notification may precede the new Message: the Leader waits for the actual request,
|
|
44
|
+
without rerunning old work or immediately completing the reopened Task.
|
|
45
|
+
|
|
46
|
+
Publication recording, diff/adopt and verification remain separately authorized
|
|
47
|
+
atomic operations on completed, unarchived results. They need no reopening when
|
|
48
|
+
no further execution is requested, and never grant authority for code changes.
|
|
49
|
+
|
|
50
|
+
## Record and verify the owning Task's publication
|
|
51
|
+
|
|
7
52
|
Immediately record the confirmed operation with `yui task publication upsert`.
|
|
8
53
|
Supply only facts already known from the operation; do not defer recording to
|
|
9
|
-
another Role or depend on provider-specific discovery.
|
|
54
|
+
another Role or depend on provider-specific discovery. Keep it with the Task
|
|
55
|
+
whose result is delivered; do not duplicate the same PR/MR across Tasks to
|
|
56
|
+
substitute for missing ownership or acceptance evidence.
|
|
10
57
|
|
|
11
58
|
Track PR/MR identity, state, commits, URL, merge time and evidence, not CI or
|
|
12
59
|
deployment status. After merge, use `yui task publication verify` only when
|
|
13
60
|
current authorization covers that external provider read. Otherwise retain
|
|
14
61
|
reported evidence and state the verification gap.
|
|
15
62
|
|
|
16
|
-
|
|
17
|
-
|
|
63
|
+
Preserve each completion head as that acceptance's evidence. After an authorized
|
|
64
|
+
reopen, finish the new work and record its own completion; retain the earlier
|
|
65
|
+
event and report rather than rewriting them. For a still-completed Task whose
|
|
66
|
+
authorized post-completion integration produced a different candidate, record
|
|
18
67
|
its exact local commit, then read `task publication diff <task>/<publication>`.
|
|
19
68
|
Inspect the complete delta against the original acceptance, including removals,
|
|
20
69
|
conflict resolutions and additional changes. Only when that candidate still
|
|
@@ -36,6 +85,8 @@ decision. Archived history is read-only to these adopt/verify operations.
|
|
|
36
85
|
Use `yui task remote-delivery <task>` to explain external delivery. Publication
|
|
37
86
|
is not Candidate acceptance, Review, Integration or Task completion.
|
|
38
87
|
|
|
88
|
+
## Archive separately
|
|
89
|
+
|
|
39
90
|
Completion does not authorize archive. The Operator obtains authorization for
|
|
40
91
|
the exact Task, checks archive eligibility, then uses `--integrated` for verified
|
|
41
92
|
merged delivery or `--abandon` for deliberate non-delivery. General archive
|
|
@@ -35,8 +35,12 @@ configured Agent identity. Native settings files and credentials are still read
|
|
|
35
35
|
currently, not copied into error history. A historical error without a recorded
|
|
36
36
|
configuration, or a changed Agent command/bindings, returns a diagnosis instead
|
|
37
37
|
of borrowing today's Role configuration. To inspect the desired next launch
|
|
38
|
-
explicitly, omit `--error`. Distinguish live, cached
|
|
39
|
-
|
|
38
|
+
explicitly, omit `--error`. Distinguish live enumeration, identity-matched cached
|
|
39
|
+
observations, declared static adapter inputs, and unavailable fields. Read field
|
|
40
|
+
reasons, warnings, observation/attempt times and the current query error: a live
|
|
41
|
+
query can contain static or unavailable fields, and a cache hit is not current
|
|
42
|
+
Provider confirmation. Do not treat an alias list as a complete Provider
|
|
43
|
+
whitelist or a static/custom choice as proven native support.
|
|
40
44
|
|
|
41
45
|
Reconcile the original user requirement with exact native IDs and alias
|
|
42
46
|
mappings. Correcting the name of the same authorized model is routine recovery;
|
|
@@ -130,6 +134,12 @@ If exact native stop or inspection fails, read the persisted diagnostic and
|
|
|
130
134
|
resolve that resource boundary; do not kill arbitrary processes, clear unknown
|
|
131
135
|
execution records, or modify managed refs, tmux Sessions or state files.
|
|
132
136
|
|
|
137
|
+
Breaking upgrades require a clean runtime environment; Yui does not discover,
|
|
138
|
+
convert or inherit historical Hosts and processes. Storage migration is a
|
|
139
|
+
separate explicit operation, not proof of runtime continuity. Do not interpret
|
|
140
|
+
missing compatibility diagnostics as permission to reuse an old process,
|
|
141
|
+
discard pending intent or bypass exact ownership and stop confirmation.
|
|
142
|
+
|
|
133
143
|
After repeated failure of the same bounded recovery, report the observed
|
|
134
144
|
cause, impact and smallest remaining options. Do not broaden cleanup or add
|
|
135
145
|
a private retry loop. A failed recovery does not erase the pending requirement.
|