@zq-silk/yui 2.6.0 → 2.8.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 +23 -0
- package/dist/cli/commandCatalog.js +34 -7
- package/dist/cli/updateCommand.js +3 -0
- package/dist/commands/configCommands.js +1 -0
- package/dist/commands/globalRoleCommands.js +62 -35
- package/dist/commands/inboxCommands.js +372 -0
- package/dist/commands/roleSkillValidation.js +2 -0
- package/dist/commands/taskCommands.js +39 -7
- package/dist/commands/taskRoleRuntimeStatus.js +2 -0
- package/dist/context/currentSkills.js +48 -0
- package/dist/context/roleSessionContext.js +13 -16
- package/dist/context/runContextPack.js +50 -3
- package/dist/context/runInputContract.js +1 -1
- package/dist/context/sessionBootstrapManifest.js +27 -4
- package/dist/context/skillCatalog.js +2 -3
- package/dist/context/taskContext.js +38 -12
- package/dist/controlPlaneCli.js +58 -7
- package/dist/controller/controller.js +8 -2
- package/dist/controller/fileSchedulerStoreAdapter.js +26 -6
- package/dist/controller/globalInputDelivery.js +86 -16
- package/dist/controller/globalRuntimeAttention.js +136 -6
- package/dist/controller/operatorNotification.js +6 -1
- package/dist/controller/providerRetryDelivery.js +3 -5
- package/dist/controller/runtime.js +6 -2
- package/dist/controller/structuredProviderObservation.js +51 -15
- package/dist/controller/taskHostTerminalRecovery.js +33 -0
- package/dist/doctor/doctor.js +25 -2
- package/dist/executor/effectiveLaunch.js +2 -2
- package/dist/executor/fileRoleLaunchPlanner.js +8 -15
- package/dist/interaction/notificationPresentation.js +2 -2
- package/dist/interaction/operatorPresentation.js +1 -1
- package/dist/message/globalInputBacklog.js +69 -0
- package/dist/message/globalMessageQuery.js +1 -0
- package/dist/message/inboxReceipt.js +62 -0
- package/dist/message/message.js +6 -1
- package/dist/message/messageContinuation.js +34 -13
- package/dist/message/taskInboxOwnership.js +43 -0
- package/dist/models/modelManagement.js +469 -0
- package/dist/models/modelManagementConfig.js +46 -0
- package/dist/models/modelManagementFiles.js +90 -0
- package/dist/models/modelManagementHttp.js +90 -0
- package/dist/models/modelManagementTypes.js +1 -0
- package/dist/nativeAgent/session/backends.js +1 -1
- package/dist/observability/runtimeIdentity.js +1 -1
- package/dist/output/boundedRead.js +43 -14
- package/dist/resources/sqliteResourceRegistry.js +1 -1
- package/dist/runtime/agentEndpointIdentity.js +8 -4
- package/dist/runtime/agentEndpointOwnership.js +5 -6
- package/dist/runtime/agentHost.js +165 -24
- package/dist/runtime/agentHostImplementation.js +18 -0
- package/dist/runtime/managedCaller.js +25 -1
- package/dist/runtime/managedIdentity.js +1 -1
- package/dist/runtime/providerRetry.js +19 -1
- package/dist/runtime/sessionCaller.js +53 -0
- package/dist/scheduler/operatorEvent.js +49 -0
- package/dist/scheduler/operatorInputNotificationProcessor.js +5 -4
- package/dist/scheduler/taskWake.js +5 -0
- package/dist/sqlite/driver.js +108 -0
- package/dist/storage/contextRecords.js +28 -0
- package/dist/storage/sqliteSchema.js +21 -1
- package/dist/storage/sqliteStore.js +64 -1
- package/dist/storage/storageSchema.js +1 -1
- package/dist/storage/storageVersions.js +1 -1
- package/dist/storage/storeRpc.js +1 -0
- package/dist/storage/taskStore.js +4 -0
- package/dist/storage/upgrade/upgradeOrchestrator.js +1 -1
- package/dist/task/completionReadiness.js +13 -6
- package/dist/telemetry/sqliteTelemetryStore.js +1 -1
- package/dist/web/assets/assetManifest.js +28 -2
- package/dist/web/assets/client/app/manage.js +6 -0
- package/dist/web/assets/client/app/models.js +20 -0
- package/dist/web/assets/client/app/settings.js +41 -9
- package/dist/web/assets/client/i18n/en.js +180 -2
- package/dist/web/assets/client/i18n/zh-CN.js +178 -2
- package/dist/web/assets/client/index.js +8 -0
- package/dist/web/assets/client/layout/manageShell.js +94 -0
- package/dist/web/assets/client/lib/api.js +13 -1
- package/dist/web/assets/client/lib/i18n.js +5 -3
- package/dist/web/assets/client/views/dock/conversation.js +231 -80
- package/dist/web/assets/client/views/models.js +777 -0
- package/dist/web/assets/client/views/skills.js +22 -15
- package/dist/web/assets/shared/icons.js +2 -0
- package/dist/web/assets/shared/manageNav.js +13 -0
- package/dist/web/assets/shell/manage.js +54 -0
- package/dist/web/assets/shell/models.js +7 -0
- package/dist/web/assets/shell/settings.js +1 -35
- package/dist/web/assets/shell/settingsContent.js +30 -0
- package/dist/web/assets/shell/sidebar.js +1 -0
- package/dist/web/assets/styles/index.js +6 -0
- package/dist/web/assets/styles/views/conversation.js +133 -0
- package/dist/web/assets/styles/views/manage.js +71 -0
- package/dist/web/assets/styles/views/models.js +129 -0
- package/dist/web/assets/styles/views/settings.js +28 -14
- package/dist/web/assets/styles/views/sidebar.js +1 -0
- package/dist/web/webServer.js +59 -9
- package/docs/cli-information-contract.md +42 -11
- package/docs/cli-information-contract.zh-CN.md +28 -7
- package/docs/managed-turn-and-session-runtime.md +127 -5
- package/docs/managed-turn-and-session-runtime.zh-CN.md +83 -3
- package/docs/release-workflow.md +105 -9
- package/docs/release-workflow.zh-CN.md +73 -5
- package/docs/storage-baseline.md +22 -7
- package/docs/storage-baseline.zh-CN.md +14 -5
- package/docs/task-delivery.md +17 -8
- package/docs/task-delivery.zh-CN.md +11 -5
- package/docs/testing/review-evaluation.md +148 -0
- package/docs/testing/review-evaluation.zh-CN.md +117 -0
- package/docs/testing/verification-levels.md +26 -4
- package/docs/testing/verification-levels.zh-CN.md +11 -1
- package/i18n/README.zh-CN.md +19 -0
- package/package.json +5 -2
- package/skills/yui-leader/SKILL.md +28 -11
- package/skills/yui-leader/VERSION +1 -0
- package/skills/yui-leader/references/execution.md +29 -0
- package/skills/yui-leader/references/replicated-execution.md +7 -0
- package/skills/yui-operator/SKILL.md +15 -3
- package/skills/yui-operator/VERSION +1 -0
- package/skills/yui-operator/references/task-delivery.md +2 -0
- package/skills/yui-reviewer/SKILL.md +43 -1
- package/skills/yui-reviewer/VERSION +1 -0
- package/skills/yui-runtime/SKILL.md +144 -15
- package/skills/yui-runtime/VERSION +1 -0
- package/skills/yui-runtime/references/publication.md +16 -5
- package/skills/yui-runtime/references/recovery.md +24 -5
- package/skills/yui-worker/SKILL.md +8 -1
- package/skills/yui-worker/VERSION +1 -0
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
<p align="right"><strong>English</strong> | <a href="./review-evaluation.zh-CN.md">简体中文</a></p>
|
|
2
|
+
|
|
3
|
+
# First-round review: materials and offline evaluation
|
|
4
|
+
|
|
5
|
+
The default is one Reviewer using risk-appropriate perspectives, not a fixed
|
|
6
|
+
number of Agents or findings. Leader judgment still owns acceptance. Generic
|
|
7
|
+
methods live in `skills/yui-reviewer` and `skills/yui-leader`; project commands
|
|
8
|
+
and architecture rules remain in Project Skills/Policy.
|
|
9
|
+
|
|
10
|
+
## Material handoff
|
|
11
|
+
|
|
12
|
+
Use existing requirements, decisions and verification results. A complex change
|
|
13
|
+
may benefit from a short Task artifact index:
|
|
14
|
+
|
|
15
|
+
- Goal/non-goals and effective decision references.
|
|
16
|
+
- Observable scenarios, expected behavior and independent contract sources.
|
|
17
|
+
- Contract entry points, callers and key risks.
|
|
18
|
+
- Candidate identity and actual check results (commit, environment, command,
|
|
19
|
+
result), distinguishing unexecuted scenarios and uncovered boundaries.
|
|
20
|
+
- For full re-review: repair delta, previous findings' dispositions and still
|
|
21
|
+
applicable evidence. The complete current frozen candidate remains in scope.
|
|
22
|
+
|
|
23
|
+
Save the index with `task artifact save`, then place its returned
|
|
24
|
+
`git:<commit>:<relativePath>` in Brief. New Review snapshots include the Brief
|
|
25
|
+
and active decisions. Read relevant bodies using the exact `store/refId` from
|
|
26
|
+
the Context inventory, following content pagination. A same-Task artifact is
|
|
27
|
+
read at its pinned commit with `task artifact read <task> <path> <commit>`.
|
|
28
|
+
Later Brief/decision edits do not change an existing Review snapshot. This is
|
|
29
|
+
not a document-completeness gate, prose parser or Skill-version freeze.
|
|
30
|
+
Ordinary full review and the existing equivalence Delta Recheck remain distinct.
|
|
31
|
+
|
|
32
|
+
## Small development corpus
|
|
33
|
+
|
|
34
|
+
`scripts/review-eval/` is an offline file tool, not a scheduler, model adapter or
|
|
35
|
+
new Core store. It never calls a provider. No historical Task cases or results
|
|
36
|
+
are inputs. All eight examples are newly constructed from explicit contracts.
|
|
37
|
+
|
|
38
|
+
| Cases | Capability | Shape |
|
|
39
|
+
| --- | --- | --- |
|
|
40
|
+
| E01 | Half-open interval behavior | Introductory single root |
|
|
41
|
+
| E02 | Persistence failure and repeat identity | Two independent roots in one complete candidate |
|
|
42
|
+
| E03 | Producer/consumer opaque-cursor contract | Two modules |
|
|
43
|
+
| E04–E06 | Lifecycle, partial-result correspondence, authorization effects | Intermediate state/contract cases |
|
|
44
|
+
| E07–E08 | Distinguishing permitted behavior from defects | LRU and progressive-display controls |
|
|
45
|
+
|
|
46
|
+
Every package supplies a complete candidate, not a historical patch; there is no
|
|
47
|
+
required repository baseline. Requirements define inputs, non-goals and effects.
|
|
48
|
+
The scorer catalogue holds root/trigger/violation/impact and repair controls.
|
|
49
|
+
`verify.mjs` probes observable behavior against independent literal expectations,
|
|
50
|
+
checks seven target roots, passing repairs and normal controls. It does not
|
|
51
|
+
prove exhaustive correctness, independent authorship verification or Agent
|
|
52
|
+
effectiveness. Additional valid findings require adjudication.
|
|
53
|
+
|
|
54
|
+
```sh
|
|
55
|
+
node scripts/review-eval/evaluate.mjs verify
|
|
56
|
+
node scripts/review-eval/evaluate.mjs export E03 basic /absolute/new-participant-directory
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
Export uses an explicit projection of candidate source and requirements; indexed
|
|
60
|
+
materials add only a navigation index. Both have identical necessary contracts
|
|
61
|
+
and source. Exports contain no gold, repair, scorer code, family labels or Git
|
|
62
|
+
history. Existing destinations are refused. A failed export may leave a partial
|
|
63
|
+
directory: inspect it, do not use it as a complete participant package.
|
|
64
|
+
|
|
65
|
+
Export is NOT a filesystem sandbox. A participant with access to this repository,
|
|
66
|
+
the scorer directory, prior sessions or the network can obtain answers.
|
|
67
|
+
Only claim blind evaluation after a separately provisioned isolated environment
|
|
68
|
+
denies those paths/tools, with access probes and exact evidence. Never use a
|
|
69
|
+
“do not read answers” instruction as isolation.
|
|
70
|
+
|
|
71
|
+
These are public development cases. Unknown holdouts must be separately authored
|
|
72
|
+
after the method/protocol is fixed, with independent contract checking and a
|
|
73
|
+
family-level overlap audit. Renamed, repaired or near-variant development cases
|
|
74
|
+
cannot become holdouts. Keep holdout source, labels and adjudication outside
|
|
75
|
+
participant access and method-tuning conversations. This tool deliberately
|
|
76
|
+
does not fabricate a holdout or claim one has been evaluated.
|
|
77
|
+
|
|
78
|
+
## Freeze a comparison before running it
|
|
79
|
+
|
|
80
|
+
```sh
|
|
81
|
+
node scripts/review-eval/evaluate.mjs plan protocol.json
|
|
82
|
+
node scripts/review-eval/evaluate.mjs score plan.json records.json
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
Capture stdout as separate files using your normal artifact workflow. The
|
|
86
|
+
protocol is a JSON object with nonempty `model`, `effort`, `tools`, `environment`,
|
|
87
|
+
`budget`, `seed`; positive `repeats`; and `baseline`/`improved` maps of relative
|
|
88
|
+
Skill paths to exact UTF-8 contents, including their VERSION and required
|
|
89
|
+
references. Load these only in isolated evaluation configuration, not global
|
|
90
|
+
installation. This file is scorer-side; it contains both methods.
|
|
91
|
+
|
|
92
|
+
The plan assigns A=baseline/basic, B=improved/basic, C=baseline/indexed,
|
|
93
|
+
D=improved/indexed. It fixes corpus/config/source/material/Skill digests and run
|
|
94
|
+
IDs, seed-orders case/repeat blocks and balances group position by Latin rotation.
|
|
95
|
+
Three repeats over eight development cases means 96 runs, not an authorization
|
|
96
|
+
or statistical-power claim. Do not change models, budgets or tools between groups.
|
|
97
|
+
An extra independent-Reviewer comparison is a separate experiment with all
|
|
98
|
+
producer and synthesis costs, optionally with matched total budgets.
|
|
99
|
+
|
|
100
|
+
There is no live execution or automatic retry command. Actual runs require
|
|
101
|
+
explicit resource/effect authorization, fresh participant sessions and verified
|
|
102
|
+
isolation. Preserve exact inputs, actually loaded Skills/configuration, raw
|
|
103
|
+
outputs and execution/tool evidence. Do not infer a successful run from dispatch.
|
|
104
|
+
Predeclare any retry protocol separately, retain original failures and every
|
|
105
|
+
attempt's costs; do not replace a failed planned record with a successful retry
|
|
106
|
+
in the primary analysis. This minimal tool reports one attempt per planned run.
|
|
107
|
+
|
|
108
|
+
## Adjudicate before aggregation
|
|
109
|
+
|
|
110
|
+
`records.json` is an array. Each supplied record contains its planned `id`,
|
|
111
|
+
`planDigest`, observed `candidateDigest`, `materialDigest`, `skillDigest`, `configDigest`, and
|
|
112
|
+
`status` (`completed`, `timeout`, `infra-failed`, `not-run`). Executed records
|
|
113
|
+
also contain `evidenceRef` and `rawOutput`; incomplete records require `reason`.
|
|
114
|
+
Identity digests are evidence supplied by the execution recorder, not attestation
|
|
115
|
+
by this offline tool. Preserve the actual model/tool/environment configuration
|
|
116
|
+
in that evidence and exclude protocol deviations rather than relabeling them.
|
|
117
|
+
`configDigest` hashes the JSON object containing `model`, `effort`, `tools`,
|
|
118
|
+
`environment`, `budget` in that order. Other digests use the exported `digest`
|
|
119
|
+
helper (SHA-256 of `JSON.stringify(value)`). Reports bind the complete supplied
|
|
120
|
+
record array with `recordsDigest`; retain that file alongside the plan/report.
|
|
121
|
+
|
|
122
|
+
Completed records require `findings` (empty is valid). Each finding contains
|
|
123
|
+
`id`, original `claim`, and `verdict`: `valid`, `invalid`, `pending`, `gap` or
|
|
124
|
+
`suggestion`. Valid/invalid adjudications also require `root`, `reason` and
|
|
125
|
+
`evidence`. Match meaning, triggers, violated constraints and impact, not wording
|
|
126
|
+
or line numbers. Use the catalogue root ID only after checking evidence.
|
|
127
|
+
Unlisted valid roots use `novel:<stable-key>` after separate verification;
|
|
128
|
+
never automatically label them false positives. Keep disputes pending.
|
|
129
|
+
Use a scorer who does not see group labels when practical; disclose if author,
|
|
130
|
+
checker and scorer are the same person/Agent.
|
|
131
|
+
|
|
132
|
+
Optional `coverage` entries contain `perspective`, `scenario`, `expected` and
|
|
133
|
+
`evidence`, using the case's applicable perspectives. These remain claims to
|
|
134
|
+
inspect, not automatic proof. Optional `metrics` contains nonnegative `wallMs`,
|
|
135
|
+
`agentCalls`, `toolCalls`, `inputTokens`, `outputTokens`, `contextBytes`, `cost`
|
|
136
|
+
(one predeclared currency). Missing values remain missing, never estimated.
|
|
137
|
+
|
|
138
|
+
The report includes per-case repeated recalls, macro/micro known-root recall,
|
|
139
|
+
adjudicated unique-root precision, false positives and control false-positive
|
|
140
|
+
rate, duplicate/novel/pending counts, planned completion and discovery yield,
|
|
141
|
+
cost availability and Skill/material/interaction contrasts. Zero denominators
|
|
142
|
+
are null. Partial outputs are retained in originals but excluded from completed
|
|
143
|
+
first-round metrics. Missing planned runs remain `not-run`; they are not clean
|
|
144
|
+
reviews. Failed-run costs still count. Completed-only contrasts can be biased:
|
|
145
|
+
inspect failures, denominators and per-case variation before interpretation.
|
|
146
|
+
If gold changes, preserve the old plan and rescore every group under the same
|
|
147
|
+
new adjudication version, reporting both results. No automatic acceptance
|
|
148
|
+
threshold or generalization claim follows from this small synthetic corpus.
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
<p align="right"><a href="./review-evaluation.md">English</a> | <strong>简体中文</strong></p>
|
|
2
|
+
|
|
3
|
+
# 首轮审查:材料与离线评测
|
|
4
|
+
|
|
5
|
+
默认单 Reviewer 按风险使用互补视角,不固定 Agent 或 Findings 数量。
|
|
6
|
+
验收仍由 Leader 判断。通用方法位于 `skills/yui-reviewer` 和
|
|
7
|
+
`skills/yui-leader`;项目命令与架构规则保留在 Project Skill/Policy。
|
|
8
|
+
|
|
9
|
+
## 材料交接
|
|
10
|
+
|
|
11
|
+
复用有效要求、决定和验证结果。复杂变更可以保存简短的 Task 工件索引:
|
|
12
|
+
|
|
13
|
+
- 目标/非目标及有效决定入口。
|
|
14
|
+
- 可观察场景、预期行为和独立契约依据。
|
|
15
|
+
- 契约入口、调用方及关键风险。
|
|
16
|
+
- 候选身份和实际检查结果(提交、环境、命令、结果),区分未执行场景与未覆盖边界。
|
|
17
|
+
- 完整复审追加修复 delta、历史 Findings 处置及仍适用证据;当前完整冻结候选仍在范围内。
|
|
18
|
+
|
|
19
|
+
通过 `task artifact save` 保存索引,将返回的
|
|
20
|
+
`git:<commit>:<relativePath>` 放入 Brief。新的 Review Snapshot 包含 Brief
|
|
21
|
+
及 active 决定。按 Context inventory 的精确 `store/refId` 读取相关正文并跟完内容分页。
|
|
22
|
+
同 Task 工件通过 `task artifact read <task> <path> <commit>` 读取固定提交。
|
|
23
|
+
后续 Brief/决定修改不改变既有 Review Snapshot。这不是文档齐全门禁、
|
|
24
|
+
自然语言解析器或 Skill 版本冻结机制。普通完整复审与已有等价性 Delta Recheck 保持不同语义。
|
|
25
|
+
|
|
26
|
+
## 小型开发集
|
|
27
|
+
|
|
28
|
+
`scripts/review-eval/` 是离线文件工具,不是调度器、模型适配器或新增 Core 存储。
|
|
29
|
+
它不调用 Provider,不以任何历史 Task 案例或结果为输入。八个题目均由明确契约新构造。
|
|
30
|
+
|
|
31
|
+
| 案例 | 能力 | 形态 |
|
|
32
|
+
| --- | --- | --- |
|
|
33
|
+
| E01 | 半开区间行为 | 入门单根因 |
|
|
34
|
+
| E02 | 持久化失败与重试身份 | 一个完整候选内的两个独立根因 |
|
|
35
|
+
| E03 | 生产者/消费者不透明游标契约 | 两个模块 |
|
|
36
|
+
| E04–E06 | 生命周期、部分结果对应、授权副作用 | 中等状态/契约题 |
|
|
37
|
+
| E07–E08 | 区分合法行为与缺陷 | LRU 与渐进展示正确对照 |
|
|
38
|
+
|
|
39
|
+
每包提供完整候选,不是历史补丁,也不要求仓库基线。要求明确输入、非目标和副作用。
|
|
40
|
+
评分侧目录保存根因、触发、违反约束、影响及修复对照。
|
|
41
|
+
`verify.mjs` 用独立的字面预期检查可观察行为,验证七个目标根因、通过的修复及正常对照。
|
|
42
|
+
这不证明穷尽正确性、独立出题核实或 Agent 效果。额外有效发现需要裁定。
|
|
43
|
+
|
|
44
|
+
```sh
|
|
45
|
+
node scripts/review-eval/evaluate.mjs verify
|
|
46
|
+
node scripts/review-eval/evaluate.mjs export E03 basic /absolute/new-participant-directory
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
导出仅投影候选源码与要求;indexed 材料只增加导航索引。两组的必要契约与源码完全相同。
|
|
50
|
+
导出不含 gold、修复、评分器、家族标签或 Git 历史,拒绝已有目标目录。
|
|
51
|
+
导出失败可能留下部分目录,应检查并避免当作完整受测包使用。
|
|
52
|
+
|
|
53
|
+
导出不是文件系统沙箱。若受测者能读本仓库、评分目录、先前会话或网络,仍可能获得答案。
|
|
54
|
+
只有另行配置的隔离环境确实拒绝这些路径/工具访问,并留存探针证据,才能声称盲测。
|
|
55
|
+
“禁止看答案”的提示词不能代替隔离。
|
|
56
|
+
|
|
57
|
+
这些是公开开发题。未知保留题必须在方法与协议确定后单独编写,独立核实契约并做家族重叠审计。
|
|
58
|
+
开发题的改名、修复和近似变体不能变成保留题。保留源码、标签和裁定材料不得进入受测权限或
|
|
59
|
+
方法调优会话。本工具明确不伪造保留集,也不声称已评测保留集。
|
|
60
|
+
|
|
61
|
+
## 运行前固定比较协议
|
|
62
|
+
|
|
63
|
+
```sh
|
|
64
|
+
node scripts/review-eval/evaluate.mjs plan protocol.json
|
|
65
|
+
node scripts/review-eval/evaluate.mjs score plan.json records.json
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
按正常工件流程将 stdout 保存为单独文件。协议 JSON 包括非空
|
|
69
|
+
`model`、`effort`、`tools`、`environment`、`budget`、`seed`,正整数 `repeats`,
|
|
70
|
+
以及 `baseline`/`improved` 两个“Skill 相对路径 → 精确 UTF-8 内容”映射,
|
|
71
|
+
包含 VERSION 和必要引用。只在隔离评测配置加载,不修改全局安装。
|
|
72
|
+
协议文件属于评分侧,含两种方法,不能整体交给受测者。
|
|
73
|
+
|
|
74
|
+
计划固定 A=baseline/basic、B=improved/basic、C=baseline/indexed、
|
|
75
|
+
D=improved/indexed,记录题库、配置、源码、材料、Skill 摘要与 run ID。
|
|
76
|
+
按 seed 排列案例/重复块,并以拉丁轮换平衡组别位置。八题各重复三次是 96 次运行,
|
|
77
|
+
不是资源授权或统计效力承诺。各组不得更换模型、预算或工具。
|
|
78
|
+
额外独立 Reviewer 属于另一项试验,计入全部生产者与汇总成本,可补同总预算比较。
|
|
79
|
+
|
|
80
|
+
没有真实执行或自动重试命令。实际运行需要明确资源/副作用授权、全新受测会话和已验证隔离。
|
|
81
|
+
保留精确输入、实际加载的 Skill/配置、原始输出与执行/工具证据,不能把投递当成功执行。
|
|
82
|
+
重试规则须另行预先规定,保留原失败及全部尝试成本;主分析不得以成功重试覆盖失败的计划记录。
|
|
83
|
+
此最小工具每个计划 run 只统计一次尝试。
|
|
84
|
+
|
|
85
|
+
## 先裁定,再汇总
|
|
86
|
+
|
|
87
|
+
`records.json` 是数组。每条记录包含计划 `id`、`planDigest`、
|
|
88
|
+
实际观察到的 `candidateDigest`、`materialDigest`、`skillDigest`、`configDigest` 及 `status`
|
|
89
|
+
(`completed`、`timeout`、`infra-failed`、`not-run`)。
|
|
90
|
+
已执行记录还包含 `evidenceRef`、`rawOutput`;未完成记录需要 `reason`。
|
|
91
|
+
身份摘要来自执行记录者,本离线工具不为其真实性背书。
|
|
92
|
+
实际模型/工具/环境配置保留在证据中;协议偏离应单列排除,不能重标为合规运行。
|
|
93
|
+
`configDigest` 对依次包含 `model`、`effort`、`tools`、`environment`、`budget`
|
|
94
|
+
的 JSON 对象取摘要。其他摘要使用导出的 `digest` helper
|
|
95
|
+
(`JSON.stringify(value)` 的 SHA-256)。报告通过 `recordsDigest` 绑定完整输入记录数组;
|
|
96
|
+
该文件应与计划、报告一同保留。
|
|
97
|
+
|
|
98
|
+
完成记录必须有 `findings`(允许空数组)。每条含 `id`、原始 `claim` 和
|
|
99
|
+
`verdict`:`valid`、`invalid`、`pending`、`gap` 或 `suggestion`。
|
|
100
|
+
valid/invalid 还必须有 `root`、`reason`、`evidence`。
|
|
101
|
+
按语义、触发、违反约束及影响匹配,不按标题或行号匹配;核实证据后才使用题库根因 ID。
|
|
102
|
+
gold 外有效根因经单独核实后用 `novel:<stable-key>`,不自动判误报;争议保留 pending。
|
|
103
|
+
可行时让评分者不见组别;编题、核实和评分由同一人/Agent 完成时必须披露独立性限制。
|
|
104
|
+
|
|
105
|
+
可选 `coverage` 条目含 `perspective`、`scenario`、`expected`、`evidence`,
|
|
106
|
+
使用案例适用视角。它仍是待检查的覆盖声明,不是自动证明。
|
|
107
|
+
可选 `metrics` 包含非负 `wallMs`、`agentCalls`、`toolCalls`、`inputTokens`、
|
|
108
|
+
`outputTokens`、`contextBytes`、`cost`(预先约定同一币种)。
|
|
109
|
+
缺失值保持缺失,不估造。
|
|
110
|
+
|
|
111
|
+
报告包含逐题重复召回、已知根因宏/微召回、已裁定去重有效比例、误报及正确对照误报率、
|
|
112
|
+
重复/新增/待裁定数、计划完成率与发现产出、成本可得性、Skill/材料/交互差异。
|
|
113
|
+
零分母为 null;部分输出保留在原记录,但不混入完整首轮指标。
|
|
114
|
+
缺失计划 run 保持 not-run,不算“审查无问题”;失败运行成本仍计入。
|
|
115
|
+
完成子集的比较可能有选择偏差,须结合失败、分母及逐题波动解释。
|
|
116
|
+
gold 修改后保留旧计划,在统一新裁定版本下重算所有组并同时报告新旧结果。
|
|
117
|
+
此小型构造集不产生自动验收阈值或真实项目泛化结论。
|
|
@@ -50,12 +50,12 @@ is required.
|
|
|
50
50
|
## Permanent core smoke
|
|
51
51
|
|
|
52
52
|
`npm test` and `npm run test:core` build the checkout and run the maintained suite.
|
|
53
|
-
The stable suite owns current storage 1.
|
|
53
|
+
The stable suite owns current storage 1.8 and its declared 1.0/1.1/1.2/1.3/1.4/1.5/1.6/1.7 minor
|
|
54
54
|
transition. It contains no undeclared historical format compatibility path.
|
|
55
55
|
|
|
56
56
|
Current coverage includes:
|
|
57
57
|
|
|
58
|
-
1. Fresh storage 1.
|
|
58
|
+
1. Fresh storage 1.8, exact schema/record validation, no initialization over
|
|
59
59
|
unknown data, and rejection of old integer formats without mutation.
|
|
60
60
|
2. Exact-version staging, mismatched-target refusal, same-major contiguous
|
|
61
61
|
minor preflight, explicit maintenance-owner identity across handover, and
|
|
@@ -86,6 +86,12 @@ a blacklist of retired field names.
|
|
|
86
86
|
## Skill and instruction changes
|
|
87
87
|
|
|
88
88
|
Review the shared Runtime contract and affected Role/Project Skills together.
|
|
89
|
+
Managed Skills ship a separate integer `VERSION`; bump the owning version for
|
|
90
|
+
substantive body or required-reference changes. The per-turn read reports current
|
|
91
|
+
stable paths/versions, not remembered model state or a historical load receipt.
|
|
92
|
+
Regressions cover pre-1.5 Session records upgraded from an isolated 1.4 Home,
|
|
93
|
+
current Skill loading on resume, preserved original queued input and newly
|
|
94
|
+
arriving suffixes, plus missing current files versus missing audit packages.
|
|
89
95
|
Check instruction boundaries with a few relevant scenarios: analysis remains
|
|
90
96
|
read-only, existing mechanisms are reused, Session loss preserves Task intent,
|
|
91
97
|
and execution failure does not prevent authorized supervision. This is a
|
|
@@ -96,6 +102,10 @@ including cross-Role links. Entry points and their referenced Markdown must
|
|
|
96
102
|
ship together. File/format checks establish availability, not Agent behavior;
|
|
97
103
|
do not add prose-matching tests or claim model validation from static checks.
|
|
98
104
|
|
|
105
|
+
For review-material handoff and the small original development corpus, see
|
|
106
|
+
[review evaluation](review-evaluation.md). Its offline contract probes and
|
|
107
|
+
adjudication aggregation are deterministic; they do not run or measure a model.
|
|
108
|
+
|
|
99
109
|
## CI and release
|
|
100
110
|
|
|
101
111
|
`ci.yml` runs core plus one assembled-package normal-path smoke per supported
|
|
@@ -120,6 +130,13 @@ freshly installed package through
|
|
|
120
130
|
artifact and provenance boundaries. This validates runtime integration, not
|
|
121
131
|
real-model behavior. Pure contract and safety tests remain in `test/core`;
|
|
122
132
|
production wiring is exercised here rather than only through mocked ports.
|
|
133
|
+
The same release matrix runs `test/core/sqlite-driver.test.js` against the
|
|
134
|
+
installed consumer: native selection boundaries plus real SQL, transactions,
|
|
135
|
+
JSON/RETURNING, WAL and backup for each usable optional SQLite candidate.
|
|
136
|
+
An unavailable optional candidate is explicitly skipped, not reported as
|
|
137
|
+
compatible; the normal selected-driver path must still pass. Doctor smoke
|
|
138
|
+
reports the selected driver, engine and fallback reason. This matrix does not
|
|
139
|
+
prove old-glibc compatibility.
|
|
123
140
|
The native dependency check launches a fixed local program through PTY and
|
|
124
141
|
requires its output and normal exit. Installed-package smoke explicitly checks
|
|
125
142
|
default Doctor's PTY results using dependencies resolved from the consumer.
|
|
@@ -132,8 +149,13 @@ The package smoke also checks unconditional status identity and update-owned
|
|
|
132
149
|
resource/identity capture through the assembled package. Real lifecycle children
|
|
133
150
|
stop the exact Controller and restore its captured launch identity while their
|
|
134
151
|
parent holds the handover lock. Unrelated callers remain fenced, the lock stays
|
|
135
|
-
owned by the parent, and durable input survives.
|
|
136
|
-
|
|
152
|
+
owned by the parent, and durable input survives. A live Operator Host also spans
|
|
153
|
+
that replacement: a Desktop-direct terminal is persisted during Controller
|
|
154
|
+
downtime, then the successor drains the queued user input and engineering notice
|
|
155
|
+
without changing their original identities or replacing the Host. This is a
|
|
156
|
+
current-contract process-handover regression, not proof of compatibility with
|
|
157
|
+
every historical Host build. These checks have no installation or publication
|
|
158
|
+
effect.
|
|
137
159
|
|
|
138
160
|
Configured Agents acting as developers or reviewers are ordinary execution
|
|
139
161
|
resources. Using a live provider or model as the subject of validation is
|
|
@@ -70,6 +70,9 @@ package-start 检查跟随已安装树中的本地 Skill 引用,包括跨 Role
|
|
|
70
70
|
的 Markdown 必须一起发布。文件/格式检查确立可用性,而不是 Agent 行为;不要添加基于
|
|
71
71
|
散文匹配的测试,也不要从静态检查中宣称模型验证。
|
|
72
72
|
|
|
73
|
+
审查材料交接与小型原创开发集见[审查评测](review-evaluation.zh-CN.md)。
|
|
74
|
+
其中离线契约探针和裁定汇总属于确定性检查,不运行或测量模型。
|
|
75
|
+
|
|
73
76
|
## CI 与发布
|
|
74
77
|
|
|
75
78
|
`ci.yml` 在每个 PR 上构建一次,运行 core 及一个组装包正常链路检查,不重复 lint,
|
|
@@ -87,6 +90,10 @@ setup、输入跨重启持久化及幂等、scratch 激活、原生结果入库
|
|
|
87
90
|
npm bin、依赖、受支持 Node 版本、产物和 provenance 边界。这证明运行时集成,不证明
|
|
88
91
|
真实模型行为。纯契约与安全检查保留在 `test/core`,生产组件组装在这里验证,
|
|
89
92
|
不只依赖模拟端口。
|
|
93
|
+
同一发布矩阵还针对消费者安装包运行 `test/core/sqlite-driver.test.js`,验证原生
|
|
94
|
+
选择边界,并对每个可用的可选 SQLite 候选执行真实 SQL、事务、JSON/RETURNING、
|
|
95
|
+
WAL 和备份检查。不可用候选会明确标记跳过,不视为兼容;正常选择路径仍必须通过。
|
|
96
|
+
Doctor 冒烟报告选中的驱动、引擎和回退原因。该矩阵不能证明旧 glibc 环境兼容。
|
|
90
97
|
原生依赖检查必须通过 PTY 启动固定本地程序,确认输出和正常退出。安装包 smoke
|
|
91
98
|
明确断言默认 Doctor 的 PTY 检查成功,并从消费者安装目录解析依赖。macOS 还会
|
|
92
99
|
在可丢弃的依赖副本中移除 spawn-helper 执行权限,验证 Doctor 报出实际 helper
|
|
@@ -95,7 +102,10 @@ npm bin、依赖、受支持 Node 版本、产物和 provenance 边界。这证
|
|
|
95
102
|
这不是整个 Doctor 一秒内返回的保证。
|
|
96
103
|
组装包检查还验证固定身份输出,以及升级侧通过组装包采集资源和精确 Controller 身份,
|
|
97
104
|
并在父进程持有交接锁时,通过真实生命周期子进程停止精确 Controller、恢复其已捕获的
|
|
98
|
-
|
|
105
|
+
启动身份。无关调用仍被锁阻止,锁保持由父进程持有,持久输入不变。
|
|
106
|
+
同一个存活 Operator Host 跨越交接:在 Controller 停机期间持久保存 Desktop
|
|
107
|
+
直接回合的终态,随后由新 Controller 推进排队的用户输入和工程通知,保留原始输入身份,
|
|
108
|
+
不替换 Host。这是当前契约下的进程交接回归,不证明所有历史 Host 实现都兼容;
|
|
99
109
|
这些检查不执行安装或发布效果。
|
|
100
110
|
|
|
101
111
|
作为开发者或审查者的已配置 Agent 是普通执行资源。把一个真实 provider 或模型作为验证
|
package/i18n/README.zh-CN.md
CHANGED
|
@@ -56,6 +56,25 @@ Claude 自身的 key 确认、目录信任等交互仍可能需要你完成。
|
|
|
56
56
|
npm install -g @zq-silk/yui
|
|
57
57
|
```
|
|
58
58
|
|
|
59
|
+
打开真实 Home 前,Yui 会惰性选择 SQLite:先用 `sqlite-modern`
|
|
60
|
+
(`better-sqlite3@13.0.3`,N-API)建立可丢弃的内存连接,仅在明确的原生绑定缺失、
|
|
61
|
+
Node ABI 或系统动态库不兼容时尝试 `sqlite-compat`(`better-sqlite3@10.1.0`)。
|
|
62
|
+
每个进程固定首次成功的选择;Home 权限、损坏、锁定、SQL 与迁移错误都不会
|
|
63
|
+
触发驱动切换。`yui doctor` 单独报告驱动版本、实际 SQLite 引擎和回退原因,
|
|
64
|
+
与 Home 健康检查区分。
|
|
65
|
+
|
|
66
|
+
N-API 驱动避开了旧驱动在 Node 24.19/24.20 上的原生 `ObjectWrap` 垃圾回收崩溃。
|
|
67
|
+
它要求 Node-API 10;旧 API 的运行时(包括 Node 20 与 Node 22.9)会在加载
|
|
68
|
+
原生模块前跳过它,使用兼容候选。此依赖修正不要求更换
|
|
69
|
+
全局 Node 或迁移 Home。
|
|
70
|
+
|
|
71
|
+
npm 安装时会**分别尝试两个**固定 optional alias,并非新版失败后才安装旧版,
|
|
72
|
+
因此下载体积、安装和编译时间可能增加。可选依赖安装失败不一定使 npm 失败,
|
|
73
|
+
但两个候选都不可用时 Yui 仍无法运行;不要使用 `--omit=optional`。
|
|
74
|
+
兼容驱动使用旧 SQLite(3.46.0),不包含后续修复,也不保证兼容任意旧 glibc、
|
|
75
|
+
编译器或较新的 Node ABI。上述 Node 支持范围不变;仍可能需要升级系统或工具链。
|
|
76
|
+
驱动选择不会降级或迁移 Home 数据。
|
|
77
|
+
|
|
59
78
|
### 2. 自己初始化,或交给 Agent
|
|
60
79
|
|
|
61
80
|
在终端中运行交互式初始化:
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@zq-silk/yui",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.8.0",
|
|
4
4
|
"description": "Local control plane for long-running native agent CLI sessions backed by tmux.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"private": false,
|
|
@@ -48,9 +48,12 @@
|
|
|
48
48
|
"dependencies": {
|
|
49
49
|
"@xterm/addon-fit": "^0.11.0",
|
|
50
50
|
"@xterm/xterm": "^6.0.0",
|
|
51
|
-
"better-sqlite3": "^12.11.1",
|
|
52
51
|
"node-pty": "1.2.0-beta.15",
|
|
53
52
|
"smol-toml": "1.8.0",
|
|
54
53
|
"ws": "^8.21.1"
|
|
54
|
+
},
|
|
55
|
+
"optionalDependencies": {
|
|
56
|
+
"sqlite-modern": "npm:better-sqlite3@13.0.3",
|
|
57
|
+
"sqlite-compat": "npm:better-sqlite3@10.1.0"
|
|
55
58
|
}
|
|
56
59
|
}
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: yui-leader
|
|
3
|
-
description: Lead one Yui Task through authorized planning, activation handoff, execution and
|
|
3
|
+
description: Lead one Yui Task through authorized planning, activation handoff, execution, acceptance and same-result follow-up, including reopening its completed, unarchived result for an explicit implementation or delivery request.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Yui Leader
|
|
7
7
|
|
|
8
|
-
Follow [yui-runtime](../yui-runtime/SKILL.md) first
|
|
8
|
+
Follow [yui-runtime](../yui-runtime/SKILL.md) first, including its lightweight
|
|
9
|
+
`yui session skills --json` check at the start of every turn and full reload when
|
|
10
|
+
versions change or context is missing/recovered. Load the exact Context Pack
|
|
9
11
|
for an explicitly dispatched AgentRun; for direct conversation or a Task
|
|
10
12
|
notification, read current Task context using `yui task context <task-id> --json`.
|
|
11
13
|
No self-dispatch or old completed Run is needed. Read the actual Task
|
|
@@ -54,15 +56,22 @@ or planning work; the routes below do not override those restrictions.
|
|
|
54
56
|
even on an active Task. Do not turn it into edits or dispatch. A result
|
|
55
57
|
notification is different: read its original results and advance the
|
|
56
58
|
outstanding authorized requirement.
|
|
57
|
-
- **Completed,
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
59
|
+
- **Completed, unarchived, explicit same-result implementation or delivery request:**
|
|
60
|
+
the current matching Leader may call `task reopen <task-id>` for its own Task,
|
|
61
|
+
then continue that bounded request without a mandatory Operator handoff or
|
|
62
|
+
another “reopen” confirmation. Read the
|
|
63
|
+
[post-completion routing boundary](../yui-runtime/references/publication.md#post-completion-routing-boundary)
|
|
64
|
+
first, inspect the reopen result, and reassess current Session/workspace
|
|
65
|
+
authority and the execution gate before delivery. Reopening is lifecycle
|
|
66
|
+
management, not a planning Session's promotion to delivery.
|
|
67
|
+
- **Cancelled/retired, archived, execution gate disabled, or no new execution authority:**
|
|
68
|
+
explain/query authorized facts only unless a specific further action is
|
|
69
|
+
authorized and legal. The Leader cannot restore cancelled/retired intent;
|
|
70
|
+
archived Tasks cannot reopen. An independent stop needs its separately
|
|
71
|
+
authorized start/cleanup path; reopen does not lift it. Queries, discussion,
|
|
72
|
+
ordinary notifications and Session recovery do not authorize reopening or
|
|
73
|
+
resumption. Identify a genuinely missing lifecycle/authority action for the
|
|
74
|
+
Operator; do not manufacture a Run or reopen merely to obtain authority.
|
|
66
75
|
Publication recording/adoption is not a way to start terminal-Task execution.
|
|
67
76
|
|
|
68
77
|
These are instruction routes, not new lifecycle states or a scheduling
|
|
@@ -82,6 +91,14 @@ the failed target need not be running for you to act.
|
|
|
82
91
|
|
|
83
92
|
## Maintain useful durable context
|
|
84
93
|
|
|
94
|
+
Apply **yui-runtime**'s own-inbox flow before acceptance or completion and at
|
|
95
|
+
useful work boundaries. A Leader inbox contains its exact notification windows
|
|
96
|
+
and messages for its current managed Assignment, not every Task Message.
|
|
97
|
+
For a window, read its full focused wake and relevant originals; for an
|
|
98
|
+
Assignment message, read its complete original. Dispose of results explicitly,
|
|
99
|
+
then ack the exact entry. Inbox acknowledgement
|
|
100
|
+
never accepts a Candidate or completes the Task.
|
|
101
|
+
|
|
85
102
|
The DB Brief is the current summary, not a full plan or a history of messages.
|
|
86
103
|
After meaningful progress, use `task brief update` with only intended fields;
|
|
87
104
|
read `task event list` before deliberately restoring an older value. Keep
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
3
|
|
@@ -303,6 +303,24 @@ authority. Never invent authorization, impersonate Operator, or modify the core
|
|
|
303
303
|
|
|
304
304
|
## Validate and make the review judgment
|
|
305
305
|
|
|
306
|
+
Prepare useful evidence, not a documentation gate. Supply or reference the
|
|
307
|
+
effective goals/non-goals and decisions, independently grounded expected
|
|
308
|
+
behavior, key user paths/constraints, contract entry points and relevant callers.
|
|
309
|
+
Keep three things distinct: a behavioral scenario and its expectation, an
|
|
310
|
+
executable test reference, and an actual result with candidate/environment/
|
|
311
|
+
command. Disclose real gaps rather than deriving acceptance from current code.
|
|
312
|
+
|
|
313
|
+
Small tasks can reference existing materials directly. For complex tasks, put a
|
|
314
|
+
short review index in Task artifacts and its commit-pinned reference in Brief.
|
|
315
|
+
Keep Brief an up-to-date summary, not a copy of documents or accumulated history.
|
|
316
|
+
Review Context carries the frozen Brief and active decisions; inspect the
|
|
317
|
+
actual pointer inventory when a material's delivery is uncertain. Read referenced
|
|
318
|
+
same-Task artifacts at their fixed commits, not HEAD. Do not assume a path in
|
|
319
|
+
`--input`, a WorkItem-only `--context-ref` option, or a summary grants Review
|
|
320
|
+
access. Recover a missing authorized reference through existing mechanisms;
|
|
321
|
+
do not ask the Reviewer to bypass scope. Materials guide independent inspection,
|
|
322
|
+
not its upper bound.
|
|
323
|
+
|
|
306
324
|
Use the smallest evidence that establishes the accepted behavior and material
|
|
307
325
|
boundaries. Do not repeat a successful unchanged check. Run the Project's
|
|
308
326
|
complete local delivery validation once on the final candidate when its Policy
|
|
@@ -328,6 +346,10 @@ Use one direct main Reviewer by default. If independent replicas materially
|
|
|
328
346
|
improve evidence, read [replicated execution](replicated-execution.md)
|
|
329
347
|
before dispatch or synthesis. Honor required review contracts even when a
|
|
330
348
|
cheaper execution path is otherwise available.
|
|
349
|
+
One Reviewer should use the applicable complementary perspectives in one round.
|
|
350
|
+
Consider independent replication for genuinely complementary cross-system risks,
|
|
351
|
+
not a fixed headcount or file/frontend/backend partition. Keep the same candidate
|
|
352
|
+
and common requirements; risk emphasis must not hide cross-layer contracts.
|
|
331
353
|
|
|
332
354
|
When several WorkItems contribute to one outcome, prefer one independent
|
|
333
355
|
Task-final Review after their accepted results are integrated over repeating a
|
|
@@ -358,6 +380,13 @@ main synthesis through its exact AgentRun, preserving its selected source snapsh
|
|
|
358
380
|
A Worker or Reviewer AgentRun result is evidence, not acceptance. Inspect the
|
|
359
381
|
result, diff, checks, and current Candidate before deciding.
|
|
360
382
|
|
|
383
|
+
Group confirmed findings by root cause and repair other reachable instances
|
|
384
|
+
within scope together. For ordinary full re-review, preserve the current complete
|
|
385
|
+
candidate and requirements; add repair delta, prior finding dispositions and
|
|
386
|
+
still-valid evidence. Delta is an attention aid, not the full-review boundary.
|
|
387
|
+
Do not conflate this with an explicitly authorized equivalence Delta Recheck.
|
|
388
|
+
Neither finding counts, fixed round counts nor a majority vote decides acceptance.
|
|
389
|
+
|
|
361
390
|
If a result is insufficient, reject it with bounded feedback and redispatch
|
|
362
391
|
the same WorkItem and Role while scope remains valid. Before accepting isolated
|
|
363
392
|
Git changes, read [Integration](integration.md) to capture and
|
|
@@ -31,6 +31,9 @@ Retry main synthesis through its exact AgentRun, preserving the source snapshot.
|
|
|
31
31
|
|
|
32
32
|
A Producer independently inspects or implements its exact frozen Assignment
|
|
33
33
|
in the supplied Lane workspace and returns one complete original result.
|
|
34
|
+
For Review, give Producers common requirements/contracts and the same candidate.
|
|
35
|
+
Different risk emphases are not file ownership or permission to omit cross-layer
|
|
36
|
+
interactions. Form independent initial results before reading sibling conclusions.
|
|
34
37
|
Its evidence does not authorize a Candidate, ChangeSet, Integration or
|
|
35
38
|
acceptance decision outside the assigned protocol.
|
|
36
39
|
|
|
@@ -40,3 +43,7 @@ judgment, and returns one authoritative report. Do not mutate source results,
|
|
|
40
43
|
omit selected evidence, rerun Producers, or substitute a winning Lane for
|
|
41
44
|
synthesis. A Review report remains evidence for Task acceptance, not acceptance
|
|
42
45
|
itself.
|
|
46
|
+
Deduplicate by root cause while retaining distinct triggers, coverage and
|
|
47
|
+
unexamined risks. Explain disagreements and unresolved evidence; do not discard
|
|
48
|
+
a valid minority finding or substitute voting for checking its contract and
|
|
49
|
+
reachability.
|
|
@@ -5,7 +5,8 @@ description: Route requests and follow-up delivery through the owning Task Leade
|
|
|
5
5
|
|
|
6
6
|
# Yui Operator
|
|
7
7
|
|
|
8
|
-
Follow [yui-runtime](../yui-runtime/SKILL.md) for the Session's authorized entry
|
|
8
|
+
Follow [yui-runtime](../yui-runtime/SKILL.md) for the Session's authorized entry,
|
|
9
|
+
per-turn version/availability check and conditional full reload. A global Operator reads
|
|
9
10
|
its Global Context without inventing a Task AgentRun. For explicit Task dispatch,
|
|
10
11
|
load the exact Run Context Pack and preserve its scope and permission boundaries.
|
|
11
12
|
|
|
@@ -160,7 +161,9 @@ does not establish remote merge.
|
|
|
160
161
|
For an explicitly requested continuation of a completed, unarchived result,
|
|
161
162
|
use the existing `task reopen` then durable submission path. The user's request
|
|
162
163
|
authorizes the necessary reopening within that scope; do not demand that they
|
|
163
|
-
also say “reopen.”
|
|
164
|
+
also say “reopen.” A current matching Leader may also reopen its own Task and
|
|
165
|
+
continue an already-received authorized request; Operator routing is not a
|
|
166
|
+
mandatory handoff. Ordinary messages do not auto-reopen a Task. Keep cancelled,
|
|
164
167
|
archived and independently stopped execution boundaries separate, and do not
|
|
165
168
|
use Session recovery to bypass them.
|
|
166
169
|
|
|
@@ -230,13 +233,22 @@ a dormant Role and verify the complete binding before the next launch.
|
|
|
230
233
|
|
|
231
234
|
## Present current progress
|
|
232
235
|
|
|
236
|
+
Apply **yui-runtime**'s own-inbox flow at useful routing boundaries and before
|
|
237
|
+
handoff. `yui inbox list/show/claim/ack` processes Operator input in this turn;
|
|
238
|
+
do not wait for another wake or copy pending notices into new input. Read every
|
|
239
|
+
relevant original and finish the authorized routing/disposition before ack.
|
|
240
|
+
|
|
233
241
|
Use JSON reads and their top-level `data` field.
|
|
234
|
-
Use Global Context's `pending
|
|
242
|
+
Use Global Context's bounded `pending` page to find Messages, then
|
|
235
243
|
`role message show operator <id>` for the original. A successful send receipt
|
|
236
244
|
contains saved identity and delivery/control facts, not another copy of the
|
|
237
245
|
submitted body. Follow Runtime's bounded-read contract for list continuations
|
|
238
246
|
and long `contentPage` details; do not decode `output` as nested JSON or print
|
|
239
247
|
an entire Context again merely to extract one already-returned reference.
|
|
248
|
+
History and diagnostic aggregates are explicit `role message list` reads.
|
|
249
|
+
Use `--diagnostics` for classified occurrence counts and `--diagnostic <key>`
|
|
250
|
+
for evidence discovery within the caller's authorized Role scope. Do not
|
|
251
|
+
automatically traverse all history or ask a failing Operator to wake itself.
|
|
240
252
|
|
|
241
253
|
Report the facts needed to understand the outcome:
|
|
242
254
|
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
3
|
|
@@ -39,6 +39,8 @@ Separate lifecycle, execution gate and Session authority:
|
|
|
39
39
|
necessary `task reopen` before submitting that bounded request. Follow the
|
|
40
40
|
[authorized two-step path](../../yui-runtime/references/publication.md#post-completion-routing-boundary);
|
|
41
41
|
do not require a second mechanical “reopen” confirmation.
|
|
42
|
+
The current matching Leader may perform that reopen itself and continue
|
|
43
|
+
an already-received request; it need not send the work back to Operator.
|
|
42
44
|
- Cancelled/retired intent is not active work. An archived Task cannot be reopened;
|
|
43
45
|
retained workspaces and historical Sessions do not authorize execution.
|
|
44
46
|
- Session loss or replacement is not a new result or an automatic lifecycle
|