@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.
Files changed (41) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/README.md +32 -7
  3. package/README.zh-CN.md +151 -7
  4. package/commands/claude/dv/build.md +5 -0
  5. package/commands/claude/dv/continue.md +4 -0
  6. package/commands/claude/dv/tasks.md +6 -0
  7. package/commands/claude/dv/verify.md +2 -0
  8. package/commands/codex/prompts/dv-build.md +5 -0
  9. package/commands/codex/prompts/dv-continue.md +4 -0
  10. package/commands/codex/prompts/dv-tasks.md +6 -0
  11. package/commands/codex/prompts/dv-verify.md +2 -0
  12. package/commands/gemini/dv/build.toml +5 -0
  13. package/commands/gemini/dv/continue.toml +4 -0
  14. package/commands/gemini/dv/tasks.toml +6 -0
  15. package/commands/gemini/dv/verify.toml +2 -0
  16. package/commands/templates/dv-continue.shared.md +4 -0
  17. package/docs/discipline-and-orchestration-upgrade.md +83 -0
  18. package/docs/dv-command-reference.md +18 -2
  19. package/docs/execution-chain-migration.md +23 -0
  20. package/docs/prompt-entrypoints.md +5 -0
  21. package/docs/skill-usage.md +16 -0
  22. package/docs/workflow-overview.md +17 -0
  23. package/docs/zh-CN/dv-command-reference.md +16 -2
  24. package/docs/zh-CN/execution-chain-migration.md +23 -0
  25. package/docs/zh-CN/prompt-entrypoints.md +5 -0
  26. package/docs/zh-CN/skill-usage.md +16 -0
  27. package/docs/zh-CN/workflow-overview.md +17 -0
  28. package/lib/audit-parsers.js +148 -1
  29. package/lib/cli.js +106 -1
  30. package/lib/execution-profile.js +143 -0
  31. package/lib/execution-signals.js +19 -1
  32. package/lib/lint-tasks.js +86 -2
  33. package/lib/planning-parsers.js +255 -18
  34. package/lib/supervisor-review.js +2 -1
  35. package/lib/task-execution.js +160 -0
  36. package/lib/task-review.js +197 -0
  37. package/lib/verify.js +152 -1
  38. package/lib/workflow-state.js +452 -30
  39. package/lib/worktree-preflight.js +214 -0
  40. package/package.json +1 -1
  41. 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.3`
31
+ - `@xenonbyte/da-vinci-workflow@0.2.4`
32
32
 
33
- Release highlights for `0.2.3`:
33
+ Release highlights for `0.2.4`:
34
34
 
35
- - added scene-first `Design Ops` actions for managed `Save Current Design`, icon sync progress, and Visual Assist platform+quality presets
36
- - tightened `Current Status` route mapping so `/dv:tasks`, `/dv:build`, and bootstrap routes are no longer forced into unrelated scene actions
37
- - removed stale hidden Advanced-command UI branches and aligned reachable keyboard/help behavior with scene-only navigation
38
- - simplified install/uninstall operations to one-click all-platform actions (`Codex`, `Claude Code`, `Gemini`) from the TUI
39
- - expanded regression coverage for TUI scene order, route mapping, and environment-stable `save-current-design` CLI behavior
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.3`
33
+ - `@xenonbyte/da-vinci-workflow@0.2.4`
34
34
 
35
- `0.2.3` 版本重点:
35
+ `0.2.4` 版本重点:
36
36
 
37
- - 新增场景化 `设计操作`:支持托管 `保存当前设计稿`、图标库同步进度反馈,以及 Visual Assist 平台+质量预设写入
38
- - 收紧 `当前状态` 场景映射:`/dv:tasks`、`/dv:build`、bootstrap 不再被错误导向到无关场景
39
- - 清理已下线的 Advanced 命令路径残留,TUI 键位与帮助文本统一为可达的场景交互
40
- - `安装与卸载` 统一为一键全平台动作(`Codex`、`Claude Code`、`Gemini`)
41
- - 补强回归测试:覆盖 TUI 场景顺序、路由映射,以及 `save-current-design` 的环境隔离稳定性
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.