@xenonbyte/da-vinci-workflow 0.2.3 → 0.2.4
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 +13 -0
- package/README.md +32 -7
- package/README.zh-CN.md +151 -7
- package/commands/claude/dv/build.md +5 -0
- package/commands/claude/dv/continue.md +4 -0
- package/commands/claude/dv/tasks.md +6 -0
- package/commands/claude/dv/verify.md +2 -0
- package/commands/codex/prompts/dv-build.md +5 -0
- package/commands/codex/prompts/dv-continue.md +4 -0
- package/commands/codex/prompts/dv-tasks.md +6 -0
- package/commands/codex/prompts/dv-verify.md +2 -0
- package/commands/gemini/dv/build.toml +5 -0
- package/commands/gemini/dv/continue.toml +4 -0
- package/commands/gemini/dv/tasks.toml +6 -0
- package/commands/gemini/dv/verify.toml +2 -0
- package/commands/templates/dv-continue.shared.md +4 -0
- package/docs/discipline-and-orchestration-upgrade.md +83 -0
- package/docs/dv-command-reference.md +18 -2
- package/docs/execution-chain-migration.md +23 -0
- package/docs/prompt-entrypoints.md +5 -0
- package/docs/skill-usage.md +16 -0
- package/docs/workflow-overview.md +17 -0
- package/docs/zh-CN/dv-command-reference.md +16 -2
- package/docs/zh-CN/execution-chain-migration.md +23 -0
- package/docs/zh-CN/prompt-entrypoints.md +5 -0
- package/docs/zh-CN/skill-usage.md +16 -0
- package/docs/zh-CN/workflow-overview.md +17 -0
- package/lib/audit-parsers.js +148 -1
- package/lib/cli.js +106 -1
- package/lib/execution-profile.js +143 -0
- package/lib/execution-signals.js +19 -1
- package/lib/lint-tasks.js +86 -2
- package/lib/planning-parsers.js +255 -18
- package/lib/supervisor-review.js +2 -1
- package/lib/task-execution.js +160 -0
- package/lib/task-review.js +197 -0
- package/lib/verify.js +152 -1
- package/lib/workflow-state.js +452 -30
- package/lib/worktree-preflight.js +214 -0
- package/package.json +1 -1
- package/references/artifact-templates.md +56 -6
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,18 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## v0.2.4 - 2026-04-02
|
|
4
|
+
|
|
5
|
+
### Changed
|
|
6
|
+
- design-approval freshness gates now compare approval markers against `design.md`, `pencil-design.md`, and `pencil-bindings.md` modification times
|
|
7
|
+
- planning parser verification command extraction now accepts template-standard `da-vinci verify-*` commands in `tasks.md`
|
|
8
|
+
- worktree preflight now degrades to advisory warning and recommends isolation when `git status` is unavailable (including non-git directories)
|
|
9
|
+
- supervisor-review retry normalization now preserves explicit `0` retry configuration instead of silently falling back to defaults
|
|
10
|
+
- Chinese README now includes missing parity sections for checkpoint policy, execution policy, spec granularity, design input collection, repo-local forward-test reference, and current status
|
|
11
|
+
|
|
12
|
+
### Fixed
|
|
13
|
+
- resolve-change failure envelopes in `task-execution` and `task-review` no longer emit `undefined` when failure arrays are empty
|
|
14
|
+
- `.kongming/` workspace output is now ignored by repository git tracking
|
|
15
|
+
|
|
3
16
|
## v0.2.3 - 2026-04-02
|
|
4
17
|
|
|
5
18
|
### Added
|
package/README.md
CHANGED
|
@@ -28,15 +28,36 @@ This workflow is intended for:
|
|
|
28
28
|
|
|
29
29
|
Latest published npm package:
|
|
30
30
|
|
|
31
|
-
- `@xenonbyte/da-vinci-workflow@0.2.
|
|
31
|
+
- `@xenonbyte/da-vinci-workflow@0.2.4`
|
|
32
32
|
|
|
33
|
-
Release highlights for `0.2.
|
|
33
|
+
Release highlights for `0.2.4`:
|
|
34
34
|
|
|
35
|
-
-
|
|
36
|
-
-
|
|
37
|
-
-
|
|
38
|
-
-
|
|
39
|
-
-
|
|
35
|
+
- design-approval stale detection now checks `design.md`, `pencil-design.md`, and `pencil-bindings.md` instead of only one artifact timestamp
|
|
36
|
+
- `lint-tasks` verification command parsing now accepts `da-vinci verify-*` commands from the current task template
|
|
37
|
+
- `worktree-preflight` now warns and recommends isolation when a project is not a git repository (or `git status` cannot be read)
|
|
38
|
+
- `supervisor-review` retry parsing now honors explicit `--review-retries 0` without falling back to default retries
|
|
39
|
+
- `task-execution` and `task-review` resolve-failure messaging now keeps defensive fallback text instead of leaking `undefined`
|
|
40
|
+
|
|
41
|
+
## Discipline And Orchestration Upgrade
|
|
42
|
+
|
|
43
|
+
The upgrade specification is tracked by:
|
|
44
|
+
|
|
45
|
+
- `openspec/changes/discipline-and-orchestration-upgrade/`
|
|
46
|
+
|
|
47
|
+
Implemented capability set:
|
|
48
|
+
|
|
49
|
+
- design-approval discipline before implementation handoff
|
|
50
|
+
- stronger `lint-tasks` quality checks for execution readiness
|
|
51
|
+
- bounded orchestration hints (roles, concurrency, review order) derived from workflow state
|
|
52
|
+
- structured implementer and two-stage task-review evidence
|
|
53
|
+
- completion wording discipline backed by fresh verification evidence
|
|
54
|
+
- optional worktree preflight for isolation-sensitive execution
|
|
55
|
+
- structured `task-execution` and `task-review` command surfaces for per-task evidence
|
|
56
|
+
|
|
57
|
+
This upgrade does **not** replace artifact truth, checkpoint truth, or completion audit authority.
|
|
58
|
+
`workflow-status`, `next-step`, and orchestration outputs remain bounded by the existing contract.
|
|
59
|
+
|
|
60
|
+
See [docs/discipline-and-orchestration-upgrade.md](/Users/xubo/x-skills/da-vinci/docs/discipline-and-orchestration-upgrade.md) for operator and maintainer guidance, and the OpenSpec change folder for implementation details.
|
|
40
61
|
|
|
41
62
|
## Supported workflow modes
|
|
42
63
|
|
|
@@ -84,7 +105,11 @@ Route discipline:
|
|
|
84
105
|
- when shell access is available, run `da-vinci workflow-status --project <path> [--change <id>] --json` and `da-vinci next-step --project <path> [--change <id>]` before selecting continuation route text
|
|
85
106
|
- run `da-vinci lint-spec --project <path> [--change <id>]` before implementation when runtime spec quality is uncertain
|
|
86
107
|
- run `da-vinci scope-check --project <path> [--change <id>]` before implementation when page/state propagation across planning artifacts is uncertain
|
|
108
|
+
- run `da-vinci worktree-preflight --project <path> [--change <id>]` before bounded-parallel execution to decide whether isolation is recommended
|
|
109
|
+
- use `da-vinci task-execution --project <path> --change <id> --task-group <id> ...` to persist implementer result envelopes (`DONE`, `DONE_WITH_CONCERNS`, `NEEDS_CONTEXT`, `BLOCKED`)
|
|
110
|
+
- use `da-vinci task-review --project <path> --change <id> --task-group <id> --stage <spec|quality> ...` to persist ordered two-stage review evidence
|
|
87
111
|
- run `da-vinci verify-bindings` / `verify-implementation` / `verify-structure` / `verify-coverage` before terminal completion claims
|
|
112
|
+
- require fresh verification evidence plus `da-vinci audit --mode completion --change <id> <project-path>` before any terminal completion claim
|
|
88
113
|
- run `da-vinci generate-sidecars --project <path> [--change <id>]` and `da-vinci diff-spec --project <path> [--change <id>]` when planning deltas must be tracked explicitly
|
|
89
114
|
- `continue` should determine route selection from artifact and checkpoint truth first
|
|
90
115
|
- contextual checkpoint deltas are auxiliary recovery notes only and must not override routing
|
package/README.zh-CN.md
CHANGED
|
@@ -30,15 +30,36 @@ Da Vinci 是一个把产品需求一路推进到结构化规格、Pencil 设计
|
|
|
30
30
|
|
|
31
31
|
最新已发布 npm 包:
|
|
32
32
|
|
|
33
|
-
- `@xenonbyte/da-vinci-workflow@0.2.
|
|
33
|
+
- `@xenonbyte/da-vinci-workflow@0.2.4`
|
|
34
34
|
|
|
35
|
-
`0.2.
|
|
35
|
+
`0.2.4` 版本重点:
|
|
36
36
|
|
|
37
|
-
-
|
|
38
|
-
-
|
|
39
|
-
-
|
|
40
|
-
-
|
|
41
|
-
-
|
|
37
|
+
- 设计批准的 stale 检测从单一 `design.md` 扩展为同时检查 `design.md`、`pencil-design.md`、`pencil-bindings.md`
|
|
38
|
+
- `lint-tasks` 的 verification command 解析已支持当前模板里的 `da-vinci verify-*` 命令
|
|
39
|
+
- `worktree-preflight` 在“非 git 仓库”或 `git status` 失败时会返回告警并建议隔离执行
|
|
40
|
+
- `supervisor-review` 现在正确处理显式 `--review-retries 0`,不再错误回退到默认重试
|
|
41
|
+
- `task-execution` / `task-review` 在 resolve-change 失败路径上补强了防御性错误回退,避免输出 `undefined`
|
|
42
|
+
|
|
43
|
+
## Discipline And Orchestration 升级
|
|
44
|
+
|
|
45
|
+
该升级的规格与追踪在:
|
|
46
|
+
|
|
47
|
+
- `openspec/changes/discipline-and-orchestration-upgrade/`
|
|
48
|
+
|
|
49
|
+
当前已实现能力:
|
|
50
|
+
|
|
51
|
+
- 在实现交接前增加设计批准纪律闸门
|
|
52
|
+
- 强化 `lint-tasks` 的执行就绪质量检查
|
|
53
|
+
- 基于 workflow state 给出有边界的编排提示(角色、并发、审查顺序)
|
|
54
|
+
- 增加结构化 implementer 结果与两阶段 task review 证据
|
|
55
|
+
- 用 fresh verification evidence 约束 completion 表述
|
|
56
|
+
- 为隔离敏感的执行场景提供可选 worktree preflight
|
|
57
|
+
- 提供结构化 `task-execution` / `task-review` 命令面用于任务级证据落盘
|
|
58
|
+
|
|
59
|
+
该升级**不会**替代现有 artifact truth、checkpoint truth 和 completion audit 权威。
|
|
60
|
+
`workflow-status`、`next-step` 与 orchestration 输出仍然受现有契约约束。
|
|
61
|
+
|
|
62
|
+
可先阅读 [docs/discipline-and-orchestration-upgrade.md](/Users/xubo/x-skills/da-vinci/docs/discipline-and-orchestration-upgrade.md) 了解说明,再结合 OpenSpec 目录查看具体实现拆分。
|
|
42
63
|
|
|
43
64
|
## 支持的工作流模式
|
|
44
65
|
|
|
@@ -89,7 +110,11 @@ Da Vinci 当前支持五种模式:
|
|
|
89
110
|
- 有 shell 能力时,优先先跑 `da-vinci workflow-status --project <path> [--change <id>] --json` 与 `da-vinci next-step --project <path> [--change <id>]` 再决定 continue 的路由文本
|
|
90
111
|
- 如果运行时 spec 质量不确定,进入实现前先跑 `da-vinci lint-spec --project <path> [--change <id>]`
|
|
91
112
|
- 如果页面/状态在规划工件之间的传播关系不确定,进入实现前先跑 `da-vinci scope-check --project <path> [--change <id>]`
|
|
113
|
+
- 计划走并行执行前,先跑 `da-vinci worktree-preflight --project <path> [--change <id>]` 评估是否应启用隔离
|
|
114
|
+
- 用 `da-vinci task-execution --project <path> --change <id> --task-group <id> ...` 记录 implementer 结果包(`DONE`、`DONE_WITH_CONCERNS`、`NEEDS_CONTEXT`、`BLOCKED`)
|
|
115
|
+
- 用 `da-vinci task-review --project <path> --change <id> --task-group <id> --stage <spec|quality> ...` 记录两阶段有序 review 证据
|
|
92
116
|
- 终态前先跑 `da-vinci verify-bindings` / `verify-implementation` / `verify-structure` / `verify-coverage`
|
|
117
|
+
- 任何终态 completion 表述前,必须同时具备 fresh verification evidence 与 `da-vinci audit --mode completion --change <id> <project-path>` 通过
|
|
93
118
|
- 需要显式追踪规划变更时,先 `da-vinci generate-sidecars --project <path> [--change <id>]`,再 `da-vinci diff-spec --project <path> [--change <id>]`
|
|
94
119
|
- `continue` 的选路应先看工件和 checkpoint 真相,再看上下文补充信息
|
|
95
120
|
- Context Delta 只用于恢复上下文,不是阶段判定真相源
|
|
@@ -238,6 +263,14 @@ Da Vinci 的默认顺序是:
|
|
|
238
263
|
- `tasks.md`:任务分组和实施顺序
|
|
239
264
|
- `verification.md`:覆盖度和漂移检查
|
|
240
265
|
|
|
266
|
+
### Spec 粒度规则
|
|
267
|
+
|
|
268
|
+
spec 应按能力边界或重设计切片来拆分,不要按“页面数量”机械拆分。
|
|
269
|
+
|
|
270
|
+
对于范围较大的 `redesign-from-code`,优先拆成多个 `specs/<slice>/spec.md`,不要堆成一个超大的 `ui-refresh/spec.md`。
|
|
271
|
+
|
|
272
|
+
对于范围较大的 `overhaul-from-code`,优先使用多个 `specs/<slice>/spec.md` + 一个 `migration-contract.md`,不要把“保留行为”和“废弃行为”混在单一重写 spec 里。
|
|
273
|
+
|
|
241
274
|
## 工件放置建议
|
|
242
275
|
|
|
243
276
|
推荐结构:
|
|
@@ -282,6 +315,54 @@ da-vinci bootstrap-project --project /abs/path/to/project --change <change-id>
|
|
|
282
315
|
|
|
283
316
|
这个命令会先生成项目级 `.da-vinci/` 工件、默认项目内 `.pen`,以及当前工作流所要求的最小 change 级设计工件。
|
|
284
317
|
|
|
318
|
+
## Checkpoints
|
|
319
|
+
|
|
320
|
+
Da Vinci 使用以下检查点:
|
|
321
|
+
|
|
322
|
+
1. `discovery checkpoint`
|
|
323
|
+
2. `spec checkpoint`
|
|
324
|
+
3. `design checkpoint`
|
|
325
|
+
4. `design-source checkpoint`
|
|
326
|
+
5. `mapping checkpoint`
|
|
327
|
+
6. `task checkpoint`
|
|
328
|
+
7. `execution checkpoint`
|
|
329
|
+
|
|
330
|
+
检查结果:
|
|
331
|
+
|
|
332
|
+
- `PASS`
|
|
333
|
+
- `WARN`
|
|
334
|
+
- `BLOCK`
|
|
335
|
+
|
|
336
|
+
Context Delta 记录约束:
|
|
337
|
+
|
|
338
|
+
- 在已有 change 工件里维护简洁 `Context Delta`(常见是 `pencil-design.md`、`tasks.md`、`verification.md`)
|
|
339
|
+
- Context Delta 仅用于恢复上下文,不是阶段真相源
|
|
340
|
+
|
|
341
|
+
## Execution Policy
|
|
342
|
+
|
|
343
|
+
Da Vinci 默认是 `autonomous-by-default`。
|
|
344
|
+
|
|
345
|
+
这意味着:
|
|
346
|
+
|
|
347
|
+
- 不会在每个阶段都停下来等待用户确认
|
|
348
|
+
- checkpoint 是内部质量门禁,不是审批门禁
|
|
349
|
+
- 只有遇到真实阻塞才停
|
|
350
|
+
|
|
351
|
+
默认行为:
|
|
352
|
+
|
|
353
|
+
- `PASS` -> 继续
|
|
354
|
+
- `WARN` -> 记录并继续
|
|
355
|
+
- `BLOCK` -> 仅在无法从现有工件或本地上下文消解时停止
|
|
356
|
+
- Context Delta 缺失或状态不一致 -> 告警并继续
|
|
357
|
+
|
|
358
|
+
常见停止条件:
|
|
359
|
+
|
|
360
|
+
- 用户明确要求暂停
|
|
361
|
+
- 缺失输入会实质改变设计或实现结果
|
|
362
|
+
- 需要外部授权或认证
|
|
363
|
+
- 多个真相源冲突到无法可靠判断
|
|
364
|
+
- 即将执行破坏性、会改变基线的动作
|
|
365
|
+
|
|
285
366
|
## 设计源规则
|
|
286
367
|
|
|
287
368
|
- `DA-VINCI.md` 是跨页面视觉一致性的项目级视觉契约
|
|
@@ -341,6 +422,23 @@ da-vinci bootstrap-project --project /abs/path/to/project --change <change-id>
|
|
|
341
422
|
- 默认把它当成非阻塞增强层
|
|
342
423
|
- 只有用户明确要求必须使用某个 adapter 时,缺失才应阻塞工作流
|
|
343
424
|
|
|
425
|
+
## 设计输入收集
|
|
426
|
+
|
|
427
|
+
在 greenfield 项目开始 Pencil 设计前,Da Vinci 应先收集或推断:
|
|
428
|
+
|
|
429
|
+
- 项目是否已有 `DA-VINCI.md`
|
|
430
|
+
- 目标平台与设备形态(mobile / tablet / desktop / web)
|
|
431
|
+
- 品牌方向、字体方向、色彩风格和密度预期
|
|
432
|
+
- 是否存在必须遵守的设计约束(设计系统、交互约束、无障碍约束)
|
|
433
|
+
- 是否存在外部参考素材(截图、竞品、风格板、历史设计稿)
|
|
434
|
+
- 设计输出是否只交付设计,还是会继续进入实现与验收
|
|
435
|
+
|
|
436
|
+
如果输入不足以稳定方向:
|
|
437
|
+
|
|
438
|
+
- 先在 `design-brief.md` 记录待确认项与临时假设
|
|
439
|
+
- 用最小可验证设计面推进,不直接铺开全量页面
|
|
440
|
+
- 在下一轮 checkpoint 明确补齐缺失输入
|
|
441
|
+
|
|
344
442
|
## 安装
|
|
345
443
|
|
|
346
444
|
安装 npm 包:
|
|
@@ -506,6 +604,38 @@ $da-vinci use continue for <existing workflow state>
|
|
|
506
604
|
/dv:continue
|
|
507
605
|
```
|
|
508
606
|
|
|
607
|
+
## 仓库内 forward-test 参考
|
|
608
|
+
|
|
609
|
+
仓库里有一个“文档优先”的 forward-test 参考样例:
|
|
610
|
+
|
|
611
|
+
- `examples/greenfield-spec-markupflow/`
|
|
612
|
+
|
|
613
|
+
该样例记录了 `greenfield-spec` 场景从以下阶段推进的完整链路:
|
|
614
|
+
|
|
615
|
+
1. design brief
|
|
616
|
+
2. proposal 与 spec
|
|
617
|
+
3. page map
|
|
618
|
+
4. Pencil 设计源登记
|
|
619
|
+
5. Pencil 页面绑定
|
|
620
|
+
6. implementation tasks
|
|
621
|
+
7. 静态 HTML 交付
|
|
622
|
+
8. verification
|
|
623
|
+
|
|
624
|
+
它不是可直接喂给 `da-vinci audit` 的完整 fixture。样例为了可读性把工件放在仓库根;而当前 audit 期望的是完整 `.da-vinci/` 树和持久化状态元数据。
|
|
625
|
+
|
|
626
|
+
如果你要把样例形态转换成可执行审计的项目骨架,请先运行:
|
|
627
|
+
|
|
628
|
+
```bash
|
|
629
|
+
da-vinci bootstrap-project --project <project-path> --change <change-id>
|
|
630
|
+
```
|
|
631
|
+
|
|
632
|
+
reviewer bridge 覆盖策略:
|
|
633
|
+
|
|
634
|
+
- 默认 CI 始终运行本地核心门禁(`npm run quality:ci:core`)
|
|
635
|
+
- 仅在仓库集成变量可用时,主 CI 才追加真实 reviewer bridge smoke 任务
|
|
636
|
+
- 真实 `codex exec` reviewer smoke 仍是显式 opt-in:`DA_VINCI_RUN_SUPERVISOR_INTEGRATION=1 npm run test:supervisor-review-integration`
|
|
637
|
+
- `.github/workflows/reviewer-bridge-smoke.yml` 提供手动/定时 smoke;启用后会把集成缺线视为失败,而不是静默 `SKIP`
|
|
638
|
+
|
|
509
639
|
## 示例请求
|
|
510
640
|
|
|
511
641
|
### Greenfield spec
|
|
@@ -615,3 +745,17 @@ da-vinci/
|
|
|
615
745
|
│ └── zh-CN/
|
|
616
746
|
└── references/
|
|
617
747
|
```
|
|
748
|
+
|
|
749
|
+
## 当前状态
|
|
750
|
+
|
|
751
|
+
当前仓库包含:
|
|
752
|
+
|
|
753
|
+
- Da Vinci skill 本体
|
|
754
|
+
- 三平台命令适配(Codex / Claude / Gemini)
|
|
755
|
+
- 工作流参考文档
|
|
756
|
+
- 可执行示例
|
|
757
|
+
|
|
758
|
+
下一阶段自然演进方向:
|
|
759
|
+
|
|
760
|
+
1. 持续补强 install / uninstall / status 的回归覆盖
|
|
761
|
+
2. 在真实项目上做带提交历史的 forward-test(含项目内 `.pen` 设计源)
|
|
@@ -15,6 +15,8 @@ Before broad implementation when shell access is available:
|
|
|
15
15
|
- run `da-vinci scope-check --project <path> [--change <id>]`
|
|
16
16
|
- if `tasks.md` exists, run `da-vinci lint-tasks --project <path> [--change <id>]`
|
|
17
17
|
- if both `pencil-design.md` and `pencil-bindings.md` exist, run `da-vinci lint-bindings --project <path> [--change <id>]`
|
|
18
|
+
- inspect `executionProfile` and discipline blockers from `da-vinci next-step --project <path> [--change <id>] --json`
|
|
19
|
+
- if profile mode is `bounded_parallel`, run `da-vinci worktree-preflight --project <path> [--change <id>]` and downgrade to serial unless isolation is ready or explicitly accepted
|
|
18
20
|
- treat command output as the gate; do not downgrade `BLOCK` or non-zero results into soft guidance
|
|
19
21
|
- treat any `BLOCK` or missing required planning/design artifact as a hard stop before broad implementation
|
|
20
22
|
|
|
@@ -25,10 +27,13 @@ Focus on:
|
|
|
25
27
|
|
|
26
28
|
During implementation:
|
|
27
29
|
- run `execution checkpoint` after each top-level task group
|
|
30
|
+
- persist per-task implementer evidence via `da-vinci task-execution --project <path> --change <id> --task-group <id> --status <...> --summary <...>`
|
|
31
|
+
- persist ordered review evidence via `da-vinci task-review --project <path> --change <id> --task-group <id> --stage spec ...` then `--stage quality ...`
|
|
28
32
|
- update source artifacts before continuing if drift is found
|
|
29
33
|
|
|
30
34
|
Completion discipline:
|
|
31
35
|
- treat `BUILD SUCCESSFUL` as compile-only evidence, not workflow completion
|
|
32
36
|
- do not report `design complete` or `workflow complete` while in-scope task groups remain unfinished
|
|
37
|
+
- do not use terminal completion wording without fresh verification evidence
|
|
33
38
|
- before any terminal completion claim, require `da-vinci audit --mode completion --change <change-id> <project-path>` to pass
|
|
34
39
|
- if completion audit fails, continue from the minimal unfinished stage instead of exiting
|
|
@@ -23,14 +23,18 @@ Route discipline:
|
|
|
23
23
|
- treat this route as prompt-first orchestration; do not assume a standalone CLI `continue` command exists
|
|
24
24
|
- when shell access is available, run `da-vinci workflow-status --project <path> [--change <id>] --json` before deciding the primary continuation route
|
|
25
25
|
- use `da-vinci next-step --project <path> [--change <id>]` as the first routing signal
|
|
26
|
+
- prefer `da-vinci next-step --project <path> [--change <id>] --json` when available so discipline markers, execution profile hints, and verification freshness are explicit
|
|
26
27
|
- run `da-vinci scope-check --project <path> [--change <id>]` when page/state propagation looks ambiguous
|
|
27
28
|
- do not restart discovery if the current artifacts already contain enough truth
|
|
28
29
|
- determine route selection from artifact and checkpoint truth before reading contextual deltas
|
|
29
30
|
- if workflow-status or next-step output is missing, stale, or unavailable, fall back to artifact scanning and checkpoint evidence
|
|
30
31
|
- use contextual deltas as auxiliary recovery context only; they must not override route selection
|
|
31
32
|
- if contextual deltas conflict with current artifacts, ignore them for routing and call out the conflict
|
|
33
|
+
- if design approval discipline markers are missing, malformed, or stale, keep routing in design/task refinement rather than promoting directly into implementation
|
|
32
34
|
- do not default the user into `/dv:build` unless the project is clearly implementation-ready
|
|
33
35
|
- if design artifacts exist but `tasks.md` does not, prefer a continuation prompt that moves into `/dv:tasks`
|
|
34
36
|
- only prefer `/dv:build` once task generation and implementation readiness are already clear
|
|
35
37
|
- do not route into `/dv:build` when any design gate is unresolved: missing shell-visible project-local `.pen`, active/unclosed Pencil session, runtime/design-source checkpoint still BLOCK, or required design-supervisor review still BLOCK/unaccepted
|
|
38
|
+
- if bounded-parallel execution is hinted, include `da-vinci worktree-preflight --project <path> [--change <id>]` before emitting a parallel implementation continuation prompt
|
|
39
|
+
- avoid terminal completion wording unless fresh verification evidence and completion audit requirements are explicit
|
|
36
40
|
- continuation prompts should usually target the main workflow entry so Da Vinci can resume the full state machine
|
|
@@ -13,6 +13,12 @@ Focus on:
|
|
|
13
13
|
- Pencil coverage
|
|
14
14
|
- dependency order
|
|
15
15
|
|
|
16
|
+
Task-plan discipline:
|
|
17
|
+
- include exact file or code-area ownership targets per task group
|
|
18
|
+
- include explicit verification commands, not only abstract verification wording
|
|
19
|
+
- include execution intent hints (`serial`, `bounded_parallel`, or `review_required`) and review intent
|
|
20
|
+
- include parseable discipline markers for design approval, plan self-review, and operator review acknowledgment
|
|
21
|
+
|
|
16
22
|
Create or update:
|
|
17
23
|
- `tasks.md`
|
|
18
24
|
|
|
@@ -22,6 +22,8 @@ When shell access is available:
|
|
|
22
22
|
- run `da-vinci verify-coverage --project <path> [--change <id>]`
|
|
23
23
|
- treat command output as the gate; do not downgrade `BLOCK` or `FAIL` into soft guidance
|
|
24
24
|
- if any verification surface is still `BLOCK` or `FAIL`, keep the workflow in verification and record the drift instead of claiming success
|
|
25
|
+
- require fresh verification evidence in `verify-coverage` and `workflow-status` before any terminal completion wording
|
|
26
|
+
- if task-review evidence is recorded, keep unresolved `WARN/BLOCK` task-review stages open instead of closing the task group
|
|
25
27
|
|
|
26
28
|
If Pencil MCP is active and terminal completion is being considered, re-check the MCP runtime gate evidence before treating verification as complete.
|
|
27
29
|
Before any terminal completion claim, require `da-vinci audit --mode completion --change <change-id> <project-path>` to pass.
|
|
@@ -15,6 +15,8 @@ Before broad implementation when shell access is available:
|
|
|
15
15
|
- run `da-vinci scope-check --project <path> [--change <id>]`
|
|
16
16
|
- if `tasks.md` exists, run `da-vinci lint-tasks --project <path> [--change <id>]`
|
|
17
17
|
- if both `pencil-design.md` and `pencil-bindings.md` exist, run `da-vinci lint-bindings --project <path> [--change <id>]`
|
|
18
|
+
- inspect `executionProfile` and discipline blockers from `da-vinci next-step --project <path> [--change <id>] --json`
|
|
19
|
+
- if profile mode is `bounded_parallel`, run `da-vinci worktree-preflight --project <path> [--change <id>]` and downgrade to serial unless isolation is ready or explicitly accepted
|
|
18
20
|
- treat command output as the gate; do not downgrade `BLOCK` or non-zero results into soft guidance
|
|
19
21
|
- treat any `BLOCK` or missing required planning/design artifact as a hard stop before broad implementation
|
|
20
22
|
|
|
@@ -22,7 +24,10 @@ Implementation rules:
|
|
|
22
24
|
- requirements decide behavior
|
|
23
25
|
- Pencil decides presentation
|
|
24
26
|
- run `execution checkpoint` after each top-level task group
|
|
27
|
+
- persist per-task implementer evidence via `da-vinci task-execution --project <path> --change <id> --task-group <id> --status <...> --summary <...>`
|
|
28
|
+
- persist ordered review evidence via `da-vinci task-review --project <path> --change <id> --task-group <id> --stage spec ...` then `--stage quality ...`
|
|
25
29
|
- treat `BUILD SUCCESSFUL` as compile-only evidence, not workflow completion
|
|
26
30
|
- do not report `design complete` or `workflow complete` while in-scope task groups remain unfinished
|
|
31
|
+
- do not use terminal completion wording without fresh verification evidence
|
|
27
32
|
- before any terminal completion claim, require `da-vinci audit --mode completion --change <change-id> <project-path>` to pass
|
|
28
33
|
- if completion audit fails, continue from the minimal unfinished stage instead of exiting
|
|
@@ -23,14 +23,18 @@ Route discipline:
|
|
|
23
23
|
- treat this route as prompt-first orchestration; do not assume a standalone CLI `continue` command exists
|
|
24
24
|
- when shell access is available, run `da-vinci workflow-status --project <path> [--change <id>] --json` before deciding the primary continuation route
|
|
25
25
|
- use `da-vinci next-step --project <path> [--change <id>]` as the first routing signal
|
|
26
|
+
- prefer `da-vinci next-step --project <path> [--change <id>] --json` when available so discipline markers, execution profile hints, and verification freshness are explicit
|
|
26
27
|
- run `da-vinci scope-check --project <path> [--change <id>]` when page/state propagation looks ambiguous
|
|
27
28
|
- do not restart discovery if the current artifacts already contain enough truth
|
|
28
29
|
- determine route selection from artifact and checkpoint truth before reading contextual deltas
|
|
29
30
|
- if workflow-status or next-step output is missing, stale, or unavailable, fall back to artifact scanning and checkpoint evidence
|
|
30
31
|
- use contextual deltas as auxiliary recovery context only; they must not override route selection
|
|
31
32
|
- if contextual deltas conflict with current artifacts, ignore them for routing and call out the conflict
|
|
33
|
+
- if design approval discipline markers are missing, malformed, or stale, keep routing in design/task refinement rather than promoting directly into implementation
|
|
32
34
|
- do not default the user into `/prompts:dv-build` unless the project is clearly implementation-ready
|
|
33
35
|
- if design artifacts exist but `tasks.md` does not, prefer a continuation prompt that moves into `/prompts:dv-tasks`
|
|
34
36
|
- only prefer `/prompts:dv-build` once task generation and implementation readiness are already clear
|
|
35
37
|
- do not route into `/prompts:dv-build` when any design gate is unresolved: missing shell-visible project-local `.pen`, active/unclosed Pencil session, runtime/design-source checkpoint still BLOCK, or required design-supervisor review still BLOCK/unaccepted
|
|
38
|
+
- if bounded-parallel execution is hinted, include `da-vinci worktree-preflight --project <path> [--change <id>]` before emitting a parallel implementation continuation prompt
|
|
39
|
+
- avoid terminal completion wording unless fresh verification evidence and completion audit requirements are explicit
|
|
36
40
|
- continuation prompts should usually target the main workflow entry so Da Vinci can resume the full state machine
|
|
@@ -15,6 +15,12 @@ Tasks must cover:
|
|
|
15
15
|
- Pencil-backed UI work
|
|
16
16
|
- verification work
|
|
17
17
|
|
|
18
|
+
Task-plan discipline:
|
|
19
|
+
- each top-level task group should include exact file or code-area ownership targets
|
|
20
|
+
- include explicit verification commands, not only abstract verification wording
|
|
21
|
+
- include execution intent hints (`serial`, `bounded_parallel`, or `review_required`) and review intent
|
|
22
|
+
- include parseable discipline markers for design approval, plan self-review, and operator review acknowledgment
|
|
23
|
+
|
|
18
24
|
Before claiming implementation-ready task planning:
|
|
19
25
|
- re-check that the workflow is still in the `/dv:tasks` lane when route context is stale or unclear
|
|
20
26
|
- run the `task checkpoint`
|
|
@@ -20,5 +20,7 @@ When shell access is available:
|
|
|
20
20
|
- run `da-vinci verify-coverage --project <path> [--change <id>]`
|
|
21
21
|
- treat command output as the gate; do not downgrade `BLOCK` or `FAIL` into soft guidance
|
|
22
22
|
- if any verification surface is still `BLOCK` or `FAIL`, keep the workflow in verification and record the drift instead of claiming success
|
|
23
|
+
- require fresh verification evidence in `verify-coverage` and `workflow-status` before any terminal completion wording
|
|
24
|
+
- if task-review evidence is recorded, keep unresolved `WARN/BLOCK` task-review stages open instead of closing the task group
|
|
23
25
|
If Pencil MCP is active and terminal completion is being considered, re-check the MCP runtime gate evidence before treating verification as complete.
|
|
24
26
|
Before any terminal completion claim, require `da-vinci audit --mode completion --change <change-id> <project-path>` to pass.
|
|
@@ -14,6 +14,8 @@ Before broad implementation when shell access is available:
|
|
|
14
14
|
- run `da-vinci scope-check --project <path> [--change <id>]`
|
|
15
15
|
- if `tasks.md` exists, run `da-vinci lint-tasks --project <path> [--change <id>]`
|
|
16
16
|
- if both `pencil-design.md` and `pencil-bindings.md` exist, run `da-vinci lint-bindings --project <path> [--change <id>]`
|
|
17
|
+
- inspect `executionProfile` and discipline blockers from `da-vinci next-step --project <path> [--change <id>] --json`
|
|
18
|
+
- if profile mode is `bounded_parallel`, run `da-vinci worktree-preflight --project <path> [--change <id>]` and downgrade to serial unless isolation is ready or explicitly accepted
|
|
17
19
|
- treat command output as the gate; do not downgrade `BLOCK` or non-zero results into soft guidance
|
|
18
20
|
- treat any `BLOCK` or missing required planning/design artifact as a hard stop before broad implementation
|
|
19
21
|
|
|
@@ -21,8 +23,11 @@ Implementation rules:
|
|
|
21
23
|
- requirements decide behavior
|
|
22
24
|
- Pencil decides presentation
|
|
23
25
|
- run `execution checkpoint` after each top-level task group
|
|
26
|
+
- persist per-task implementer evidence via `da-vinci task-execution --project <path> --change <id> --task-group <id> --status <...> --summary <...>`
|
|
27
|
+
- persist ordered review evidence via `da-vinci task-review --project <path> --change <id> --task-group <id> --stage spec ...` then `--stage quality ...`
|
|
24
28
|
- treat `BUILD SUCCESSFUL` as compile-only evidence, not workflow completion
|
|
25
29
|
- do not report `design complete` or `workflow complete` while in-scope task groups remain unfinished
|
|
30
|
+
- do not use terminal completion wording without fresh verification evidence
|
|
26
31
|
- before any terminal completion claim, require `da-vinci audit --mode completion --change <change-id> <project-path>` to pass
|
|
27
32
|
- if completion audit fails, continue from the minimal unfinished stage instead of exiting
|
|
28
33
|
"""
|
|
@@ -22,15 +22,19 @@ Route discipline:
|
|
|
22
22
|
- treat this route as prompt-first orchestration; do not assume a standalone CLI `continue` command exists
|
|
23
23
|
- when shell access is available, run `da-vinci workflow-status --project <path> [--change <id>] --json` before deciding the primary continuation route
|
|
24
24
|
- use `da-vinci next-step --project <path> [--change <id>]` as the first routing signal
|
|
25
|
+
- prefer `da-vinci next-step --project <path> [--change <id>] --json` when available so discipline markers, execution profile hints, and verification freshness are explicit
|
|
25
26
|
- run `da-vinci scope-check --project <path> [--change <id>]` when page/state propagation looks ambiguous
|
|
26
27
|
- do not restart discovery if the current artifacts already contain enough truth
|
|
27
28
|
- determine route selection from artifact and checkpoint truth before reading contextual deltas
|
|
28
29
|
- if workflow-status or next-step output is missing, stale, or unavailable, fall back to artifact scanning and checkpoint evidence
|
|
29
30
|
- use contextual deltas as auxiliary recovery context only; they must not override route selection
|
|
30
31
|
- if contextual deltas conflict with current artifacts, ignore them for routing and call out the conflict
|
|
32
|
+
- if design approval discipline markers are missing, malformed, or stale, keep routing in design/task refinement rather than promoting directly into implementation
|
|
31
33
|
- do not default the user into `/dv:build` unless the project is clearly implementation-ready
|
|
32
34
|
- if design artifacts exist but `tasks.md` does not, prefer a continuation prompt that moves into `/dv:tasks`
|
|
33
35
|
- only prefer `/dv:build` once task generation and implementation readiness are already clear
|
|
34
36
|
- do not route into `/dv:build` when any design gate is unresolved: missing shell-visible project-local `.pen`, active/unclosed Pencil session, runtime/design-source checkpoint still BLOCK, or required design-supervisor review still BLOCK/unaccepted
|
|
37
|
+
- if bounded-parallel execution is hinted, include `da-vinci worktree-preflight --project <path> [--change <id>]` before emitting a parallel implementation continuation prompt
|
|
38
|
+
- avoid terminal completion wording unless fresh verification evidence and completion audit requirements are explicit
|
|
35
39
|
- continuation prompts should usually target the main workflow entry so Da Vinci can resume the full state machine
|
|
36
40
|
"""
|
|
@@ -11,6 +11,12 @@ Create or update:
|
|
|
11
11
|
|
|
12
12
|
Tasks must cover spec behavior, Pencil-backed UI work, and verification.
|
|
13
13
|
|
|
14
|
+
Task-plan discipline:
|
|
15
|
+
- include exact file or code-area ownership targets per task group
|
|
16
|
+
- include explicit verification commands, not only abstract verification wording
|
|
17
|
+
- include execution intent hints (`serial`, `bounded_parallel`, or `review_required`) and review intent
|
|
18
|
+
- include parseable discipline markers for design approval, plan self-review, and operator review acknowledgment
|
|
19
|
+
|
|
14
20
|
Before claiming implementation-ready task planning:
|
|
15
21
|
- re-check that the workflow is still in the `/dv:tasks` lane when route context is stale or unclear
|
|
16
22
|
- run the `task checkpoint`
|
|
@@ -19,6 +19,8 @@ When shell access is available:
|
|
|
19
19
|
- run `da-vinci verify-coverage --project <path> [--change <id>]`
|
|
20
20
|
- treat command output as the gate; do not downgrade `BLOCK` or `FAIL` into soft guidance
|
|
21
21
|
- if any verification surface is still `BLOCK` or `FAIL`, keep the workflow in verification and record the drift instead of claiming success
|
|
22
|
+
- require fresh verification evidence in `verify-coverage` and `workflow-status` before any terminal completion wording
|
|
23
|
+
- if task-review evidence is recorded, keep unresolved `WARN/BLOCK` task-review stages open instead of closing the task group
|
|
22
24
|
If Pencil MCP is active and terminal completion is being considered, re-check the MCP runtime gate evidence before treating verification as complete.
|
|
23
25
|
Before any terminal completion claim, require `da-vinci audit --mode completion --change <change-id> <project-path>` to pass.
|
|
24
26
|
"""
|
|
@@ -20,14 +20,18 @@ Route discipline:
|
|
|
20
20
|
- treat this route as prompt-first orchestration; do not assume a standalone CLI `continue` command exists
|
|
21
21
|
- when shell access is available, run `da-vinci workflow-status --project <path> [--change <id>] --json` before deciding the primary continuation route
|
|
22
22
|
- use `da-vinci next-step --project <path> [--change <id>]` as the first routing signal
|
|
23
|
+
- prefer `da-vinci next-step --project <path> [--change <id>] --json` when available so discipline markers, execution profile hints, and verification freshness are explicit
|
|
23
24
|
- run `da-vinci scope-check --project <path> [--change <id>]` when page/state propagation looks ambiguous
|
|
24
25
|
- do not restart discovery if the current artifacts already contain enough truth
|
|
25
26
|
- determine route selection from artifact and checkpoint truth before reading contextual deltas
|
|
26
27
|
- if workflow-status or next-step output is missing, stale, or unavailable, fall back to artifact scanning and checkpoint evidence
|
|
27
28
|
- use contextual deltas as auxiliary recovery context only; they must not override route selection
|
|
28
29
|
- if contextual deltas conflict with current artifacts, ignore them for routing and call out the conflict
|
|
30
|
+
- if design approval discipline markers are missing, malformed, or stale, keep routing in design/task refinement rather than promoting directly into implementation
|
|
29
31
|
- do not default the user into `{{BUILD_ROUTE}}` unless the project is clearly implementation-ready
|
|
30
32
|
- if design artifacts exist but `tasks.md` does not, prefer a continuation prompt that moves into `{{TASKS_ROUTE}}`
|
|
31
33
|
- only prefer `{{BUILD_ROUTE}}` once task generation and implementation readiness are already clear
|
|
32
34
|
- do not route into `{{BUILD_ROUTE}}` when any design gate is unresolved: missing shell-visible project-local `.pen`, active/unclosed Pencil session, runtime/design-source checkpoint still BLOCK, or required design-supervisor review still BLOCK/unaccepted
|
|
35
|
+
- if bounded-parallel execution is hinted, include `da-vinci worktree-preflight --project <path> [--change <id>]` before emitting a parallel implementation continuation prompt
|
|
36
|
+
- avoid terminal completion wording unless fresh verification evidence and completion audit requirements are explicit
|
|
33
37
|
- continuation prompts should usually target the main workflow entry so Da Vinci can resume the full state machine
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
# Discipline And Orchestration Upgrade
|
|
2
|
+
|
|
3
|
+
This document explains the implemented `discipline-and-orchestration-upgrade` change and how to use its artifacts.
|
|
4
|
+
|
|
5
|
+
Status:
|
|
6
|
+
|
|
7
|
+
- completed (runtime surfaces and docs rolled out)
|
|
8
|
+
- tracking path: `openspec/changes/discipline-and-orchestration-upgrade/`
|
|
9
|
+
|
|
10
|
+
## Purpose
|
|
11
|
+
|
|
12
|
+
This upgrade imports bounded ideas from external projects while preserving Da Vinci's core truth model.
|
|
13
|
+
|
|
14
|
+
Primary intent:
|
|
15
|
+
|
|
16
|
+
- improve execution discipline from `design` to `tasks` to `build` to `verify`
|
|
17
|
+
- improve task-plan quality and implementation review structure
|
|
18
|
+
- expose orchestration hints without allowing orchestration to override workflow truth
|
|
19
|
+
|
|
20
|
+
Core boundary:
|
|
21
|
+
|
|
22
|
+
- artifacts, checkpoints, execution signals, and `audit` remain workflow truth
|
|
23
|
+
- orchestration remains advisory or explicitly bounded
|
|
24
|
+
|
|
25
|
+
## External Inspiration (Source-Tracked)
|
|
26
|
+
|
|
27
|
+
- `obra/superpowers`:
|
|
28
|
+
- design-first discipline
|
|
29
|
+
- plan-quality discipline
|
|
30
|
+
- two-stage implementation review
|
|
31
|
+
- verification-before-completion wording discipline
|
|
32
|
+
- optional worktree isolation practice
|
|
33
|
+
- `ruvnet/ruflo`:
|
|
34
|
+
- bounded orchestration profiles
|
|
35
|
+
- anti-drift execution patterns
|
|
36
|
+
- role and concurrency guidance
|
|
37
|
+
|
|
38
|
+
See exact source files in:
|
|
39
|
+
|
|
40
|
+
- `openspec/changes/discipline-and-orchestration-upgrade/README.md`
|
|
41
|
+
|
|
42
|
+
## OpenSpec Structure
|
|
43
|
+
|
|
44
|
+
Use these files in order:
|
|
45
|
+
|
|
46
|
+
1. `openspec/changes/discipline-and-orchestration-upgrade/proposal.md`
|
|
47
|
+
2. `openspec/changes/discipline-and-orchestration-upgrade/design.md`
|
|
48
|
+
3. `openspec/changes/discipline-and-orchestration-upgrade/specs/workflow-discipline/spec.md`
|
|
49
|
+
4. `openspec/changes/discipline-and-orchestration-upgrade/specs/execution-orchestration/spec.md`
|
|
50
|
+
5. `openspec/changes/discipline-and-orchestration-upgrade/specs/execution-evidence-and-isolation/spec.md`
|
|
51
|
+
6. `openspec/changes/discipline-and-orchestration-upgrade/tasks.md`
|
|
52
|
+
|
|
53
|
+
## Documentation Rollout Scope
|
|
54
|
+
|
|
55
|
+
During implementation of this upgrade, keep the following docs aligned:
|
|
56
|
+
|
|
57
|
+
- `README.md`
|
|
58
|
+
- `README.zh-CN.md`
|
|
59
|
+
- `docs/workflow-overview.md`
|
|
60
|
+
- `docs/dv-command-reference.md`
|
|
61
|
+
- `docs/skill-usage.md`
|
|
62
|
+
- `docs/prompt-entrypoints.md`
|
|
63
|
+
- `docs/zh-CN/workflow-overview.md`
|
|
64
|
+
- `docs/zh-CN/dv-command-reference.md`
|
|
65
|
+
- `docs/zh-CN/skill-usage.md`
|
|
66
|
+
- `docs/zh-CN/prompt-entrypoints.md`
|
|
67
|
+
|
|
68
|
+
Prompt and command assets that must stay aligned:
|
|
69
|
+
|
|
70
|
+
- `commands/codex/**`
|
|
71
|
+
- `commands/claude/**`
|
|
72
|
+
- `commands/gemini/**`
|
|
73
|
+
|
|
74
|
+
Maintainer rollout and source-trace checklist:
|
|
75
|
+
|
|
76
|
+
- `openspec/changes/discipline-and-orchestration-upgrade/docs-update-plan.md`
|
|
77
|
+
|
|
78
|
+
## Documentation Guardrails
|
|
79
|
+
|
|
80
|
+
- Do not document planned behavior as already shipped behavior.
|
|
81
|
+
- Keep advisory vs blocking semantics explicit in operator docs.
|
|
82
|
+
- Keep completion-audit authority explicit; do not imply replacement by orchestration hints.
|
|
83
|
+
- When English operator docs are updated, update existing `docs/zh-CN` mirrors in the same rollout.
|