@seanyao/roll 3.628.1 → 4.629.2
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 +19 -0
- package/README.md +95 -12
- package/dist/roll.mjs +22151 -20451
- package/package.json +1 -1
- package/skills/roll-.qa/SKILL.md +4 -0
- package/skills/roll-.review/SKILL.md +4 -0
- package/skills/roll-build/SKILL.md +12 -1
- package/skills/roll-build/references/full-contract.md +80 -9
- package/skills/roll-design/SKILL.md +13 -2
- package/skills/roll-design/references/engineering-checklist.md +1 -1
- package/skills/roll-design/references/full-contract.md +57 -1
- package/skills/roll-fix/SKILL.md +11 -0
- package/skills/roll-fix/references/full-contract.md +6 -5
- package/skills/roll-loop/SKILL.md +8 -0
- package/skills/roll-peer/SKILL.md +4 -0
- package/skills/roll-propose/SKILL.md +6 -0
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,25 @@
|
|
|
2
2
|
|
|
3
3
|
## Unreleased
|
|
4
4
|
|
|
5
|
+
## v4.629.2 — 2026-06-29
|
|
6
|
+
|
|
7
|
+
### Agent 管理
|
|
8
|
+
|
|
9
|
+
- **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]`
|
|
10
|
+
- **评审/打分回到公平候选池**:peer review 和 score 现在优先通过 evaluation Role binding 解析候选,历史上的 headless auth、VPN、账号状态不再变成静态排除;临时不可用只作为本次 runtime health skip 记录,异构评审和自评防线保持不变。(US-V4-018, #1073) `[autonomous-evolution]`
|
|
11
|
+
|
|
12
|
+
### 自动化流水线
|
|
13
|
+
|
|
14
|
+
- **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]`
|
|
15
|
+
|
|
16
|
+
## v4.629.1 — 2026-06-29
|
|
17
|
+
|
|
18
|
+
### 自动化流水线
|
|
19
|
+
|
|
20
|
+
- **V4 Supervisor 执行架构上线**:Story 现在按 standard、verified、planned 剖面交付,Supervisor 负责项目级观察与建议,验收证据按 Story 收口,不再依赖全局档案刷新。(US-V4-001, US-V4-002, US-V4-003, US-V4-004, US-V4-005, US-V4-006, US-V4-007, US-V4-008, US-V4-009, US-V4-010, US-V4-012) `[autonomous-evolution]`
|
|
21
|
+
<!-- evidence: .roll/features/autonomous-evolution/US-V4-008/latest/US-V4-008-report.html -->
|
|
22
|
+
<!-- evidence: .roll/features/autonomous-evolution/US-V4-012/latest/US-V4-012-report.html -->
|
|
23
|
+
|
|
5
24
|
## v3.628.1 — 2026-06-28
|
|
6
25
|
|
|
7
26
|
### 上手引导
|
package/README.md
CHANGED
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
[](https://www.npmjs.com/package/@seanyao/roll)
|
|
15
15
|
[](https://github.com/seanyao/roll/actions/workflows/ci.yml)
|
|
16
16
|
|
|
17
|
-
Roll — a CLI that
|
|
17
|
+
Roll — a Supervisor-led CLI harness that routes AI agents through story-scoped planning, building, evaluation, git, CI, and acceptance evidence. Works with Claude, Cursor, Codex, Kimi, Pi, Reasonix, and other local rigs when they are available.
|
|
18
18
|
|
|
19
19
|
## Install
|
|
20
20
|
|
|
@@ -55,6 +55,86 @@ brief, onboard plan, backlog, and Roll markers, then prints one best next
|
|
|
55
55
|
command instead of a menu.
|
|
56
56
|
First time through? Start with [Getting started](guide/en/getting-started.md).
|
|
57
57
|
|
|
58
|
+
## V4 Supervisor Execution
|
|
59
|
+
|
|
60
|
+
Roll V4 separates project coordination from story delivery:
|
|
61
|
+
|
|
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 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
|
+
- **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
|
+
- **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
|
+
### Operating modes
|
|
69
|
+
|
|
70
|
+
Roll has two product modes over the same backlog, truth, route profile, execution
|
|
71
|
+
profiles, evidence, Evaluator, and release gates:
|
|
72
|
+
|
|
73
|
+
- **guided** — the owner drives through `roll supervisor status/next/why` and
|
|
74
|
+
starts work explicitly with commands such as `roll loop go --cards <id>`.
|
|
75
|
+
Guided mode never silently starts long-running Story execution.
|
|
76
|
+
- **autonomous** — `roll loop on` installs the scheduler; eligible Stories may
|
|
77
|
+
be picked within the existing pause, budget, route, evidence, Evaluator, and
|
|
78
|
+
release gates. `roll loop pause` / `roll loop off` return control to guided
|
|
79
|
+
operation; `roll loop resume` / `roll loop on` switch back explicitly.
|
|
80
|
+
- **Attest and evidence are story-scoped**. A Story is accepted through its own `latest/<id>-report.html`, AC map, and screenshots/test artifacts.
|
|
81
|
+
|
|
82
|
+
Agent bindings are declared in two files: `~/.roll/agents.yaml` for Machine Scope
|
|
83
|
+
and `.roll/agents.yaml` for Project Scope. A Project can inherit the machine pool
|
|
84
|
+
and bind Story roles:
|
|
85
|
+
|
|
86
|
+
```yaml
|
|
87
|
+
schema: roll-agents/v1
|
|
88
|
+
scope: project
|
|
89
|
+
inherits: machine
|
|
90
|
+
defaults:
|
|
91
|
+
story:
|
|
92
|
+
roles:
|
|
93
|
+
execute:
|
|
94
|
+
kind: select
|
|
95
|
+
from: [kimi, codex, pi]
|
|
96
|
+
require: [execute]
|
|
97
|
+
strategy: first-available
|
|
98
|
+
evaluate:
|
|
99
|
+
kind: select
|
|
100
|
+
from: [claude, codex, kimi, pi, agy, reasonix]
|
|
101
|
+
require: [evaluate]
|
|
102
|
+
avoid: [execute]
|
|
103
|
+
strategy: least-recent
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
Runtime availability is explicit: if a candidate is not callable on the current
|
|
107
|
+
machine because of auth, network, VPN, or account state, the current resolution
|
|
108
|
+
records that limitation instead of rewriting the static pool.
|
|
109
|
+
|
|
110
|
+
## Onboarding Samples
|
|
111
|
+
|
|
112
|
+
**Zero-start project**
|
|
113
|
+
|
|
114
|
+
```bash
|
|
115
|
+
mkdir my-product && cd my-product
|
|
116
|
+
roll init
|
|
117
|
+
# In an interactive terminal, describe the requirement, point to a PRD,
|
|
118
|
+
# or let Roll write .roll/brief.md from detected notes.
|
|
119
|
+
roll next
|
|
120
|
+
roll design --from-file .roll/brief.md
|
|
121
|
+
roll loop on
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
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.
|
|
125
|
+
|
|
126
|
+
**Existing project**
|
|
127
|
+
|
|
128
|
+
```bash
|
|
129
|
+
cd existing-codebase
|
|
130
|
+
roll init
|
|
131
|
+
roll next
|
|
132
|
+
roll init --apply # after reviewing the generated onboard plan
|
|
133
|
+
roll loop on
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
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.
|
|
137
|
+
|
|
58
138
|
## Quick start for new projects
|
|
59
139
|
|
|
60
140
|
A new project needs a remote before the loop can push branches and open PRs:
|
|
@@ -86,9 +166,9 @@ with `roll loop resume` when ready.
|
|
|
86
166
|
| `roll backlog [sync\|block\|defer\|lint\|…]` | View, manage, and sync (from GitHub Issues) pending tasks |
|
|
87
167
|
| `roll loop alert [list\|ack\|resolve\|log]` | View / clear loop alerts |
|
|
88
168
|
| `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 |
|
|
169
|
+
| `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 |
|
|
89
170
|
| `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 |
|
|
90
171
|
| `roll doctor [skills\|--tools]` | Environment + install diagnosis; `roll doctor --tools` shows focused tool and screenshot readiness, including Terminal.app Screen Recording |
|
|
91
|
-
| `roll daemon <start\|stop\|status>` | Opt-in read-only observability daemon for the live console; defaults to `127.0.0.1:7077`, records `.roll/loop/daemon.pid`, and is never auto-started by the loop |
|
|
92
172
|
| `roll tune [reset]` | Suggest-only self-tuning from loop trends — read-only, never auto-applies |
|
|
93
173
|
| **Cards & evidence** | |
|
|
94
174
|
| `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 |
|
|
@@ -99,21 +179,19 @@ with `roll loop resume` when ready.
|
|
|
99
179
|
| `roll design [--from-file <path>] [--agent <name>]` | Launch `$roll-design` interactively; `--from-file` binds a PRD/brief as the design input |
|
|
100
180
|
| `roll offboard` | Remove Roll from this project |
|
|
101
181
|
| `roll test [--where] [--reset]` | Run the test suite (routes through the isolation adapter; unknown types fail loud) |
|
|
102
|
-
| `roll daemon <start\|stop\|status>` | Manage the read-only observability daemon (OPT-IN only; never auto-started) |
|
|
103
182
|
| `roll ci [--wait]` | Show or wait for current commit's CI status |
|
|
104
183
|
| `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) |
|
|
105
184
|
| `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 |
|
|
106
185
|
| `roll dream run-once` | Run the nightly Dream scan now; code-structure findings are seeded by a deterministic TS/AST pre-scan artifact before the agent writes the report |
|
|
107
186
|
| `roll pair [init\|status\|score]` | Cross-agent pairing: heterogeneous peer re-checks and scores deliveries |
|
|
108
187
|
| `roll cycles [--since 1d\|3d\|7d\|all]` | The cycle ledger — one line per cycle, failures never swallowed |
|
|
109
|
-
| `roll cycle <id>` | One cycle's full trace tape (cycle→story→build→peer→ci→pr→end) |
|
|
110
|
-
| web `#loop` cycle rows | The same ledger expands to the shared ActivitySignal stream and writes `.roll/loop/cycle-<id>.signals.jsonl` for replay |
|
|
188
|
+
| `roll cycle <id>` | One cycle's full trace tape (cycle→story→build→peer→ci→pr→end); the same trace is persisted as `.roll/loop/cycle-<id>.signals.jsonl` for replay |
|
|
111
189
|
| `roll peer [--reviewer <agent>] (--prompt <text>\|--file <path>)` | One-shot structured external-provider review; records `.roll/peer/runs.jsonl` |
|
|
112
190
|
| **Config & machine** | |
|
|
113
191
|
| `roll ls [--json] [--stale-days <n>]` | List the cross-project registry (`~/.roll/projects.json`): name · tag · verdict · path; missing/stale rows flagged, never dropped |
|
|
114
192
|
| `roll config [lang <zh\|en\|--reset>\|…]` | Read/write roll config (language, loop window, dream time) |
|
|
115
|
-
| `roll agent [
|
|
116
|
-
| `roll cast [--json]` | Print the
|
|
193
|
+
| `roll agent [migrate --dry-run\|migrate\|list]` | Agent Scope view: Machine Scope, Project Scope, resolved roles, pool health, and legacy compatibility |
|
|
194
|
+
| `roll cast [--json]` | Print the current role casting view (`--json` for the machine view) |
|
|
117
195
|
| `roll doctor skills [--strict] [--json]` | Strict skills audit (skills · violations · hub lines + the four invocation groups — the SAME yardstick the web Skills page reads) |
|
|
118
196
|
| `roll setup skills` | Sync the `guide/skills.md` skill catalog |
|
|
119
197
|
| `roll doc [--lang en\|zh] [name]` | View the Charter / language guide markdown in the terminal (`--lang` falls back to the configured language) |
|
|
@@ -123,12 +201,14 @@ with `roll loop resume` when ready.
|
|
|
123
201
|
| `roll update` | Upgrade to latest + re-sync |
|
|
124
202
|
| `roll --version` / `roll -v` | Print installed roll version |
|
|
125
203
|
|
|
126
|
-
##
|
|
204
|
+
## Observability Now
|
|
127
205
|
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
206
|
+
Roll's current observability is CLI-first. Persistent facts flow through one
|
|
207
|
+
read path: anchors -> selectors -> adapter -> projections. `roll status`,
|
|
208
|
+
`roll loop watch`, `roll loop runs`, `roll cycle <id>`, `roll pulse`, and
|
|
209
|
+
story-scoped attest reports are the current user-facing truth surfaces.
|
|
210
|
+
`roll index` is an on-demand archive and repair renderer for static HTML pages;
|
|
211
|
+
it is not the active delivery truth surface.
|
|
132
212
|
|
|
133
213
|
- A backlog row is a claim; merge evidence on `main` and recorded acceptance
|
|
134
214
|
evidence are truth. A premature `✅ Done` claim is shown as drift.
|
|
@@ -136,6 +216,9 @@ Story, Cycle, and Release.
|
|
|
136
216
|
free-form summary text.
|
|
137
217
|
- Missing facts render as `?`. A visible `0` means a known zero, not unknown.
|
|
138
218
|
|
|
219
|
+
`roll supervisor live` is the shipped CLI-first multi-role board. A browser/TUI
|
|
220
|
+
Supervisor Live Console remains future work and must reuse the same view model.
|
|
221
|
+
|
|
139
222
|
## Repository layout
|
|
140
223
|
|
|
141
224
|
Dev side — a pnpm monorepo. Publish side — one npm package.
|