harnessed 3.4.3 → 3.5.0
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 +3 -0
- package/dist/cli.mjs +1119 -745
- 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/auto/SKILL.md +10 -4
- package/workflows/capabilities.yaml +18 -19
- package/workflows/disciplines/karpathy.yaml +1 -1
- package/workflows/disciplines/language.yaml +1 -1
- package/workflows/disciplines/operational.yaml +2 -2
- package/workflows/disciplines/output-style.yaml +1 -1
- package/workflows/disciplines/priority.yaml +1 -1
- package/workflows/disciplines/protocols.yaml +1 -1
- package/workflows/discuss/auto/SKILL.md +10 -6
- package/workflows/discuss/auto/workflow.yaml +1 -2
- package/workflows/discuss/phase/SKILL.md +11 -30
- package/workflows/discuss/phase/workflow.yaml +1 -1
- package/workflows/discuss/strategic/SKILL.md +12 -33
- package/workflows/discuss/strategic/workflow.yaml +2 -3
- package/workflows/discuss/subtask/SKILL.md +11 -30
- package/workflows/discuss/subtask/workflow.yaml +1 -1
- package/workflows/execute-task/SKILL.md +7 -6
- package/workflows/execute-task/workflow.yaml +93 -0
- package/workflows/judgments/fallback.yaml +1 -1
- package/workflows/judgments/parallelism-gate.yaml +4 -3
- package/workflows/judgments/phase-gate.yaml +2 -2
- package/workflows/judgments/strategic-gate.yaml +2 -2
- package/workflows/judgments/subtask-gate.yaml +2 -2
- package/workflows/judgments/tdd-gate.yaml +2 -2
- package/workflows/judgments/web-design-routing.yaml +1 -1
- package/workflows/judgments/web-search-routing.yaml +1 -1
- package/workflows/judgments/web-testing-routing.yaml +1 -1
- package/workflows/plan/architecture/SKILL.md +13 -34
- package/workflows/plan/architecture/workflow.yaml +2 -2
- package/workflows/plan/auto/SKILL.md +10 -6
- package/workflows/plan/auto/workflow.yaml +1 -2
- package/workflows/plan/phase/SKILL.md +14 -35
- package/workflows/plan/phase/workflow.yaml +3 -3
- package/workflows/plan-feature/SKILL.md +4 -4
- package/workflows/research/SKILL.md +19 -6
- package/workflows/research/workflow.yaml +4 -4
- package/workflows/retro/SKILL.md +13 -32
- package/workflows/retro/workflow.yaml +1 -2
- package/workflows/role-prompts.yaml +4 -3
- package/workflows/task/auto/SKILL.md +11 -7
- package/workflows/task/auto/workflow.yaml +2 -3
- package/workflows/task/clarify/SKILL.md +11 -30
- package/workflows/task/code/SKILL.md +14 -35
- package/workflows/task/code/workflow.yaml +0 -1
- package/workflows/task/deliver/SKILL.md +15 -38
- package/workflows/task/deliver/workflow.yaml +7 -6
- package/workflows/task/test/SKILL.md +11 -32
- package/workflows/task/test/workflow.yaml +1 -2
- package/workflows/verify/auto/SKILL.md +14 -10
- package/workflows/verify/auto/workflow.yaml +4 -5
- package/workflows/verify/code-review/SKILL.md +14 -38
- package/workflows/verify/code-review/workflow.yaml +1 -3
- package/workflows/verify/design/SKILL.md +14 -38
- package/workflows/verify/design/workflow.yaml +4 -5
- package/workflows/verify/multispec/SKILL.md +17 -39
- package/workflows/verify/multispec/workflow.yaml +5 -8
- package/workflows/verify/paranoid/SKILL.md +13 -38
- package/workflows/verify/paranoid/workflow.yaml +1 -2
- package/workflows/verify/progress/SKILL.md +13 -32
- package/workflows/verify/progress/workflow.yaml +0 -1
- package/workflows/verify/qa/SKILL.md +15 -36
- package/workflows/verify/qa/workflow.yaml +1 -2
- package/workflows/verify/security/SKILL.md +12 -35
- package/workflows/verify/security/workflow.yaml +1 -2
- package/workflows/verify/simplify/SKILL.md +13 -34
- package/workflows/verify/simplify/workflow.yaml +1 -2
- package/workflows/verify-work/SKILL.md +5 -7
- package/workflows/verify-work/workflow.yaml +5 -7
- package/workflows/execute-task/phases.yaml +0 -73
|
@@ -2,8 +2,7 @@
|
|
|
2
2
|
name: verify-design
|
|
3
3
|
description: |
|
|
4
4
|
Stage ④.f verify sub-workflow — gstack /design-review 设计系统一致性 + AI 审美问题识别
|
|
5
|
-
(has_design_changes 触发, 可选 conditional
|
|
6
|
-
/design-review" verbatim)。
|
|
5
|
+
(has_design_changes 触发, 可选 conditional; bundled verify-stage optional /design-review step).
|
|
7
6
|
schema_version: harnessed.workflow.v3 with disciplines_applied (6 default) + tools_available
|
|
8
7
|
(gstack-design-review + ui-ux-pro-max + frontend-design) + 1 phase (gate ref has_design_changes
|
|
9
8
|
conditional)。Triggered by harnessed CLI `harnessed verify-design --phase <num>` or slash
|
|
@@ -45,54 +44,31 @@ Sister `workflows/capabilities.yaml` entries:
|
|
|
45
44
|
Sister `workflows/judgments/stage-routing.yaml`:
|
|
46
45
|
- `verify-design-changes.fires` — `phase.stage == 'verify' and phase.has_design_changes == true`
|
|
47
46
|
|
|
48
|
-
## Routing rules (
|
|
47
|
+
## Routing rules (bundled web-design routing — `workflows/judgments/web-design-routing.yaml`)
|
|
49
48
|
|
|
50
49
|
- 默认主方案 → `ui-ux-pro-max` (数据驱动、标准化、可解释)
|
|
51
50
|
- 创意补充 / 不要 AI 味 → `frontend-design`
|
|
52
51
|
- 用户明示「独特 / 不要 AI 感」→ frontend-design 主导, 否则 ui-ux-pro-max 优先
|
|
53
52
|
|
|
54
|
-
<!-- v3.4.3-dual-path-invocation -->
|
|
55
53
|
## How to invoke
|
|
56
54
|
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
> 1. Classifier: marketing/landing vs app UI vs hybrid — apply matching rule set
|
|
69
|
-
>
|
|
70
|
-
> 2. Hard rejection: generic SaaS card grid / beautiful image weak brand / busy imagery behind text / carousel without narrative
|
|
71
|
-
>
|
|
72
|
-
> 3. Litmus: brand unmistakable first screen / one strong visual anchor / scannable by headlines / one job per section
|
|
73
|
-
>
|
|
74
|
-
> 4. Typography: expressive, not default stacks (Inter / Roboto / Arial / system)
|
|
75
|
-
>
|
|
76
|
-
> 5. Hero: full-bleed edge-to-edge / one composition / no cards in hero
|
|
77
|
-
>
|
|
78
|
-
> 6. Responsive ≠ stacked desktop on mobile — evaluate whether mobile layout makes design sense
|
|
79
|
-
>
|
|
80
|
-
> 7. Quick Wins section: 3-5 highest-impact fixes <30 min each
|
|
81
|
-
>
|
|
82
|
-
> 8. Every finding has a screenshot — annotated where possible (Read the file inline so user sees it)
|
|
83
|
-
>
|
|
84
|
-
> **Output format**: structured report with severity-classified findings (hard-reject / quick-win / nice-to-have). One finding per line: `[severity] file:line — problem (one sentence); fix: suggested change`. If no findings, say so explicitly. No preamble, no end-of-report summary.
|
|
85
|
-
|
|
86
|
-
(Role prompt is self-contained — works even when the upstream `gstack-design-review` user-skill / plugin isn't installed.)
|
|
87
|
-
|
|
88
|
-
(Sister `~/.claude/commands/verify-design.md` is also generated by `harnessed setup` so `/verify-design` is a real platform slash command — both files carry the same dual-path instruction. Previous v3.4.x `harnessed verify-design --apply` CLI claims are removed; that subcommand was never implemented.)
|
|
55
|
+
Use the Bash tool to run:
|
|
56
|
+
|
|
57
|
+
```bash
|
|
58
|
+
echo "$ARGUMENTS" | harnessed run verify-design --task-stdin
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
If `$ARGUMENTS` is empty, run `harnessed run verify-design` (no stdin pipe).
|
|
62
|
+
|
|
63
|
+
After completion, the Bash output prints a `Next:` hint on stderr suggesting the next stage. Decide whether to invoke based on conversation context — the hint is informational, not prescriptive.
|
|
64
|
+
|
|
65
|
+
<!-- harnessed-generated:v3.4.4 -->
|
|
89
66
|
|
|
90
67
|
## References
|
|
91
68
|
|
|
92
69
|
- D-04 Stage ④ Verify 7 sub 分解
|
|
93
70
|
- D-12 gstack 治理关卡可选
|
|
94
|
-
-
|
|
95
|
-
- ~/.claude/rules/web-design.md — ui-ux-pro-max 默认 + frontend-design 补充
|
|
71
|
+
- workflows/judgments/web-design-routing.yaml — ui-ux-pro-max 默认 + frontend-design 补充
|
|
96
72
|
- workflows/capabilities.yaml — gstack-design-review / ui-ux-pro-max / frontend-design
|
|
97
73
|
- workflows/judgments/stage-routing.yaml — verify-design-changes trigger
|
|
98
74
|
- workflows/verify-work/workflow.yaml v2 SHIPPED phase 07-design-review-conditional sister verbatim
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
# workflows/verify/design/workflow.yaml — Phase v3.0-3.4 W0 T3.4.W0.13c
|
|
2
2
|
#
|
|
3
3
|
# Stage ④.f verify sub-workflow — gstack /design-review 设计系统一致性 + AI 审美问题
|
|
4
|
-
# (has_design_changes 触发, 可选 conditional
|
|
4
|
+
# (has_design_changes 触发, 可选 conditional; bundled verify-stage optional /design-review step).
|
|
5
5
|
#
|
|
6
6
|
# Sister refs:
|
|
7
|
-
# -
|
|
8
|
-
# - ~/.claude/rules/web-design.md — ui-ux-pro-max 默认 + frontend-design 补充
|
|
7
|
+
# - workflows/judgments/web-design-routing.yaml — ui-ux-pro-max 默认 + frontend-design 补充
|
|
9
8
|
# - workflows/judgments/stage-routing.yaml verify-design-changes trigger (has_design_changes)
|
|
10
9
|
# - workflows/capabilities.yaml — gstack-design-review / ui-ux-pro-max / frontend-design
|
|
11
10
|
# - workflows/verify-work/workflow.yaml v2 SHIPPED phase 07-design-review-conditional sister pattern
|
|
@@ -17,8 +16,8 @@ description: |
|
|
|
17
16
|
Stage ④.f gstack /design-review 设计系统一致性 + AI 审美问题识别 (has_design_changes 触发,
|
|
18
17
|
可选 conditional)。Gate: judgments.stage-routing.verify-design-changes.fires
|
|
19
18
|
(phase.has_design_changes == true) — UI module fire only; 后端 / docs PR skip。
|
|
20
|
-
tools_available 含 ui-ux-pro-max (默认主方案) + frontend-design (创意补充)
|
|
21
|
-
|
|
19
|
+
tools_available 含 ui-ux-pro-max (默认主方案) + frontend-design (创意补充) per bundled
|
|
20
|
+
web-design routing (workflows/judgments/web-design-routing.yaml).
|
|
22
21
|
|
|
23
22
|
disciplines_applied: [karpathy, output-style, language, operational, priority, protocols]
|
|
24
23
|
tools_available: [gstack-design-review, ui-ux-pro-max, frontend-design]
|
|
@@ -3,8 +3,8 @@ name: verify-multispec
|
|
|
3
3
|
description: |
|
|
4
4
|
Stage ④.h verify sub-workflow — 4-specialist Agent Team Pattern C 多维度审查 (关键发布 /
|
|
5
5
|
大重构 PR 升级, code-review + gstack-review + gstack-cso + gstack-qa 4 teammate 互相
|
|
6
|
-
SendMessage 质询, NOT fire-and-forget subagent fan-out
|
|
7
|
-
|
|
6
|
+
SendMessage 质询, NOT fire-and-forget subagent fan-out; bundled Agent Teams Pattern C
|
|
7
|
+
routing). Cleanup mandatory: shutdown_request + TeamDelete (bundled cleanup discipline).
|
|
8
8
|
schema_version: harnessed.workflow.v3 with disciplines_applied (6 default) + tools_available
|
|
9
9
|
(agent-teams 3 + 4 specialist capability) + 2 phase (01-team-create on critical-release
|
|
10
10
|
invoke / 02-team-cleanup mandatory shutdown)。
|
|
@@ -34,7 +34,7 @@ D-11 Agent Teams + Pattern A sub-workflow ship)。
|
|
|
34
34
|
Per-phase config loads from `workflows/verify/multispec/workflow.yaml`; phase 01 creates 4
|
|
35
35
|
teammate (code-review + gstack-review + gstack-cso + gstack-qa) via TeamCreate, teammates 互相
|
|
36
36
|
SendMessage 质询 findings 是否真问题 (NOT fire-and-forget); phase 02 mandatory shutdown_request
|
|
37
|
-
+ TeamDelete (
|
|
37
|
+
+ TeamDelete (bundled Agent Teams cleanup discipline)。
|
|
38
38
|
|
|
39
39
|
## Capability refs
|
|
40
40
|
|
|
@@ -57,53 +57,31 @@ Phase-level `on` clause (critical-release 升级触发):
|
|
|
57
57
|
- `if: phase.is_major_release == true or phase.is_large_refactor == true` → `action: invoke`
|
|
58
58
|
- else → `action: skip`
|
|
59
59
|
|
|
60
|
-
## Routing rules (
|
|
60
|
+
## Routing rules (bundled Agent Teams routing — `workflows/judgments/parallelism-gate.yaml`)
|
|
61
61
|
|
|
62
62
|
- ✅ **触发**: 关键发布 / 大重构 PR (≥3 specialist 需互相质询而非 fire-and-forget)
|
|
63
63
|
- ❌ **跳过**: 常规 PR / 单点任务 (sister verify-code-review fan-out + verify-paranoid 已够用且省 token)
|
|
64
|
-
- **Token 估算 prereq**: `team_cost < 2 × subagent_cost` (engine-level check
|
|
65
|
-
- **Cleanup mandatory**: phase 02-team-cleanup `agent-teams-shutdown` 必跑 (
|
|
64
|
+
- **Token 估算 prereq**: `team_cost < 2 × subagent_cost` (engine-level check; bundled cost guideline)
|
|
65
|
+
- **Cleanup mandatory**: phase 02-team-cleanup `agent-teams-shutdown` 必跑 (bundled cleanup discipline)
|
|
66
66
|
|
|
67
|
-
<!-- v3.4.3-dual-path-invocation -->
|
|
68
67
|
## How to invoke
|
|
69
68
|
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
> 1. Token-cost gate: estimate team_cost vs 2 × subagent_cost; only escalate when team wins
|
|
82
|
-
>
|
|
83
|
-
> 2. TeamCreate with 4 teammates: code-review / gstack-review / gstack-cso / gstack-qa
|
|
84
|
-
>
|
|
85
|
-
> 3. Each teammate's brief is self-contained (no shared session context to lean on)
|
|
86
|
-
>
|
|
87
|
-
> 4. Round-trip findings: each teammate sends top-3 findings; others rate (real / false-positive / nit)
|
|
88
|
-
>
|
|
89
|
-
> 5. Lead arbitrates conflicts; produces final report ordered CRITICAL → HIGH → MEDIUM
|
|
90
|
-
>
|
|
91
|
-
> 6. Cleanup MANDATORY: SendMessage shutdown_request to each teammate, then TeamDelete
|
|
92
|
-
>
|
|
93
|
-
> 7. If the gate doesn't fire (regular PR), DO NOT escalate — fall back to single-agent fan-out
|
|
94
|
-
>
|
|
95
|
-
> **Output format**: structured report with severity-classified findings (ship-blocker / ship-with-action / informational). One finding per line: `[severity] file:line — problem (one sentence); fix: suggested change`. If no findings, say so explicitly. No preamble, no end-of-report summary.
|
|
96
|
-
|
|
97
|
-
(Role prompt is self-contained — works even when the upstream `agent-teams-create` user-skill / plugin isn't installed.)
|
|
98
|
-
|
|
99
|
-
(Sister `~/.claude/commands/verify-multispec.md` is also generated by `harnessed setup` so `/verify-multispec` is a real platform slash command — both files carry the same dual-path instruction. Previous v3.4.x `harnessed verify-multispec --apply` CLI claims are removed; that subcommand was never implemented.)
|
|
69
|
+
Use the Bash tool to run:
|
|
70
|
+
|
|
71
|
+
```bash
|
|
72
|
+
echo "$ARGUMENTS" | harnessed run verify-multispec --task-stdin
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
If `$ARGUMENTS` is empty, run `harnessed run verify-multispec` (no stdin pipe).
|
|
76
|
+
|
|
77
|
+
After completion, the Bash output prints a `Next:` hint on stderr suggesting the next stage. Decide whether to invoke based on conversation context — the hint is informational, not prescriptive.
|
|
78
|
+
|
|
79
|
+
<!-- harnessed-generated:v3.4.4 -->
|
|
100
80
|
|
|
101
81
|
## References
|
|
102
82
|
|
|
103
83
|
- D-04 Stage ④ Verify 7 sub 分解
|
|
104
84
|
- D-11 Agent Teams 4-specialist Pattern C upgrade
|
|
105
|
-
- ~/.claude/CLAUDE.md "Verify 阶段 — 关键发布 / 大重构 PR 升级 Agent Team Pattern C" verbatim
|
|
106
|
-
- ~/.claude/rules/agent-teams.md Pattern C 多维度审查 + 防呆清单 + 完整生命周期
|
|
107
85
|
- workflows/capabilities.yaml — agent-teams-{create,send-message,shutdown} + 4 specialist
|
|
108
86
|
- workflows/judgments/stage-routing.yaml — verify-multispec-critical-release trigger
|
|
109
87
|
- workflows/judgments/parallelism-gate.yaml — agent-teams-upgrade.fires (5 OR-chain)
|
|
@@ -1,12 +1,9 @@
|
|
|
1
1
|
# workflows/verify/multispec/workflow.yaml — Phase v3.0-3.4 W0 T3.4.W0.13e
|
|
2
2
|
#
|
|
3
3
|
# Stage ④.h verify sub-workflow — 4-specialist Agent Team Pattern C 多维度审查 critical-release upgrade
|
|
4
|
-
# (
|
|
5
|
-
# ~/.claude/rules/agent-teams.md L42-L52 Pattern C 多维度审查 ≥3 specialist 互相质询 NOT fire-and-forget)。
|
|
4
|
+
# (bundled verify-stage Pattern C escalation: ≥3 specialist 互相 SendMessage 质询, NOT fire-and-forget).
|
|
6
5
|
#
|
|
7
6
|
# Sister refs:
|
|
8
|
-
# - ~/.claude/CLAUDE.md "Verify 阶段 — 关键发布 / 大重构 PR 升级 Agent Team Pattern C" verbatim
|
|
9
|
-
# - ~/.claude/rules/agent-teams.md Pattern C 多维度审查 (≥3 specialist lead 委派 + 互相质询)
|
|
10
7
|
# - workflows/judgments/stage-routing.yaml verify-multispec-critical-release trigger
|
|
11
8
|
# - workflows/judgments/parallelism-gate.yaml agent-teams-upgrade.fires (5 OR-chain)
|
|
12
9
|
# - workflows/capabilities.yaml — agent-teams-create / agent-teams-send-message / agent-teams-shutdown
|
|
@@ -14,9 +11,9 @@
|
|
|
14
11
|
# - workflows/verify-work/workflow.yaml v2 SHIPPED phase 09-agent-team-multispecialist sister pattern
|
|
15
12
|
# - .planning/phase-v3.0-3.2/RESEARCH-workflows.md § Area 2 verify/multispec example verbatim
|
|
16
13
|
#
|
|
17
|
-
# Cleanup mandatory
|
|
18
|
-
# TeamDelete
|
|
19
|
-
# Token estimate prereq
|
|
14
|
+
# Cleanup mandatory (bundled Agent Teams discipline): SendMessage shutdown_request +
|
|
15
|
+
# TeamDelete — engine-level wiring (phase 02-team-cleanup capability agent-teams-shutdown).
|
|
16
|
+
# Token estimate prereq: team_cost < 2 × subagent_cost (bundled cost guideline; engine-level check).
|
|
20
17
|
|
|
21
18
|
schema_version: harnessed.workflow.v3
|
|
22
19
|
workflow: verify-multispec
|
|
@@ -24,7 +21,7 @@ description: |
|
|
|
24
21
|
Stage ④.h 4-specialist Agent Team Pattern C 多维度审查 (关键发布 / 大重构 PR 升级,
|
|
25
22
|
code-review + gstack-review + gstack-cso + gstack-qa 4 teammate 互相 SendMessage 质询,
|
|
26
23
|
NOT fire-and-forget subagent fan-out)。Cleanup mandatory: shutdown_request + TeamDelete
|
|
27
|
-
(
|
|
24
|
+
(bundled Agent Teams cleanup discipline)。
|
|
28
25
|
|
|
29
26
|
disciplines_applied: [karpathy, output-style, language, operational, priority, protocols]
|
|
30
27
|
tools_available:
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
name: verify-paranoid
|
|
3
3
|
description: |
|
|
4
4
|
Stage ④.c verify sub-workflow — gstack /review Paranoid Staff Engineer 关键模块 PR 前强制
|
|
5
|
-
(
|
|
5
|
+
(bundled gstack governance gate — mandatory before critical-module PR)。Gate:
|
|
6
6
|
judgments.stage-routing.verify-paranoid-critical.fires (phase.is_critical_module == true) —
|
|
7
|
-
默认 critical fire only; 非关键模块 skip
|
|
7
|
+
默认 critical fire only; 非关键模块 skip。
|
|
8
8
|
schema_version: harnessed.workflow.v3 with disciplines_applied (6 default) + tools_available
|
|
9
9
|
(gstack-review) + 1 phase (gate ref is_critical_module conditional)。
|
|
10
10
|
Triggered by slash command
|
|
@@ -50,49 +50,24 @@ Sister `workflows/judgments/stage-routing.yaml`:
|
|
|
50
50
|
- ✅ **触发**: 关键模块 PR 前 (auth / payment / data migration / core algorithm 等)
|
|
51
51
|
- ❌ **跳过**: 常规 PR / docs / config / 非核心 module
|
|
52
52
|
|
|
53
|
-
<!-- v3.4.3-dual-path-invocation -->
|
|
54
53
|
## How to invoke
|
|
55
54
|
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
> 1. SQL & Data Safety — string interpolation, TOCTOU races, validation bypass, N+1
|
|
68
|
-
>
|
|
69
|
-
> 2. Race conditions & concurrency — read-check-write without unique constraint, missing atomic UPDATE
|
|
70
|
-
>
|
|
71
|
-
> 3. LLM output trust boundary — unvalidated LLM-generated values to DB / SSRF / stored prompt injection
|
|
72
|
-
>
|
|
73
|
-
> 4. Shell injection — subprocess shell=True with interpolation, os.system, eval/exec on LLM output
|
|
74
|
-
>
|
|
75
|
-
> 5. Enum & value completeness — new enum/status/tier value reached every consumer (case/if-chains/allowlists)
|
|
76
|
-
>
|
|
77
|
-
> 6. Async/sync mixing — sync I/O inside async def, time.sleep in async
|
|
78
|
-
>
|
|
79
|
-
> 7. Column/field name safety — ORM .select/.eq columns match schema
|
|
80
|
-
>
|
|
81
|
-
> 8. Type coercion at boundaries — hash/digest inputs normalized before serialize
|
|
82
|
-
>
|
|
83
|
-
> 9. Time window safety — date-key lookups assuming 24h coverage; mismatched buckets between features
|
|
84
|
-
>
|
|
85
|
-
> **Output format**: structured report with severity-classified findings (CRITICAL / INFORMATIONAL (Fix-First Heuristic — critical → ASK, informational → AUTO-FIX)). One finding per line: `[severity] file:line — problem (one sentence); fix: suggested change`. If no findings, say so explicitly. No preamble, no end-of-report summary.
|
|
86
|
-
|
|
87
|
-
(Role prompt is self-contained — works even when the upstream `gstack-review` user-skill / plugin isn't installed.)
|
|
88
|
-
|
|
89
|
-
(Sister `~/.claude/commands/verify-paranoid.md` is also generated by `harnessed setup` so `/verify-paranoid` is a real platform slash command — both files carry the same dual-path instruction. Previous v3.4.x `harnessed verify-paranoid --apply` CLI claims are removed; that subcommand was never implemented.)
|
|
55
|
+
Use the Bash tool to run:
|
|
56
|
+
|
|
57
|
+
```bash
|
|
58
|
+
echo "$ARGUMENTS" | harnessed run verify-paranoid --task-stdin
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
If `$ARGUMENTS` is empty, run `harnessed run verify-paranoid` (no stdin pipe).
|
|
62
|
+
|
|
63
|
+
After completion, the Bash output prints a `Next:` hint on stderr suggesting the next stage. Decide whether to invoke based on conversation context — the hint is informational, not prescriptive.
|
|
64
|
+
|
|
65
|
+
<!-- harnessed-generated:v3.4.4 -->
|
|
90
66
|
|
|
91
67
|
## References
|
|
92
68
|
|
|
93
69
|
- D-04 Stage ④ Verify 7 sub 分解
|
|
94
70
|
- D-12 gstack 治理关卡强制
|
|
95
|
-
- ~/.claude/CLAUDE.md "gstack 治理关卡 🔒 关键模块 PR 前强制" verbatim
|
|
96
71
|
- workflows/capabilities.yaml — gstack-review
|
|
97
72
|
- workflows/judgments/stage-routing.yaml — verify-paranoid-critical trigger
|
|
98
73
|
- workflows/defaults.yaml — ralph_max_iterations.verify-paranoid.* values (W2.2 backfill)
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
# workflows/verify/paranoid/workflow.yaml — Phase v3.0-3.4 W0 T3.4.W0.12
|
|
2
2
|
#
|
|
3
3
|
# Stage ④.c verify sub-workflow — gstack /review Paranoid Staff Engineer 关键模块 PR 前强制
|
|
4
|
-
# (
|
|
4
|
+
# (bundled gstack governance gate — mandatory before critical-module PR).
|
|
5
5
|
#
|
|
6
6
|
# Sister refs:
|
|
7
|
-
# - ~/.claude/CLAUDE.md "gstack 治理关卡 🔒 关键模块 PR 前强制" verbatim
|
|
8
7
|
# - workflows/judgments/stage-routing.yaml verify-paranoid-critical trigger (phase.is_critical_module)
|
|
9
8
|
# - workflows/capabilities.yaml — gstack-review (Bucket 3 治理关卡, impl: gstack, cmd: /review)
|
|
10
9
|
# - workflows/verify-work/workflow.yaml v2 SHIPPED phase 04-gstack-review-conditional sister pattern
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
name: verify-progress
|
|
3
3
|
description: |
|
|
4
4
|
Stage ④.a verify sub-workflow — gsd-verify-work + gsd-progress 必跑串行 (verify-work 起点)
|
|
5
|
-
+ planning-with-files progress.md 持久化 (
|
|
6
|
-
|
|
5
|
+
+ planning-with-files progress.md 持久化 (bundled verify-stage cadence — mandatory serial:
|
|
6
|
+
gsd-verify-work UAT-driven acceptance + gsd-progress 状态同步 顺序不可调换)。
|
|
7
7
|
schema_version: harnessed.workflow.v3 with disciplines_applied (6 default) + tools_available
|
|
8
8
|
(gsd-verify-work + gsd-progress + planning-with-files) + 3 phases (serial 01→02 + persist
|
|
9
9
|
progress.md sink)。Triggered by harnessed CLI `harnessed verify-progress --phase <num>` or
|
|
@@ -46,43 +46,24 @@ Sister `workflows/capabilities.yaml` entries:
|
|
|
46
46
|
总 fire 当 `phase.stage == 'verify'` (sister `workflows/judgments/stage-routing.yaml`
|
|
47
47
|
verify-progress-always trigger)。无 skip 条件 — verify-work 起点必跑。
|
|
48
48
|
|
|
49
|
-
<!-- v3.4.3-dual-path-invocation -->
|
|
50
49
|
## How to invoke
|
|
51
50
|
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
> 1. Read the phase's acceptance criteria from PLAN.md / task_plan.md
|
|
64
|
-
>
|
|
65
|
-
> 2. For each criterion, demonstrate it passes (test result, manual UAT log, screenshot)
|
|
66
|
-
>
|
|
67
|
-
> 3. Flag any criterion that is partial / stubbed / TODO — do NOT mark complete
|
|
68
|
-
>
|
|
69
|
-
> 4. Sync ROADMAP.md / STATE.md / REQUIREMENTS.md via gsd-progress
|
|
70
|
-
>
|
|
71
|
-
> 5. Append `progress.md` with completed subtask hash + verification artifact
|
|
72
|
-
>
|
|
73
|
-
> 6. If acceptance is incomplete, route to bug-fix and re-verify; do not advance
|
|
74
|
-
>
|
|
75
|
-
> **Output format**: structured report with severity-classified findings (accepted / partial / blocked / failed). One finding per line: `[severity] file:line — problem (one sentence); fix: suggested change`. If no findings, say so explicitly. No preamble, no end-of-report summary.
|
|
76
|
-
|
|
77
|
-
(Role prompt is self-contained — works even when the upstream `gsd-verify-work` user-skill / plugin isn't installed.)
|
|
78
|
-
|
|
79
|
-
(Sister `~/.claude/commands/verify-progress.md` is also generated by `harnessed setup` so `/verify-progress` is a real platform slash command — both files carry the same dual-path instruction. Previous v3.4.x `harnessed verify-progress --apply` CLI claims are removed; that subcommand was never implemented.)
|
|
51
|
+
Use the Bash tool to run:
|
|
52
|
+
|
|
53
|
+
```bash
|
|
54
|
+
echo "$ARGUMENTS" | harnessed run verify-progress --task-stdin
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
If `$ARGUMENTS` is empty, run `harnessed run verify-progress` (no stdin pipe).
|
|
58
|
+
|
|
59
|
+
After completion, the Bash output prints a `Next:` hint on stderr suggesting the next stage. Decide whether to invoke based on conversation context — the hint is informational, not prescriptive.
|
|
60
|
+
|
|
61
|
+
<!-- harnessed-generated:v3.4.4 -->
|
|
80
62
|
|
|
81
63
|
## References
|
|
82
64
|
|
|
83
65
|
- D-04 Stage ④ Verify 7 sub 分解
|
|
84
66
|
- D-12 gstack 治理关卡 ref (verify-paranoid 后续 sub)
|
|
85
|
-
- ~/.claude/CLAUDE.md "Verify 阶段 — gsd-verify-work + gsd-progress 必跑串行" verbatim
|
|
86
67
|
- workflows/capabilities.yaml — gsd-verify-work / gsd-progress / planning-with-files
|
|
87
68
|
- workflows/judgments/stage-routing.yaml — verify-progress-always trigger
|
|
88
69
|
- workflows/defaults.yaml — ralph_max_iterations.verify-progress.* values (W2.2 backfill)
|
|
@@ -4,7 +4,6 @@
|
|
|
4
4
|
# + planning-with-files persist (progress.md sink, sister CLAUDE.md "Verify 阶段" verbatim)。
|
|
5
5
|
#
|
|
6
6
|
# Sister refs:
|
|
7
|
-
# - ~/.claude/CLAUDE.md "Verify 阶段" 章节 verbatim (gsd-verify-work + gsd-progress 必跑串行)
|
|
8
7
|
# - workflows/judgments/stage-routing.yaml verify-progress-always trigger (总 fire 当 stage=='verify')
|
|
9
8
|
# - workflows/capabilities.yaml — gsd-verify-work / gsd-progress / planning-with-files
|
|
10
9
|
# - workflows/verify-work/workflow.yaml v2 SHIPPED phase 01-02 verbatim pattern
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: verify-qa
|
|
3
3
|
description: |
|
|
4
|
-
Stage ④.d verify sub-workflow — gstack /qa 端到端 QA 验收 (has_ui_changes 触发, 可选 conditional
|
|
5
|
-
|
|
4
|
+
Stage ④.d verify sub-workflow — gstack /qa 端到端 QA 验收 (has_ui_changes 触发, 可选 conditional;
|
|
5
|
+
bundled verify-stage optional /qa step).
|
|
6
6
|
schema_version: harnessed.workflow.v3 with disciplines_applied (6 default) + tools_available
|
|
7
7
|
(gstack-qa + playwright-cli + playwright-test + webapp-testing) + 1 phase (gate ref
|
|
8
8
|
has_ui_changes conditional)。
|
|
@@ -45,53 +45,32 @@ Sister `workflows/capabilities.yaml` entries:
|
|
|
45
45
|
Sister `workflows/judgments/stage-routing.yaml`:
|
|
46
46
|
- `verify-qa-ui.fires` — `phase.stage == 'verify' and phase.has_ui_changes == true`
|
|
47
47
|
|
|
48
|
-
## Routing rules (
|
|
48
|
+
## Routing rules (bundled web-testing routing — `workflows/judgments/web-testing-routing.yaml`)
|
|
49
49
|
|
|
50
50
|
- 写测试 提交 repo / CI 跑 → `@playwright/test` (默认 frontend/e2e/*.spec.ts)
|
|
51
51
|
- 探查 / 调试 / 一次性确认 → `playwright-cli` (token 最省)
|
|
52
52
|
- setup 需 Python 后端 (Tortoise ORM / pandas) → `webapp-testing` skill
|
|
53
53
|
- 性能 / a11y / 内存诊断 → 不在此 sub-workflow,用 `chrome-devtools-mcp`
|
|
54
54
|
|
|
55
|
-
<!-- v3.4.3-dual-path-invocation -->
|
|
56
55
|
## How to invoke
|
|
57
56
|
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
> 1. Orient: map the application (links, framework detection, initial console errors)
|
|
70
|
-
>
|
|
71
|
-
> 2. Per page: visual scan, interactive elements work, console clean, responsive check
|
|
72
|
-
>
|
|
73
|
-
> 3. Forms: empty / invalid / edge cases — error messages clear and actionable
|
|
74
|
-
>
|
|
75
|
-
> 4. Navigation: every path in and out works, no dead-ends
|
|
76
|
-
>
|
|
77
|
-
> 5. States: empty, loading, error, overflow — none look like AI placeholder
|
|
78
|
-
>
|
|
79
|
-
> 6. Mobile: 375x812 viewport — real layout, not stacked desktop
|
|
80
|
-
>
|
|
81
|
-
> 7. Authenticated paths if creds / cookies provided; depth > breadth on core flows
|
|
82
|
-
>
|
|
83
|
-
> **Output format**: structured report with severity-classified findings (blocker / major / minor / nit). One finding per line: `[severity] file:line — problem (one sentence); fix: suggested change`. If no findings, say so explicitly. No preamble, no end-of-report summary.
|
|
84
|
-
|
|
85
|
-
(Role prompt is self-contained — works even when the upstream `gstack-qa` user-skill / plugin isn't installed.)
|
|
86
|
-
|
|
87
|
-
(Sister `~/.claude/commands/verify-qa.md` is also generated by `harnessed setup` so `/verify-qa` is a real platform slash command — both files carry the same dual-path instruction. Previous v3.4.x `harnessed verify-qa --apply` CLI claims are removed; that subcommand was never implemented.)
|
|
57
|
+
Use the Bash tool to run:
|
|
58
|
+
|
|
59
|
+
```bash
|
|
60
|
+
echo "$ARGUMENTS" | harnessed run verify-qa --task-stdin
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
If `$ARGUMENTS` is empty, run `harnessed run verify-qa` (no stdin pipe).
|
|
64
|
+
|
|
65
|
+
After completion, the Bash output prints a `Next:` hint on stderr suggesting the next stage. Decide whether to invoke based on conversation context — the hint is informational, not prescriptive.
|
|
66
|
+
|
|
67
|
+
<!-- harnessed-generated:v3.4.4 -->
|
|
88
68
|
|
|
89
69
|
## References
|
|
90
70
|
|
|
91
71
|
- D-04 Stage ④ Verify 7 sub 分解
|
|
92
72
|
- D-12 gstack 治理关卡可选
|
|
93
|
-
-
|
|
94
|
-
- ~/.claude/rules/web-testing.md — 三层职责矩阵 (脑 / 手 / 筋骨)
|
|
73
|
+
- workflows/judgments/web-testing-routing.yaml — 三层职责矩阵 (脑 / 手 / 筋骨)
|
|
95
74
|
- workflows/capabilities.yaml — gstack-qa / playwright-cli / playwright-test / webapp-testing
|
|
96
75
|
- workflows/judgments/stage-routing.yaml — verify-qa-ui trigger
|
|
97
76
|
- workflows/verify-work/workflow.yaml v2 SHIPPED phase 05-qa-conditional sister verbatim
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
# workflows/verify/qa/workflow.yaml — Phase v3.0-3.4 W0 T3.4.W0.13a
|
|
2
2
|
#
|
|
3
3
|
# Stage ④.d verify sub-workflow — gstack /qa 端到端 QA 验收 (has_ui_changes 触发, 可选 conditional)
|
|
4
|
-
# (
|
|
4
|
+
# (bundled verify-stage optional /qa step).
|
|
5
5
|
#
|
|
6
6
|
# Sister refs:
|
|
7
|
-
# - ~/.claude/CLAUDE.md "Verify 阶段 — 可选 /qa" 章节
|
|
8
7
|
# - workflows/judgments/stage-routing.yaml verify-qa-ui trigger (has_ui_changes)
|
|
9
8
|
# - workflows/capabilities.yaml — gstack-qa (Bucket 3 治理关卡, impl: gstack, cmd: /qa)
|
|
10
9
|
# - workflows/verify-work/workflow.yaml v2 SHIPPED phase 05-qa-conditional sister pattern
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
name: verify-security
|
|
3
3
|
description: |
|
|
4
4
|
Stage ④.e verify sub-workflow — gstack /cso 安全审查 OWASP/auth/secrets (has_auth_or_secrets
|
|
5
|
-
触发, 可选 conditional
|
|
5
|
+
触发, 可选 conditional; bundled verify-stage optional /cso step).
|
|
6
6
|
schema_version: harnessed.workflow.v3 with disciplines_applied (6 default) + tools_available
|
|
7
7
|
(gstack-cso) + 1 phase (gate ref has_auth_or_secrets conditional)。
|
|
8
8
|
Triggered by slash command
|
|
@@ -47,47 +47,24 @@ Sister `workflows/judgments/stage-routing.yaml`:
|
|
|
47
47
|
- ✅ **触发**: auth flow / session / credentials / API keys / SQL injection 路径 / OWASP top 10 area
|
|
48
48
|
- ❌ **跳过**: docs / 纯 UI styling / 内部 refactor / non-security PR
|
|
49
49
|
|
|
50
|
-
<!-- v3.4.3-dual-path-invocation -->
|
|
51
50
|
## How to invoke
|
|
52
51
|
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
> 1. OWASP Top 10: injection / broken auth / sensitive data exposure / XXE / broken access control / misconfig / XSS / insecure deserialize / known-vuln deps / insufficient logging
|
|
65
|
-
>
|
|
66
|
-
> 2. Secrets archaeology: git history scan for leaked credentials, .env tracked files, CI inline secrets
|
|
67
|
-
>
|
|
68
|
-
> 3. Auth boundaries: every protected route enforces auth (not just CSR check); authorization not transitive across requests
|
|
69
|
-
>
|
|
70
|
-
> 4. CSRF / SSRF / stored prompt injection where LLM output enters knowledge bases
|
|
71
|
-
>
|
|
72
|
-
> 5. CI/CD: pull_request_target + checkout PR code, script injection via github.event.*, unpinned third-party actions
|
|
73
|
-
>
|
|
74
|
-
> 6. Dockerfiles: missing USER (root), secrets as ARG, .env in image, exposed ports without purpose
|
|
75
|
-
>
|
|
76
|
-
> 7. IaC: wildcard IAM, hardcoded secrets in .tfvars, privileged containers, hostNetwork in K8s
|
|
77
|
-
>
|
|
78
|
-
> 8. Dependency audit (npm audit / pip-audit / bundler-audit) — note SKIPPED tools rather than fail audit
|
|
79
|
-
>
|
|
80
|
-
> **Output format**: structured report with severity-classified findings (CRITICAL / HIGH / MEDIUM / LOW / INFO). One finding per line: `[severity] file:line — problem (one sentence); fix: suggested change`. If no findings, say so explicitly. No preamble, no end-of-report summary.
|
|
81
|
-
|
|
82
|
-
(Role prompt is self-contained — works even when the upstream `gstack-cso` user-skill / plugin isn't installed.)
|
|
83
|
-
|
|
84
|
-
(Sister `~/.claude/commands/verify-security.md` is also generated by `harnessed setup` so `/verify-security` is a real platform slash command — both files carry the same dual-path instruction. Previous v3.4.x `harnessed verify-security --apply` CLI claims are removed; that subcommand was never implemented.)
|
|
52
|
+
Use the Bash tool to run:
|
|
53
|
+
|
|
54
|
+
```bash
|
|
55
|
+
echo "$ARGUMENTS" | harnessed run verify-security --task-stdin
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
If `$ARGUMENTS` is empty, run `harnessed run verify-security` (no stdin pipe).
|
|
59
|
+
|
|
60
|
+
After completion, the Bash output prints a `Next:` hint on stderr suggesting the next stage. Decide whether to invoke based on conversation context — the hint is informational, not prescriptive.
|
|
61
|
+
|
|
62
|
+
<!-- harnessed-generated:v3.4.4 -->
|
|
85
63
|
|
|
86
64
|
## References
|
|
87
65
|
|
|
88
66
|
- D-04 Stage ④ Verify 7 sub 分解
|
|
89
67
|
- D-12 gstack 治理关卡可选
|
|
90
|
-
- ~/.claude/CLAUDE.md "Verify 阶段 — 可选 /cso" verbatim
|
|
91
68
|
- workflows/capabilities.yaml — gstack-cso
|
|
92
69
|
- workflows/judgments/stage-routing.yaml — verify-security-secrets trigger
|
|
93
70
|
- workflows/verify-work/workflow.yaml v2 SHIPPED phase 06-cso-conditional sister verbatim
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
# workflows/verify/security/workflow.yaml — Phase v3.0-3.4 W0 T3.4.W0.13b
|
|
2
2
|
#
|
|
3
3
|
# Stage ④.e verify sub-workflow — gstack /cso 安全审查 OWASP/auth/secrets
|
|
4
|
-
# (has_auth_or_secrets 触发, 可选 conditional
|
|
4
|
+
# (has_auth_or_secrets 触发, 可选 conditional; bundled verify-stage optional /cso step).
|
|
5
5
|
#
|
|
6
6
|
# Sister refs:
|
|
7
|
-
# - ~/.claude/CLAUDE.md "Verify 阶段 — 可选 /cso" 章节
|
|
8
7
|
# - workflows/judgments/stage-routing.yaml verify-security-secrets trigger (has_auth_or_secrets)
|
|
9
8
|
# - workflows/capabilities.yaml — gstack-cso (Bucket 3 治理关卡, impl: gstack, cmd: /cso)
|
|
10
9
|
# - workflows/verify-work/workflow.yaml v2 SHIPPED phase 06-cso-conditional sister pattern
|