@seanyao/roll 4.630.2 → 4.702.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 +64 -0
- package/README.md +65 -56
- package/conventions/global/AGENTS.md +8 -7
- package/dist/roll.mjs +12909 -8532
- package/docs/INDEX.md +32 -0
- package/docs/architecture.md +444 -0
- package/docs/difftest-freeze-paradigm.md +113 -0
- package/docs/live-console.md +203 -0
- package/docs/manifesto.md +65 -0
- package/docs/migration/role-taxonomy-v4.md +60 -0
- package/docs/verification.md +83 -0
- package/guide/INDEX.md +86 -0
- package/guide/assets/layouts/cards-2.png +0 -0
- package/guide/assets/layouts/cards-3.png +0 -0
- package/guide/assets/layouts/cards-4.png +0 -0
- package/guide/assets/layouts/compare.png +0 -0
- package/guide/assets/layouts/highlight.png +0 -0
- package/guide/assets/layouts/pipeline.png +0 -0
- package/guide/assets/layouts/plain.png +0 -0
- package/guide/assets/layouts/quote.png +0 -0
- package/guide/assets/layouts/timeline.png +0 -0
- package/guide/en/acceptance-evidence.md +231 -0
- package/guide/en/ai-agents.md +185 -0
- package/guide/en/backlog-github-sync.md +108 -0
- package/guide/en/changelog.md +66 -0
- package/guide/en/configuration.md +112 -0
- package/guide/en/consistency.md +58 -0
- package/guide/en/conventions.md +113 -0
- package/guide/en/dream.md +121 -0
- package/guide/en/faq.md +855 -0
- package/guide/en/feedback.md +31 -0
- package/guide/en/getting-started.md +103 -0
- package/guide/en/installation.md +86 -0
- package/guide/en/legacy-onboarding.md +195 -0
- package/guide/en/loop-data-layout.md +256 -0
- package/guide/en/loop-driven-architecture.md +186 -0
- package/guide/en/loop.md +1324 -0
- package/guide/en/methodology.md +715 -0
- package/guide/en/migration-2.0.md +154 -0
- package/guide/en/overview.md +190 -0
- package/guide/en/pairing.md +151 -0
- package/guide/en/patterns/README.md +76 -0
- package/guide/en/patterns/graft-pattern.md +110 -0
- package/guide/en/patterns/replant-pattern.md +114 -0
- package/guide/en/patterns/seed-pattern.md +132 -0
- package/guide/en/peer.md +71 -0
- package/guide/en/pr-review.md +62 -0
- package/guide/en/practices/engineering-common-sense.md +395 -0
- package/guide/en/pricing.md +116 -0
- package/guide/en/project-setup.md +126 -0
- package/guide/en/roll-doc-audit.md +98 -0
- package/guide/en/skills.md +206 -0
- package/guide/en/test-isolation.md +51 -0
- package/guide/en/testing/quality-rubric.md +340 -0
- package/guide/en/testing.md +123 -0
- package/guide/en/tools.md +173 -0
- package/guide/skills.md +30 -0
- package/guide/zh/acceptance-evidence.md +194 -0
- package/guide/zh/ai-agents.md +170 -0
- package/guide/zh/backlog-github-sync.md +105 -0
- package/guide/zh/changelog.md +57 -0
- package/guide/zh/configuration.md +99 -0
- package/guide/zh/consistency.md +48 -0
- package/guide/zh/conventions.md +96 -0
- package/guide/zh/dream.md +97 -0
- package/guide/zh/faq.md +773 -0
- package/guide/zh/feedback.md +30 -0
- package/guide/zh/getting-started.md +96 -0
- package/guide/zh/installation.md +83 -0
- package/guide/zh/legacy-onboarding.md +192 -0
- package/guide/zh/loop-data-layout.md +236 -0
- package/guide/zh/loop-driven-architecture.md +186 -0
- package/guide/zh/loop.md +1124 -0
- package/guide/zh/methodology.md +702 -0
- package/guide/zh/migration-2.0.md +154 -0
- package/guide/zh/overview.md +186 -0
- package/guide/zh/pairing.md +117 -0
- package/guide/zh/patterns/README.md +74 -0
- package/guide/zh/patterns/graft-pattern.md +108 -0
- package/guide/zh/patterns/replant-pattern.md +112 -0
- package/guide/zh/patterns/seed-pattern.md +130 -0
- package/guide/zh/peer.md +63 -0
- package/guide/zh/pr-review.md +54 -0
- package/guide/zh/practices/engineering-common-sense.md +393 -0
- package/guide/zh/pricing.md +97 -0
- package/guide/zh/project-setup.md +114 -0
- package/guide/zh/roll-doc-audit.md +90 -0
- package/guide/zh/skills.md +191 -0
- package/guide/zh/test-isolation.md +46 -0
- package/guide/zh/testing/quality-rubric.md +284 -0
- package/guide/zh/testing.md +116 -0
- package/guide/zh/tools.md +173 -0
- package/package.json +4 -1
- package/skills/README.md +1 -0
- package/skills/roll-.qa/SKILL.md +1 -1
- package/skills/roll-.review/SKILL.md +1 -1
- package/skills/roll-build/SKILL.md +1 -1
- package/skills/roll-build/references/full-contract.md +16 -13
- package/skills/roll-design/SKILL.md +3 -3
- package/skills/roll-design/references/full-contract.md +17 -13
- package/skills/roll-fix/SKILL.md +1 -1
- package/skills/roll-fix/references/full-contract.md +13 -10
- package/skills/roll-peer/SKILL.md +1 -1
- package/skills/roll-prime/SKILL.md +77 -0
- package/skills/roll-prime/references/explorer-annex.md +39 -0
- package/skills/roll-prime/references/supervisor-prompt.md +165 -0
- package/skills/route-cases/skills.json +10 -0
- package/template/AGENTS.md +3 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,69 @@
|
|
|
2
2
|
|
|
3
3
|
## Unreleased
|
|
4
4
|
|
|
5
|
+
## v4.702.2 — 2026-07-02
|
|
6
|
+
|
|
7
|
+
### Breaking changes
|
|
8
|
+
- Role taxonomy is now cut over to Supervisor / Designer / Builder / Evaluator. Designed cycles use `execution_profiles.designed`, `roles.designer`, and `role-artifacts/designer/design-contract.md`; retired keys now fail loudly instead of aliasing. See `docs/migration/role-taxonomy-v4.md` for the manual config update. (REFACTOR-ROLE-001..008)
|
|
9
|
+
|
|
10
|
+
### Automation pipeline
|
|
11
|
+
- Default project agent routing now uses open execute/evaluate pools with capability and health-aware ranking. Fresh sessions are the review isolation boundary; agent/model diversity is a preference or explicit strict mode, not a default hard exclusion. (REFACTOR-ROLE-008, US-AGENT-049)
|
|
12
|
+
|
|
13
|
+
### Acceptance evidence
|
|
14
|
+
- `roll design` now writes a Design Review Page so you can inspect the plan, flow, and prototype before build starts. (US-REVIEW-001, US-REVIEW-002)
|
|
15
|
+
<!-- evidence: .roll/features/review-pages/US-REVIEW-001/latest/US-REVIEW-001-report.html -->
|
|
16
|
+
<!-- evidence: .roll/features/review-pages/US-REVIEW-002/latest/US-REVIEW-002-report.html -->
|
|
17
|
+
- Acceptance gates now follow the work type: UI still needs real visual proof, while contract-heavy work can pass with tests, build, grep, and CI. (US-QA-015)
|
|
18
|
+
<!-- evidence: .roll/features/qa-testing/US-QA-015/latest/US-QA-015-report.html -->
|
|
19
|
+
|
|
20
|
+
### Observability
|
|
21
|
+
- `roll supervisor live --watch` keeps the Supervisor Live role board open and redraws it in-place from the same event-backed view model. Snapshot and JSON modes remain unchanged; watch mode is interactive-only and supports `--interval <sec>`. (FIX-1035)
|
|
22
|
+
|
|
23
|
+
## v4.702.1 — 2026-07-02
|
|
24
|
+
|
|
25
|
+
### 可见性
|
|
26
|
+
- `roll cycles` 现在能看清 Builder 和模型身份,不再把内部模型名当成 agent(FIX-1066, FIX-1067)`[loop-observability]`
|
|
27
|
+
- 协同视图补齐协议图例,TCR 节奏能区分活跃大步和真实停滞(US-OBS-037, US-OBS-042)`[loop-observability]`
|
|
28
|
+
- CLI、HTML 和文档现在按单一语言显示,并说明如何切换和审计语言表面(US-LANG-001, US-LANG-003, US-LANG-004, US-LANG-005)`[i18n]`
|
|
29
|
+
|
|
30
|
+
### 自动化流水线
|
|
31
|
+
- Cursor 进入正式 agent roster,角色选角也会结合能力和健康状态排序(US-AGENT-048, US-AGENT-049)`[agents]`
|
|
32
|
+
- Builder 路由会避开 Prime 角色,并解释候选池、排除原因和最终选择(FIX-1047)`[loop-engine]`
|
|
33
|
+
- 公开命令面有了真相源,辅助命令收入口径和帮助文档保持一致(REFACTOR-056, REFACTOR-057, REFACTOR-058, REFACTOR-059)`[cli]`
|
|
34
|
+
|
|
35
|
+
### 稳定性
|
|
36
|
+
- Builder 不再能绕出 cycle worktree 留下泄漏提交,收尾前也会先过硬闸(FIX-1068, FIX-1069)`[loop-engine]`
|
|
37
|
+
- PR 合并对账和补证恢复更可靠,绿 PR 不再因为缺验收页或分数识别卡住(FIX-1057, FIX-1058, FIX-1061)`[loop-engine]`
|
|
38
|
+
- loop worktree 里的链接式卡片 spec 能被 attest 正常识别(FIX-1059)`[loop-engine]`
|
|
39
|
+
- Reasonix setup 不再把 docs/reports 等辅助目录挂成 agent skill(FIX-1042)`[skill-ecosystem]`
|
|
40
|
+
- Builder cycle 现在会把 `cd` 回主 checkout 后产生的本地 main 提交判为 sandbox boundary violation,记录泄漏提交数和 cwd 线索,并阻止它被当成 TCR 交付证据 `[loop-engine]`
|
|
41
|
+
- `roll supervisor repair-evidence` 现在能救回卡在证据门的绿 PR,不用手动合并或重跑整张卡 `[loop]`
|
|
42
|
+
- `roll supervisor repair-evidence` 已修复的 PR 重跑不再误报无法修复 `[loop]`
|
|
43
|
+
<!-- evidence: .roll/features/loop-engine/FIX-1062/latest/FIX-1062-report.html -->
|
|
44
|
+
- `roll cycles` 不再把旧失败轮误标为 delivered `[loop]`
|
|
45
|
+
- 等待 PR 合并的 cycle 证据不再被归档为失败诊断 `[loop]`
|
|
46
|
+
- **`aborted_no_delivery` 周期不再丢失 story/agent 归属**:外部信号终止的 cycle 会从已写入的 events.ndjson 回填已知的 `story_id` 与 `agent`;如果在路由完成前被终止,`agent` 字段会保留空值并附带 `agent_unknown_reason`,避免失败匿名化,`roll cycles` 也能正确显示对应卡片与 agent。(FIX-1060) `[loop-engine]`
|
|
47
|
+
|
|
48
|
+
### 文档与命名
|
|
49
|
+
- **持续刷新的 loop 摘要不再叫 "Morning Report"**:这个从 events/runs 持续重建、窗口为最近 12 小时的 digest 不管白天还是夜里都在刷新,叫 "Morning Report" 会误导白天查看的运营者。现在改叫 Loop Digest(循环摘要),主路径换成 `.roll/reports/loop/latest.html`,Truth Console 上直接露出链接。旧的 `reports/morning/latest.html` 作为兼容别名继续写一版,已有链接不会断开。(FIX-1048) `[loop-observability]`
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
- **两个核心概念改回更好记的名字**:项目级协调者从“Supervisor Agent”改名“Prime Agent”,交付一张 Story 的角色组合(规划/构建/评估)从“Story Execution Unit”改名“Delta Unit”。CLI 输出、文档、指南、宣传站、技能说明三端统一用新名。命令 `roll supervisor` 与内部代码标识符暂时保留原名作兼容,用户面一律读作 Prime Agent,下次大版本再评估是否连命令一起改。这是对 2026-06-27 一次改名的回退,回到 owner 更喜欢的原始命名。(REFACTOR-054)
|
|
53
|
+
|
|
54
|
+
### 自动化流水线
|
|
55
|
+
|
|
56
|
+
- **评分更能读懂 Reasonix/Kimi 的回复了**:有的评审会重绘终端、把同一段最终分数打印两遍,或先回显模板和分析再给真正答案;现在 Roll 会取最后一段可用的分数块,只要重复的分数和结论一致就采信,模板占位、真正冲突的两个不同分数、越界分数、不支持的结论仍会被拒。被拒时,`roll cycle <id> --roles` 会写出具体原因,并区分“给了类分数文本但没被采信”和“根本没返回分数内容”,不再是笼统的 unparseable。(FIX-1045) `[loop-engine]`
|
|
57
|
+
- **卡死在“无进展”的目标有了可审计的换人恢复路径**:当 loop 因连续无进展自动停下一张卡时,不再是个看不出原因、也走不出去的死角。`roll supervisor why` 会显示卡住的卡、连续无进展次数、上一个失败的 Builder、下一个可换的 Builder,以及如何查看上一次失败 cycle 留下的现场。新命令 `roll loop recover <卡号>` 先预览这些信息;加 `--apply` 后,在有“另一个”可用 Builder 时清掉这张卡的熔断计数、让它能被下一个 Builder 再试一次(不用手删 `goal.yaml` 或改内部状态);没有可换的 Builder 时会明确拒绝并说明原因。每次恢复都会记一条事件,写明是谁恢复的、跳过/选了哪个 Builder、为什么允许重试——熔断器不会被悄悄绕过;没人来手动恢复时,无进展熔断照常拦住盲目重试。(FIX-1049) `[loop-engine]`
|
|
58
|
+
- **Reasonix / agy cycle 用量也能被 ledger 记录了**:Reasonix 跑完后会在 stdout 留下 `tok · in X · out Y · ¥Z` 用量页脚,Roll 现在会解析这个页脚并把 token、cost 写进 cycle ledger;agy / gemini 的 `-p` 输出本身不含用量,runner 会显式记录 `agy_stdout_no_usage` 原因,不再笼统地标成 `usage_unknown`。`roll cycles --json` 会带出具体原因,方便区分"解析失败"和"agent 确实没输出用量"。(FIX-1050) `[loop-engine]`
|
|
59
|
+
- **agy 内部工具失败不再被当成普通 gave-up**:当 agy 退出码为 0 但 stdout 只剩控制字符、且 native antigravity CLI 日志里出现 `GREP_SEARCH` 超时或 `trajectory converted to zero chat messages` 等内部错误时,Roll 会把 cycle 终态记为 `agent_internal_failure`,在 ledger、`roll cycles --detail` 和 ALERT 里带上原生错误类别、摘要和日志路径,而不是隐藏成无输出的 gave-up。(FIX-1051) `[loop-engine]`
|
|
60
|
+
- **agy 登录一次后就能参与无人值守的评审/打分了**:以前即便你已经在终端里登录过 agy,loop 在后台拉起它做评审或打分时还是会反复报"登录失败",因为后台进程看不到你登录留下的凭据。现在 agy 会带着和你手动使用时相同的登录环境启动,登录过一次就能安静地参与循环,不再打断你去重新确认。新命令 `roll agent readiness agy` 可以先检查 agy 在后台能不能正常登录:能就直接说 ok,不能就明确告诉你缺什么、怎么恢复(只报路径和变量名,绝不打印任何密钥)。万一登录真的失效了,agy 会被临时挂起并留下一条可见记录,等你重新登录后自动恢复;纯网络波动不会被误判成登录问题。(FIX-1056) `[loop-engine]`
|
|
61
|
+
- **已交付的故事不再在 cycle 账本里显示"未发布"**:当一个 story 已经合并到 main 并出现在交付记录里,但较早的 cycle 行因为当时 publish 没完成、`runs.jsonl` 里还是 `unpublished`,`roll cycles` 现在会检查交付真相、把该行标记为 `delivered`,不再让已上线的成果看起来像"没发出去"。同时,`roll truth query` 能在交付记录缺少 PR 编号时,从合并提交的正文里找回 PR 编号,不再报 `pr_number_no_publish_attempted`。(FIX-1046) `[loop-engine]`
|
|
62
|
+
<!-- evidence: .roll/features/loop-engine/FIX-1046/latest/FIX-1046-report.html -->
|
|
63
|
+
|
|
64
|
+
### 新功能
|
|
65
|
+
|
|
66
|
+
- **`roll design` 现在会给出一个可读的运行摘要和产物交付块**:运行前显示目标、模式、agent 和原始记录路径;运行中默认只渲染关键进度行,原始 agent 输出保存到 `.roll/runs/design/<timestamp>-<target>/transcript.log`;结束后交付块列出设计产物(`spec.md#detailed-design`)、生成的 HTML、新建卡片数、当前状态和下一步动作。`--verbose` 可查看 assistant 详细文本,`--raw` 可输出完整记录。(FIX-1055) `[legacy-onboard]`
|
|
67
|
+
|
|
5
68
|
## v4.630.2 — 2026-06-30
|
|
6
69
|
|
|
7
70
|
### 自动化流水线
|
|
@@ -11,6 +74,7 @@
|
|
|
11
74
|
### 可见性
|
|
12
75
|
|
|
13
76
|
- **v4 角色日志入口补齐**:文档说明 Builder、Peer Reviewer、Evaluator、采信分数和解析失败原始产物分别该去哪里看,方便 supervisor 诊断多 agent 协作链路。(US-OBS-036) `[loop-observability]`
|
|
77
|
+
- **协同视图数据底座就位**:新增 `collab-view.v1` 投影,从事件流和 CycleRoleSummary 派生换手、升级与 supervisor 姿态,为 `roll cycle --collab` 和 `roll supervisor live --collab` 提供类型稳定的数据契约。(US-OBS-038) `[loop-observability]`
|
|
14
78
|
|
|
15
79
|
## v4.630.1 — 2026-06-30
|
|
16
80
|
|
package/README.md
CHANGED
|
@@ -55,13 +55,31 @@ 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
|
+
## Language Surfaces
|
|
59
|
+
|
|
60
|
+
Roll renders one visible language per user surface. `ROLL_LANG=en|zh` pins the
|
|
61
|
+
current process, `roll config lang en|zh` persists a preference, and
|
|
62
|
+
`roll config lang --reset` returns to locale detection. `roll help --lang en|zh`
|
|
63
|
+
is available for one-off guide/help reads, and `roll doctor language` audits
|
|
64
|
+
docs, conventions, skills, and generated surfaces for mixed-language drift.
|
|
65
|
+
|
|
66
|
+
Agent contracts, code comments, git metadata, and TypeScript identifiers stay in
|
|
67
|
+
English as the harness contract layer. Owner conversation follows the owner's
|
|
68
|
+
language. User docs live in separate locale files under `guide/en/` and
|
|
69
|
+
`guide/zh/`; contributors should update the matching locale file or i18n catalog
|
|
70
|
+
instead of placing translation pairs in the same rendered surface. Snapshot
|
|
71
|
+
coverage for the current language controls lives in
|
|
72
|
+
`packages/cli/test/cli-language-surface.test.ts`,
|
|
73
|
+
`packages/cli/test/__snapshots__/cli-language-surface.test.ts.snap`, and
|
|
74
|
+
`packages/cli/test/doctor-language.test.ts`.
|
|
75
|
+
|
|
58
76
|
## V4 Supervisor Execution
|
|
59
77
|
|
|
60
78
|
Roll V4 separates project coordination from story delivery:
|
|
61
79
|
|
|
62
|
-
- **Supervisor
|
|
63
|
-
- **
|
|
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`.
|
|
80
|
+
- **Supervisor** 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.
|
|
81
|
+
- **Delta Unit** delivers one Story through scoped roles: `design` produces the Designer contract when the profile needs it, `execute` performs the Builder work, `evaluate` reviews/scores evidence, and `supervise` coordinates above the Story boundary.
|
|
82
|
+
- **supervise / design / 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
83
|
- **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
84
|
- **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
85
|
|
|
@@ -84,12 +102,14 @@ profiles, evidence, Evaluator, and release gates:
|
|
|
84
102
|
|
|
85
103
|
- **guided** — the owner drives through `roll supervisor status/next/why` and
|
|
86
104
|
starts work explicitly with commands such as `roll loop go --cards <id>`.
|
|
87
|
-
Guided mode never silently starts long-running Story execution.
|
|
105
|
+
Guided mode never silently starts long-running Story execution. When the
|
|
106
|
+
scheduler is off, `roll loop go` runs a manual goal; when the loop is paused,
|
|
107
|
+
use `roll loop resume` before scheduled work can continue.
|
|
88
108
|
- **autonomous** — `roll loop on` installs the scheduler; eligible Stories may
|
|
89
109
|
be picked within the existing pause, budget, route, evidence, Evaluator, and
|
|
90
110
|
release gates. `roll loop pause` / `roll loop off` return control to guided
|
|
91
111
|
operation; `roll loop resume` / `roll loop on` switch back explicitly.
|
|
92
|
-
- **Attest and evidence are story-scoped**. A Story is accepted through its own `latest/<id>-
|
|
112
|
+
- **Attest and evidence are story-scoped**. A Story is accepted through its own Acceptance Review Page (`latest/<id>-review.html`), AC map, and screenshots/test artifacts. `latest/<id>-report.html` remains a legacy alias for one release cycle.
|
|
93
113
|
|
|
94
114
|
Agent bindings are declared in two files: `~/.roll/agents.yaml` for Machine Scope
|
|
95
115
|
and `.roll/agents.yaml` for Project Scope. A Project can inherit the machine pool
|
|
@@ -109,15 +129,19 @@ defaults:
|
|
|
109
129
|
strategy: first-available
|
|
110
130
|
evaluate:
|
|
111
131
|
kind: select
|
|
112
|
-
from: [claude, codex, kimi, pi, agy, reasonix]
|
|
132
|
+
from: [claude, codex, kimi, pi, agy, reasonix, cursor]
|
|
113
133
|
require: [evaluate]
|
|
114
|
-
|
|
115
|
-
strategy: least-recent
|
|
134
|
+
strategy: health-aware
|
|
116
135
|
```
|
|
117
136
|
|
|
118
137
|
Runtime availability is explicit: if a candidate is not callable on the current
|
|
119
138
|
machine because of auth, network, VPN, or account state, the current resolution
|
|
120
139
|
records that limitation instead of rewriting the static pool.
|
|
140
|
+
For open role casting, `strategy: health-aware` keeps the installed pool visible
|
|
141
|
+
and ranks candidates by capability, recent health, successful deliveries, recent
|
|
142
|
+
use, and cost band. Inspect a cast with
|
|
143
|
+
`roll supervisor route --role builder --story <id> [--json]`; the trace lists
|
|
144
|
+
every candidate, warnings, skipped facts, reasons, and the selected agent.
|
|
121
145
|
|
|
122
146
|
## Onboarding Samples
|
|
123
147
|
|
|
@@ -133,7 +157,7 @@ roll design --from-file .roll/brief.md
|
|
|
133
157
|
roll loop on
|
|
134
158
|
```
|
|
135
159
|
|
|
136
|
-
Roll explains the next design step instead of inventing fake work. The
|
|
160
|
+
Roll explains the next design step instead of inventing fake work. The Designer turns the requirement into Stories, the Supervisor chooses `standard`, `verified`, or `designed` execution, and the owner reviews story-scoped attest evidence.
|
|
137
161
|
|
|
138
162
|
**Existing project**
|
|
139
163
|
|
|
@@ -145,7 +169,7 @@ roll init --apply # after reviewing the generated onboard plan
|
|
|
145
169
|
roll loop on
|
|
146
170
|
```
|
|
147
171
|
|
|
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.
|
|
172
|
+
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 loop cycle <id>`, `roll loop alert`, and story reports.
|
|
149
173
|
|
|
150
174
|
## Quick start for new projects
|
|
151
175
|
|
|
@@ -170,57 +194,39 @@ with `roll loop resume` when ready.
|
|
|
170
194
|
|
|
171
195
|
| Command | Description |
|
|
172
196
|
|---------|-------------|
|
|
173
|
-
|
|
|
174
|
-
| `roll
|
|
175
|
-
| `roll
|
|
176
|
-
| `roll
|
|
177
|
-
| `roll
|
|
178
|
-
| `roll
|
|
179
|
-
| `roll
|
|
180
|
-
| `roll
|
|
181
|
-
| `roll
|
|
182
|
-
| `roll
|
|
183
|
-
| `roll
|
|
184
|
-
| `roll
|
|
185
|
-
|
|
|
186
|
-
| `roll
|
|
187
|
-
| `roll
|
|
188
|
-
| **Project · per repo** | |
|
|
189
|
-
| `roll init` | Diagnose this directory and route to fresh scaffold, PRD/design handoff, existing-codebase onboard, repair, migration, or `roll status` |
|
|
190
|
-
| `roll next` | Continue the init/onboard journey with one best next command: design, apply, repair, migrate, loop, or status |
|
|
191
|
-
| `roll design [--from-file <path>] [--agent <name>]` | Launch `$roll-design` interactively; `--from-file` binds a PRD/brief as the design input |
|
|
192
|
-
| `roll offboard` | Remove Roll from this project |
|
|
193
|
-
| `roll test [--where] [--reset]` | Run the test suite (routes through the isolation adapter; unknown types fail loud) |
|
|
194
|
-
| `roll ci [--wait]` | Show or wait for current commit's CI status |
|
|
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) |
|
|
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 |
|
|
197
|
-
| `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 |
|
|
198
|
-
| `roll pair [init\|status\|score]` | Cross-agent pairing: heterogeneous peer re-checks and scores deliveries |
|
|
199
|
-
| `roll cycles [--since 1d\|3d\|7d\|all]` | The cycle ledger — one line per cycle, failures never swallowed |
|
|
200
|
-
| `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 |
|
|
201
|
-
| `roll cycle <id> --roles [--json]` | The execution cast — who was Builder and who was Evaluator, which peers were consulted, and the single accepted score; also written to `summary.md`/`summary.json` and the Execution Cast report block ([guide](guide/en/loop.md#cycle-role-visibility)) |
|
|
202
|
-
| `roll peer [--reviewer <agent>] (--prompt <text>\|--file <path>)` | One-shot structured external-provider review; records `.roll/peer/runs.jsonl` |
|
|
203
|
-
| **Config & machine** | |
|
|
204
|
-
| `roll ls [--json] [--stale-days <n>]` | List the cross-project registry (`~/.roll/projects.json`): name · tag · verdict · path; missing/stale rows flagged, never dropped |
|
|
205
|
-
| `roll config [lang <zh\|en\|--reset>\|…]` | Read/write roll config (language, loop window, dream time) |
|
|
206
|
-
| `roll agent [migrate --dry-run\|migrate\|list]` | Agent Scope view: Machine Scope, Project Scope, resolved roles, pool health, and legacy compatibility |
|
|
207
|
-
| `roll cast [--json]` | Print the current role casting view (`--json` for the machine view) |
|
|
208
|
-
| `roll doctor skills [--strict] [--json]` | Strict skills audit (skills · violations · hub lines + the four invocation groups — the SAME yardstick the web Skills page reads) |
|
|
209
|
-
| `roll setup skills` | Sync the `guide/skills.md` skill catalog |
|
|
210
|
-
| `roll doc [--lang en\|zh] [name]` | View the Charter / language guide markdown in the terminal (`--lang` falls back to the configured language) |
|
|
211
|
-
| `roll tool status` | Show registered tools, effective `.roll/policy.yaml` state, input contracts, and requirement readiness |
|
|
212
|
-
| `roll prices [refresh]` | Model price table (cost accounting source) |
|
|
213
|
-
| `roll setup [skills\|-f]` | First-time install, skill catalog generation, or re-sync conventions to all AI clients |
|
|
214
|
-
| `roll update` | Upgrade to latest + re-sync |
|
|
197
|
+
| `roll agent [migrate\|list\|cast]` | Agent Scope, installed-agent inventory, and role casting |
|
|
198
|
+
| `roll backlog [sync\|block\|defer\|lint\|…]` | View, manage, lint, and sync pending tasks |
|
|
199
|
+
| `roll config [lang\|prices\|tune\|…]` | Read/write configuration, model prices, and suggest-only tuning |
|
|
200
|
+
| `roll design [--from-file <path>] [--agent <name>]` | Launch `$roll-design` interactively; detailed designs get a self-contained Design Review Page |
|
|
201
|
+
| `roll doctor [skills\|tools\|language]` | Diagnose install health, skills, tools, permissions, and language drift |
|
|
202
|
+
| `roll help [--lang en\|zh] [name]` | View built-in Charter / guide docs; `roll --help` prints CLI usage |
|
|
203
|
+
| `roll idea "<one-sentence description>"` | Capture and classify a new backlog card |
|
|
204
|
+
| `roll init` | Diagnose this directory and route setup/onboarding |
|
|
205
|
+
| `roll loop <on\|off\|go\|watch\|runs\|cycles\|cycle\|alert\|…>` | Run, observe, and maintain the autonomous executor |
|
|
206
|
+
| `roll next` | Continue init/onboard with one best next command |
|
|
207
|
+
| `roll release [--dry-run\|--showcase]` | Release planning/flow plus golden-path showcase support |
|
|
208
|
+
| `roll setup [skills\|offboard\|-f]` | Install/sync conventions or remove Roll-owned project artifacts |
|
|
209
|
+
| `roll status [ci\|pulse] [--json]` | Project health, CI state, and delivery pulse |
|
|
210
|
+
| `roll test [--where] [--reset]` | Run tests through the isolation adapter |
|
|
211
|
+
| `roll update` | Upgrade the global Roll install and re-sync conventions |
|
|
215
212
|
| `roll --version` / `roll -v` | Print installed roll version |
|
|
216
213
|
|
|
214
|
+
Retained support surfaces live under their owners: `roll config prices`, `roll config tune`,
|
|
215
|
+
`roll agent cast`, `roll doctor tools`, `roll status ci`, `roll status pulse`,
|
|
216
|
+
`roll loop cycles`, `roll loop cycle`, `roll release showcase`, and `roll setup offboard`.
|
|
217
|
+
Historical top-level aliases for those capabilities now return the standard
|
|
218
|
+
unknown-command response.
|
|
219
|
+
|
|
217
220
|
## Observability Now
|
|
218
221
|
|
|
219
222
|
Roll's current observability is CLI-first. Persistent facts flow through one
|
|
220
223
|
read path: anchors -> selectors -> adapter -> projections. `roll status`,
|
|
221
|
-
`roll loop watch`, `roll loop runs`, `roll cycle <id>`, `roll pulse`, and
|
|
224
|
+
`roll loop watch`, `roll loop runs`, `roll loop cycle <id>`, `roll status pulse`, and
|
|
222
225
|
story-scoped attest reports are the current user-facing truth surfaces.
|
|
223
|
-
|
|
226
|
+
Role and collaboration visibility are part of that same surface: `roll loop cycle <id> --roles`,
|
|
227
|
+
`roll loop cycle <id> --collab`, `roll loop cycle --legend`, `roll supervisor live --collab`,
|
|
228
|
+
and the Execution Cast report block expose selected/returned/accepted role outcomes.
|
|
229
|
+
The archive rebuild is an on-demand archive and repair renderer for static HTML pages;
|
|
224
230
|
it is not the active delivery truth surface.
|
|
225
231
|
|
|
226
232
|
- A backlog row is a claim; merge evidence on `main` and recorded acceptance
|
|
@@ -229,8 +235,11 @@ it is not the active delivery truth surface.
|
|
|
229
235
|
free-form summary text.
|
|
230
236
|
- Missing facts render as `?`. A visible `0` means a known zero, not unknown.
|
|
231
237
|
|
|
232
|
-
`roll supervisor live` is the shipped CLI-first multi-role board.
|
|
233
|
-
|
|
238
|
+
`roll supervisor live` is the shipped CLI-first multi-role board. It prints a
|
|
239
|
+
one-frame snapshot for scripts and quick inspection; `roll supervisor live --watch`
|
|
240
|
+
keeps the same board open and redraws it in-place from the same event-backed view
|
|
241
|
+
model. A browser/TUI Supervisor Live Console remains future work and must reuse
|
|
242
|
+
that view model.
|
|
234
243
|
|
|
235
244
|
## Repository layout
|
|
236
245
|
|
|
@@ -3,19 +3,20 @@
|
|
|
3
3
|
> Baseline for AI-agent-friendly projects. Extend with project-specific rules.
|
|
4
4
|
|
|
5
5
|
## 1. Communication
|
|
6
|
-
- User's language. Code/Git/Comments: English.
|
|
6
|
+
- User conversation follows the user's language. Code/Git/Comments: English.
|
|
7
|
+
- Rendered UI/CLI/docs use one resolved language per surface; keep multilingual
|
|
8
|
+
resources behind locale files or catalogs.
|
|
7
9
|
- Concise. No summaries/code-walking. Implementation invisible.
|
|
8
10
|
- Strategy (Why) OK; Tactics (How) NO. Outcomes only.
|
|
9
11
|
- **Ambiguity resolution**: When user says "explicit" in automation contexts,
|
|
10
12
|
interpret as "logged/observable with clear output", NOT "requiring manual
|
|
11
13
|
intervention". Confirm with one question if uncertain.
|
|
12
14
|
- **Voice**: Natural, colleague-like tone — neither robotic ("Executing…") nor over-enthusiastic ("Great!"). "Done — here's what changed." instead of "Task completed successfully." Consistent warmth for success and failure alike.
|
|
13
|
-
- **
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
Not: `Processing... 处理中...`
|
|
15
|
+
- **Language surfaces**: never append automatic translations. Agent contracts are
|
|
16
|
+
English; owner conversation follows the user; CLI output follows the resolved
|
|
17
|
+
locale; docs live in `guide/en` or `guide/zh`; backlog/spec/release notes use
|
|
18
|
+
the project primary language; code comments stay English except quoted
|
|
19
|
+
user-facing copy and fixtures.
|
|
19
20
|
|
|
20
21
|
## 2. Code
|
|
21
22
|
- **TS**: Strict, no `any`. Functional hooks. Early returns.
|