@seanyao/roll 4.629.1 → 4.630.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 +31 -0
- package/README.md +57 -22
- package/dist/roll.mjs +9040 -6550
- package/package.json +1 -1
- package/skills/roll-build/SKILL.md +6 -0
- package/skills/roll-build/references/full-contract.md +1 -1
- package/skills/roll-design/SKILL.md +7 -1
- package/skills/roll-design/references/engineering-checklist.md +1 -1
- package/skills/roll-design/references/full-contract.md +1 -1
- package/skills/roll-fix/SKILL.md +7 -0
- package/skills/roll-loop/SKILL.md +8 -0
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,37 @@
|
|
|
2
2
|
|
|
3
3
|
## Unreleased
|
|
4
4
|
|
|
5
|
+
## v4.630.1 — 2026-06-30
|
|
6
|
+
|
|
7
|
+
### 自动化流水线
|
|
8
|
+
|
|
9
|
+
- **Reasonix builder 可以在 linked worktree 里正常提交了**:loop 现在会给每个 Reasonix cycle 生成临时本地 sandbox 配置,把已计算出的 git common dir 写入允许写目录;不需要永久放宽 `~/.reasonix/config.toml`,也不会把 API key 写进 argv 或配置文件。(FIX-1036) `[loop-engine]`
|
|
10
|
+
- **Loop 交付不会再误报完成**:PR、CI 或验收链路缺证时,Roll 会停在可恢复状态,不再把没真正上线的卡记成已交付。(FIX-1032a, FIX-1032c, FIX-1039) `[loop-engine]`
|
|
11
|
+
- **Scoped `roll loop go` 更守边界**:单卡运行不会被旧计数或定时 tick 带到下一张卡,适合人工盯一张关键修复。(FIX-1034, FIX-1040) `[goal-mode]`
|
|
12
|
+
- **Agent auth 诊断更准**:日志里的 `403` 卡号不再被误判成登录失效,真正的鉴权失败仍会明确阻塞。(FIX-1033) `[loop-engine]`
|
|
13
|
+
- **发版前检查更可信**:`roll release --json` 和一致性闸现在会真实读取待发布内容,旧交付缓存不会再误拦或误放。(FIX-1030, FIX-1041) `[release-management]`
|
|
14
|
+
|
|
15
|
+
### 新功能
|
|
16
|
+
|
|
17
|
+
- `roll design` 不再在已有 backlog 的项目里意外启动完整设计 session,而是先给出可选的几种目标方式(`--from-file`、直接需求文本等)(FIX-1031) `[loop]`
|
|
18
|
+
|
|
19
|
+
### 可见性
|
|
20
|
+
|
|
21
|
+
- 验收报告和故事档案开始显示执行阵容(Execution Cast),每位 Builder、Peer Reviewer、Evaluator 和验收门禁在交付页面上一眼可见(US-OBS-034)`[loop]`
|
|
22
|
+
- **Cycle 角色链可直接查看**:`roll cycle --roles` 会展示 Builder、Peer Reviewer、Evaluator 和采信结果,不用再翻事件流。(US-OBS-033) `[loop]`
|
|
23
|
+
- **评审解析失败不再消失**:有返回但格式不对的 reviewer/scorer 会显示原因和原始产物位置。(US-OBS-035) `[loop]`
|
|
24
|
+
|
|
25
|
+
## v4.629.2 — 2026-06-29
|
|
26
|
+
|
|
27
|
+
### Agent 管理
|
|
28
|
+
|
|
29
|
+
- **Agent 配置收敛成 Scope → Role → Binding → Agent → Model**:机器级和项目级 Agent 域现在只写 `~/.roll/agents.yaml` / `.roll/agents.yaml`,`roll agent` 展示 Machine Scope、Project Scope、继承来源、resolved role、Agent pool health 和 legacy compatibility;`roll agent migrate` 可以把旧的 primary/local/pairing/route 配置迁到新模型,迁移默认不删除旧文件。(US-V4-015, US-V4-016, US-V4-017, US-V4-019, US-V4-020, #1073) `[autonomous-evolution]`
|
|
30
|
+
- **评审/打分回到公平候选池**:peer review 和 score 现在优先通过 evaluation Role binding 解析候选,历史上的 headless auth、VPN、账号状态不再变成静态排除;临时不可用只作为本次 runtime health skip 记录,异构评审和自评防线保持不变。(US-V4-018, #1073) `[autonomous-evolution]`
|
|
31
|
+
|
|
32
|
+
### 自动化流水线
|
|
33
|
+
|
|
34
|
+
- **Supervisor 成为 V4 操作入口**:`roll supervisor status/next/why/live` 会说明 guided/autonomous 模式、下一步 owner action、Planner/Builder/Evaluator 角色状态和不可用原因;旧 Dossier Web / daemon 产品面退场,story-scoped attest report 和 CLI-first observability 继续作为验收与观察入口。(US-V4-011, US-V4-013, US-V4-014, #1072, #1073) `[autonomous-evolution]`
|
|
35
|
+
|
|
5
36
|
## v4.629.1 — 2026-06-29
|
|
6
37
|
|
|
7
38
|
### 自动化流水线
|
package/README.md
CHANGED
|
@@ -60,27 +60,64 @@ First time through? Start with [Getting started](guide/en/getting-started.md).
|
|
|
60
60
|
Roll V4 separates project coordination from story delivery:
|
|
61
61
|
|
|
62
62
|
- **Supervisor Agent** coordinates at project level: backlog order, cross-Story context, route advice, repeated failures, release readiness, budget, and owner escalation. It observes and advises; it does not implement a Story or override evidence gates.
|
|
63
|
-
- **Story Execution Unit** delivers one Story through
|
|
64
|
-
- **
|
|
63
|
+
- **Story Execution Unit** delivers one Story through scoped roles: `execute` performs the Story work, `evaluate` reviews/scores evidence, and `supervise` coordinates above the Story boundary.
|
|
64
|
+
- **supervise / execute / evaluate roles** are stable contracts. The concrete `agent` and optional `model` are resolved through the Agent Scope model: `Scope -> Role -> Binding -> Agent -> Model`.
|
|
65
65
|
- **Skills remain** the capability layer. Roles invoke `$roll-design`, `$roll-build`, `$roll-fix`, `$roll-peer`, `$roll-.qa`, and related skills instead of rewriting those contracts into TypeScript.
|
|
66
66
|
- **Fallback is fail-loud**. If a requested agent or rig is unavailable, Roll records that unavailability and pauses or asks for owner action; it does not silently pretend another agent was used.
|
|
67
|
+
|
|
68
|
+
### Supervisor backlog-clearing standard
|
|
69
|
+
|
|
70
|
+
When the owner asks Roll to clear a backlog, Supervisor treats the scope as every
|
|
71
|
+
live non-Hold `FIX-*`, `US-*`, and `REFACTOR-*` row unless the owner narrows it.
|
|
72
|
+
Before scheduling another card it reconciles backlog status, open PRs, recent
|
|
73
|
+
cycle endings, CI/evaluator gates, manual-merge PRs, and `.roll` meta state.
|
|
74
|
+
Each card gets its own Builder and, when required by the execution profile, an
|
|
75
|
+
independent Evaluator/Scorer selected from the current Agent roster. Repeated
|
|
76
|
+
failure, zero TCR, missing PR/CI/evaluator evidence, parser failures, auth
|
|
77
|
+
blocks, permission blocks, and `[roll:manual-merge]` PRs stop new scheduling and
|
|
78
|
+
surface an owner action through `roll supervisor status/next/why`.
|
|
79
|
+
|
|
80
|
+
### Operating modes
|
|
81
|
+
|
|
82
|
+
Roll has two product modes over the same backlog, truth, route profile, execution
|
|
83
|
+
profiles, evidence, Evaluator, and release gates:
|
|
84
|
+
|
|
85
|
+
- **guided** — the owner drives through `roll supervisor status/next/why` and
|
|
86
|
+
starts work explicitly with commands such as `roll loop go --cards <id>`.
|
|
87
|
+
Guided mode never silently starts long-running Story execution.
|
|
88
|
+
- **autonomous** — `roll loop on` installs the scheduler; eligible Stories may
|
|
89
|
+
be picked within the existing pause, budget, route, evidence, Evaluator, and
|
|
90
|
+
release gates. `roll loop pause` / `roll loop off` return control to guided
|
|
91
|
+
operation; `roll loop resume` / `roll loop on` switch back explicitly.
|
|
67
92
|
- **Attest and evidence are story-scoped**. A Story is accepted through its own `latest/<id>-report.html`, AC map, and screenshots/test artifacts.
|
|
68
93
|
|
|
69
|
-
|
|
94
|
+
Agent bindings are declared in two files: `~/.roll/agents.yaml` for Machine Scope
|
|
95
|
+
and `.roll/agents.yaml` for Project Scope. A Project can inherit the machine pool
|
|
96
|
+
and bind Story roles:
|
|
70
97
|
|
|
71
98
|
```yaml
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
99
|
+
schema: roll-agents/v1
|
|
100
|
+
scope: project
|
|
101
|
+
inherits: machine
|
|
102
|
+
defaults:
|
|
103
|
+
story:
|
|
104
|
+
roles:
|
|
105
|
+
execute:
|
|
106
|
+
kind: select
|
|
107
|
+
from: [kimi, codex, pi]
|
|
108
|
+
require: [execute]
|
|
109
|
+
strategy: first-available
|
|
110
|
+
evaluate:
|
|
111
|
+
kind: select
|
|
112
|
+
from: [claude, codex, kimi, pi, agy, reasonix]
|
|
113
|
+
require: [evaluate]
|
|
114
|
+
avoid: [execute]
|
|
115
|
+
strategy: least-recent
|
|
81
116
|
```
|
|
82
117
|
|
|
83
|
-
Runtime availability is explicit: if
|
|
118
|
+
Runtime availability is explicit: if a candidate is not callable on the current
|
|
119
|
+
machine because of auth, network, VPN, or account state, the current resolution
|
|
120
|
+
records that limitation instead of rewriting the static pool.
|
|
84
121
|
|
|
85
122
|
## Onboarding Samples
|
|
86
123
|
|
|
@@ -96,7 +133,7 @@ roll design --from-file .roll/brief.md
|
|
|
96
133
|
roll loop on
|
|
97
134
|
```
|
|
98
135
|
|
|
99
|
-
Roll explains the next design step instead of inventing fake work. The
|
|
136
|
+
Roll explains the next design step instead of inventing fake work. The Supervisor turns the requirement into Stories, resolves `execute` and optional `evaluate` roles per Story, and the owner reviews story-scoped attest evidence.
|
|
100
137
|
|
|
101
138
|
**Existing project**
|
|
102
139
|
|
|
@@ -108,7 +145,7 @@ roll init --apply # after reviewing the generated onboard plan
|
|
|
108
145
|
roll loop on
|
|
109
146
|
```
|
|
110
147
|
|
|
111
|
-
Roll diagnoses the repository without destructive migration, writes or updates Roll metadata only after review, and then lets the Supervisor reason over existing backlog, docs, context, open PRs, and
|
|
148
|
+
Roll diagnoses the repository without destructive migration, writes or updates Roll metadata only after review, and then lets the Supervisor reason over existing backlog, docs, context, open PRs, and scoped role bindings. Current state is visible through CLI-first observability: `roll status`, `roll loop watch`, `roll loop runs`, `roll cycle <id>`, `roll loop alert`, and story reports.
|
|
112
149
|
|
|
113
150
|
## Quick start for new projects
|
|
114
151
|
|
|
@@ -141,10 +178,9 @@ with `roll loop resume` when ready.
|
|
|
141
178
|
| `roll backlog [sync\|block\|defer\|lint\|…]` | View, manage, and sync (from GitHub Issues) pending tasks |
|
|
142
179
|
| `roll loop alert [list\|ack\|resolve\|log]` | View / clear loop alerts |
|
|
143
180
|
| `roll status` | Verdict-first truth summary read from the ONE snapshot — LOOP · CYCLE · RELEASE · STORY, with the STORY line's attest-coverage % (`done ≡ merged ∧ attested`) — then convention/AI-client sync health |
|
|
144
|
-
| `roll supervisor [observe\|advise\|next\|why] [--json]` | Project-level Supervisor Agent
|
|
181
|
+
| `roll supervisor [status\|observe\|advise\|next\|why\|live] [--json]` | Project-level Supervisor Agent: observes project truth, explains guided/autonomous mode and next owner action, advises next steps, and renders a read-only live role board with Planner / Builder / Evaluator panes. Cross-Story coordination only — never implements a Story; persistent policy changes need owner confirmation |
|
|
145
182
|
| `roll pulse [--json]` | Today's delivery pulse: cycles in window, merged count, attested count, plus an ASCII sparkline from the story spectrum. Bilingual EN/中. `--json` for machine-readable output |
|
|
146
183
|
| `roll doctor [skills\|--tools]` | Environment + install diagnosis; `roll doctor --tools` shows focused tool and screenshot readiness, including Terminal.app Screen Recording |
|
|
147
|
-
| `roll daemon <start\|stop\|status>` | Experimental read-only event broadcaster for future browser observability; defaults to `127.0.0.1:7077`, records `.roll/loop/daemon.pid`, and is never auto-started by the loop |
|
|
148
184
|
| `roll tune [reset]` | Suggest-only self-tuning from loop trends — read-only, never auto-applies |
|
|
149
185
|
| **Cards & evidence** | |
|
|
150
186
|
| `roll idea "<one-sentence description>"` | Capture a card: auto-classify, number, lint, infer epic, mint the full story folder — the one user entry for adding cards |
|
|
@@ -155,7 +191,6 @@ with `roll loop resume` when ready.
|
|
|
155
191
|
| `roll design [--from-file <path>] [--agent <name>]` | Launch `$roll-design` interactively; `--from-file` binds a PRD/brief as the design input |
|
|
156
192
|
| `roll offboard` | Remove Roll from this project |
|
|
157
193
|
| `roll test [--where] [--reset]` | Run the test suite (routes through the isolation adapter; unknown types fail loud) |
|
|
158
|
-
| `roll daemon <start\|stop\|status>` | Manage the experimental read-only observability daemon (opt-in only; never auto-started) |
|
|
159
194
|
| `roll ci [--wait]` | Show or wait for current commit's CI status |
|
|
160
195
|
| `roll release [--dry-run]` | The ONE release flow: bump → changelog fold → package gate → commit-push → consistency gate → PR → auto-merge → tag push (gate runs before merge; drives the merge via GitHub auto-merge) |
|
|
161
196
|
| `roll showcase [--card <ID>]` | The golden-path standard E2E in an isolated sandbox: reset the card, cast a heterogeneous real-agent trio (kimi/claude/pi), deliver via the loop, capture CLI+web screenshots, assemble the evidence chain, emit a pass/fail verdict |
|
|
@@ -167,8 +202,8 @@ with `roll loop resume` when ready.
|
|
|
167
202
|
| **Config & machine** | |
|
|
168
203
|
| `roll ls [--json] [--stale-days <n>]` | List the cross-project registry (`~/.roll/projects.json`): name · tag · verdict · path; missing/stale rows flagged, never dropped |
|
|
169
204
|
| `roll config [lang <zh\|en\|--reset>\|…]` | Read/write roll config (language, loop window, dream time) |
|
|
170
|
-
| `roll agent [
|
|
171
|
-
| `roll cast [--json]` | Print the
|
|
205
|
+
| `roll agent [migrate --dry-run\|migrate\|list]` | Agent Scope view: Machine Scope, Project Scope, resolved roles, pool health, and legacy compatibility |
|
|
206
|
+
| `roll cast [--json]` | Print the current role casting view (`--json` for the machine view) |
|
|
172
207
|
| `roll doctor skills [--strict] [--json]` | Strict skills audit (skills · violations · hub lines + the four invocation groups — the SAME yardstick the web Skills page reads) |
|
|
173
208
|
| `roll setup skills` | Sync the `guide/skills.md` skill catalog |
|
|
174
209
|
| `roll doc [--lang en\|zh] [name]` | View the Charter / language guide markdown in the terminal (`--lang` falls back to the configured language) |
|
|
@@ -193,8 +228,8 @@ it is not the active delivery truth surface.
|
|
|
193
228
|
free-form summary text.
|
|
194
229
|
- Missing facts render as `?`. A visible `0` means a known zero, not unknown.
|
|
195
230
|
|
|
196
|
-
|
|
197
|
-
|
|
231
|
+
`roll supervisor live` is the shipped CLI-first multi-role board. A browser/TUI
|
|
232
|
+
Supervisor Live Console remains future work and must reuse the same view model.
|
|
198
233
|
|
|
199
234
|
## Repository layout
|
|
200
235
|
|