@zq-silk/yui 2.7.1 → 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/dist/cli/commandCatalog.js +8 -7
- package/dist/cli/updateCommand.js +3 -0
- package/dist/commands/configCommands.js +1 -0
- package/dist/commands/globalRoleCommands.js +42 -35
- package/dist/commands/inboxCommands.js +60 -40
- package/dist/commands/taskCommands.js +7 -3
- package/dist/commands/taskRoleRuntimeStatus.js +2 -0
- package/dist/context/runContextPack.js +48 -3
- package/dist/context/taskContext.js +36 -12
- package/dist/controlPlaneCli.js +46 -12
- package/dist/controller/controller.js +5 -0
- package/dist/controller/fileSchedulerStoreAdapter.js +9 -4
- package/dist/controller/globalInputDelivery.js +17 -5
- package/dist/controller/globalRuntimeAttention.js +135 -5
- package/dist/controller/runtime.js +4 -0
- package/dist/controller/structuredProviderObservation.js +51 -15
- package/dist/controller/taskHostTerminalRecovery.js +33 -0
- package/dist/executor/fileRoleLaunchPlanner.js +4 -9
- package/dist/message/inboxReceipt.js +30 -0
- package/dist/message/taskInboxOwnership.js +25 -3
- 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/output/boundedRead.js +43 -14
- package/dist/runtime/agentEndpointIdentity.js +8 -4
- package/dist/runtime/agentEndpointOwnership.js +5 -6
- package/dist/runtime/agentHost.js +62 -10
- 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/storage/contextRecords.js +28 -0
- package/dist/storage/sqliteSchema.js +10 -0
- package/dist/storage/sqliteStore.js +9 -5
- package/dist/storage/storageVersions.js +1 -1
- package/dist/storage/taskStore.js +4 -0
- package/dist/task/completionReadiness.js +3 -3
- 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 +47 -1
- package/docs/managed-turn-and-session-runtime.zh-CN.md +32 -0
- package/docs/release-workflow.md +58 -7
- package/docs/release-workflow.zh-CN.md +39 -4
- package/docs/storage-baseline.md +6 -1
- package/docs/storage-baseline.zh-CN.md +4 -1
- package/docs/testing/review-evaluation.md +148 -0
- package/docs/testing/review-evaluation.zh-CN.md +117 -0
- package/docs/testing/verification-levels.md +6 -2
- package/docs/testing/verification-levels.zh-CN.md +3 -0
- package/package.json +1 -1
- package/skills/yui-leader/VERSION +1 -1
- 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 +5 -1
- package/skills/yui-operator/VERSION +1 -1
- package/skills/yui-reviewer/SKILL.md +35 -0
- package/skills/yui-reviewer/VERSION +1 -1
- package/skills/yui-runtime/SKILL.md +53 -7
- package/skills/yui-runtime/VERSION +1 -1
- package/skills/yui-runtime/references/recovery.md +24 -5
package/docs/release-workflow.md
CHANGED
|
@@ -51,6 +51,36 @@ 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.8.0 compatibility and migration notes
|
|
55
|
+
|
|
56
|
+
This minor adds native metabridge model management: provider configuration,
|
|
57
|
+
cached model catalogs, and manual subscription-quota observations through the
|
|
58
|
+
supported CPA extensions. Models and Settings share navigation, canonical
|
|
59
|
+
section URLs, browser history, locale and theme handling. Content-versioned
|
|
60
|
+
static assets improve repeat navigation; HTML and account APIs remain uncached.
|
|
61
|
+
The release also includes the chat-style Conversation dock, bounded runtime
|
|
62
|
+
diagnostics, native caller/inbox corrections, and review-context improvements
|
|
63
|
+
merged since 2.7.1.
|
|
64
|
+
|
|
65
|
+
Storage advances from **1.7 to 1.8** through the centralized additive transition
|
|
66
|
+
for optional, non-secret model connection references. Existing Homes remain
|
|
67
|
+
unconfigured. A separately authorized upgrade can use
|
|
68
|
+
`yui update --version 2.8.0`; the updater owns preflight, backup, migration and
|
|
69
|
+
Controller replacement. Do not open an upgraded Home with an older binary or
|
|
70
|
+
edit its storage manually.
|
|
71
|
+
|
|
72
|
+
metabridge and CPA remain separately operated services; installing Yui does not
|
|
73
|
+
start, reload or adopt them. Configure their connection references explicitly.
|
|
74
|
+
Saving provider configuration does not prove it is applied or validate inference.
|
|
75
|
+
CPA still owns its upstream OAuth/account pool. Quota refresh may query billing
|
|
76
|
+
services but does not renew credentials, reset quota or run inference. Unknown,
|
|
77
|
+
partial and stale observations remain distinct.
|
|
78
|
+
|
|
79
|
+
Release evidence is deterministic core CI and isolated, fresh-install package
|
|
80
|
+
smoke on supported Linux/macOS and Node versions, not real-model validation.
|
|
81
|
+
Publishing this package alone does not authorize a global CLI update, a Home
|
|
82
|
+
migration, or any production-service restart.
|
|
83
|
+
|
|
54
84
|
### 2.7.1 compatibility and migration notes
|
|
55
85
|
|
|
56
86
|
This release delivers the intended 2.7 feature line. The `v2.7.0` attempt stopped
|
|
@@ -351,13 +381,27 @@ Home database, including for process custody, native account locations, or
|
|
|
351
381
|
execution-environment checks. Only the Controller owns storage and resolves
|
|
352
382
|
durable facts; malformed current input fails at its normal protocol boundary.
|
|
353
383
|
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
384
|
+
Compatible upgrades retain logical Sessions and live Hosts. A build generation
|
|
385
|
+
is diagnostic provenance, not a native-resume gate: after a safe authorized Host
|
|
386
|
+
release, the current built-in adapter may resume the same native identity.
|
|
387
|
+
Model, account, permissions, workspace and current authority are not relaxed.
|
|
388
|
+
No module hot-replacement or old-code installation is used.
|
|
389
|
+
|
|
390
|
+
The supported interoperability range is the existing control/event v1 and RPC
|
|
391
|
+
version 1, not arbitrary historical processes. Host status now advertises
|
|
392
|
+
`controlCapabilities` and `hostImplementation` captured at process load, separate
|
|
393
|
+
from the Endpoint build. Controllers request `reconcile-turn` only when
|
|
394
|
+
advertised. Pre-advertisement v1 Hosts still support status and raw Inbox
|
|
395
|
+
consumption; exact terminal republication is unavailable, not guessed from a
|
|
396
|
+
package version. Unknown protocols remain refused.
|
|
397
|
+
|
|
398
|
+
`update` reports program/storage completion separately from retained Host state.
|
|
399
|
+
It neither interrupts compatible busy Hosts nor automatically replaces an
|
|
400
|
+
unsupported one. A required refresh uses the existing explicit lifecycle, with
|
|
401
|
+
exact Turn, background execution and writer-release evidence before reattachment.
|
|
402
|
+
Idle status alone is insufficient; uncertain state blocks refresh rather than
|
|
403
|
+
authorizing force-kill, input replay or a new native identity. Controller
|
|
404
|
+
handover locks, process-generation fences and Session authority remain enforced.
|
|
361
405
|
|
|
362
406
|
Storage upgrades are limited to the current major's explicit minor steps.
|
|
363
407
|
Cross-major conversion is independently authorized and is not a runtime fallback.
|
|
@@ -375,6 +419,13 @@ reporting alongside durable Run state. Pending native results or known reporting
|
|
|
375
419
|
failures require attention; they do not mean the Provider failed, the Run ended,
|
|
376
420
|
or the work was accepted. The Host's live diagnostics inspect only its own event
|
|
377
421
|
file identities and never parse or quarantine another producer's newer payload.
|
|
422
|
+
Missing event delivery is unreported, not healthy. `unpersisted` counts original
|
|
423
|
+
facts still held in the Host after an Inbox write failure. Reconciliation first
|
|
424
|
+
retries those exact bytes in observation order, then republishes retained exact
|
|
425
|
+
terminal evidence; it does not execute input. Keep this Host alive until its
|
|
426
|
+
bytes are durable. A filesystem fault followed by process loss cannot be
|
|
427
|
+
repaired by inventing a result. Task and Global full reconciliation use the
|
|
428
|
+
same capability-gated operation, including a final input with no queued successor.
|
|
378
429
|
|
|
379
430
|
## CLI and Controller release boundary
|
|
380
431
|
|
|
@@ -36,6 +36,27 @@ Agent 选择一个预先声明的计划,设施从持久状态驱动该计划
|
|
|
36
36
|
不能将不兼容冒称为兼容,也不为回避版本选择新增历史兼容机制。包版本与协议、
|
|
37
37
|
持久存储契约仍然独立:兼容性检查和必要迁移要求不变,下文存储规则不授予发版权限。
|
|
38
38
|
|
|
39
|
+
### 2.8.0 兼容性及迁移说明
|
|
40
|
+
|
|
41
|
+
本 minor 新增原生 metabridge 模型管理:提供商配置、模型目录缓存,以及经受支持
|
|
42
|
+
CPA 扩展手动查询的订阅额度。模型和设置共用导航、规范分区 URL、浏览器前后退、
|
|
43
|
+
语言和主题处理;带内容版本的静态资源改善重复访问,HTML 与账号 API 仍不缓存。
|
|
44
|
+
同时包含 2.7.1 之后合入的聊天式 Conversation 面板、有界运行诊断、原生调用者/
|
|
45
|
+
收件箱修正,以及评审上下文改进。
|
|
46
|
+
|
|
47
|
+
存储通过集中式增量迁移从 **1.7 升至 1.8**,新增可选、非密钥的模型连接引用;
|
|
48
|
+
已有 Home 保持未配置。另行授权升级时可使用 `yui update --version 2.8.0`,
|
|
49
|
+
由更新器负责预检、备份、迁移与 Controller 替换。不要使用旧程序打开升级后的
|
|
50
|
+
Home,也不要手工修改存储。
|
|
51
|
+
|
|
52
|
+
metabridge 与 CPA 仍为单独运维的服务,安装 Yui 不会启动、重载或自动接管它们,
|
|
53
|
+
需显式配置连接引用。保存提供商配置不代表已生效,也不验证推理;CPA 继续负责其
|
|
54
|
+
上游 OAuth/账号池。额度刷新可能查询计费服务,但不续期凭据、不重置额度、
|
|
55
|
+
不执行推理;未知、部分成功和过期观测保持区分。
|
|
56
|
+
|
|
57
|
+
发布证据为确定性核心 CI 与受支持 Linux/macOS、Node 版本上的隔离全新安装冒烟,
|
|
58
|
+
不代表真实模型验证。仅发布本包不授予全局 CLI 更新、实际 Home 迁移或生产服务重启权限。
|
|
59
|
+
|
|
39
60
|
### 2.7.1 兼容性及迁移说明
|
|
40
61
|
|
|
41
62
|
本版交付原定的 2.7 功能。`v2.7.0` 的运行包冒烟将 macOS 临时路径与其物理别名
|
|
@@ -265,10 +286,20 @@ Controller RPC 版本 1。Host 不打开 Home 数据库,包括进程归属、
|
|
|
265
286
|
执行环境校验。只有 Controller 拥有存储并解析持久事实;非法当前输入在正常协议
|
|
266
287
|
边界得到明确错误。
|
|
267
288
|
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
289
|
+
兼容升级保留逻辑 Session 和存活 Host。构建 generation 仅作历史诊断,不再作为
|
|
290
|
+
原生恢复门槛;通过已有获授权生命周期安全释放旧 Host 后,当前内置 adapter 可恢复
|
|
291
|
+
同一原生身份,不改变模型、账号、权限或工作区,也不热替换模块或安装旧实现。
|
|
292
|
+
|
|
293
|
+
支持范围明确为现有 control/event v1 与 RPC 版本 1,不承诺任意历史进程兼容。
|
|
294
|
+
Host status 用 `controlCapabilities` 声明控制能力,并用进程加载时捕获的
|
|
295
|
+
`hostImplementation` 区别于 Endpoint 构建。Controller 仅在明确声明时发送
|
|
296
|
+
`reconcile-turn`。没有能力字段的 v1 Host 仍可读取 status、消费原始 Inbox;
|
|
297
|
+
精确终态重发能力不可用,不根据包版本猜测。未知协议仍拒绝。
|
|
298
|
+
|
|
299
|
+
`update` 区分程序/存储完成与保留 Host 的状态,不打断兼容的忙碌 Host,也不自动
|
|
300
|
+
替换不支持的 Host。必要刷新沿用显式生命周期:先证明精确 Turn、后台执行与写入者
|
|
301
|
+
已释放,再重新附着。仅 idle 不足以证明安全;状态未知时保留现场,不能强杀、
|
|
302
|
+
重放输入或静默新建原生身份。Controller 交接锁、进程身份围栏与 Session 权限继续有效。
|
|
272
303
|
|
|
273
304
|
存储升级仅包含同主版本内明确的小版本步骤。跨主版本转换独立授权,
|
|
274
305
|
不构成运行时回退。
|
|
@@ -282,6 +313,10 @@ Global Context 命令保持自足,供远端 TUI/Desktop 使用。必须正确
|
|
|
282
313
|
显示 Host 上报观测。原生结果待落库或已知上报故障需要关注,但不代表 Provider 失败、
|
|
283
314
|
Run 已结束或业务已验收。Host 诊断只检查自己已投递文件的身份是否存在,不解析或隔离
|
|
284
315
|
其他生产者的新格式事件。
|
|
316
|
+
缺少 eventDelivery 表示未报告而非健康。`unpersisted` 是 Inbox 写入失败后仍保留在
|
|
317
|
+
原 Host 内的原始事实数;协调先按观察顺序重试这些字节,再补发保留的精确终态,
|
|
318
|
+
不重新执行输入。必须保留该 Host 直至落盘,不能在文件系统故障又进程丢失后编造结果。
|
|
319
|
+
Task 与 Global 的完整协调都使用同一能力检查,包括没有后续排队输入的最后一个 Turn。
|
|
285
320
|
|
|
286
321
|
## CLI 与 Controller 发布边界
|
|
287
322
|
|
package/docs/storage-baseline.md
CHANGED
|
@@ -2,7 +2,12 @@
|
|
|
2
2
|
|
|
3
3
|
# Storage baseline 1.0
|
|
4
4
|
|
|
5
|
-
Current storage is 1.
|
|
5
|
+
Current storage is 1.8. The declared 1.7 → 1.8 transition permits an optional
|
|
6
|
+
Model management connection in Yui configuration. Only service addresses and
|
|
7
|
+
file references are stored; no credentials are imported. Existing Homes remain
|
|
8
|
+
unconfigured, and the SQL layout is unchanged.
|
|
9
|
+
|
|
10
|
+
The declared 1.6 → 1.7 transition adds optional Agent
|
|
6
11
|
inbox claim and acknowledgement receipts to canonical Messages and Leader
|
|
7
12
|
wakes, including the exact pending-window identity. Historical records and
|
|
8
13
|
frozen Context digests remain unchanged; missing handling evidence is never
|
|
@@ -2,7 +2,10 @@
|
|
|
2
2
|
|
|
3
3
|
# 存储基线 1.0
|
|
4
4
|
|
|
5
|
-
当前存储为 1.
|
|
5
|
+
当前存储为 1.8。1.7 → 1.8 允许在 Yui 配置中保存可选的 Model 管理连接,
|
|
6
|
+
仅保存服务地址及文件引用,不导入凭据;已有 Home 保持未配置,SQL 布局不变。
|
|
7
|
+
|
|
8
|
+
1.6 → 1.7 为规范 Message 和 Leader wake 增加可选的 Agent
|
|
6
9
|
信箱领取、确认消费回执及精确待处理窗口身份;不改写历史原文或冻结 Context 摘要,
|
|
7
10
|
不将缺失的处理证据补写成投递或消费。物理 SQL 结构不变。
|
|
8
11
|
|
|
@@ -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
|
|
@@ -102,6 +102,10 @@ including cross-Role links. Entry points and their referenced Markdown must
|
|
|
102
102
|
ship together. File/format checks establish availability, not Agent behavior;
|
|
103
103
|
do not add prose-matching tests or claim model validation from static checks.
|
|
104
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
|
+
|
|
105
109
|
## CI and release
|
|
106
110
|
|
|
107
111
|
`ci.yml` runs core plus one assembled-package normal-path smoke per supported
|
|
@@ -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,
|
package/package.json
CHANGED
|
@@ -1 +1 @@
|
|
|
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.
|
|
@@ -239,12 +239,16 @@ do not wait for another wake or copy pending notices into new input. Read every
|
|
|
239
239
|
relevant original and finish the authorized routing/disposition before ack.
|
|
240
240
|
|
|
241
241
|
Use JSON reads and their top-level `data` field.
|
|
242
|
-
Use Global Context's `pending
|
|
242
|
+
Use Global Context's bounded `pending` page to find Messages, then
|
|
243
243
|
`role message show operator <id>` for the original. A successful send receipt
|
|
244
244
|
contains saved identity and delivery/control facts, not another copy of the
|
|
245
245
|
submitted body. Follow Runtime's bounded-read contract for list continuations
|
|
246
246
|
and long `contentPage` details; do not decode `output` as nested JSON or print
|
|
247
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.
|
|
248
252
|
|
|
249
253
|
Report the facts needed to understand the outcome:
|
|
250
254
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
3
|
|
@@ -90,6 +90,35 @@ request a follow-up Round yourself.
|
|
|
90
90
|
Use Project Skills, Policy and Knowledge for project-specific checks. The
|
|
91
91
|
Task Contract and frozen scope determine acceptance and required evidence.
|
|
92
92
|
|
|
93
|
+
## Derive scenarios, then inspect the complete candidate
|
|
94
|
+
|
|
95
|
+
Read the frozen Task/WorkItem requirements, non-goals and applicable decisions
|
|
96
|
+
before using the author's explanation. The frozen Brief is a summary and material
|
|
97
|
+
index, not the contract body. Follow its relevant same-Task commit-pinned artifact
|
|
98
|
+
references with `task artifact read <task> <path> <commit>`; expand Context pointers
|
|
99
|
+
and their content pages as required. A path in prose grants no additional access.
|
|
100
|
+
Report missing or conflicting evidence instead of replacing it with a newer head.
|
|
101
|
+
|
|
102
|
+
Derive observable expectations from requirements and independent contracts, not
|
|
103
|
+
from the current implementation or its mocks. Trace the complete authorized
|
|
104
|
+
change and necessary callers, consumers, state and side effects. Select
|
|
105
|
+
complementary perspectives according to risk: user paths, producer/consumer
|
|
106
|
+
contracts, state/data invariants, failure and partial recovery, authorization,
|
|
107
|
+
and whether verification tests the actual contract. Multiple perspectives do
|
|
108
|
+
not require multiple Agents or every perspective on every task.
|
|
109
|
+
|
|
110
|
+
Turn applicable perspectives into concrete scenarios, expected behavior and
|
|
111
|
+
evidence. Challenge important assumptions with the smallest reachable
|
|
112
|
+
counterexample; check normal controls and non-goals too. A shared assumption
|
|
113
|
+
between a mock and implementation is not independent confirmation. Reuse valid
|
|
114
|
+
checks; do not run external-resource validation without its exact authorization.
|
|
115
|
+
Stop neither at the changed lines nor after finding a few defects.
|
|
116
|
+
|
|
117
|
+
For an ordinary full re-review, inspect the current complete frozen candidate
|
|
118
|
+
and requirements, using the repair delta, prior finding dispositions and still
|
|
119
|
+
applicable evidence as guidance, not a scope ceiling. An explicitly assigned
|
|
120
|
+
Delta Recheck retains its narrower equivalence contract above.
|
|
121
|
+
|
|
93
122
|
Review design complexity against the current Task Contract and reachable
|
|
94
123
|
operating paths. Report abstractions, state, indirection, fallback, or module
|
|
95
124
|
boundaries whose complete lifecycle cost exceeds their demonstrated value.
|
|
@@ -117,6 +146,12 @@ frozen Review or its original report.
|
|
|
117
146
|
|
|
118
147
|
A helpful default result layout is Conclusion, Material findings, Verification,
|
|
119
148
|
Uncertainty, and Recommended next action. Markdown or JSON are both acceptable.
|
|
149
|
+
Include a short account of the perspectives/scenarios actually inspected and
|
|
150
|
+
material unexamined risks, not a copied checklist. Each confirmed finding should
|
|
151
|
+
identify its trigger, violated expectation, impact and supporting evidence;
|
|
152
|
+
merge one root cause without losing its affected entry points. Distinguish
|
|
153
|
+
uncertain reachability or missing verification from a confirmed defect. There
|
|
154
|
+
is no finding quota, mandatory perspective count or claim of exhaustive coverage.
|
|
120
155
|
Yui preserves the original text and does not parse a verdict or reject it for
|
|
121
156
|
missing headings, field names, or formatting. Follow `yui-runtime`'s optional
|
|
122
157
|
`Yui-Summary:` first-line convention for attributed notification text; retain
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
3
|