harnessed 2.0.1 → 3.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +246 -47
- package/dist/cli.mjs +416 -98
- package/dist/cli.mjs.map +1 -1
- package/dist/index.mjs +1 -1
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
- package/workflows/capabilities.yaml +468 -0
- package/workflows/defaults.yaml +71 -4
- package/workflows/disciplines/karpathy.yaml +47 -0
- package/workflows/disciplines/language.yaml +38 -0
- package/workflows/disciplines/operational.yaml +61 -0
- package/workflows/disciplines/output-style.yaml +62 -0
- package/workflows/disciplines/priority.yaml +28 -0
- package/workflows/disciplines/protocols.yaml +70 -0
- package/workflows/discuss/auto/.gitkeep +0 -0
- package/workflows/discuss/auto/SKILL.md +63 -0
- package/workflows/discuss/auto/workflow.yaml +40 -0
- package/workflows/discuss/phase/SKILL.md +61 -0
- package/workflows/discuss/phase/workflow.yaml +35 -0
- package/workflows/discuss/strategic/SKILL.md +66 -0
- package/workflows/discuss/strategic/workflow.yaml +47 -0
- package/workflows/discuss/subtask/SKILL.md +67 -0
- package/workflows/discuss/subtask/workflow.yaml +33 -0
- package/workflows/judgments/stage-routing.yaml +93 -0
- package/workflows/judgments/web-design-routing.yaml +37 -0
- package/workflows/judgments/web-search-routing.yaml +52 -0
- package/workflows/judgments/web-testing-routing.yaml +50 -0
- package/workflows/plan/architecture/SKILL.md +62 -0
- package/workflows/plan/architecture/workflow.yaml +33 -0
- package/workflows/plan/auto/.gitkeep +0 -0
- package/workflows/plan/auto/SKILL.md +63 -0
- package/workflows/plan/auto/workflow.yaml +41 -0
- package/workflows/plan/phase/SKILL.md +64 -0
- package/workflows/plan/phase/workflow.yaml +37 -0
- package/workflows/research/SKILL.md +6 -2
- package/workflows/research/workflow.yaml +34 -3
- package/workflows/retro/SKILL.md +68 -0
- package/workflows/retro/workflow.yaml +40 -0
- package/workflows/task/auto/.gitkeep +0 -0
- package/workflows/task/auto/SKILL.md +68 -0
- package/workflows/task/auto/workflow.yaml +57 -0
- package/workflows/task/clarify/SKILL.md +83 -0
- package/workflows/task/clarify/workflow.yaml +39 -0
- package/workflows/task/code/SKILL.md +89 -0
- package/workflows/task/code/workflow.yaml +55 -0
- package/workflows/task/deliver/SKILL.md +118 -0
- package/workflows/task/deliver/workflow.yaml +77 -0
- package/workflows/task/test/SKILL.md +93 -0
- package/workflows/task/test/workflow.yaml +44 -0
- package/workflows/verify/auto/.gitkeep +0 -0
- package/workflows/verify/auto/SKILL.md +77 -0
- package/workflows/verify/auto/workflow.yaml +74 -0
- package/workflows/verify/code-review/SKILL.md +69 -0
- package/workflows/verify/code-review/workflow.yaml +32 -0
- package/workflows/verify/design/SKILL.md +72 -0
- package/workflows/verify/design/workflow.yaml +33 -0
- package/workflows/verify/multispec/SKILL.md +86 -0
- package/workflows/verify/multispec/workflow.yaml +58 -0
- package/workflows/verify/paranoid/SKILL.md +71 -0
- package/workflows/verify/paranoid/workflow.yaml +30 -0
- package/workflows/verify/progress/SKILL.md +67 -0
- package/workflows/verify/progress/workflow.yaml +44 -0
- package/workflows/verify/qa/SKILL.md +73 -0
- package/workflows/verify/qa/workflow.yaml +31 -0
- package/workflows/verify/security/SKILL.md +67 -0
- package/workflows/verify/security/workflow.yaml +31 -0
- package/workflows/verify/simplify/SKILL.md +67 -0
- package/workflows/verify/simplify/workflow.yaml +31 -0
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: discuss-strategic
|
|
3
|
+
description: |
|
|
4
|
+
Stage ①.a 战略层 discuss sub-workflow — gstack /office-hours + /plan-ceo-review 新功能 / 新
|
|
5
|
+
milestone / 新产品方向启动前强制治理关卡 (sister ~/.claude/CLAUDE.md "🔒 新功能启动前强制")。
|
|
6
|
+
schema_version: harnessed.workflow.v3 with disciplines_applied (6 default) + tools_available
|
|
7
|
+
(gstack-office-hours + gstack-plan-ceo-review + planning-with-files) + 3 phases (gate
|
|
8
|
+
judgments.strategic-gate.* fires + planning-with-files /plan findings.md 持久化)。
|
|
9
|
+
Triggered by harnessed CLI `harnessed discuss-strategic --topic <text>` or slash command
|
|
10
|
+
`/discuss-strategic` after `harnessed setup`.
|
|
11
|
+
trigger_phrases:
|
|
12
|
+
- "discuss strategic"
|
|
13
|
+
- "战略层澄清"
|
|
14
|
+
- "office hours"
|
|
15
|
+
- "新功能启动"
|
|
16
|
+
- "跑 discuss-strategic"
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
# discuss-strategic workflow (v3)
|
|
20
|
+
|
|
21
|
+
## Overview
|
|
22
|
+
|
|
23
|
+
3-phase sub-workflow mapping CLAUDE.md "Stage ①.a 战略层 — 新功能启动前强制 🔒"
|
|
24
|
+
onto harnessed runtime (Phase v3.0-3.4 W0.1 — D-04 Stage ① Discuss 三层 + D-12 gstack
|
|
25
|
+
治理关卡 + Pattern A sub-workflow ship)。
|
|
26
|
+
|
|
27
|
+
| phase | id | upstream | model | capability / invokes | gate / artifacts |
|
|
28
|
+
| ----- | -- | -------- | ----- | -------------------- | ---------------- |
|
|
29
|
+
| 1 | `01-office-hours` | gstack | opus | `{{ capabilities.gstack-office-hours.cmd }}` | `gate: judgments.strategic-gate.office-hours.fires` |
|
|
30
|
+
| 2 | `02-plan-ceo-review` | gstack | opus | `{{ capabilities.gstack-plan-ceo-review.cmd }}` | `gate: judgments.strategic-gate.plan-ceo-review.fires` |
|
|
31
|
+
| 3 | `03-persist` | planning-with-files | haiku | `{{ capabilities.planning-with-files.cmd }}` + `invokes: /plan` | `artifacts_expected: [findings.md]` |
|
|
32
|
+
|
|
33
|
+
## Capability refs
|
|
34
|
+
|
|
35
|
+
Sister `workflows/capabilities.yaml` entries:
|
|
36
|
+
- `gstack-office-hours` — Bucket 3 治理关卡 (impl: gstack, cmd: /office-hours)
|
|
37
|
+
- `gstack-plan-ceo-review` — Bucket 3 治理关卡 (impl: gstack, cmd: /plan-ceo-review)
|
|
38
|
+
- `planning-with-files` — Bucket 4 核心 capability (impl: claude-code-plugin, cmd: /plan)
|
|
39
|
+
|
|
40
|
+
## Gate refs
|
|
41
|
+
|
|
42
|
+
Sister `workflows/judgments/strategic-gate.yaml`:
|
|
43
|
+
- `office-hours.fires` — `phase.type in ['new_project', 'new_milestone', 'new_feature']`
|
|
44
|
+
- `plan-ceo-review.fires` — `phase.type == 'new_project' or phase.is_major_release == true`
|
|
45
|
+
|
|
46
|
+
## Invocation
|
|
47
|
+
|
|
48
|
+
- CLI: `harnessed discuss-strategic --topic "<text>"`
|
|
49
|
+
- Slash command: `/discuss-strategic <text>` (after `harnessed setup`)
|
|
50
|
+
|
|
51
|
+
## Routing rules
|
|
52
|
+
|
|
53
|
+
跳过条件 (sister CLAUDE.md "战略层 ❌ 跳过"):
|
|
54
|
+
- bug 修复 / 技术债 / 实现细节
|
|
55
|
+
- scope 已在历史 `.planning/` 或 design doc 定义
|
|
56
|
+
- continuing 已有 phase 的执行
|
|
57
|
+
- 用户已给明确 ticket / spec
|
|
58
|
+
|
|
59
|
+
## References
|
|
60
|
+
|
|
61
|
+
- D-04 Stage ① Discuss 三层 (战略 / phase / 子任务)
|
|
62
|
+
- D-12 gstack 治理关卡强制
|
|
63
|
+
- ~/.claude/CLAUDE.md "gstack 治理关卡 🔒 新功能启动前强制"
|
|
64
|
+
- workflows/capabilities.yaml — gstack-office-hours / gstack-plan-ceo-review / planning-with-files
|
|
65
|
+
- workflows/judgments/strategic-gate.yaml — office-hours / plan-ceo-review triggers
|
|
66
|
+
- workflows/defaults.yaml — ralph_max_iterations.discuss-strategic.* values (W2.2 backfill)
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
# workflows/discuss/strategic/workflow.yaml — Phase v3.0-3.4 W0 T3.4.W0.1
|
|
2
|
+
#
|
|
3
|
+
# Stage ①.a 战略层 sub-workflow — gstack 治理关卡 /office-hours + /plan-ceo-review
|
|
4
|
+
# 新功能 / 新 milestone / 新产品方向启动前强制 (sister ~/.claude/CLAUDE.md
|
|
5
|
+
# "gstack 治理关卡 🔒 新功能启动前强制" verbatim)。
|
|
6
|
+
#
|
|
7
|
+
# Sister refs:
|
|
8
|
+
# - ~/.claude/CLAUDE.md "澄清/审查触发判据 — 战略层" 章节
|
|
9
|
+
# - workflows/judgments/strategic-gate.yaml — office-hours / plan-ceo-review triggers
|
|
10
|
+
# - workflows/capabilities.yaml — gstack-office-hours / gstack-plan-ceo-review / planning-with-files
|
|
11
|
+
# - src/workflow/schema/workflow.ts WorkflowSchemaV3 (Phase 3.3 W0.5 SHIPPED)
|
|
12
|
+
# - .planning/phase-v3.0-3.2/RESEARCH-workflows.md § Area 2 sub-stage example verbatim
|
|
13
|
+
|
|
14
|
+
schema_version: harnessed.workflow.v3
|
|
15
|
+
workflow: discuss-strategic
|
|
16
|
+
description: |
|
|
17
|
+
Stage ①.a 战略层 — gstack /office-hours + /plan-ceo-review 新功能 / 新 milestone 启动前强制
|
|
18
|
+
(sister CLAUDE.md "🔒 新功能启动前强制")。Gate: judgments.strategic-gate.office-hours.fires
|
|
19
|
+
+ judgments.strategic-gate.plan-ceo-review.fires (各 phase 独立 gate)。
|
|
20
|
+
|
|
21
|
+
disciplines_applied: [karpathy, output-style, language, operational, priority, protocols]
|
|
22
|
+
tools_available: [gstack-office-hours, gstack-plan-ceo-review, planning-with-files]
|
|
23
|
+
|
|
24
|
+
phases:
|
|
25
|
+
- id: 01-office-hours
|
|
26
|
+
name: gstack-office-hours (YC-style pressure test + reframe + Design Doc)
|
|
27
|
+
upstream: gstack
|
|
28
|
+
capability: '{{ capabilities.gstack-office-hours.cmd }}'
|
|
29
|
+
model: opus
|
|
30
|
+
gate: judgments.strategic-gate.office-hours.fires
|
|
31
|
+
max_iterations: '{{ defaults.ralph_max_iterations.discuss-strategic.01-office-hours }}'
|
|
32
|
+
|
|
33
|
+
- id: 02-plan-ceo-review
|
|
34
|
+
name: gstack-plan-ceo-review (CEO 视角 商业价值 + 10-star 潜力 + scope)
|
|
35
|
+
upstream: gstack
|
|
36
|
+
capability: '{{ capabilities.gstack-plan-ceo-review.cmd }}'
|
|
37
|
+
model: opus
|
|
38
|
+
gate: judgments.strategic-gate.plan-ceo-review.fires
|
|
39
|
+
max_iterations: '{{ defaults.ralph_max_iterations.discuss-strategic.02-plan-ceo-review }}'
|
|
40
|
+
|
|
41
|
+
- id: 03-persist
|
|
42
|
+
name: planning-with-files findings.md (战略层决策 + 理由持久化)
|
|
43
|
+
upstream: planning-with-files
|
|
44
|
+
capability: '{{ capabilities.planning-with-files.cmd }}'
|
|
45
|
+
invokes: '/plan'
|
|
46
|
+
model: haiku
|
|
47
|
+
artifacts_expected: [findings.md]
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: discuss-subtask
|
|
3
|
+
description: |
|
|
4
|
+
Stage ①.c 子任务层 discuss sub-workflow — superpowers brainstorming (≥2 approach / 核心算法 /
|
|
5
|
+
API contract / 错误成本高)。schema_version: harnessed.workflow.v3 with disciplines_applied (6
|
|
6
|
+
default) + tools_available (superpowers-brainstorming + grill-with-docs + grill-me) + 1 phase
|
|
7
|
+
(01-brainstorm with conditional invokes_tools for spec_ambiguous + no_docs)。Triggered by
|
|
8
|
+
harnessed CLI `harnessed discuss-subtask --task <text>` or slash command `/discuss-subtask`
|
|
9
|
+
after `harnessed setup`.
|
|
10
|
+
trigger_phrases:
|
|
11
|
+
- "discuss subtask"
|
|
12
|
+
- "子任务澄清"
|
|
13
|
+
- "brainstorm"
|
|
14
|
+
- "多 approach 探索"
|
|
15
|
+
- "跑 discuss-subtask"
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
# discuss-subtask workflow (v3)
|
|
19
|
+
|
|
20
|
+
## Overview
|
|
21
|
+
|
|
22
|
+
1-phase sub-workflow mapping CLAUDE.md "Stage ①.c 子任务层 — superpowers brainstorming"
|
|
23
|
+
onto harnessed runtime (Phase v3.0-3.4 W0.3 — D-04 Stage ① Discuss 三层 + D-05
|
|
24
|
+
phase.invokes_tools conditional fire + Pattern A sub-workflow ship)。
|
|
25
|
+
|
|
26
|
+
| phase | id | upstream | model | capability / invokes_tools | gate |
|
|
27
|
+
| ----- | -- | -------- | ----- | -------------------------- | ---- |
|
|
28
|
+
| 1 | `01-brainstorm` | superpowers | opus | `{{ capabilities.superpowers-brainstorming.cmd }}` + conditional `invokes_tools[grill-with-docs, grill-me]` | `gate: judgments.subtask-gate.brainstorming.fires` |
|
|
29
|
+
|
|
30
|
+
## Capability refs
|
|
31
|
+
|
|
32
|
+
Sister `workflows/capabilities.yaml` entries:
|
|
33
|
+
- `superpowers-brainstorming` — Bucket 4 (impl: superpowers, cmd: superpowers:brainstorming)
|
|
34
|
+
- `grill-with-docs` — Bucket 1 mattpocock (impl: mattpocock-skills, cmd: /grill-with-docs)
|
|
35
|
+
- `grill-me` — Bucket 1 mattpocock (impl: mattpocock-skills, cmd: /grill-me)
|
|
36
|
+
|
|
37
|
+
## Gate ref
|
|
38
|
+
|
|
39
|
+
Sister `workflows/judgments/subtask-gate.yaml`:
|
|
40
|
+
- `brainstorming.fires` — `subtask.approaches >= 2 or subtask.core_algorithm == true or subtask.has_api_contract == true or subtask.error_cost == 'high'`
|
|
41
|
+
|
|
42
|
+
## Conditional tool invocation (D-05 invokes_tools)
|
|
43
|
+
|
|
44
|
+
- `phase.spec_ambiguous == true` → fire `grill-with-docs`
|
|
45
|
+
- `phase.spec_ambiguous == true AND phase.no_docs == true` → fire `grill-me`
|
|
46
|
+
|
|
47
|
+
## Invocation
|
|
48
|
+
|
|
49
|
+
- CLI: `harnessed discuss-subtask --task "<text>"`
|
|
50
|
+
- Slash command: `/discuss-subtask <text>` (after `harnessed setup`)
|
|
51
|
+
|
|
52
|
+
## Routing rules
|
|
53
|
+
|
|
54
|
+
跳过条件 (sister CLAUDE.md "子任务层 ❌ 跳过"):
|
|
55
|
+
- 常规 CRUD / 跟现有模式一致
|
|
56
|
+
- 单一明显实现 (< 20 行 / 一个文件)
|
|
57
|
+
- 标准库直接调用
|
|
58
|
+
- bug 修复且已知根因
|
|
59
|
+
|
|
60
|
+
## References
|
|
61
|
+
|
|
62
|
+
- D-04 Stage ① Discuss 三层 (战略 / phase / 子任务)
|
|
63
|
+
- D-05 phase.invokes_tools conditional fire (NEW v3)
|
|
64
|
+
- ~/.claude/CLAUDE.md "子任务层: superpowers:brainstorming"
|
|
65
|
+
- workflows/capabilities.yaml — superpowers-brainstorming / grill-with-docs / grill-me
|
|
66
|
+
- workflows/judgments/subtask-gate.yaml — brainstorming trigger
|
|
67
|
+
- workflows/defaults.yaml — ralph_max_iterations.discuss-subtask.* values (W2.2 backfill)
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# workflows/discuss/subtask/workflow.yaml — Phase v3.0-3.4 W0 T3.4.W0.3
|
|
2
|
+
#
|
|
3
|
+
# Stage ①.c 子任务层 sub-workflow — superpowers brainstorming (≥2 approach / 核心算法 /
|
|
4
|
+
# API contract / 错误成本高)。Sister ~/.claude/CLAUDE.md "澄清/审查触发判据 — 子任务层"。
|
|
5
|
+
#
|
|
6
|
+
# Sister refs:
|
|
7
|
+
# - workflows/judgments/subtask-gate.yaml — brainstorming trigger
|
|
8
|
+
# - workflows/capabilities.yaml — superpowers-brainstorming / grill-with-docs / grill-me
|
|
9
|
+
# - .planning/phase-v3.0-3.2/RESEARCH-workflows.md § Area 2 sub-stage example verbatim
|
|
10
|
+
|
|
11
|
+
schema_version: harnessed.workflow.v3
|
|
12
|
+
workflow: discuss-subtask
|
|
13
|
+
description: |
|
|
14
|
+
Stage ①.c 子任务层 — superpowers brainstorming (≥2 approach / 核心算法 / API contract / 错误成本高)。
|
|
15
|
+
Gate: judgments.subtask-gate.brainstorming.fires。conditional invokes_tools for
|
|
16
|
+
/grill-with-docs (spec_ambiguous) + /grill-me (spec_ambiguous AND no_docs)。
|
|
17
|
+
|
|
18
|
+
disciplines_applied: [karpathy, output-style, language, operational, priority, protocols]
|
|
19
|
+
tools_available: [superpowers-brainstorming, grill-with-docs, grill-me]
|
|
20
|
+
|
|
21
|
+
phases:
|
|
22
|
+
- id: 01-brainstorm
|
|
23
|
+
name: superpowers-brainstorming (multi-approach explore + 选定 winning approach)
|
|
24
|
+
upstream: superpowers
|
|
25
|
+
capability: '{{ capabilities.superpowers-brainstorming.cmd }}'
|
|
26
|
+
model: opus
|
|
27
|
+
gate: judgments.subtask-gate.brainstorming.fires
|
|
28
|
+
invokes_tools:
|
|
29
|
+
- if: 'phase.spec_ambiguous == true'
|
|
30
|
+
tool: grill-with-docs
|
|
31
|
+
- if: 'phase.spec_ambiguous == true and phase.no_docs == true'
|
|
32
|
+
tool: grill-me
|
|
33
|
+
max_iterations: '{{ defaults.ralph_max_iterations.discuss-subtask.01-brainstorm }}'
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
# workflows/judgments/stage-routing.yaml
|
|
2
|
+
# Master orchestrator sub-stage delegation per D-01
|
|
3
|
+
# 4 master (/discuss /plan /task /verify) auto gate-eval 触发 sub conditional
|
|
4
|
+
# Sister: 3 strategic/phase/subtask gate 已 SHIPPED 独立判断, 本 file orchestrator-level routing
|
|
5
|
+
#
|
|
6
|
+
# Phase v3.0-3.2 Wave A RESEARCH → 3.3 W0.3 ship per D-11 + D-01
|
|
7
|
+
#
|
|
8
|
+
# expr-eval 2.0.2 case-sensitive: keyword `and` / `or` 全小写
|
|
9
|
+
|
|
10
|
+
schema_version: harnessed.judgment.v1
|
|
11
|
+
|
|
12
|
+
triggers:
|
|
13
|
+
# /discuss master → 3 sub conditional fire
|
|
14
|
+
discuss-strategic-delegate:
|
|
15
|
+
description: |
|
|
16
|
+
/discuss master → /discuss-strategic 委派 fire 当 strategic-gate.fires
|
|
17
|
+
(任一 office-hours OR plan-ceo-review)。
|
|
18
|
+
fires_when: "phase.type in ['new_project', 'new_milestone', 'new_feature'] or phase.is_major_release == true"
|
|
19
|
+
invokes:
|
|
20
|
+
- capability: gstack-office-hours
|
|
21
|
+
- capability: gstack-plan-ceo-review
|
|
22
|
+
|
|
23
|
+
discuss-phase-delegate:
|
|
24
|
+
description: /discuss master → /discuss-phase 委派 fire per phase-gate.fires。
|
|
25
|
+
fires_when: "phase.open_decisions >= 2 or phase.has_cross_phase_data_flow == true or phase.scope_days > 1"
|
|
26
|
+
invokes:
|
|
27
|
+
- capability: gsd-discuss-phase
|
|
28
|
+
|
|
29
|
+
discuss-subtask-delegate:
|
|
30
|
+
description: /discuss master → /discuss-subtask 委派 fire per subtask-gate.fires。
|
|
31
|
+
fires_when: "subtask.approaches >= 2 or subtask.core_algorithm == true or subtask.has_api_contract == true or subtask.error_cost == 'high'"
|
|
32
|
+
invokes:
|
|
33
|
+
- capability: superpowers-brainstorming
|
|
34
|
+
|
|
35
|
+
# /plan master → 2 sub serial
|
|
36
|
+
plan-architecture-delegate:
|
|
37
|
+
description: /plan master → /plan-architecture 委派 fire 当复杂架构 (gstack /plan-eng-review)。
|
|
38
|
+
fires_when: "phase.is_complex_architecture == true"
|
|
39
|
+
invokes:
|
|
40
|
+
- capability: plan-eng-review
|
|
41
|
+
|
|
42
|
+
plan-phase-delegate:
|
|
43
|
+
description: /plan master → /plan-phase 委派总是 fire (GSD plan-phase + planning-with-files)。
|
|
44
|
+
fires_when: "phase.stage == 'plan'"
|
|
45
|
+
invokes:
|
|
46
|
+
- capability: gsd-plan-phase
|
|
47
|
+
- capability: planning-with-files
|
|
48
|
+
|
|
49
|
+
# /verify master → 5-7 sub conditional
|
|
50
|
+
verify-progress-always:
|
|
51
|
+
description: /verify master → /verify-progress 总 fire (GSD verify + progress)。
|
|
52
|
+
fires_when: "phase.stage == 'verify'"
|
|
53
|
+
invokes:
|
|
54
|
+
- capability: gsd-verify-work
|
|
55
|
+
- capability: gsd-progress
|
|
56
|
+
|
|
57
|
+
verify-paranoid-critical:
|
|
58
|
+
description: /verify master → /verify-paranoid fire 当 critical_module。
|
|
59
|
+
fires_when: "phase.stage == 'verify' and phase.is_critical_module == true"
|
|
60
|
+
invokes:
|
|
61
|
+
- capability: gstack-review
|
|
62
|
+
|
|
63
|
+
verify-qa-ui:
|
|
64
|
+
description: /verify master → /verify-qa fire 当 has_ui_changes。
|
|
65
|
+
fires_when: "phase.stage == 'verify' and phase.has_ui_changes == true"
|
|
66
|
+
invokes:
|
|
67
|
+
- capability: gstack-qa
|
|
68
|
+
|
|
69
|
+
verify-security-secrets:
|
|
70
|
+
description: /verify master → /verify-security fire 当 has_auth_or_secrets。
|
|
71
|
+
fires_when: "phase.stage == 'verify' and phase.has_auth_or_secrets == true"
|
|
72
|
+
invokes:
|
|
73
|
+
- capability: gstack-cso
|
|
74
|
+
|
|
75
|
+
verify-design-changes:
|
|
76
|
+
description: /verify master → /verify-design fire 当 has_design_changes。
|
|
77
|
+
fires_when: "phase.stage == 'verify' and phase.has_design_changes == true"
|
|
78
|
+
invokes:
|
|
79
|
+
- capability: gstack-design-review
|
|
80
|
+
|
|
81
|
+
verify-multispec-critical-release:
|
|
82
|
+
description: |
|
|
83
|
+
/verify master → /verify-multispec 4-specialist Agent Team Pattern C fire
|
|
84
|
+
当 critical release。
|
|
85
|
+
fires_when: "phase.stage == 'verify' and is_critical_release == true"
|
|
86
|
+
invokes:
|
|
87
|
+
- capability: agent-teams-create
|
|
88
|
+
|
|
89
|
+
verify-simplify-tail:
|
|
90
|
+
description: /verify master → /verify-simplify 末尾 (code-simplifier)。
|
|
91
|
+
fires_when: "phase.stage == 'verify' and phase.is_final_step == true"
|
|
92
|
+
invokes:
|
|
93
|
+
- capability: code-simplifier
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# workflows/judgments/web-design-routing.yaml
|
|
2
|
+
# Sister: ~/.claude/rules/web-design.md ui-ux-pro-max 默认 + frontend-design 补充 + 仲裁
|
|
3
|
+
# Phase v3.0-3.2 Wave A RESEARCH → 3.3 W0.3 ship per D-11
|
|
4
|
+
#
|
|
5
|
+
# 默认 ui-ux-pro-max 优先 (数据驱动 / 标准化 / 可解释);
|
|
6
|
+
# 例外: 用户明示「做出风格」/「要独特」/「不要 AI 感」/「要有创意」时 frontend-design 主导;
|
|
7
|
+
# 用户没明确表达就按默认走 (不脑补"用户应该想要独特")。
|
|
8
|
+
#
|
|
9
|
+
# expr-eval 2.0.2 case-sensitive: keyword `and` / `or` 全小写
|
|
10
|
+
|
|
11
|
+
schema_version: harnessed.judgment.v1
|
|
12
|
+
|
|
13
|
+
triggers:
|
|
14
|
+
ui-ux-pro-max-default:
|
|
15
|
+
description: |
|
|
16
|
+
默认主方案 — 数据驱动 / 标准化 / 可解释。
|
|
17
|
+
50+ styles, 161 color palettes, 57 font pairings, 161 product types,
|
|
18
|
+
99 UX guidelines, 10 stacks, 25 chart types。
|
|
19
|
+
fires_when: "phase.has_ui_changes == true and phase.requires_creative_polish == false"
|
|
20
|
+
invokes:
|
|
21
|
+
- capability: ui-ux-pro-max
|
|
22
|
+
|
|
23
|
+
frontend-design-creative:
|
|
24
|
+
description: |
|
|
25
|
+
创意补充 — 用户明示"做出风格 / 要独特 / 不要 AI 感 / 要有创意",
|
|
26
|
+
OR ui-ux-pro-max 决定主方案后 layout/动效/装饰性细节补充。
|
|
27
|
+
fires_when: "phase.has_ui_changes == true and phase.requires_creative_polish == true"
|
|
28
|
+
invokes:
|
|
29
|
+
- capability: frontend-design
|
|
30
|
+
|
|
31
|
+
design-review-post:
|
|
32
|
+
description: |
|
|
33
|
+
设计完成后可选 gstack /design-review — 设计系统一致性 + AI 审美问题识别。
|
|
34
|
+
常规 PR 跳过, 不强制。
|
|
35
|
+
fires_when: "phase.stage == 'verify' and phase.has_design_changes == true"
|
|
36
|
+
invokes:
|
|
37
|
+
- capability: gstack-design-review
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
# workflows/judgments/web-search-routing.yaml
|
|
2
|
+
# Sister: ~/.claude/rules/web-search.md 条件式 fallback + Tavily/Exa MCP routing
|
|
3
|
+
# Phase v3.0-3.2 Wave A RESEARCH → 3.3 W0.3 ship per D-11
|
|
4
|
+
#
|
|
5
|
+
# 路由优先级 (per rules/web-search.md):
|
|
6
|
+
# Step 1: 探测 Tavily / Exa MCP 是否安装
|
|
7
|
+
# Step 2A (MCP 不可用): 内置 WebFetch / WebSearch + gh CLI + ctx7 CLI fallback
|
|
8
|
+
# Step 2B (MCP 可用): 默认 Tavily, 描述式/学术/批量 Exa 覆盖, 整站 crawl Tavily 必用
|
|
9
|
+
#
|
|
10
|
+
# expr-eval 2.0.2 case-sensitive: keyword `and` / `or` 全小写
|
|
11
|
+
|
|
12
|
+
schema_version: harnessed.judgment.v1
|
|
13
|
+
|
|
14
|
+
triggers:
|
|
15
|
+
tavily-mcp-default:
|
|
16
|
+
description: |
|
|
17
|
+
Tavily MCP 默认 — 关键词查询 / 库 API 文档 / 新闻时效 / 生产 RAG。
|
|
18
|
+
支持 time_range / country / include_domains / exclude_domains / search_depth。
|
|
19
|
+
fires_when: "subtask.needs_web_search == true and subtask.search_type == 'keyword'"
|
|
20
|
+
invokes:
|
|
21
|
+
- capability: tavily-mcp
|
|
22
|
+
|
|
23
|
+
exa-mcp-descriptive-academic:
|
|
24
|
+
description: |
|
|
25
|
+
Exa MCP 覆盖默认 — 描述式查询 / 学术论文 / 批量抓多 URL /
|
|
26
|
+
用户明说"研究/深度调研" / Token 敏感 (Exa highlights 密度约 2× Tavily)。
|
|
27
|
+
fires_when: "subtask.needs_web_search == true and subtask.search_type in ['descriptive', 'academic']"
|
|
28
|
+
invokes:
|
|
29
|
+
- capability: exa-mcp
|
|
30
|
+
|
|
31
|
+
tavily-crawl-map-site:
|
|
32
|
+
description: |
|
|
33
|
+
Tavily 必用 — 抓整站 / 站点结构 (crawl / map), Exa 无对等工具。
|
|
34
|
+
fires_when: "subtask.needs_web_search == true and subtask.search_type == 'site-crawl'"
|
|
35
|
+
invokes:
|
|
36
|
+
- capability: tavily-mcp
|
|
37
|
+
|
|
38
|
+
ctx7-lib-docs:
|
|
39
|
+
description: |
|
|
40
|
+
ctx7 CLI — 库 / API / 框架 / SDK / CLI 工具文档抓取。
|
|
41
|
+
使用 user 完整问题作为 query, 不超过 3 命令/问。
|
|
42
|
+
Prefer over web search for library docs (per rules/context7.md)。
|
|
43
|
+
fires_when: "subtask.needs_lib_docs == true"
|
|
44
|
+
invokes:
|
|
45
|
+
- capability: ctx7
|
|
46
|
+
|
|
47
|
+
webfetch-single-url:
|
|
48
|
+
description: |
|
|
49
|
+
永远规则 — 单次轻量查询 (一个明确 URL) 直接 WebFetch, 不走 MCP / CLI。
|
|
50
|
+
WebFetch 是 Claude Code 平台内置, NOT capabilities.yaml registry entry。
|
|
51
|
+
fires_when: "subtask.search_type == 'single-url'"
|
|
52
|
+
# No capability invoke — WebFetch 是 Claude Code 平台内置
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
# workflows/judgments/web-testing-routing.yaml
|
|
2
|
+
# Sister: ~/.claude/rules/web-testing.md 三层职责矩阵 + 决策树机器化
|
|
3
|
+
# Phase v3.0-3.2 Wave A RESEARCH → 3.3 W0.3 ship per D-11
|
|
4
|
+
#
|
|
5
|
+
# 三层职责矩阵 verbatim:
|
|
6
|
+
# 脑 (写测试 / 跑 CI) — @playwright/test (frontend/e2e/*.spec.ts)
|
|
7
|
+
# 手 (AI 实时操作) — playwright-cli (一行 Bash, token 最省)
|
|
8
|
+
# 筋骨 (Python 后端联动) — webapp-testing skill (tests/e2e/*.py)
|
|
9
|
+
# 非功能性诊断 (性能/a11y/内存) — chrome-devtools-mcp (必用)
|
|
10
|
+
#
|
|
11
|
+
# expr-eval 2.0.2 case-sensitive: keyword `and` / `or` 全小写 (sister Phase 2.3 W0.2 bug)
|
|
12
|
+
|
|
13
|
+
schema_version: harnessed.judgment.v1
|
|
14
|
+
|
|
15
|
+
triggers:
|
|
16
|
+
playwright-test-default:
|
|
17
|
+
description: |
|
|
18
|
+
@playwright/test — 默认 CI 提交进 repo 的正式 E2E test framework,
|
|
19
|
+
前端 TypeScript / React / Vue, 只需浏览器操作 + HTTP API setup。
|
|
20
|
+
Path frontend/e2e/*.spec.ts; cmd npx playwright test。
|
|
21
|
+
fires_when: "subtask.test_type == 'ci-commit'"
|
|
22
|
+
skips_when: "subtask.test_type in ['probe', 'python-backend', 'perf-diagnostic']"
|
|
23
|
+
invokes:
|
|
24
|
+
- capability: playwright-test
|
|
25
|
+
|
|
26
|
+
playwright-cli-probe:
|
|
27
|
+
description: |
|
|
28
|
+
playwright-cli — AI 实时操作浏览器 一行 Bash, token 最省;
|
|
29
|
+
用于探查 / 调试 / 一次性确认 (非提交 repo)。
|
|
30
|
+
探查产出的 selectors 再沉淀到正式 test。
|
|
31
|
+
fires_when: "subtask.test_type == 'probe'"
|
|
32
|
+
invokes:
|
|
33
|
+
- capability: playwright-cli
|
|
34
|
+
|
|
35
|
+
webapp-testing-python-backend:
|
|
36
|
+
description: |
|
|
37
|
+
webapp-testing skill — Python 后端联动特例
|
|
38
|
+
(要 import Tortoise ORM / pandas / backend utils OR 前端是 Python 模板 Django Jinja)。
|
|
39
|
+
Path tests/e2e/*.py; with_server.py 双进程。
|
|
40
|
+
fires_when: "subtask.test_type == 'python-backend'"
|
|
41
|
+
invokes:
|
|
42
|
+
- capability: webapp-testing
|
|
43
|
+
|
|
44
|
+
chrome-devtools-mcp-diagnostic:
|
|
45
|
+
description: |
|
|
46
|
+
chrome-devtools-mcp — 非功能性诊断必须用 (NOT playwright/test/cli/webapp-testing)。
|
|
47
|
+
LCP / Core Web Vitals / ARIA / 堆快照。
|
|
48
|
+
fires_when: "subtask.test_type == 'perf-diagnostic'"
|
|
49
|
+
invokes:
|
|
50
|
+
- capability: chrome-devtools-mcp
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: plan-architecture
|
|
3
|
+
description: |
|
|
4
|
+
Stage ②.a 架构层 plan sub-workflow — gstack /plan-eng-review (复杂架构强制治理关卡,
|
|
5
|
+
sister ~/.claude/CLAUDE.md "⚠️ 复杂架构前 plan-eng-review")。schema_version:
|
|
6
|
+
harnessed.workflow.v3 with disciplines_applied (6 default) + tools_available
|
|
7
|
+
[plan-eng-review] + 1 phase (01-plan-eng-review) + gate literal expr
|
|
8
|
+
`phase.is_complex_architecture == true`。Triggered by harnessed CLI `harnessed
|
|
9
|
+
plan-architecture --module <name>` or slash command `/plan-architecture` after
|
|
10
|
+
`harnessed setup`.
|
|
11
|
+
trigger_phrases:
|
|
12
|
+
- "plan architecture"
|
|
13
|
+
- "架构审查"
|
|
14
|
+
- "plan eng review"
|
|
15
|
+
- "复杂架构"
|
|
16
|
+
- "跑 plan-architecture"
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
# plan-architecture workflow (v3)
|
|
20
|
+
|
|
21
|
+
## Overview
|
|
22
|
+
|
|
23
|
+
1-phase sub-workflow mapping CLAUDE.md "⚠️ 复杂架构前 — plan-eng-review" onto harnessed
|
|
24
|
+
runtime (Phase v3.0-3.4 W0.4 — D-04 Stage ② Plan 二层 + D-12 gstack 治理关卡 + Pattern A
|
|
25
|
+
sub-workflow ship)。
|
|
26
|
+
|
|
27
|
+
| phase | id | upstream | model | capability | gate |
|
|
28
|
+
| ----- | -- | -------- | ----- | ---------- | ---- |
|
|
29
|
+
| 1 | `01-plan-eng-review` | gstack | opus | `{{ capabilities.plan-eng-review.cmd }}` | `gate: phase.is_complex_architecture == true` (literal expr) |
|
|
30
|
+
|
|
31
|
+
## Capability refs
|
|
32
|
+
|
|
33
|
+
Sister `workflows/capabilities.yaml` entries:
|
|
34
|
+
- `plan-eng-review` — Bucket 7 gstack 33 optional (impl: gstack, cmd: /plan-eng-review)
|
|
35
|
+
- Pattern A E.2 LOCK: no `gstack-` prefix per CLAUDE.md gstack skill routing convention
|
|
36
|
+
|
|
37
|
+
## Gate ref
|
|
38
|
+
|
|
39
|
+
Inline literal expr `phase.is_complex_architecture == true` — sister capability
|
|
40
|
+
`fires_when` clause verbatim。W2.2 backfill 可加 `judgments/phase-gate.yaml`
|
|
41
|
+
trigger `is-complex-architecture` 重构 ref。
|
|
42
|
+
|
|
43
|
+
## Invocation
|
|
44
|
+
|
|
45
|
+
- CLI: `harnessed plan-architecture --module "<name>"`
|
|
46
|
+
- Slash command: `/plan-architecture <name>` (after `harnessed setup`)
|
|
47
|
+
|
|
48
|
+
## Routing rules
|
|
49
|
+
|
|
50
|
+
触发条件 (sister CLAUDE.md "⚠️ 复杂架构前"):
|
|
51
|
+
- 涉及多模块跨界设计 (≥3 模块协同)
|
|
52
|
+
- 新引入核心抽象 (新 framework / 新数据模型 / 新协议)
|
|
53
|
+
- 性能 / scaling 关键路径
|
|
54
|
+
- 引入显著技术债 / migration 风险
|
|
55
|
+
|
|
56
|
+
## References
|
|
57
|
+
|
|
58
|
+
- D-04 Stage ② Plan 二层 (架构 / 计划)
|
|
59
|
+
- D-12 gstack 治理关卡 (复杂架构强制)
|
|
60
|
+
- ~/.claude/CLAUDE.md "⚠️ 复杂架构前: /plan-eng-review"
|
|
61
|
+
- workflows/capabilities.yaml — plan-eng-review (Bucket 7)
|
|
62
|
+
- workflows/defaults.yaml — ralph_max_iterations.plan-architecture.* values (W2.2 backfill)
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# workflows/plan/architecture/workflow.yaml — Phase v3.0-3.4 W0 T3.4.W0.4
|
|
2
|
+
#
|
|
3
|
+
# Stage ②.a 架构层 sub-workflow — gstack /plan-eng-review (复杂架构强制,
|
|
4
|
+
# sister ~/.claude/CLAUDE.md "⚠️ 复杂架构前 plan-eng-review")。
|
|
5
|
+
#
|
|
6
|
+
# Sister refs:
|
|
7
|
+
# - workflows/capabilities.yaml — plan-eng-review (Bucket 7 gstack 33 optional registry)
|
|
8
|
+
# - .planning/phase-v3.0-3.2/RESEARCH-workflows.md § Area 2 sub-stage example verbatim
|
|
9
|
+
#
|
|
10
|
+
# Note: capabilities.yaml v3 entry name = `plan-eng-review` (NO `gstack-` prefix per
|
|
11
|
+
# Pattern A E.2 — Bucket 7 gstack 33 optional 命名 strip prefix per 用户 CLAUDE.md
|
|
12
|
+
# gstack skill routing 直接 invoke cmd 名)。判 gate 用 literal expr (judgments
|
|
13
|
+
# phase-gate.yaml 暂无 is-complex-architecture trigger; v3 schema gate is Type.String
|
|
14
|
+
# 接受任意 expr; W2.2 backfill 可加 judgment trigger)。
|
|
15
|
+
|
|
16
|
+
schema_version: harnessed.workflow.v3
|
|
17
|
+
workflow: plan-architecture
|
|
18
|
+
description: |
|
|
19
|
+
Stage ②.a 架构层 — gstack /plan-eng-review (复杂架构强制, sister CLAUDE.md "⚠️ 复杂架构前")。
|
|
20
|
+
Gate: phase.is_complex_architecture == true literal expr (W2.2 backfill 可加 phase-gate
|
|
21
|
+
judgment trigger 重构 ref)。
|
|
22
|
+
|
|
23
|
+
disciplines_applied: [karpathy, output-style, language, operational, priority, protocols]
|
|
24
|
+
tools_available: [plan-eng-review]
|
|
25
|
+
|
|
26
|
+
phases:
|
|
27
|
+
- id: 01-plan-eng-review
|
|
28
|
+
name: plan-eng-review (复杂架构审查 — engineering manager 视角, 锁定架构再 plan-phase)
|
|
29
|
+
upstream: gstack
|
|
30
|
+
capability: '{{ capabilities.plan-eng-review.cmd }}'
|
|
31
|
+
model: opus
|
|
32
|
+
gate: 'phase.is_complex_architecture == true'
|
|
33
|
+
max_iterations: '{{ defaults.ralph_max_iterations.plan-architecture.01-plan-eng-review }}'
|
|
File without changes
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: plan
|
|
3
|
+
description: |
|
|
4
|
+
Stage ② Plan master orchestrator — 串行 invoke 2 sub (architecture conditional → phase always)。
|
|
5
|
+
复杂架构 gstack /plan-eng-review 锁定架构后再 GSD /gsd-plan-phase + planning-with-files 持久化
|
|
6
|
+
task_plan.md。schema_version: harnessed.workflow.v3 with delegates_to (2 sub: architecture
|
|
7
|
+
serial order 1 + phase serial order 2) + disciplines_applied (6 default) + tools_available
|
|
8
|
+
(planning-with-files + plan-eng-review + gsd-plan-phase)。
|
|
9
|
+
Triggered by harnessed CLI `harnessed plan --topic <text>` or slash command `/plan`
|
|
10
|
+
(bare per ADR 0030 namespace policy D-02 LOCK) after `harnessed setup`.
|
|
11
|
+
trigger_phrases:
|
|
12
|
+
- "plan"
|
|
13
|
+
- "计划阶段"
|
|
14
|
+
- "stage 2 plan"
|
|
15
|
+
- "持久化计划"
|
|
16
|
+
- "task_plan"
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
# plan master orchestrator (v3)
|
|
20
|
+
|
|
21
|
+
## Overview
|
|
22
|
+
|
|
23
|
+
4-stage cadence Stage ② master orchestrator delegating to 2 sequential sub-workflows
|
|
24
|
+
(per ~/.claude/CLAUDE.md "Plan 阶段" 节 + D-06 planning-with-files cross-cutting tool):
|
|
25
|
+
|
|
26
|
+
| order | sub | gate ref | mode | when fires |
|
|
27
|
+
| ----- | --- | -------- | ---- | ---------- |
|
|
28
|
+
| 1 | `architecture` | `judgments.stage-routing.plan-architecture-delegate.fires` | serial | phase.is_complex_architecture == true |
|
|
29
|
+
| 2 | `phase` | (unconditional — plan-phase always fires when stage=='plan') | serial | always |
|
|
30
|
+
|
|
31
|
+
Engine runtime spawns 2 sub-workflow phases sequentially via `runMasterOrchestrator`
|
|
32
|
+
per T3.5.W0.1 — order 1 (architecture conditional) MUST complete before order 2
|
|
33
|
+
(phase unconditional, GSD plan-phase + planning-with-files /plan task_plan.md
|
|
34
|
+
持久化)。K9 invariant enforced: every serial mode delegate carries explicit `order`。
|
|
35
|
+
|
|
36
|
+
## Capability refs
|
|
37
|
+
|
|
38
|
+
Sister `workflows/capabilities.yaml`:
|
|
39
|
+
- `planning-with-files` — Bucket 4 核心 capability (impl: claude-code-plugin, cmd: /plan)
|
|
40
|
+
- `plan-eng-review` — Bucket 7 gstack 33 optional (impl: gstack, cmd: /plan-eng-review)
|
|
41
|
+
- `gsd-plan-phase` — Bucket 2 special-purpose (impl: gsd, cmd: /gsd-plan-phase)
|
|
42
|
+
- sub `architecture` upstream → `plan-eng-review`
|
|
43
|
+
- sub `phase` upstream → `gsd-plan-phase` + `planning-with-files`
|
|
44
|
+
|
|
45
|
+
## Routing rules (sister CLAUDE.md "Plan 阶段")
|
|
46
|
+
|
|
47
|
+
- **复杂架构必须先跑** `/plan-eng-review` 锁定架构后再进入 plan-phase (sister CLAUDE.md "⚠️")
|
|
48
|
+
- 普通 phase skip architecture sub (gate `phase.is_complex_architecture == false`)
|
|
49
|
+
- **禁止在规划阶段直接使用** `superpowers:writing-plans` 输出大文档 (除非用户明确要求)
|
|
50
|
+
|
|
51
|
+
## Invocation
|
|
52
|
+
|
|
53
|
+
- CLI: `harnessed plan --topic "<text>"`
|
|
54
|
+
- Slash command: `/plan <text>` (bare per ADR 0030 namespace policy D-02 LOCK after `harnessed setup`)
|
|
55
|
+
|
|
56
|
+
## References
|
|
57
|
+
|
|
58
|
+
- D-01 master orchestrator delegation pattern
|
|
59
|
+
- D-02 bare slash cmd convention (ADR 0030 namespace policy LOCK)
|
|
60
|
+
- D-06 planning-with-files cross-cutting tool (NOT 独立 sub-workflow)
|
|
61
|
+
- ~/.claude/CLAUDE.md "Plan 阶段" 节 verbatim
|
|
62
|
+
- workflows/judgments/stage-routing.yaml — plan-{architecture,phase}-delegate triggers
|
|
63
|
+
- workflows/plan/{architecture,phase}/workflow.yaml — 2 sub-workflow Phase 3.4 SHIPPED
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# workflows/plan/auto/workflow.yaml — Phase v3.0-3.5 W1 T3.5.W1.2
|
|
2
|
+
#
|
|
3
|
+
# Stage ② Plan master orchestrator — 串行 invoke 2 sub (architecture conditional → phase always)
|
|
4
|
+
# per ~/.claude/CLAUDE.md "Plan 阶段" 节 + RESEARCH-workflows § Area 2。
|
|
5
|
+
# planning-with-files /plan 是 D-06 cross-cutting tool (NOT 独立 sub-workflow per user clarification 2)。
|
|
6
|
+
#
|
|
7
|
+
# Sister refs:
|
|
8
|
+
# - ~/.claude/CLAUDE.md "Plan 阶段 (GSD + planning-with-files, 可选 gstack 架构审查)" 节
|
|
9
|
+
# - workflows/judgments/stage-routing.yaml — plan-{architecture,phase}-delegate triggers
|
|
10
|
+
# - workflows/plan/{architecture,phase}/workflow.yaml — 2 sub-workflow Phase 3.4 SHIPPED
|
|
11
|
+
# - workflows/capabilities.yaml — planning-with-files + plan-eng-review + gsd-plan-phase
|
|
12
|
+
# - .planning/phase-v3.0-3.2/RESEARCH-workflows.md § Area 2 Master Orchestrator yaml Examples
|
|
13
|
+
# - src/workflow/schema/workflow.ts WorkflowSchemaV3 + DelegationClause (Phase 3.3 W0.5 SHIPPED)
|
|
14
|
+
#
|
|
15
|
+
# Master invariant (per WorkflowSchemaV3 runtime + check-workflow-schema.mjs K9):
|
|
16
|
+
# - phases 缺省 (master only has delegates_to[])
|
|
17
|
+
# - 2 delegates_to mode serial — 必带 explicit order (K9 invariant T3.3.W0.10)
|
|
18
|
+
# - architecture conditional (gate phase.is_complex_architecture) + phase unconditional
|
|
19
|
+
|
|
20
|
+
schema_version: harnessed.workflow.v3
|
|
21
|
+
workflow: plan
|
|
22
|
+
description: |
|
|
23
|
+
Stage ② Plan master orchestrator — 串行 invoke 2 sub (architecture conditional → phase always);
|
|
24
|
+
planning-with-files /plan 自动 sink task_plan.md + progress.md (D-06 cross-cutting tool, NOT
|
|
25
|
+
独立 sub-workflow per user clarification 2)。复杂架构 gstack /plan-eng-review 强制 (sister
|
|
26
|
+
CLAUDE.md "⚠️ 复杂架构前 plan-eng-review"), 普通 phase skip architecture sub。
|
|
27
|
+
|
|
28
|
+
disciplines_applied: [karpathy, output-style, language, operational, priority, protocols]
|
|
29
|
+
tools_available:
|
|
30
|
+
- planning-with-files
|
|
31
|
+
- plan-eng-review
|
|
32
|
+
- gsd-plan-phase
|
|
33
|
+
|
|
34
|
+
delegates_to:
|
|
35
|
+
- sub: architecture
|
|
36
|
+
gate: judgments.stage-routing.plan-architecture-delegate.fires
|
|
37
|
+
mode: serial
|
|
38
|
+
order: 1
|
|
39
|
+
- sub: phase
|
|
40
|
+
mode: serial
|
|
41
|
+
order: 2
|