@seanyao/roll 3.0.0 → 3.606.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 +25 -0
- package/README.md +26 -9
- package/dist/roll.mjs +2911 -1993
- package/package.json +1 -1
- package/skills/README.md +51 -0
- package/skills/roll-.changelog/SKILL.md +13 -0
- package/skills/roll-build/SKILL.md +21 -1
- package/skills/roll-fix/SKILL.md +21 -1
- package/bin/dream-test-quality-scan +0 -110
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,30 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## v3.606.1
|
|
4
|
+
|
|
5
|
+
### 新功能
|
|
6
|
+
|
|
7
|
+
- **`roll attest` 验收证据链上线** — 每个交付的 story 可生成单文件验收报告:逐条 AC 判定(五档徽章)、证据卡片(截图 / 可搜索的 CLI 文本 / commit·CI·部署链接)、零证据强制降级红线 + 缺口附录;离线可开、可打印 PDF。web/iOS/Android 三端截屏各带前置自动跳过;同 story 自评条目折叠展示
|
|
8
|
+
- **发版一致性闸** — 每个 v* tag 在创建 Release 前先过 `roll consistency check`:任一维度对不上即中止发版,差异清单见 job 日志
|
|
9
|
+
- **loop 调度面 TS 化** — `loop on/off/pause/resume/now` 原生实现;`loop on` 生成自包含 v3 runner(周期心脏 = `loop run-once`);`loop now` 检测旧版模板自动再生成后再跑(根治 command not found)
|
|
10
|
+
|
|
11
|
+
### 稳定性
|
|
12
|
+
|
|
13
|
+
- **backlog 状态端到端确定性** — 取卡即标 🔨 进行中、交付完成确定性翻 ✅ Done、崩溃残留的认领自动回收;普通项目(.roll 被 gitignore)布局下状态不再悬空
|
|
14
|
+
- **changelog 不再漏卡** — 裸 ID(非链接形)的 Done 行正确入草稿;空草稿时 `--write` 不写占位句
|
|
15
|
+
- **peer 硬触发留痕** — 高复杂度交付未经评审会在事件流与 ALERT 留下可审计记录
|
|
16
|
+
|
|
17
|
+
### 精简
|
|
18
|
+
|
|
19
|
+
- **tart 隔离 lane 移除** — `test_isolation.type` 只留 `none`;残留 tart 配置显式报错退出,绝不静默回落宿主
|
|
20
|
+
- **bats 测试套件退役** — 51k 行 bash 测试由 TS diff-test 体系接管(对使用者无感;v2 分支保留全量历史)
|
|
21
|
+
|
|
22
|
+
### 文档
|
|
23
|
+
|
|
24
|
+
- **架构与理念文档归仓** — `docs/architecture.md`(分层 / 领域 / 12 条不变量)、`docs/verification.md`、`docs/manifesto.md`
|
|
25
|
+
- **双语新章** — 验收证据指南、一致性与发版闸指南、README 仓库结构章节与环境要求修正
|
|
26
|
+
|
|
27
|
+
|
|
3
28
|
## v3.0.0
|
|
4
29
|
|
|
5
30
|
### TypeScript 重写
|
package/README.md
CHANGED
|
@@ -1,9 +1,3 @@
|
|
|
1
|
-
> **Roll v3 — the engine is now TypeScript (`packages/`, a pnpm monorepo). The commands are unchanged.**
|
|
2
|
-
> **Roll v3——引擎已是 TypeScript(`packages/`,pnpm monorepo);命令保持不变。**
|
|
3
|
-
> The bash implementation stays in-tree as `bin/roll`: the automatic fallback for any command the TS layer doesn't yet own, and the oracle the TS suite diff-tests against. `skills/` is a git submodule → [seanyao/roll-skills](https://github.com/seanyao/roll-skills). v2 is archived on the `v2` branch (anchor tag `v2-freeze-2026-06-04`).
|
|
4
|
-
> bash 实现作为 `bin/roll` 留在仓内:TS 层未接管命令的自动回落,也是 TS 套件对拍的 oracle。`skills/` 是 git submodule。v2 归档在 `v2` 分支(锚点 tag `v2-freeze-2026-06-04`)。
|
|
5
|
-
> Build & test: `pnpm install && pnpm -r test`.
|
|
6
|
-
|
|
7
1
|
```
|
|
8
2
|
██████╗ ██████╗ ██╗ ██╗
|
|
9
3
|
██╔══██╗██╔═══██╗██║ ██║
|
|
@@ -32,7 +26,7 @@ curl -fsSL https://seanyao.github.io/roll/install | bash
|
|
|
32
26
|
npm install -g @seanyao/roll
|
|
33
27
|
```
|
|
34
28
|
|
|
35
|
-
Requirements:
|
|
29
|
+
Requirements: Node.js ≥ 22 (the CLI entry runs on node). bash 3.2+ for the bundled fallback engine.
|
|
36
30
|
|
|
37
31
|
## Use
|
|
38
32
|
|
|
@@ -59,7 +53,7 @@ roll loop on # let AI work through the backlog (optional)
|
|
|
59
53
|
| `roll status` | Show current state and drift |
|
|
60
54
|
| `roll agent [use <name>]` | Per-project agent selection |
|
|
61
55
|
| `roll ci [--wait]` | Show or wait for current commit's CI status |
|
|
62
|
-
| `roll test [--where] [--reset]` | Run the test suite (routes through isolation adapter;
|
|
56
|
+
| `roll test [--where] [--reset]` | Run the test suite (routes through the isolation adapter; unknown types fail loud) |
|
|
63
57
|
| `roll release` | Run the release script (human-only) |
|
|
64
58
|
| `roll review-pr <number>` | AI-powered code review for a PR |
|
|
65
59
|
| **Machine · global** | |
|
|
@@ -67,6 +61,23 @@ roll loop on # let AI work through the backlog (optional)
|
|
|
67
61
|
| `roll update` | Upgrade to latest + re-sync |
|
|
68
62
|
| `roll version` | Print installed roll version |
|
|
69
63
|
|
|
64
|
+
## Repository layout
|
|
65
|
+
|
|
66
|
+
Dev side — a pnpm monorepo. Publish side — one npm package.
|
|
67
|
+
|
|
68
|
+
```
|
|
69
|
+
packages/ TypeScript engine (pnpm workspaces): spec · core · infra · cli · web
|
|
70
|
+
bin/roll Frozen bash v2 engine — automatic fallback + the diff-test oracle
|
|
71
|
+
lib/ Runtime companions (python/sh) used by the loop & fallback paths
|
|
72
|
+
skills/ Git submodule → seanyao/roll-skills (the agent skill contracts)
|
|
73
|
+
conventions/ Conventions synced into AI clients by `roll setup`
|
|
74
|
+
template/ Project scaffolding installed by `roll init`
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
The frozen v2 bash lives on the `v2` branch (anchor tag `v2-freeze-2026-06-04`). Build & test: `pnpm install && pnpm -r test`.
|
|
78
|
+
|
|
79
|
+
Published as a single npm package `@seanyao/roll`: `dist/` (TS bundled by esbuild) + `bin/` + `lib/` + `skills/` + `conventions/` + `template/`.
|
|
80
|
+
|
|
70
81
|
## Documentation
|
|
71
82
|
|
|
72
83
|
| Topic | English | 中文 |
|
|
@@ -85,7 +96,13 @@ roll loop on # let AI work through the backlog (optional)
|
|
|
85
96
|
| Slides — Layouts reference | [guide/en/slides.md#layouts](guide/en/slides.md#layouts) | [guide/zh/slides.md#layouts布局](guide/zh/slides.md#layouts%E5%B8%83%E5%B1%80) |
|
|
86
97
|
| Feedback (`roll feedback`) | [guide/en/feedback.md](guide/en/feedback.md) | [guide/zh/feedback.md](guide/zh/feedback.md) |
|
|
87
98
|
| Backlog GitHub sync (`roll backlog sync`) | [guide/en/backlog-github-sync.md](guide/en/backlog-github-sync.md) | [guide/zh/backlog-github-sync.md](guide/zh/backlog-github-sync.md) |
|
|
88
|
-
| Test isolation (`roll test`
|
|
99
|
+
| Test isolation (`roll test`) | [guide/en/test-isolation.md](guide/en/test-isolation.md) | [guide/zh/test-isolation.md](guide/zh/test-isolation.md) |
|
|
100
|
+
| Acceptance evidence (`roll attest`) | [guide/en/acceptance-evidence.md](guide/en/acceptance-evidence.md) | [guide/zh/acceptance-evidence.md](guide/zh/acceptance-evidence.md) |
|
|
101
|
+
| Consistency & release gate | [guide/en/consistency.md](guide/en/consistency.md) | [guide/zh/consistency.md](guide/zh/consistency.md) |
|
|
102
|
+
| Architecture (layers · domain · invariants) | [docs/architecture.md](docs/architecture.md) | — |
|
|
103
|
+
| Verification system | [docs/verification.md](docs/verification.md) | — |
|
|
104
|
+
| Manifesto · 理念 | [docs/manifesto.md](docs/manifesto.md) | — |
|
|
105
|
+
| Acceptance evidence (`roll attest`) | [guide/en/acceptance-evidence.md](guide/en/acceptance-evidence.md) | [guide/zh/acceptance-evidence.md](guide/zh/acceptance-evidence.md) |
|
|
89
106
|
| Cross-machine sync | [guide/en/loop.md#cross-machine-sync](guide/en/loop.md#cross-machine-sync) | [guide/zh/loop.md#跨机器同步](guide/zh/loop.md#%E8%B7%A8%E6%9C%BA%E5%99%A8%E5%90%8C%E6%AD%A5) |
|
|
90
107
|
| Remote monitoring (watch loop from a phone via `remote-watch`) | [guide/en/loop.md#remote-monitoring](guide/en/loop.md#remote-monitoring) | [guide/zh/loop.md#远程监控remote-monitoring](guide/zh/loop.md#%E8%BF%9C%E7%A8%8B%E7%9B%91%E6%8E%A7remote-monitoring) |
|
|
91
108
|
| Cycle result eval (`roll loop eval`) | [guide/en/loop.md#cycle-result-eval](guide/en/loop.md#cycle-result-eval) | [guide/zh/loop.md#cycle-结果评分result-eval](guide/zh/loop.md#cycle-%E7%BB%93%E6%9E%9C%E8%AF%84%E5%88%86result-eval) |
|