@seanyao/roll 4.710.2 → 4.712.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +14 -0
- package/dist/postinstall.mjs +2 -0
- package/dist/roll.mjs +1867 -1385
- package/docs/architecture.md +2 -0
- package/package.json +1 -1
- package/skills/roll-build/SKILL.md +2 -0
- package/skills/roll-build/references/full-contract.md +31 -3
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,20 @@
|
|
|
2
2
|
|
|
3
3
|
## Unreleased
|
|
4
4
|
|
|
5
|
+
## v4.712.1 — 2026-07-12
|
|
6
|
+
|
|
7
|
+
### 交付方法
|
|
8
|
+
- 攻防结对引擎收尾:verified/designed 档的卡遇到任何攻防异常(凑不齐异构搭档、agent 不可用、某回合卡死)都会自动降级回单个 builder 把卡做完,并留下明确的降级记录——不再有卡死,也不会悄悄退化成一份空验收(US-LOOP-106) `[loop-engine]`
|
|
9
|
+
- roll-build 交付契约与文档更新到位:攻防结对从"契约里写着"变成"引擎真的在编排",roll-build 契约、架构文档、技能库三处同步一致(US-LOOP-105) `[loop-engine]`
|
|
10
|
+
|
|
11
|
+
### 可观测
|
|
12
|
+
- 新增只读命令 `roll loop adversarial`:把攻防卡的抓洞数、平均回合数、降级率、耗时按"攻防 vs 标准"两组汇总,用数据回答"攻防结对到底有没有多抓 bug、要不要扩大适用范围"(US-LOOP-104) `[loop-engine]`
|
|
13
|
+
|
|
14
|
+
## v4.710.3 — 2026-07-10
|
|
15
|
+
|
|
16
|
+
### 交付方法
|
|
17
|
+
- 攻防结对(写测试和写实现由不同 agent 分工、绿后再轮流互相攻破)现在真正接进了循环引擎:verified/designed 档的卡按"另一个 agent 写红测试 → 实现者写代码变绿 → 攻击者轮流补破坏性测试直到攻不动"的顺序编排,回合数、攻破出的漏洞、终止原因(攻不动/回合上限/超时)都留下事件记录。这套能力由几块地基拼成——确定性的终止算法(绝不挂死)、把测试作者/实现者/攻击者区分开的角色化启动、以及"任何攻防异常一律降级回单 builder、绝不死锁"的判定;standard 档完全不受影响(US-LOOP-100、US-LOOP-101、US-LOOP-102、US-LOOP-103) `[loop-engine]`
|
|
18
|
+
|
|
5
19
|
## v4.710.2 — 2026-07-10
|
|
6
20
|
|
|
7
21
|
### 稳定性
|
package/dist/postinstall.mjs
CHANGED
|
@@ -85,6 +85,8 @@ var TRUTH_FIELD_REGISTRY = [
|
|
|
85
85
|
{ field: "pr_url", surface: "runs", anchor: "pr_merge", writer: `${RUNNER}; corrected by ${BACKFILL}`, kind: "authoritative" },
|
|
86
86
|
{ field: "merged_at", surface: "runs", anchor: "pr_merge", writer: BACKFILL, kind: "derived-cache", rebuild: REBUILD_BACKFILL },
|
|
87
87
|
{ field: "merge_commit", surface: "runs", anchor: "pr_merge", writer: BACKFILL, kind: "derived-cache", rebuild: REBUILD_BACKFILL },
|
|
88
|
+
// US-LOOP-104: the adversarial-pairing outcome ({rounds,holesFound,terminationReason,degraded}|null).
|
|
89
|
+
{ field: "adversarial", surface: "runs", anchor: "cycle_outcome", writer: RUNNER, kind: "derived-cache", rebuild: "foldCycleAdversarial over the cycle's adversarial:* events (US-LOOP-104)" },
|
|
88
90
|
// ── cycle:terminal event (US-TRUTH-001) ────────────────────────────────────
|
|
89
91
|
{ field: "type", surface: "event:cycle:terminal", anchor: "cycle_outcome", writer: "buildTerminalEvent", kind: "authoritative" },
|
|
90
92
|
{ field: "schema", surface: "event:cycle:terminal", anchor: "cycle_outcome", writer: "buildTerminalEvent", kind: "authoritative" },
|