@zq-silk/yui 2.20.0 → 2.22.0
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 +5 -0
- package/dist/cli/commandCatalog.js +88 -28
- package/dist/cli/dynamicCompletion.js +4 -1
- package/dist/cli/helpRenderer.js +12 -1
- package/dist/cli/interactionPolicy.js +2 -0
- package/dist/cli/invocationAuthority.js +2 -6
- package/dist/cli/invocationRouter.js +5 -5
- package/dist/cli/managedDiagnostics.js +24 -16
- package/dist/cli/roleWizard.js +5 -1
- package/dist/commands/durableJobCommands.js +2 -3
- package/dist/commands/globalRoleCommands.js +33 -8
- package/dist/commands/inboxCommands.js +39 -12
- package/dist/commands/operatorCommands.js +2 -5
- package/dist/commands/releaseCommands.js +16 -2
- package/dist/commands/roleConfiguration.js +25 -2
- package/dist/commands/sessionCommands.js +5 -2
- package/dist/commands/taskCommands.js +225 -99
- package/dist/commands/taskContextCommand.js +26 -4
- package/dist/commands/taskFactCommands.js +20 -7
- package/dist/commands/taskIntegrationCommands.js +3 -3
- package/dist/commands/taskRoleRuntimeStatus.js +15 -5
- package/dist/commands/taskUsageCommand.js +2 -6
- package/dist/commands/textInput.js +2 -2
- package/dist/context/contextFamilies.js +10 -0
- package/dist/context/currentSkills.js +6 -4
- package/dist/context/runContextPack.js +44 -5
- package/dist/context/runInputContract.js +1 -1
- package/dist/context/sessionBootstrapManifest.js +7 -5
- package/dist/context/sessionSkillNotice.js +53 -0
- package/dist/context/taskCatalog.js +4 -13
- package/dist/context/taskContext.js +135 -103
- package/dist/context/taskSearch.js +3 -7
- package/dist/controlPlaneCli.js +23 -25
- package/dist/controller/agentRuntimeObserver.js +57 -12
- package/dist/controller/clientRuntime.js +37 -8
- package/dist/controller/controller.js +3 -1
- package/dist/controller/diagnosticJournal.js +10 -2
- package/dist/controller/fileSchedulerStoreAdapter.js +72 -24
- package/dist/controller/jobClient.js +2 -2
- package/dist/controller/jobControl.js +2 -2
- package/dist/controller/jobDefinitionControl.js +5 -1
- package/dist/controller/messageHealth.js +4 -3
- package/dist/controller/providerRetryAdmission.js +15 -1
- package/dist/controller/providerRetryDelivery.js +18 -2
- package/dist/controller/runtime.js +15 -5
- package/dist/controller/runtimeEventInbox.js +107 -13
- package/dist/controller/runtimeEventProcessor.js +3 -3
- package/dist/controller/taskRunRecovery.js +153 -0
- package/dist/core/controllerClient.js +16 -2
- package/dist/core/controllerServer.js +14 -5
- package/dist/core/controllerTelemetry.js +51 -5
- package/dist/errors/cliFailure.js +14 -5
- package/dist/executor/agentAdapter.js +32 -4
- package/dist/executor/agentConfigurationFields.js +2 -0
- package/dist/executor/taskAgentCapabilities.js +2 -2
- package/dist/integration/gitIntegrationService.js +3 -2
- package/dist/integration/integrationSourceApplication.js +12 -1
- package/dist/interaction/notificationPresentation.js +11 -16
- package/dist/interaction/operatorPresentation.js +1 -1
- package/dist/message/messageContinuation.js +3 -1
- package/dist/output/boundedRead.js +36 -7
- package/dist/output/rolePresentation.js +3 -1
- package/dist/runtime/agentHost.js +12 -3
- package/dist/runtime/codexAppServerRuntime.js +110 -24
- package/dist/runtime/codexInteractiveHost.js +46 -0
- package/dist/runtime/providerRetry.js +5 -2
- package/dist/runtime/providerRuntimeIdentity.js +1 -1
- package/dist/runtime/structuredProviderHost.js +32 -34
- package/dist/scheduler/wakeupQueue.js +10 -4
- package/dist/storage/sqliteSchema.js +9 -0
- package/dist/storage/storageVersions.js +1 -1
- package/dist/task/taskAuthority.js +7 -3
- package/dist/tmux/tmuxManager.js +4 -2
- package/dist/web/webSettings.js +2 -0
- package/docs/authorization.md +18 -3
- package/docs/cli-information-contract.md +245 -6
- package/docs/cli-information-contract.zh-CN.md +107 -5
- package/docs/managed-turn-and-session-runtime.md +82 -21
- package/docs/managed-turn-and-session-runtime.zh-CN.md +56 -13
- package/docs/provider-retry.md +11 -0
- package/docs/release-workflow.md +62 -0
- package/docs/release-workflow.zh-CN.md +46 -0
- package/docs/roles-and-configuration.md +28 -0
- package/docs/roles-and-configuration.zh-CN.md +21 -0
- package/docs/storage-baseline.md +4 -1
- package/docs/storage-baseline.zh-CN.md +1 -1
- package/docs/task-delivery.md +7 -0
- package/docs/task-delivery.zh-CN.md +5 -0
- package/docs/task-discovery.md +5 -5
- package/docs/task-discovery.zh-CN.md +4 -4
- package/docs/testing/review-evaluation.md +7 -7
- package/docs/testing/review-evaluation.zh-CN.md +7 -7
- package/docs/testing/verification-levels.md +45 -2
- package/docs/testing/verification-levels.zh-CN.md +21 -2
- package/i18n/README.zh-CN.md +6 -0
- package/package.json +1 -1
- package/skills/yui-leader/SKILL.md +98 -189
- package/skills/yui-leader/VERSION +1 -1
- package/skills/yui-leader/references/artifacts.md +41 -0
- package/skills/yui-leader/references/assignment-execution.md +140 -0
- package/skills/yui-leader/references/completion.md +79 -0
- package/skills/yui-leader/references/delivery-scope.md +26 -0
- package/skills/yui-leader/references/execution.md +16 -487
- package/skills/yui-leader/references/implementation.md +81 -0
- package/skills/yui-leader/references/planning.md +7 -45
- package/skills/yui-leader/references/review.md +90 -0
- package/skills/yui-leader/references/task-progress.md +23 -0
- package/skills/yui-leader/references/work-allocation.md +118 -0
- package/skills/yui-operator/SKILL.md +77 -331
- package/skills/yui-operator/VERSION +1 -1
- package/skills/yui-operator/references/body-transport.md +62 -0
- package/skills/yui-operator/references/configuration.md +47 -0
- package/skills/yui-operator/references/lifecycle.md +41 -0
- package/skills/yui-operator/references/progress.md +39 -0
- package/skills/yui-operator/references/routing.md +57 -0
- package/skills/yui-operator/references/submission.md +56 -0
- package/skills/yui-operator/references/task-delivery.md +5 -2
- package/skills/yui-operator/references/web-lifecycle.md +19 -0
- package/skills/yui-operator/scripts/verify-submission.mjs +37 -0
- package/skills/yui-reviewer/SKILL.md +4 -2
- package/skills/yui-reviewer/VERSION +1 -1
- package/skills/yui-runtime/SKILL.md +177 -505
- package/skills/yui-runtime/VERSION +1 -1
- package/skills/yui-runtime/references/archive.md +51 -0
- package/skills/yui-runtime/references/command-discovery.md +41 -0
- package/skills/yui-runtime/references/completed-followup.md +65 -0
- package/skills/yui-runtime/references/context-ordering.md +3 -34
- package/skills/yui-runtime/references/context-reads.md +61 -0
- package/skills/yui-runtime/references/dispatched-run.md +61 -0
- package/skills/yui-runtime/references/execution-failure.md +105 -0
- package/skills/yui-runtime/references/global-context.md +18 -0
- package/skills/yui-runtime/references/global-input-controls.md +44 -0
- package/skills/yui-runtime/references/host-custody.md +30 -0
- package/skills/yui-runtime/references/inbox-recovery.md +77 -0
- package/skills/yui-runtime/references/incremental-context.md +40 -0
- package/skills/yui-runtime/references/publication.md +4 -104
- package/skills/yui-runtime/references/recovery.md +32 -192
- package/skills/yui-runtime/references/session-identity.md +18 -0
- package/skills/yui-runtime/references/session-replacement.md +45 -0
- package/skills/yui-runtime/references/uncertain-execution.md +29 -0
- package/skills/yui-worker/SKILL.md +7 -4
- package/skills/yui-worker/VERSION +1 -1
|
@@ -29,9 +29,21 @@ submitting, unknown and interrupt-owned input still retain their handling path.
|
|
|
29
29
|
scopes, phase/read costs and sampled event-loop lag are separate facts.
|
|
30
30
|
Samples use a process-monotonic clock and hashed target/request labels, with
|
|
31
31
|
at most 16 recent and 16 active samples plus the slowest completed sample.
|
|
32
|
-
In-flight request count is not queue depth
|
|
33
|
-
measured. These observations neither identify an old incident
|
|
34
|
-
nor establish quiescence; restarting a Controller does not refresh live Hosts.
|
|
32
|
+
In-flight request count is not queue depth; total client-to-route wait is not
|
|
33
|
+
measured by the server alone. These observations neither identify an old incident
|
|
34
|
+
retroactively nor establish quiescence; restarting a Controller does not refresh live Hosts.
|
|
35
|
+
|
|
36
|
+
`observations.commands.routes.transport` correlates socket accept-to-route,
|
|
37
|
+
complete-frame receive-to-route and route-to-local-flush stages by the same
|
|
38
|
+
request hash as route service time. A close before the response finishes is a
|
|
39
|
+
failed transport observation, even if the business handler later succeeds.
|
|
40
|
+
Client socket failures retain local monotonic connect/write/first-response/end
|
|
41
|
+
timestamps in `details.diagnostic.controller.timing`; null means not observed.
|
|
42
|
+
Match the request ID's SHA-256 prefix before comparing these with server stages.
|
|
43
|
+
These are local events, not peer acknowledgement or pure kernel queue time.
|
|
44
|
+
The interval before the server's accept callback includes unobserved socket and
|
|
45
|
+
event-loop delay; sampled lag alone cannot attribute it to a scheduler phase.
|
|
46
|
+
No timeout, coherence check, receipt, retry or stop/start policy is changed.
|
|
35
47
|
|
|
36
48
|
`observations.persistence` separates main-thread database lock/body/commit
|
|
37
49
|
costs from persistence-worker round trips, worker execution and worker reads.
|
|
@@ -54,6 +66,24 @@ admission and other lifecycle writes still require their own boundary analysis.
|
|
|
54
66
|
Status responsiveness during these maintenance operations is not proof that
|
|
55
67
|
every possible Controller stall has been eliminated.
|
|
56
68
|
|
|
69
|
+
The worker-backed runtime drain reads its immutable inbox files asynchronously,
|
|
70
|
+
as does native-Session discovery during launch. The 64-event fold limit is not
|
|
71
|
+
a limit on the initial directory scan: a large retained backlog must not be
|
|
72
|
+
read synchronously on the socket thread before that limit takes effect.
|
|
73
|
+
Sorting, per-file validation, event identities, fold order and commit-before-ACK
|
|
74
|
+
remain unchanged. This trades some backlog throughput for control responsiveness;
|
|
75
|
+
it is not a bound on total backlog memory or every CPU operation. Synchronous
|
|
76
|
+
producer deduplication and explicit worker-off drains still need separate
|
|
77
|
+
boundary analysis.
|
|
78
|
+
|
|
79
|
+
Controller stop retains the captured PID/start-generation fence through both
|
|
80
|
+
graceful drain and physical recovery. If the ownership inventory is unreadable,
|
|
81
|
+
a protected Home-validated discovery can retain that fence, but cannot authorize
|
|
82
|
+
a signal. No physical match is not proof of exit: before allowing successor
|
|
83
|
+
startup, the captured generation must be provably gone. A still-live generation
|
|
84
|
+
times out; unavailable generation evidence refuses recovery. Explicit physical
|
|
85
|
+
stop still revalidates UID, entrypoint, Home, PID and start identity before signalling.
|
|
86
|
+
|
|
57
87
|
Idle Global inbox recovery and already-settled retry checks use read-only
|
|
58
88
|
snapshots, without reserving SQLite's writer. Creating a recovery notice or
|
|
59
89
|
settling an outstanding retry still rechecks the current Session/claim/input
|
|
@@ -85,12 +115,17 @@ pin a read snapshot, uncommitted writes cannot publish a reusable cache token,
|
|
|
85
115
|
and only 16 recent Task projections are retained. Cache entries never authorize
|
|
86
116
|
dispatch or replace exact mutation-time checks.
|
|
87
117
|
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
118
|
+
Role instance codes and generated Session/planning titles are Yui presentation
|
|
119
|
+
metadata, using Yui's configured time zone where a date is included.
|
|
120
|
+
Managed Codex retains this launch title but does not submit native title
|
|
121
|
+
synchronization, including on restore and reconnect. This intentional omission
|
|
122
|
+
is logged locally, not emitted as a failed operation or recovery notification.
|
|
123
|
+
An unsubmitted name is never persisted as an applied native title; the native
|
|
124
|
+
conversation and business execution remain usable.
|
|
125
|
+
The native title mutation has been observed to persist without replying and
|
|
126
|
+
block later Goal/Turn requests, even with a separate metadata client. Automatic
|
|
127
|
+
synchronization must not be restored merely by increasing a timeout or retrying
|
|
128
|
+
an unknown write; it requires a verified nonblocking native path.
|
|
94
129
|
|
|
95
130
|
## Authority
|
|
96
131
|
|
|
@@ -177,14 +212,27 @@ continuations and the complete-original reading protocol.
|
|
|
177
212
|
Run Context freezes Assignment, source references, effective configuration and
|
|
178
213
|
workspace boundaries. A Role edit does not rewrite an existing Assignment.
|
|
179
214
|
Reading either Context does not acknowledge input or create execution authority.
|
|
180
|
-
|
|
215
|
+
Initial or changed managed input points to the exact Session Manifest and CLI entry. The
|
|
181
216
|
Run Pack is a reference directory: read the relevant requirement and message
|
|
182
217
|
bodies before acting, rather than treating a successful load as the deliverable.
|
|
183
218
|
Planning Packs expose no Project write scope or Task-completion permission.
|
|
184
219
|
|
|
185
|
-
The Manifest pointer is a recovery locator, not a read receipt.
|
|
186
|
-
|
|
187
|
-
|
|
220
|
+
The Manifest pointer is a recovery locator, not a read receipt. The managed Host
|
|
221
|
+
checks current paths, internal `VERSION` files and readability before submit/steer,
|
|
222
|
+
including the native Operator TUI relay. Unchanged inputs carry a short check
|
|
223
|
+
notice, not repeated Skill lists or a request for another Agent tool call.
|
|
224
|
+
The ordinary notice is only a check result: it does not repeat compaction or
|
|
225
|
+
loading procedures. Those belong to the launch contract and event-specific
|
|
226
|
+
entry guidance. After lost context, reconstruct the current working set from
|
|
227
|
+
the Runtime/Role entry points and references applicable to the next action;
|
|
228
|
+
do not restore the union of every procedure used earlier in the conversation.
|
|
229
|
+
This is instruction routing, not a claim that the Host detects compaction,
|
|
230
|
+
can evict old text, or knows what the model remembers.
|
|
231
|
+
First input, changed metadata and Host reattachment/recovery supply current pointers.
|
|
232
|
+
Only confirmed Provider acceptance advances the Host-local notice state; failures
|
|
233
|
+
and unknown submissions do not. This state is ephemeral, not a loading receipt.
|
|
234
|
+
Unmediated clients retain `yui session skills --json` through their Session CLI/Home.
|
|
235
|
+
The check operates without reading
|
|
188
236
|
Skill bodies or walking/snapshotting resources. Builtins use the running
|
|
189
237
|
installation's `skills/<id>` entry; configured Skills use `YUI_HOME/skills/<id>`.
|
|
190
238
|
These paths do not contain a Session/content digest. After changing installation
|
|
@@ -200,6 +248,8 @@ compacted/uncertain context. Reuse only when versions are unchanged and the full
|
|
|
200
248
|
instructions remain available now. Yui stores no "already read" state and does
|
|
201
249
|
not claim to inspect the model's context. Historical packages remain audit only;
|
|
202
250
|
missing/corrupt snapshots do not prevent valid Session resume or input delivery.
|
|
251
|
+
Provider compaction is not reliably observable here: missing instructions still
|
|
252
|
+
require Agent-directed reload even when engineering reports unchanged versions.
|
|
203
253
|
Missing current files report their exact path and recovery action. Session
|
|
204
254
|
identity, scope, writer fences and real CLI/Home incompatibility still reject.
|
|
205
255
|
Always refresh dynamic facts. Leader notifications use
|
|
@@ -411,7 +461,7 @@ The three failure ingresses retain their native fencing/classification, while
|
|
|
411
461
|
record creation and deduplication share one writer and supervisor notices use
|
|
412
462
|
the existing event-routing boundary.
|
|
413
463
|
|
|
414
|
-
Unknown Leader notifications preserve their wake and input window:
|
|
464
|
+
Unknown or rejected Leader notifications preserve their wake and input window:
|
|
415
465
|
|
|
416
466
|
```sh
|
|
417
467
|
yui task wake show <task> <wake>
|
|
@@ -419,14 +469,20 @@ yui task wake resolve <task> <wake> --reason <quiescence-evidence>
|
|
|
419
469
|
```
|
|
420
470
|
|
|
421
471
|
Resolve releases the claim after native-effect fences are clear. It neither
|
|
422
|
-
replays the notification nor invents acceptance or completion.
|
|
472
|
+
replays the notification nor invents acceptance or completion. A rejection,
|
|
473
|
+
including one recorded after an unknown outcome, is not quiescence evidence.
|
|
474
|
+
If an execution stop removed the operational mailbox, the exact durable
|
|
475
|
+
notification attempt can still be explicitly released for inbox inspection
|
|
476
|
+
and handling; a different current batch is never released. Missing delivery
|
|
477
|
+
evidence is refused, not guessed. Original delivery events and handling claims
|
|
478
|
+
remain unchanged; a repeated resolve adds no second disposition. Independent
|
|
423
479
|
Role work and legal local facts are not a Task-wide recovery lock.
|
|
424
480
|
|
|
425
481
|
Wake status records notification delivery, not Message implementation. For
|
|
426
482
|
ordinary Leader notifications, `consumed` means native acceptance. Native Turn
|
|
427
483
|
completion and Task delivery need their own runtime evidence and durable results.
|
|
428
|
-
A rejected wake stays `dispatched` with its claim until explicit retry
|
|
429
|
-
replacement; an explicitly released historical wake can remain `dispatched`
|
|
484
|
+
A rejected wake stays `dispatched` with its claim until explicit retry, no-replay
|
|
485
|
+
resolve or Session replacement; an explicitly released historical wake can remain `dispatched`
|
|
430
486
|
without a claim. Unknown acceptance cannot use `wake retry`.
|
|
431
487
|
Session replacement preserves queued input for a new wake and current Context;
|
|
432
488
|
it does not retroactively mark an old wake accepted. Late receipts cannot settle
|
|
@@ -725,10 +781,15 @@ Goal `stalled` alone neither establishes the cause nor warrants clearing Goal.
|
|
|
725
781
|
|
|
726
782
|
In this candidate, `task wake retry` requires a proven-rejected, unconsumed
|
|
727
783
|
exact claim, a corrected cause and no accepted/uncertain native execution.
|
|
728
|
-
`task wake resolve` supports an unknown
|
|
729
|
-
|
|
730
|
-
|
|
731
|
-
|
|
784
|
+
As an alternative, not a sequence, `task wake resolve` supports an unknown or
|
|
785
|
+
rejected exact notification attempt after shared-native/background/writer
|
|
786
|
+
quiescence and persisted evidence; rejection (including after unknown) is not
|
|
787
|
+
quiescence. It releases scheduling without replay or semantic acknowledgement.
|
|
788
|
+
If the operational mailbox is absent, exact durable wake/attempt evidence is
|
|
789
|
+
still required; another current batch is never released. Original claims,
|
|
790
|
+
delivery events and saved alerts remain unchanged. Deferred delivery meets
|
|
791
|
+
neither precondition. Refresh current installed capabilities before acting.
|
|
792
|
+
For Global Roles, this candidate
|
|
732
793
|
does not establish a dedicated targeted Host-stop command: inspect original
|
|
733
794
|
input/control and `session retry <role> show`, then discover current authorized
|
|
734
795
|
capabilities. There is no guessed Task equivalent or stop-all fallback.
|
|
@@ -14,9 +14,20 @@ interrupt-owned 输入仍保留原处理路径。
|
|
|
14
14
|
`controller status --json` 的 `identity.runtime.observations` 分别呈现已认证请求、
|
|
15
15
|
调度待处理范围、阶段/读取成本及采样的事件循环延迟。样本使用进程单调时钟,
|
|
16
16
|
目标/请求标签仅保存哈希;每组最多保留 16 个近期样本、16 个活动样本及最慢完成样本。
|
|
17
|
-
in-flight
|
|
17
|
+
in-flight 请求数不是排队数,服务端不能独自测量客户端到路由的完整等待。
|
|
18
|
+
观测不能反推旧事故的唯一根因,
|
|
18
19
|
也不构成静止证明;重启 Controller 不会刷新存活 Host。
|
|
19
20
|
|
|
21
|
+
`observations.commands.routes.transport` 使用与 route service time 相同的请求哈希,
|
|
22
|
+
分别关联 socket accept→route、完整帧 receive→route、route→本地 flush。
|
|
23
|
+
响应完成前连接关闭会记录 transport 失败,即使业务 handler 随后成功。
|
|
24
|
+
客户端 socket 失败在 `details.diagnostic.controller.timing` 保留单调时钟的
|
|
25
|
+
connect/write/首个 response/end 时间戳;null 表示未观测到。
|
|
26
|
+
比较服务端阶段前须匹配 request ID 的 SHA-256 前缀。这些是本地事件,
|
|
27
|
+
不是对端确认或纯内核排队时间。服务端 accept callback 之前仍有未观测到的
|
|
28
|
+
socket/事件循环延迟,不能仅凭采样 lag 归因到某个调度阶段。
|
|
29
|
+
timeout、coherence、receipt、重试及 stop/start 策略均未改变。
|
|
30
|
+
|
|
20
31
|
`observations.persistence` 将主线程数据库锁等待/事务体/提交成本,与持久化
|
|
21
32
|
worker 的往返耗时、执行和读取成本分开。worker 摘要搭载既有响应,保留 worker
|
|
22
33
|
实例标识;status 只读缓存观测,不另发诊断 RPC。比较往返和执行时间时须匹配
|
|
@@ -31,6 +42,18 @@ worker 的往返耗时、执行和读取成本分开。worker 摘要搭载既有
|
|
|
31
42
|
隔离:启动准入、邮箱领取、到期 Job 准入及其他生命周期写入仍需分别分析边界。
|
|
32
43
|
这些维护操作期间状态请求可响应,不代表 Controller 的所有长停顿都已消除。
|
|
33
44
|
|
|
45
|
+
worker 模式的 runtime drain 改用异步读取不可变 inbox 文件,启动时的原生 Session
|
|
46
|
+
发现也使用同一路径。64 条折叠上限不限制前置目录扫描,不能在该上限生效前,
|
|
47
|
+
先在 socket 主线程同步读取整个积压。排序、逐文件校验、事件身份、折叠顺序及
|
|
48
|
+
先提交后 ACK 保持不变。这以部分积压吞吐换取控制面响应,不构成总积压内存或
|
|
49
|
+
全部 CPU 操作的上限;同步生产者去重及显式关闭 worker 的 drain 仍需分别分析。
|
|
50
|
+
|
|
51
|
+
Controller stop 在优雅停止和物理恢复两条分支都保留所捕获的 PID/启动代次。
|
|
52
|
+
所有权扫描不可读时,经权限及 Home 校验的 discovery 可以保留该代次约束,但
|
|
53
|
+
不能据此发信号。未找到物理匹配不等于已退出:允许启动后继前,必须证明原代次
|
|
54
|
+
已消失;仍活着则超时,代次证据不可读则拒绝恢复。显式物理停止在发信号前,
|
|
55
|
+
仍复核 UID、入口、Home、PID 及启动代次。
|
|
56
|
+
|
|
34
57
|
空闲 Global 收件箱恢复检查、已处分的重试检查使用只读快照,不申请 SQLite
|
|
35
58
|
写锁。真正创建恢复通知或处分未完成重试时,仍在原写事务内复核当前
|
|
36
59
|
Session/claim/输入。这消除的是空操作等锁,不是所有实际写入的竞争。
|
|
@@ -90,10 +113,13 @@ Provider binding,再结算执行占用。Global 停止证据保存为仅记录
|
|
|
90
113
|
不触发新的原生输入。待投递通知不能重启已明确停止的 Session;普通 Host 脱离仍
|
|
91
114
|
保留 active Session,可正常重连。部分切换失败后,仍须先结算旧输入再选择新会话。
|
|
92
115
|
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
116
|
+
Role 实例码及生成的 Session/规划标题属于 Yui 展示元数据;包含日期时采用当前
|
|
117
|
+
配置时区。托管 Codex 保留 launch 标题,但不提交原生标题同步,恢复与重连也不提交。
|
|
118
|
+
这一有意省略只写本地日志,不作为失败操作或恢复通知;未提交的标题不能记作已应用的
|
|
119
|
+
原生标题,原生对话与业务执行保持可用。
|
|
120
|
+
原生命名曾出现写入已生效却无回执、随后 Goal/Turn 请求阻塞的情况,独立元数据
|
|
121
|
+
连接也未解决。恢复自动同步需要验证不会阻塞执行的原生路径,不能仅增加超时或重试
|
|
122
|
+
结果未知的写入。
|
|
97
123
|
|
|
98
124
|
## 权威
|
|
99
125
|
|
|
@@ -137,8 +163,16 @@ Run Context 冻结 Assignment、来源引用、生效配置和工作区边界。
|
|
|
137
163
|
和消息正文,而不是把加载成功当成交付物。规划 Pack 不暴露 Project 写范围或 Task 完成
|
|
138
164
|
权限。
|
|
139
165
|
|
|
140
|
-
Manifest
|
|
141
|
-
|
|
166
|
+
Manifest 指针是恢复定位入口,不是已读凭据。managed Host 在 submit/steer 前检查,
|
|
167
|
+
原生 Operator TUI 代理也使用同一逻辑。普通未变化输入仅附短检查提示,不重复清单、
|
|
168
|
+
不要求 Agent 再发工具调用;首次、元数据变化和 Host 重连/恢复才给当前入口。
|
|
169
|
+
普通提示仅是工程检查结果,不逐轮重发压缩或加载操作说明;这些说明属于启动契约和
|
|
170
|
+
事件触发的入口引导。丢失上下文后,从 Runtime/Role 入口和当前动作适用引用重建工作集,
|
|
171
|
+
不恢复历史上用过的全部流程。这是指令路由,不声称 Host 能识别所有压缩、移除历史文本
|
|
172
|
+
或判断模型记忆。任务原文和必要新鲜状态仍按业务需要读取。
|
|
173
|
+
只有 Provider 明确接受才推进 Host 进程内的通知状态,失败与未知提交不推进;
|
|
174
|
+
它不是持久化加载收据。不经过该 Host 的客户端仍通过本 Session CLI/Home 执行
|
|
175
|
+
`yui session skills --json`。检查当前路径、内部 `VERSION` 和文件可读性,不读取
|
|
142
176
|
正文或遍历/冻结资源。内置入口是当前安装目录的 `skills/<id>`,自定义入口是
|
|
143
177
|
`YUI_HOME/skills/<id>`,不包含 Session/内容摘要;安装位置变化后由检查重新解析当前入口。
|
|
144
178
|
Global Manifest 的 `skillCheckCommand` 使用自包含的 `session context <role>`,
|
|
@@ -147,6 +181,8 @@ Global Manifest 的 `skillCheckCommand` 使用自包含的 `session context <rol
|
|
|
147
181
|
首次进入、版本变化、恢复,以及压缩后全文缺失或可用性不确定时,读取当前 Runtime、
|
|
148
182
|
Role/custom Skills 全文及必要引用、Manifest 的 profile。只有版本未变且全文仍在当前
|
|
149
183
|
上下文时才复用。系统不保存“已经读过”状态,也不声称检查了模型上下文。
|
|
184
|
+
当前接口不能可靠观察 Provider 压缩;即使工程报告版本未变,Agent 发现指令缺失时
|
|
185
|
+
仍须补读,不能将未发变化提示当作全文仍在的证明。
|
|
150
186
|
历史冻结包仅作审计:缺失或损坏不阻止合法 Session 恢复与消息投递;当前文件缺失则
|
|
151
187
|
报告具体路径和修复动作。身份、作用域、writer fence 与实际 CLI/Home 不兼容仍会拒绝。
|
|
152
188
|
动态事实仍须刷新:
|
|
@@ -302,19 +338,23 @@ retry 把被拒绝批次及后续排队输入交回现有 mailbox,不把旧 wa
|
|
|
302
338
|
工作区条目或当前 Session 引导协议。三类错误入口保留各自的原生身份检查与分类,
|
|
303
339
|
错误创建、去重统一一个写入入口,上级通知统一使用事件路由边界。
|
|
304
340
|
|
|
305
|
-
|
|
341
|
+
未知或被拒绝的 Leader 通知保留其唤醒和输入窗口:
|
|
306
342
|
|
|
307
343
|
```sh
|
|
308
344
|
yui task wake show <task> <wake>
|
|
309
345
|
yui task wake resolve <task> <wake> --reason <quiescence-evidence>
|
|
310
346
|
```
|
|
311
347
|
|
|
312
|
-
resolve
|
|
348
|
+
resolve 在原生效果围栏清除后释放该认领。它既不重放通知,也不编造接受或完成。
|
|
349
|
+
被拒绝(包括先 unknown 后 rejected)不等于已经静止。执行停止移除临时 mailbox 后,
|
|
350
|
+
仍可依据该 wake 的精确持久投递 attempt 显式释放,以便在 inbox 检查和结清;
|
|
351
|
+
不得释放另一当前批次。缺失投递证据时拒绝猜测。原始投递事件与处理认领保持不变,
|
|
352
|
+
重复 resolve 不增加第二次处分。独立的
|
|
313
353
|
Role 工作和合法的本地事实不是一把 Task 范围的恢复锁。
|
|
314
354
|
|
|
315
355
|
wake 状态记录通知投递,不记录 Message 的实施结果。普通 Leader 通知的 `consumed`
|
|
316
356
|
表示原生接受;原生 Turn 完成与 Task 交付应分别依据运行证据和持久结果判断。
|
|
317
|
-
被拒绝的 wake 保持 `dispatched` 并保留 claim
|
|
357
|
+
被拒绝的 wake 保持 `dispatched` 并保留 claim,直到显式重试、无重放 resolve 或 Session 替换;
|
|
318
358
|
已显式释放的历史 wake 可以保持 `dispatched` 而不占用 claim。
|
|
319
359
|
接受状态未知的通知不能用 `wake retry` 重放。Session 替换把待投递输入
|
|
320
360
|
保留给新 wake 与当前 Context,不会追溯把旧 wake 标成已接受;旧回执也不能结算
|
|
@@ -536,9 +576,12 @@ Host 中尚未持久化的事实。stop 请求保存不等于物理清理成功
|
|
|
536
576
|
仅显示 Goal stalled 不能确定根因,也不能据此要求清 Goal。
|
|
537
577
|
|
|
538
578
|
本候选的 `task wake retry` 仅适用已纠正原因、原准确 claim 仍未消费的明确 rejected,
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
579
|
+
且不能存在已接受或不确定原生执行。另一可选动作是 `task wake resolve`:准确 unknown
|
|
580
|
+
或 rejected 通知 attempt 在共享原生/后台/writer 静止及持久证据确认后释放调度,
|
|
581
|
+
不重放、不 ACK。两者不是自动依次执行的步骤;rejected(包括 unknown 后的拒绝)
|
|
582
|
+
不等于静止。operational mailbox 缺失时仍须精确持久 wake/attempt 证据,不能释放
|
|
583
|
+
另一当前批次。原始处理认领、投递事件与已保存告警不改写。deferred 不满足二者前提,
|
|
584
|
+
执行前刷新实际安装能力。GlobalRole 未确认有专用准确 Host-stop 命令时,读取
|
|
542
585
|
原输入/control 和 `session retry <role> show`,再发现当前权限下的能力;不臆造
|
|
543
586
|
Task 等价命令,也不退化为 stop-all。
|
|
544
587
|
|
package/docs/provider-retry.md
CHANGED
|
@@ -25,6 +25,17 @@ next input. Agents still own semantic recovery and acceptance.
|
|
|
25
25
|
accepted failed Turn and original input. The error need not have qualified
|
|
26
26
|
for automation; manual intent does not waive Session, authority, latest-Turn
|
|
27
27
|
or background-quiescence checks.
|
|
28
|
+
- A current-owner manual execution retry can recover that same failed Turn
|
|
29
|
+
across a message continuation and subsequent retries only when the durable
|
|
30
|
+
chain proves every intervening attempt was rejected before a Provider write.
|
|
31
|
+
Session, authority, Assignment, launch configuration and workspace must match.
|
|
32
|
+
It carries the current continuation input, not the earlier business directive,
|
|
33
|
+
and preserves the original automatic budget. Missing proof or any intervening
|
|
34
|
+
accepted/unknown input leaves ordinary admission fenced.
|
|
35
|
+
- Once that exact recovery is accepted, its Agent can claim and acknowledge
|
|
36
|
+
the original continuation Message through the same verified lineage. This
|
|
37
|
+
is handling authority, not another delivery: recipient, continuation target,
|
|
38
|
+
prior claims and failure records stay unchanged; no Message is requeued.
|
|
28
39
|
|
|
29
40
|
The records live on the existing Provider binding, with indexed pending-record
|
|
30
41
|
reads and the existing Controller deadline timer. There is no retry Task status,
|
package/docs/release-workflow.md
CHANGED
|
@@ -51,6 +51,62 @@ merely to avoid a version decision. Package versions remain distinct from protoc
|
|
|
51
51
|
and persistent-storage contracts: their compatibility checks and required migrations
|
|
52
52
|
are unchanged, and the storage rules below do not authorize a package release.
|
|
53
53
|
|
|
54
|
+
### 2.22.0 compatibility and migration notes
|
|
55
|
+
|
|
56
|
+
Context reads now support bounded discovery, precise batched original retrieval,
|
|
57
|
+
body transport receipts and focused notifications. Runtime/Role Skills organize
|
|
58
|
+
required material around actions and recovery after compaction; pointers and
|
|
59
|
+
transport receipts never prove semantic reading or acknowledge an input.
|
|
60
|
+
Full originals remain available. Automated consumers must follow explicit
|
|
61
|
+
pagination and retrieval references rather than assuming every default response
|
|
62
|
+
contains every body. Help is focused by default; consumers needing the complete
|
|
63
|
+
recursive command tree must explicitly request recursive help, including JSON
|
|
64
|
+
consumers affected by the changed child projection.
|
|
65
|
+
|
|
66
|
+
Host restoration and Controller scheduling/SQLite transaction boundaries are
|
|
67
|
+
bounded without replaying unknown effects. Codex Host native title mutation is
|
|
68
|
+
omitted where it could stall execution; Yui presentation retains Role instance
|
|
69
|
+
codes and planning markers, but an unapplied native title is not recorded as
|
|
70
|
+
success. Codex temporary-directory exclusion options are preserved end to end.
|
|
71
|
+
|
|
72
|
+
Storage advances to **1.26** through the centralized **1.25 → 1.26** migration;
|
|
73
|
+
the already-published 1.24 → 1.25 migration is unchanged. Back up the Home and
|
|
74
|
+
use the normal upgrade/migration path; do not open a migrated Home with an older
|
|
75
|
+
binary. Controller/Host protocols remain v1. Publishing this version does not
|
|
76
|
+
update the global CLI, migrate a production Home or restart its services.
|
|
77
|
+
|
|
78
|
+
The maintained evaluation entry is `scripts/eval/`, with shared infrastructure
|
|
79
|
+
separate from context-specific logic. Context guidance and historical analyses
|
|
80
|
+
live under `docs/evaluations/context/`; the old `scripts/collaboration-eval/`
|
|
81
|
+
entry is retired. Engineering gathers measurements; Agents interpret actual
|
|
82
|
+
experimental and production traces, including compaction boundaries and missing
|
|
83
|
+
evidence. Local output reductions are not a claim of universal token savings.
|
|
84
|
+
|
|
85
|
+
### 2.21.0 compatibility and migration notes
|
|
86
|
+
|
|
87
|
+
Ordinary Task, Assignment and frozen-context evidence reads now use the local
|
|
88
|
+
resource boundary rather than Task ownership as a confidentiality boundary.
|
|
89
|
+
Catalog/search and relevant records are readable without borrowing the target
|
|
90
|
+
Task's identity or execution authority. Cross-Task context explicitly reports
|
|
91
|
+
`reference-only`. Consumers must not treat readable records, returned instructions,
|
|
92
|
+
or a frozen pack as permission to write, claim input, dispatch, or control work.
|
|
93
|
+
Real user/tenant, filesystem, authenticated transport and explicit read limits
|
|
94
|
+
remain. Native conversation reads use existing legal native tools, not a new gateway.
|
|
95
|
+
|
|
96
|
+
Leader follow-up guidance permits the existing reopen operation for same-result
|
|
97
|
+
tracked diagnosis, evidence handoff, necessary coordination or delivery authorized
|
|
98
|
+
by the user's request or an explicit unfinished commitment. Simple questions stay
|
|
99
|
+
completed, diagnosis stays read-only, and reopen does not lift stop, archive,
|
|
100
|
+
cancelled-intent, Session, workspace or external-effect restrictions. Existing
|
|
101
|
+
reopen and InputRequest operations remain separate; no completed-state write
|
|
102
|
+
exception or automatic replay is introduced.
|
|
103
|
+
|
|
104
|
+
Storage remains **1.25** and Controller/Host protocols remain v1; no migration is
|
|
105
|
+
added. Runtime and Role Skill versions advance independently of the package.
|
|
106
|
+
Exact-merge Core CI and the same runtime archive's fresh-install matrix gate npm
|
|
107
|
+
publication. These deterministic checks do not establish model semantic behavior.
|
|
108
|
+
Publishing does not authorize a global installation update or production restart.
|
|
109
|
+
|
|
54
110
|
### 2.20.0 compatibility and migration notes
|
|
55
111
|
|
|
56
112
|
This minor adds independent optional Role instance codes (`--instance-code` /
|
|
@@ -845,6 +901,12 @@ and timeout hierarchy. A no-target activation, help, `--json`, and every other
|
|
|
845
901
|
command remain on the global CLI. Activation does not add another ordinary CLI
|
|
846
902
|
routing path.
|
|
847
903
|
|
|
904
|
+
Activation's two storage preflights use the verified target's existing read-only
|
|
905
|
+
upgrade primitive in an isolated process, not its ordinary inactive CLI entry.
|
|
906
|
+
The target must be installed in this Home with matching integrity and smoke
|
|
907
|
+
evidence before each preflight. This neither migrates storage nor permits an
|
|
908
|
+
inactive release or checkout CLI to read/write the Home through ordinary commands.
|
|
909
|
+
|
|
848
910
|
## Step catalog
|
|
849
911
|
|
|
850
912
|
The plan is a fixed, predeclared subset of operations. Each plan entry has an
|
|
@@ -36,6 +36,48 @@ Agent 选择一个预先声明的计划,设施从持久状态驱动该计划
|
|
|
36
36
|
不能将不兼容冒称为兼容,也不为回避版本选择新增历史兼容机制。包版本与协议、
|
|
37
37
|
持久存储契约仍然独立:兼容性检查和必要迁移要求不变,下文存储规则不授予发版权限。
|
|
38
38
|
|
|
39
|
+
### 2.22.0 兼容性及迁移说明
|
|
40
|
+
|
|
41
|
+
上下文读取增加有界发现、精确批量原文读取、正文传输回执及聚焦通知。
|
|
42
|
+
Runtime/Role Skill 按动作组织必需材料,并明确上下文压缩后的恢复路径;
|
|
43
|
+
指针和传输回执不证明语义阅读,也不自动 ACK。完整原文仍可获取。
|
|
44
|
+
自动化调用方应遵循明确的分页和原文入口,不再假定默认返回包含全部正文。
|
|
45
|
+
help 默认聚焦当前命令;需要完整递归命令树时须明确请求递归 help,
|
|
46
|
+
使用 JSON 的调用方也应适配子命令投影变化。
|
|
47
|
+
|
|
48
|
+
Host 恢复、Controller 调度及 SQLite 事务边界改为有界处理,不重放未知效果。
|
|
49
|
+
Codex Host 在可能阻塞执行的路径省略原生标题变更;Yui 展示保留 Role 实例码及
|
|
50
|
+
planning 标记,但不会将未应用的原生标题记为成功。Codex 临时目录排除选项
|
|
51
|
+
贯穿配置及启动链路保留。
|
|
52
|
+
|
|
53
|
+
存储通过集中式 **1.25 → 1.26** 迁移升级至 **1.26**;已发布的 1.24 → 1.25
|
|
54
|
+
迁移不变。升级前备份 Home,并使用正常升级/迁移路径;不要用旧二进制打开
|
|
55
|
+
已迁移的 Home。Controller/Host 协议仍为 v1。发布本版本本身不更新全局 CLI、
|
|
56
|
+
不迁移生产 Home,也不重启服务。
|
|
57
|
+
|
|
58
|
+
受维护的评测入口为 `scripts/eval/`,公共基础设施与上下文专属逻辑分离;
|
|
59
|
+
上下文指导及历史分析位于 `docs/evaluations/context/`,旧
|
|
60
|
+
`scripts/collaboration-eval/` 入口退役。工程负责数据统计,Agent 根据实验和
|
|
61
|
+
线上实际轨迹分析,包括压缩边界及证据缺失;局部输出减量不代表普遍 token 收益。
|
|
62
|
+
|
|
63
|
+
### 2.21.0 兼容性及迁移说明
|
|
64
|
+
|
|
65
|
+
普通 Task、Assignment 和冻结上下文证据读取改按本地资源边界处理,不再将 Task
|
|
66
|
+
归属本身作为保密边界。目录、搜索及相关记录可读,但不借用目标 Task 身份或执行权;
|
|
67
|
+
跨 Task Context 明确标记 `reference-only`。调用方不得将可读记录、返回的指令或
|
|
68
|
+
冻结包当作写入、领取输入、派发或控制执行的授权。真实用户/租户、文件系统、
|
|
69
|
+
认证传输及明确阅读限制仍保留;原生会话读取复用合法原生工具,不增加专用网关。
|
|
70
|
+
|
|
71
|
+
Leader 可依据同结果用户请求或明确未履行承诺,为需要跟踪的诊断、证据交接、
|
|
72
|
+
必要协调或交付使用既有 reopen。简单问答保持 completed,诊断保持只读;重开
|
|
73
|
+
不解除停止、归档、撤销意图、Session、工作区或外部效果限制。reopen 与 InputRequest
|
|
74
|
+
仍是独立操作,不新增 completed 写入例外或自动重放。
|
|
75
|
+
|
|
76
|
+
存储仍为 **1.25**,Controller/Host 协议仍为 v1,不新增迁移。Runtime 与 Role Skill
|
|
77
|
+
版本独立递增。npm 发布仍要求准确合入 commit 的 Core CI,以及同一 runtime archive
|
|
78
|
+
的全新安装矩阵通过;这些确定性检查不证明模型语义行为。发布不授权全局安装更新
|
|
79
|
+
或生产重启。
|
|
80
|
+
|
|
39
81
|
### 2.20.0 兼容性及迁移说明
|
|
40
82
|
|
|
41
83
|
本 minor 增加按 Role 独立可选的实例码(`--instance-code` /
|
|
@@ -629,6 +671,10 @@ CLI、Operator Session 和 Controller 替换保持兼容,而不必把每个命
|
|
|
629
671
|
`dist/cli.js`。因此目标发布拥有完整的交接协议和超时层级。一次无目标的激活、help、
|
|
630
672
|
`--json` 以及其他每个命令都留在全局 CLI 上。激活不新增另一条普通 CLI 路由路径。
|
|
631
673
|
|
|
674
|
+
激活的两次存储预检在隔离子进程中调用已验证目标包现有的只读升级原语,不经过目标包
|
|
675
|
+
尚未激活的普通 CLI 入口。每次预检前都要求目标已安装于此 Home,且完整性及冒烟回执
|
|
676
|
+
匹配。这既不迁移存储,也不允许 inactive release 或源码 checkout 的普通命令读写 Home。
|
|
677
|
+
|
|
632
678
|
## 步骤目录
|
|
633
679
|
|
|
634
680
|
计划是一个固定、预先声明的操作子集。每个计划条目有一个 id(工作流内唯一)、一个
|
|
@@ -155,6 +155,23 @@ different contracts. Provider bypass does not grant writes to another Project.
|
|
|
155
155
|
Managed workspace owner, exact Assignment and resource grants enforce Yui
|
|
156
156
|
operations; broad native permissions are not an OS sandbox.
|
|
157
157
|
|
|
158
|
+
Codex configured permissions can explicitly exclude automatic writable temp roots:
|
|
159
|
+
`--sandbox workspace-write --exclude-tmpdir-env-var true --exclude-slash-tmp true`.
|
|
160
|
+
Each exclusion accepts `true` or `false`; `--clear-exclude-tmpdir-env-var` and
|
|
161
|
+
`--clear-exclude-slash-tmp` remove the respective override. Omission preserves
|
|
162
|
+
native defaults, not an implicit exclusion. Both fields require an explicit
|
|
163
|
+
`workspace-write` sandbox and reject other adapters or conflicting strategies.
|
|
164
|
+
Managed launches compile them into per-thread `sandbox_workspace_write`
|
|
165
|
+
configuration on start/resume, never shared-daemon defaults or account files.
|
|
166
|
+
Ordinary interactive launches use equivalent invocation-local structured options.
|
|
167
|
+
The mapping follows the native
|
|
168
|
+
[configuration reference](https://learn.chatgpt.com/docs/config-file/config-reference).
|
|
169
|
+
These exclude automatic `$TMPDIR` and `/tmp` grants, not explicitly authorized
|
|
170
|
+
writable roots within those paths. They do not establish read isolation or
|
|
171
|
+
prevent effects through an authorized Controller RPC. Inspect the actual native
|
|
172
|
+
receipt and validate enforcement in a separately authorized disposable fixture;
|
|
173
|
+
accepting the configuration does not prove OS sandbox enforcement.
|
|
174
|
+
|
|
158
175
|
A write-intent delivery Leader launched in its own Task-owned main workspace
|
|
159
176
|
captures that workspace's bound writable Projects without needing an open
|
|
160
177
|
WorkItem. Accepted results do not remove this direct-delivery scope. An explicit
|
|
@@ -236,12 +253,23 @@ yui config role show <global-role>
|
|
|
236
253
|
yui config profile show <profile>
|
|
237
254
|
yui task role add <task> <role> --profile <profile>
|
|
238
255
|
yui task role show <task> <role>
|
|
256
|
+
yui task role show <task> <role> --view full
|
|
239
257
|
yui task role update <task> <role> --environment <preparation-id>
|
|
240
258
|
yui task role update <task> <role> --managed-environment
|
|
241
259
|
yui task role session inspect <task> <role>
|
|
242
260
|
yui task role session new <task> <role> --reason "<why a fresh Session is useful>"
|
|
243
261
|
```
|
|
244
262
|
|
|
263
|
+
`task role show` defaults to the complete desired Role configuration and its
|
|
264
|
+
current recorded Session configuration, not historical Run snapshots. Recorded
|
|
265
|
+
configuration and a retained control target are not live-state or stop evidence;
|
|
266
|
+
use the returned status/session inspection commands for those questions.
|
|
267
|
+
`--view full` retains the previous complete `role`, `sessions`, and `runs`
|
|
268
|
+
document with bounded pagination. JSON consumers needing those historical
|
|
269
|
+
fields must now request that view and retain it on cursor continuations.
|
|
270
|
+
This changes the CLI default JSON view, not storage or the `task.role.show`
|
|
271
|
+
configuration RPC used by the interactive wizard.
|
|
272
|
+
|
|
245
273
|
The global query uses the calling process's default native context. Task-scoped
|
|
246
274
|
queries use the Controller's native account environment and the selected Role
|
|
247
275
|
configuration; they never forward the caller's credentials to another Provider.
|
|
@@ -125,6 +125,18 @@ Provider 权限策略、Profile 访问意图和 Project 写范围是不同的合
|
|
|
125
125
|
不授予对另一个 Project 的写入。受管工作区 owner、精确 Assignment 和资源 grant
|
|
126
126
|
落实 Yui 操作;宽泛的原生权限不是 OS 沙箱。
|
|
127
127
|
|
|
128
|
+
Codex configured 权限可显式排除自动加入的可写临时目录:
|
|
129
|
+
`--sandbox workspace-write --exclude-tmpdir-env-var true --exclude-slash-tmp true`。
|
|
130
|
+
两项均接受 `true`/`false`;`--clear-exclude-tmpdir-env-var` 和
|
|
131
|
+
`--clear-exclude-slash-tmp` 分别清除覆盖。省略时保留原生默认语义,不默认排除。
|
|
132
|
+
两项都要求显式 `workspace-write`,其他 adapter 或冲突策略会被拒绝。
|
|
133
|
+
受管 start/resume 编译到该 Thread 的 `sandbox_workspace_write`,不修改共享 daemon
|
|
134
|
+
默认值或账户文件;普通交互启动使用等价的单次调用结构化选项。
|
|
135
|
+
映射依据[原生配置参考](https://learn.chatgpt.com/docs/config-file/config-reference)。
|
|
136
|
+
这只排除自动 `$TMPDIR`、`/tmp` 写授权,不排除位于其中且被显式授权的 writable root;
|
|
137
|
+
也不证明读隔离或阻止合法 Controller RPC 的副作用。配置被接受不是 OS 沙箱生效证明;
|
|
138
|
+
应检查原生回执,并在另行授权的可丢弃 fixture 内验证实际执行边界。
|
|
139
|
+
|
|
128
140
|
以 write 意图在自己 Task-owned main 工作区启动的 delivery Leader,从该工作区
|
|
129
141
|
捕获已绑定 Project 的写域,不要求存在 open WorkItem;已接受结果也不会移除这个
|
|
130
142
|
直接交付写域。显式 Assignment(包括空写域)仍决定受派发执行的范围。
|
|
@@ -189,12 +201,21 @@ yui config role show <global-role>
|
|
|
189
201
|
yui config profile show <profile>
|
|
190
202
|
yui task role add <task> <role> --profile <profile>
|
|
191
203
|
yui task role show <task> <role>
|
|
204
|
+
yui task role show <task> <role> --view full
|
|
192
205
|
yui task role update <task> <role> --environment <preparation-id>
|
|
193
206
|
yui task role update <task> <role> --managed-environment
|
|
194
207
|
yui task role session inspect <task> <role>
|
|
195
208
|
yui task role session new <task> <role> --reason "<why a fresh Session is useful>"
|
|
196
209
|
```
|
|
197
210
|
|
|
211
|
+
`task role show` 默认返回完整的期望 Role 配置及当前记录的 Session 配置,
|
|
212
|
+
不再附带历史 Run 配置副本。记录配置和保留的控制目标不等于实时状态或停止
|
|
213
|
+
证明;需要这些事实时使用返回的 status/session 检查入口。`--view full`
|
|
214
|
+
保留原来的完整 `role`、`sessions`、`runs` 文档及有界分页。依赖这些历史
|
|
215
|
+
字段的 JSON 消费者须显式选择 full,并在后续游标读取中保持同一视图。
|
|
216
|
+
这是 CLI 默认 JSON 视图变更,不改变存储,也不改变交互配置向导使用的
|
|
217
|
+
`task.role.show` 配置 RPC。
|
|
218
|
+
|
|
198
219
|
全局查询使用调用进程的默认原生环境;Task 查询使用 Controller 的原生账户环境及
|
|
199
220
|
所选 Role 配置,不把调用方的凭据转交给其他 Provider。省略 `--error` 查看当前期望
|
|
200
221
|
配置;指定错误记录时,使用失败时保存的模型、工作区、profile/settings 选项,不受
|
package/docs/storage-baseline.md
CHANGED
|
@@ -2,7 +2,10 @@
|
|
|
2
2
|
|
|
3
3
|
# Storage baseline 1.0
|
|
4
4
|
|
|
5
|
-
Current storage is 1.
|
|
5
|
+
Current storage is 1.26. The 1.25 → 1.26 transition admits optional Codex
|
|
6
|
+
workspace-write temporary-directory exclusions without changing historical
|
|
7
|
+
permission payloads. The published 1.24 → 1.25 transition remains unchanged
|
|
8
|
+
and admits optional Role
|
|
6
9
|
`instanceCode` and Session `generatedTitle` presentation fields without rewriting
|
|
7
10
|
existing records. Untagged historical titles remain user-owned; no code or
|
|
8
11
|
title provenance is inferred. The 1.23 → 1.24 transition adds transaction-maintained
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
# 存储基线 1.0
|
|
4
4
|
|
|
5
|
-
当前存储为 1.
|
|
5
|
+
当前存储为 1.26。1.25 → 1.26 增加 Codex workspace-write 可选临时目录排除字段,不改写历史权限 payload。已发布的 1.24 → 1.25 定义保持不变:增加可选 Role `instanceCode` 和 Session `generatedTitle` 展示字段,不回填历史标题来源或实例码,不改写既有记录。1.23 → 1.24 为调度器的九类来源表增加事务维护的 Task 读取缓存修订号。插入、更新和删除只使对应 Task 的缓存失效,回滚同时回滚修订号。该值仅是派生缓存标识,不是 Task 权限或 Home revision CAS 的替代。历史 payload 不变,旧 Task 在首次修改前使用隐含的零修订号。
|
|
6
6
|
同时增加两个局部索引,支持按精确运行观测身份查找,不再扫描或反序列化历史观测集合。
|
|
7
7
|
|
|
8
8
|
1.22 → 1.23 新增全局 Shell Job、版本化脚本文件及每次运行的配置快照,不改写已有 Job、计划和历史记录。
|
package/docs/task-delivery.md
CHANGED
|
@@ -73,6 +73,13 @@ An existing merge/rebase/cherry-pick without the attempt's own progress receipt
|
|
|
73
73
|
is not adopted from Git markers. Preserve the scene and choose explicit recovery;
|
|
74
74
|
normal continuation uses the original receipt and never replays a completed step.
|
|
75
75
|
|
|
76
|
+
If Git stopped but persisting the conflict failed, explicit `task integration
|
|
77
|
+
continue` can resume that same operation when the original progress receipt,
|
|
78
|
+
workspace, branch, source and Git metadata all match. This recovery requires a
|
|
79
|
+
nonempty staged resolution with no unresolved, unstaged or untracked files.
|
|
80
|
+
Ordinary re-entry does not authorize it; missing evidence still refuses recovery.
|
|
81
|
+
It does not invent a conflict record, restart the source command or bypass checks.
|
|
82
|
+
|
|
76
83
|
When checks are a DurableJob, the Integration retains that exact jobId while
|
|
77
84
|
running. Once the Job settles, `task integration continue <task>/<integration>`
|
|
78
85
|
consumes its result and performs the guarded finalization. Existing unsettled
|
|
@@ -58,6 +58,11 @@ Integration 在候选 worktree 中套用固定来源提交,运行已配置的
|
|
|
58
58
|
已有 merge/rebase/cherry-pick 若缺少原尝试的进度回执,不根据 Git 标记接管。
|
|
59
59
|
保留现场并选择显式恢复;正常续作使用原回执,不重放已完成步骤。
|
|
60
60
|
|
|
61
|
+
若 Git 已停止而保存冲突的事务失败,显式 `task integration continue` 可以继续
|
|
62
|
+
同一次操作,但原进度回执、工作区、分支、来源和 Git 元数据必须全部匹配。
|
|
63
|
+
此恢复要求非空且全部暂存的解决结果,无未解决、未暂存或未跟踪文件。
|
|
64
|
+
普通重入不授权恢复;缺少证据仍拒绝。不伪造冲突记录、不重新发起来源命令,也不跳过检查。
|
|
65
|
+
|
|
61
66
|
当检查是一个 DurableJob 时,Integration 在运行期间保留那个确切的 jobId。Job 结算
|
|
62
67
|
后,`task integration continue <task>/<integration>` 消费其结果并执行带守卫的收尾。
|
|
63
68
|
未结算的 Integration(包括冲突)仍阻止完成,不依赖 Agent 采用了什么执行顺序。
|
package/docs/task-discovery.md
CHANGED
|
@@ -116,11 +116,11 @@ source records; no report text is parsed into status. Web explicitly labels
|
|
|
116
116
|
these facts and offers category navigation. Selected detail survives paging,
|
|
117
117
|
filtering and refresh; only the detail read can establish absence.
|
|
118
118
|
|
|
119
|
-
Task
|
|
120
|
-
|
|
121
|
-
the catalog
|
|
122
|
-
|
|
123
|
-
|
|
119
|
+
Task Leaders, Workers and Reviewers may discover relevant ordinary records
|
|
120
|
+
under the local resource's access rules; Task/Assignment ownership does not
|
|
121
|
+
filter the catalog. Global non-Operator and incomplete or unknown managed
|
|
122
|
+
identities remain rejected. Historical readers retain read-only identity,
|
|
123
|
+
never another Task's execution authority. A cursor is scope/filter-bound continuation,
|
|
124
124
|
not a credential. Read operations do not consume messages, acknowledge jobs,
|
|
125
125
|
wake Roles or query providers.
|
|
126
126
|
|