harnessed 4.1.3 → 4.3.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/dist/cli.mjs +5515 -4983
- package/dist/cli.mjs.map +1 -1
- package/dist/index.mjs +1 -1
- package/dist/index.mjs.map +1 -1
- package/manifests/skill-packs/gsd.yaml +14 -14
- package/manifests/skill-packs/gstack.yaml +3 -3
- package/manifests/skill-packs/mattpocock-skills.yaml +1 -1
- package/package.json +1 -1
- package/workflows/capabilities.yaml +225 -5
- package/workflows/judgments/stage-phase-gate.yaml +42 -0
- package/workflows/verify/code-review/workflow.yaml +3 -0
- package/workflows/verify/design/workflow.yaml +3 -0
- package/workflows/verify/multispec/workflow.yaml +4 -0
- package/workflows/verify/paranoid/workflow.yaml +3 -0
- package/workflows/verify/qa/workflow.yaml +3 -0
- package/workflows/verify/security/workflow.yaml +3 -0
package/dist/index.mjs
CHANGED
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../package.json","../src/index.ts"],"names":[],"mappings":";AAAA,IAAA,eAAA,GAAA;AAAA,EAEE,OAAA,EAAW,OAgGb,CAAA;;;AC7FO,IAAM,UAAU,eAAA,CAAI","file":"index.mjs","sourcesContent":["{\n \"name\": \"harnessed\",\n \"version\": \"4.
|
|
1
|
+
{"version":3,"sources":["../package.json","../src/index.ts"],"names":[],"mappings":";AAAA,IAAA,eAAA,GAAA;AAAA,EAEE,OAAA,EAAW,OAgGb,CAAA;;;AC7FO,IAAM,UAAU,eAAA,CAAI","file":"index.mjs","sourcesContent":["{\n \"name\": \"harnessed\",\n \"version\": \"4.3.0\",\n \"description\": \"AI coding harness package manager + composition orchestrator\",\n \"type\": \"module\",\n \"license\": \"Apache-2.0\",\n \"author\": \"easyinplay\",\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"https://github.com/easyinplay/harnessed.git\"\n },\n \"homepage\": \"https://github.com/easyinplay/harnessed#readme\",\n \"bugs\": \"https://github.com/easyinplay/harnessed/issues\",\n \"keywords\": [\n \"claude-code\",\n \"ai-harness\",\n \"package-manager\",\n \"composition\",\n \"skill-pack\",\n \"mcp\",\n \"orchestrator\"\n ],\n \"engines\": {\n \"node\": \">=22.0.0\"\n },\n \"packageManager\": \"pnpm@10.12.0\",\n \"bin\": {\n \"harnessed\": \"./dist/cli.mjs\"\n },\n \"main\": \"./dist/index.mjs\",\n \"types\": \"./dist/index.d.ts\",\n \"exports\": {\n \".\": {\n \"types\": \"./dist/index.d.ts\",\n \"import\": \"./dist/index.mjs\",\n \"default\": \"./dist/index.mjs\"\n },\n \"./schemas\": {\n \"types\": \"./dist/schemas/index.d.ts\",\n \"import\": \"./dist/schemas/index.mjs\"\n },\n \"./package.json\": \"./package.json\"\n },\n \"files\": [\n \"dist\",\n \"manifests\",\n \"messages\",\n \"workflows\",\n \"routing\",\n \"config-templates\",\n \"schemas\",\n \"README.md\",\n \"LICENSE\",\n \"NOTICE\",\n \"THIRD-PARTY-NOTICES.md\"\n ],\n \"scripts\": {\n \"dev\": \"tsup --watch\",\n \"build\": \"tsc --noEmit && tsup\",\n \"build:schema\": \"node ./scripts/build-schema.mjs\",\n \"validate:schema\": \"node ./scripts/validate-schema.mjs\",\n \"typecheck\": \"tsc --noEmit\",\n \"test\": \"vitest run --passWithNoTests\",\n \"test:watch\": \"vitest\",\n \"test:coverage\": \"vitest run --coverage --passWithNoTests\",\n \"bench\": \"vitest bench --run\",\n \"lint\": \"biome check .\",\n \"lint:fix\": \"biome check --write .\",\n \"format\": \"biome format --write .\"\n },\n \"dependencies\": {\n \"@anthropic-ai/claude-agent-sdk\": \"0.3.142\",\n \"@clack/prompts\": \"^0.10.1\",\n \"@sinclair/typebox\": \"^0.34.49\",\n \"ajv\": \"^8.20.0\",\n \"ajv-errors\": \"^3.0.0\",\n \"ajv-formats\": \"^3.0.1\",\n \"commander\": \"^13.0.0\",\n \"diff\": \"^9.0.0\",\n \"expr-eval\": \"^2.0.2\",\n \"picocolors\": \"^1.1.1\",\n \"proper-lockfile\": \"^4.1.2\",\n \"yaml\": \"^2.9.0\"\n },\n \"devDependencies\": {\n \"@biomejs/biome\": \"^2.0.0\",\n \"@types/node\": \"^22.10.0\",\n \"@types/proper-lockfile\": \"^4.1.4\",\n \"@vitest/coverage-v8\": \"^4.0.0\",\n \"tsup\": \"^8.3.0\",\n \"typescript\": \"^5.6.0\",\n \"vitest\": \"^4.0.0\"\n },\n \"pnpm\": {\n \"onlyBuiltDependencies\": [\n \"esbuild\"\n ]\n }\n}\n","// Main library entry — re-exports public APIs.\n// phase 1.1 batch 1: skeleton only; schema validator wired in batch 2 (T3+).\n\nimport pkg from '../package.json' with { type: 'json' }\n\nexport const VERSION = pkg.version\n"]}
|
|
@@ -3,14 +3,14 @@ apiVersion: harnessed/v1
|
|
|
3
3
|
kind: Manifest
|
|
4
4
|
metadata:
|
|
5
5
|
name: gsd
|
|
6
|
-
display_name: GSD (
|
|
6
|
+
display_name: GSD Core (Git. Ship. Done.)
|
|
7
7
|
description: Project-manager orchestrator providing /gsd-* discuss-plan-execute-verify workflow.
|
|
8
8
|
upstream:
|
|
9
|
-
source:
|
|
10
|
-
homepage: https://github.com/gsd
|
|
11
|
-
repository: https://github.com/gsd
|
|
9
|
+
source: "@opengsd/gsd-core"
|
|
10
|
+
homepage: https://github.com/open-gsd/gsd-core
|
|
11
|
+
repository: https://github.com/open-gsd/gsd-core.git
|
|
12
12
|
license: MIT
|
|
13
|
-
notice: GSD by gsd
|
|
13
|
+
notice: GSD Core (Git. Ship. Done.) by open-gsd, used as orchestration layer in harnessed plan-feature workflow.
|
|
14
14
|
spec:
|
|
15
15
|
type: cli-npm
|
|
16
16
|
component_type: command
|
|
@@ -18,20 +18,20 @@ spec:
|
|
|
18
18
|
install_type: npm
|
|
19
19
|
install:
|
|
20
20
|
method: npm-cli
|
|
21
|
-
cmd: "npx --yes
|
|
22
|
-
npm_version: ^1.
|
|
23
|
-
idempotent_check: "test -d ~/.claude/skills/gsd"
|
|
21
|
+
cmd: "npx --yes @opengsd/gsd-core@latest --claude --global"
|
|
22
|
+
npm_version: ^1.4.1
|
|
23
|
+
idempotent_check: "test -d ~/.claude/skills/gsd-plan-phase"
|
|
24
24
|
verify:
|
|
25
|
-
cmd: "
|
|
25
|
+
cmd: "test -f ~/.claude/skills/gsd-plan-phase/SKILL.md"
|
|
26
26
|
timeout_ms: 10000
|
|
27
27
|
uninstall:
|
|
28
|
-
cmd: "
|
|
28
|
+
cmd: "npx --yes @opengsd/gsd-core@latest --uninstall --claude"
|
|
29
29
|
cleanup_paths:
|
|
30
|
-
- ~/.claude/skills/gsd
|
|
30
|
+
- ~/.claude/skills/gsd-plan-phase
|
|
31
31
|
upstream_health:
|
|
32
|
-
stability:
|
|
33
|
-
last_check: "2026-
|
|
34
|
-
last_known_good_version: 1.
|
|
32
|
+
stability: stable
|
|
33
|
+
last_check: "2026-06-09"
|
|
34
|
+
last_known_good_version: 1.4.1
|
|
35
35
|
fallback_action: warn
|
|
36
36
|
signed_by: easyinplay
|
|
37
37
|
platforms:
|
|
@@ -19,7 +19,7 @@ spec:
|
|
|
19
19
|
install:
|
|
20
20
|
method: git-clone-with-setup
|
|
21
21
|
cmd: "git clone https://github.com/garrytan/gstack.git ~/.claude/skills/gstack && cd ~/.claude/skills/gstack && bash ./setup.sh"
|
|
22
|
-
git_ref:
|
|
22
|
+
git_ref: 1626d4857bfe30da2690dd6a3217961934aa3192
|
|
23
23
|
idempotent_check: "test -d ~/.claude/skills/gstack/.git"
|
|
24
24
|
verify:
|
|
25
25
|
cmd: "test -f ~/.claude/skills/gstack/skills/office-hours.md"
|
|
@@ -30,8 +30,8 @@ spec:
|
|
|
30
30
|
- ~/.claude/skills/gstack
|
|
31
31
|
upstream_health:
|
|
32
32
|
stability: stable
|
|
33
|
-
last_check: "2026-
|
|
34
|
-
last_known_good_version:
|
|
33
|
+
last_check: "2026-06-09"
|
|
34
|
+
last_known_good_version: 1.52.1.0
|
|
35
35
|
fallback_action: warn
|
|
36
36
|
signed_by: easyinplay
|
|
37
37
|
platforms:
|
package/package.json
CHANGED
|
@@ -977,6 +977,72 @@ capabilities:
|
|
|
977
977
|
fires_when:
|
|
978
978
|
- subtask.bug_root_cause_unknown == true
|
|
979
979
|
|
|
980
|
+
spec:
|
|
981
|
+
impl: gstack
|
|
982
|
+
install_type: user-skill
|
|
983
|
+
skill_dir: gstack
|
|
984
|
+
cmd: /spec
|
|
985
|
+
since: v5.1
|
|
986
|
+
category: tool-slash-cmd
|
|
987
|
+
description: 5-stage spec → GitHub issue → 可选 agent 生成
|
|
988
|
+
fires_when:
|
|
989
|
+
- phase.stage == 'plan' AND phase.needs_spec_to_issues == true
|
|
990
|
+
|
|
991
|
+
skillify:
|
|
992
|
+
impl: gstack
|
|
993
|
+
install_type: user-skill
|
|
994
|
+
skill_dir: gstack
|
|
995
|
+
cmd: /skillify
|
|
996
|
+
since: v5.1
|
|
997
|
+
category: tool-slash-cmd
|
|
998
|
+
description: 把现有流程蒸馏成新 gstack skill
|
|
999
|
+
fires_when:
|
|
1000
|
+
- user.explicit_signal includes 'skillify'
|
|
1001
|
+
|
|
1002
|
+
pair-agent:
|
|
1003
|
+
impl: gstack
|
|
1004
|
+
install_type: user-skill
|
|
1005
|
+
skill_dir: gstack
|
|
1006
|
+
cmd: /pair-agent
|
|
1007
|
+
since: v5.1
|
|
1008
|
+
category: tool-slash-cmd
|
|
1009
|
+
description: 远程 agent 配对 + ngrok tunnel
|
|
1010
|
+
fires_when:
|
|
1011
|
+
- user.explicit_signal includes 'pair agent'
|
|
1012
|
+
|
|
1013
|
+
scrape:
|
|
1014
|
+
impl: gstack
|
|
1015
|
+
install_type: user-skill
|
|
1016
|
+
skill_dir: gstack
|
|
1017
|
+
cmd: /scrape
|
|
1018
|
+
since: v5.1
|
|
1019
|
+
category: tool-slash-cmd
|
|
1020
|
+
description: 批量页面抓取
|
|
1021
|
+
fires_when:
|
|
1022
|
+
- user.explicit_signal includes 'scrape'
|
|
1023
|
+
|
|
1024
|
+
benchmark-models:
|
|
1025
|
+
impl: gstack
|
|
1026
|
+
install_type: user-skill
|
|
1027
|
+
skill_dir: gstack
|
|
1028
|
+
cmd: /benchmark-models
|
|
1029
|
+
since: v5.1
|
|
1030
|
+
category: tool-slash-cmd
|
|
1031
|
+
description: 跨模型基准对比 (Claude/GPT/Gemini)
|
|
1032
|
+
fires_when:
|
|
1033
|
+
- user.explicit_signal includes 'benchmark models'
|
|
1034
|
+
|
|
1035
|
+
landing-report:
|
|
1036
|
+
impl: gstack
|
|
1037
|
+
install_type: user-skill
|
|
1038
|
+
skill_dir: gstack
|
|
1039
|
+
cmd: /landing-report
|
|
1040
|
+
since: v5.1
|
|
1041
|
+
category: tool-slash-cmd
|
|
1042
|
+
description: post-landing 落地报告
|
|
1043
|
+
fires_when:
|
|
1044
|
+
- phase.stage == 'verify' AND phase.needs_landing_report == true
|
|
1045
|
+
|
|
980
1046
|
# ============================================================================
|
|
981
1047
|
# Bucket 8 — Supplementary v3 NEW (2 entry)
|
|
982
1048
|
# ============================================================================
|
|
@@ -1003,17 +1069,171 @@ capabilities:
|
|
|
1003
1069
|
- subtask.needs_google_workspace == true
|
|
1004
1070
|
|
|
1005
1071
|
# ============================================================================
|
|
1006
|
-
# Bucket 9 — gsd-research-phase
|
|
1072
|
+
# Bucket 9 — GSD research/explore (v3 gsd-research-phase → v4.2 gsd-explore remap)
|
|
1007
1073
|
# ============================================================================
|
|
1074
|
+
#
|
|
1075
|
+
# GSD Core 1.4.1 (open-gsd/gsd-core rename) dropped the standalone
|
|
1076
|
+
# `gsd-research-phase` skill; closest surviving analog is `gsd-explore`
|
|
1077
|
+
# (codebase + multi-source exploration). Entry is orphan (no workflow.yaml
|
|
1078
|
+
# template interpolates it), so remap is a pure skill_dir/cmd swap.
|
|
1008
1079
|
|
|
1009
|
-
gsd-
|
|
1080
|
+
gsd-explore:
|
|
1010
1081
|
impl: gsd
|
|
1011
1082
|
install_type: user-skill
|
|
1012
|
-
skill_dir: gsd-
|
|
1013
|
-
cmd: /gsd-
|
|
1083
|
+
skill_dir: gsd-explore
|
|
1084
|
+
cmd: /gsd-explore
|
|
1014
1085
|
since: v3.0
|
|
1015
1086
|
category: tool-slash-cmd
|
|
1016
|
-
description: GSD
|
|
1087
|
+
description: GSD explore (codebase + 多 source 调研, GSD Core 1.4.1 successor to dropped gsd-research-phase)
|
|
1017
1088
|
fires_when:
|
|
1018
1089
|
- phase.stage == 'research'
|
|
1019
1090
|
- phase.requires_multi_source_research == true
|
|
1091
|
+
|
|
1092
|
+
# ============================================================================
|
|
1093
|
+
# Bucket 10 — GSD Core 1.4.1 additive rewire (v5.1 Upstream Re-sync)
|
|
1094
|
+
# ============================================================================
|
|
1095
|
+
#
|
|
1096
|
+
# @opengsd/gsd-core 1.4.1 (get-shit-done-cc → @opengsd/gsd-core rename) reorganized
|
|
1097
|
+
# its skill surface. These 12 additive entries describe the new upstream entry points
|
|
1098
|
+
# so workflow.yaml templates + judgments gates can reference them. All mirror the
|
|
1099
|
+
# gsd-discuss-phase shape verbatim (impl: gsd / install_type: user-skill /
|
|
1100
|
+
# category: tool-slash-cmd / skill_dir == cmd basename). skill_dir verified on disk
|
|
1101
|
+
# at ~/.claude/skills/<skill_dir>/ (2026-06-09).
|
|
1102
|
+
#
|
|
1103
|
+
# KEYSTONE: gsd-execute-phase is deliberately NOT wired — the execute mechanism stays
|
|
1104
|
+
# harnessed self-owned (CC-native spawn + ralph-loop + v4.2 checkpoint ledger).
|
|
1105
|
+
#
|
|
1106
|
+
# 4 design-contract phase skills (spec/ui/secure/ai-integration) pair with sister
|
|
1107
|
+
# judgments triggers in workflows/judgments/stage-phase-gate.yaml.
|
|
1108
|
+
|
|
1109
|
+
gsd-spec-phase:
|
|
1110
|
+
impl: gsd
|
|
1111
|
+
install_type: user-skill
|
|
1112
|
+
skill_dir: gsd-spec-phase
|
|
1113
|
+
cmd: /gsd-spec-phase
|
|
1114
|
+
since: v5.1
|
|
1115
|
+
category: tool-slash-cmd
|
|
1116
|
+
description: GSD spec-phase SDD spec lock (sister judgments/stage-phase-gate.yaml)
|
|
1117
|
+
fires_when:
|
|
1118
|
+
- phase.stage == 'plan' and phase.requires_spec == true
|
|
1119
|
+
|
|
1120
|
+
gsd-ui-phase:
|
|
1121
|
+
impl: gsd
|
|
1122
|
+
install_type: user-skill
|
|
1123
|
+
skill_dir: gsd-ui-phase
|
|
1124
|
+
cmd: /gsd-ui-phase
|
|
1125
|
+
since: v5.1
|
|
1126
|
+
category: tool-slash-cmd
|
|
1127
|
+
description: GSD ui-phase UI design contract (sister judgments/stage-phase-gate.yaml)
|
|
1128
|
+
fires_when:
|
|
1129
|
+
- phase.has_ui_changes == true
|
|
1130
|
+
|
|
1131
|
+
gsd-secure-phase:
|
|
1132
|
+
impl: gsd
|
|
1133
|
+
install_type: user-skill
|
|
1134
|
+
skill_dir: gsd-secure-phase
|
|
1135
|
+
cmd: /gsd-secure-phase
|
|
1136
|
+
since: v5.1
|
|
1137
|
+
category: tool-slash-cmd
|
|
1138
|
+
description: GSD secure-phase security threat-model gate (sister judgments/stage-phase-gate.yaml)
|
|
1139
|
+
fires_when:
|
|
1140
|
+
- phase.has_auth_or_secrets == true
|
|
1141
|
+
|
|
1142
|
+
gsd-ai-integration-phase:
|
|
1143
|
+
impl: gsd
|
|
1144
|
+
install_type: user-skill
|
|
1145
|
+
skill_dir: gsd-ai-integration-phase
|
|
1146
|
+
cmd: /gsd-ai-integration-phase
|
|
1147
|
+
since: v5.1
|
|
1148
|
+
category: tool-slash-cmd
|
|
1149
|
+
description: GSD ai-integration-phase AI-SPEC design contract (sister judgments/stage-phase-gate.yaml)
|
|
1150
|
+
fires_when:
|
|
1151
|
+
- phase.builds_ai_system == true
|
|
1152
|
+
|
|
1153
|
+
gsd-ingest-docs:
|
|
1154
|
+
impl: gsd
|
|
1155
|
+
install_type: user-skill
|
|
1156
|
+
skill_dir: gsd-ingest-docs
|
|
1157
|
+
cmd: /gsd-ingest-docs
|
|
1158
|
+
since: v5.1
|
|
1159
|
+
category: tool-slash-cmd
|
|
1160
|
+
description: GSD ingest-docs bootstrap .planning from existing docs (cc-handoff Ideation→Onboarding)
|
|
1161
|
+
fires_when:
|
|
1162
|
+
- phase.type == 'onboarding'
|
|
1163
|
+
|
|
1164
|
+
gsd-new-project:
|
|
1165
|
+
impl: gsd
|
|
1166
|
+
install_type: user-skill
|
|
1167
|
+
skill_dir: gsd-new-project
|
|
1168
|
+
cmd: /gsd-new-project
|
|
1169
|
+
since: v5.1
|
|
1170
|
+
category: tool-slash-cmd
|
|
1171
|
+
description: GSD new-project greenfield project init
|
|
1172
|
+
fires_when:
|
|
1173
|
+
- phase.type == 'new_project'
|
|
1174
|
+
|
|
1175
|
+
gsd-new-milestone:
|
|
1176
|
+
impl: gsd
|
|
1177
|
+
install_type: user-skill
|
|
1178
|
+
skill_dir: gsd-new-milestone
|
|
1179
|
+
cmd: /gsd-new-milestone
|
|
1180
|
+
since: v5.1
|
|
1181
|
+
category: tool-slash-cmd
|
|
1182
|
+
description: GSD new-milestone brownfield milestone start
|
|
1183
|
+
fires_when:
|
|
1184
|
+
- phase.type == 'new_milestone'
|
|
1185
|
+
|
|
1186
|
+
gsd-extract-learnings:
|
|
1187
|
+
impl: gsd
|
|
1188
|
+
install_type: user-skill
|
|
1189
|
+
skill_dir: gsd-extract-learnings
|
|
1190
|
+
cmd: /gsd-extract-learnings
|
|
1191
|
+
since: v5.1
|
|
1192
|
+
category: tool-slash-cmd
|
|
1193
|
+
description: GSD extract-learnings 提取 decisions/lessons from completed phase
|
|
1194
|
+
fires_when:
|
|
1195
|
+
- phase.is_milestone_close == true
|
|
1196
|
+
|
|
1197
|
+
gsd-audit-milestone:
|
|
1198
|
+
impl: gsd
|
|
1199
|
+
install_type: user-skill
|
|
1200
|
+
skill_dir: gsd-audit-milestone
|
|
1201
|
+
cmd: /gsd-audit-milestone
|
|
1202
|
+
since: v5.1
|
|
1203
|
+
category: tool-slash-cmd
|
|
1204
|
+
description: GSD audit-milestone milestone completion audit
|
|
1205
|
+
fires_when:
|
|
1206
|
+
- phase.is_milestone_close == true
|
|
1207
|
+
|
|
1208
|
+
gsd-complete-milestone:
|
|
1209
|
+
impl: gsd
|
|
1210
|
+
install_type: user-skill
|
|
1211
|
+
skill_dir: gsd-complete-milestone
|
|
1212
|
+
cmd: /gsd-complete-milestone
|
|
1213
|
+
since: v5.1
|
|
1214
|
+
category: tool-slash-cmd
|
|
1215
|
+
description: GSD complete-milestone archive completed milestone
|
|
1216
|
+
fires_when:
|
|
1217
|
+
- phase.is_milestone_close == true
|
|
1218
|
+
|
|
1219
|
+
gsd-milestone-summary:
|
|
1220
|
+
impl: gsd
|
|
1221
|
+
install_type: user-skill
|
|
1222
|
+
skill_dir: gsd-milestone-summary
|
|
1223
|
+
cmd: /gsd-milestone-summary
|
|
1224
|
+
since: v5.1
|
|
1225
|
+
category: tool-slash-cmd
|
|
1226
|
+
description: GSD milestone-summary milestone summary
|
|
1227
|
+
fires_when:
|
|
1228
|
+
- phase.is_milestone_close == true
|
|
1229
|
+
|
|
1230
|
+
gsd-docs-update:
|
|
1231
|
+
impl: gsd
|
|
1232
|
+
install_type: user-skill
|
|
1233
|
+
skill_dir: gsd-docs-update
|
|
1234
|
+
cmd: /gsd-docs-update
|
|
1235
|
+
since: v5.1
|
|
1236
|
+
category: tool-slash-cmd
|
|
1237
|
+
description: GSD docs-update post-ship doc update
|
|
1238
|
+
fires_when:
|
|
1239
|
+
- phase.needs_doc_update == true
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# workflows/judgments/stage-phase-gate.yaml
|
|
2
|
+
# Stage/condition-gated design-contract 判据 — GSD Core 1.4.1 (v5.1 Upstream Re-sync)
|
|
3
|
+
# Pairs with: GSD design-contract phase skills (spec / ui / secure / ai-integration)
|
|
4
|
+
#
|
|
5
|
+
# Parallel to phase-gate.yaml (gsd-discuss-phase). The 4 design-contract phase skills
|
|
6
|
+
# fire on stage/condition predicates and invoke their sister capabilities.yaml entries
|
|
7
|
+
# (fires_when string matches the capabilities.yaml expression verbatim).
|
|
8
|
+
|
|
9
|
+
schema_version: harnessed.judgment.v1
|
|
10
|
+
|
|
11
|
+
triggers:
|
|
12
|
+
gsd-spec-phase:
|
|
13
|
+
description: |
|
|
14
|
+
GSD /gsd-spec-phase — SDD spec lock. Fires at plan stage when the phase
|
|
15
|
+
requires a spec design contract before execution.
|
|
16
|
+
fires_when: "phase.stage == 'plan' and phase.requires_spec == true"
|
|
17
|
+
invokes:
|
|
18
|
+
- capability: gsd-spec-phase
|
|
19
|
+
|
|
20
|
+
gsd-ui-phase:
|
|
21
|
+
description: |
|
|
22
|
+
GSD /gsd-ui-phase — UI design contract. Fires when the phase introduces
|
|
23
|
+
UI changes needing a design system / layout contract.
|
|
24
|
+
fires_when: "phase.has_ui_changes == true"
|
|
25
|
+
invokes:
|
|
26
|
+
- capability: gsd-ui-phase
|
|
27
|
+
|
|
28
|
+
gsd-secure-phase:
|
|
29
|
+
description: |
|
|
30
|
+
GSD /gsd-secure-phase — security threat-model gate. Fires when the phase
|
|
31
|
+
touches auth or secrets and needs a threat-model design contract.
|
|
32
|
+
fires_when: "phase.has_auth_or_secrets == true"
|
|
33
|
+
invokes:
|
|
34
|
+
- capability: gsd-secure-phase
|
|
35
|
+
|
|
36
|
+
gsd-ai-integration-phase:
|
|
37
|
+
description: |
|
|
38
|
+
GSD /gsd-ai-integration-phase — AI-SPEC design contract. Fires when the
|
|
39
|
+
phase builds an AI system needing an AI-SPEC.md design contract.
|
|
40
|
+
fires_when: "phase.builds_ai_system == true"
|
|
41
|
+
invokes:
|
|
42
|
+
- capability: gsd-ai-integration-phase
|
|
@@ -28,3 +28,6 @@ phases:
|
|
|
28
28
|
model: sonnet
|
|
29
29
|
parallelism: judgments.parallelism-gate.subagent-default.fires
|
|
30
30
|
max_iterations: '{{ defaults.ralph_max_iterations.verify-code-review.01-code-review }}'
|
|
31
|
+
# D2-followup (ADR-0033): declare report artifact so the evidence guard is real
|
|
32
|
+
# (verified, not none_declared) — proves the multi-agent code-review actually ran.
|
|
33
|
+
artifacts_expected: [code-review-report.md]
|
|
@@ -30,3 +30,6 @@ phases:
|
|
|
30
30
|
model: sonnet
|
|
31
31
|
gate: judgments.stage-routing.verify-design-changes.fires
|
|
32
32
|
max_iterations: 3
|
|
33
|
+
# D2-followup (ADR-0033): declare report artifact so the evidence guard is real
|
|
34
|
+
# (verified, not none_declared) — proves the design-review consistency pass actually ran.
|
|
35
|
+
artifacts_expected: [design-review-report.md]
|
|
@@ -48,6 +48,10 @@ phases:
|
|
|
48
48
|
max_iterations: 1
|
|
49
49
|
# v3.8.0 P1 — Pattern C team create is THE archetypical Agent Teams phase; full 3-RULES inject.
|
|
50
50
|
injects_rules: [escalation, transparent-skip, agent-teams-prevention]
|
|
51
|
+
# D2-followup (ADR-0033): declare report artifact so the evidence guard is real
|
|
52
|
+
# (verified, not none_declared) — the 4-specialist team's cross-questioned findings
|
|
53
|
+
# land in one aggregated multi-dimensional review report (proves the team review ran).
|
|
54
|
+
artifacts_expected: [multispec-review-report.md]
|
|
51
55
|
|
|
52
56
|
- id: 02-team-cleanup
|
|
53
57
|
name: Agent Team cleanup (shutdown_request + TeamDelete 防呆清单)
|
|
@@ -27,3 +27,6 @@ phases:
|
|
|
27
27
|
model: opus
|
|
28
28
|
gate: judgments.stage-routing.verify-paranoid-critical.fires
|
|
29
29
|
max_iterations: '{{ defaults.ralph_max_iterations.verify-paranoid.01-review }}'
|
|
30
|
+
# D2-followup (ADR-0033): declare report artifact so the evidence guard is real
|
|
31
|
+
# (verified, not none_declared) — proves the Paranoid Staff Engineer review actually ran.
|
|
32
|
+
artifacts_expected: [paranoid-review-report.md]
|
|
@@ -28,3 +28,6 @@ phases:
|
|
|
28
28
|
model: sonnet
|
|
29
29
|
gate: judgments.stage-routing.verify-qa-ui.fires
|
|
30
30
|
max_iterations: 3
|
|
31
|
+
# D2-followup (ADR-0033): declare report artifact so the evidence guard is real
|
|
32
|
+
# (verified, not none_declared) — proves the end-to-end QA pass actually ran.
|
|
33
|
+
artifacts_expected: [qa-report.md]
|
|
@@ -28,3 +28,6 @@ phases:
|
|
|
28
28
|
model: opus
|
|
29
29
|
gate: judgments.stage-routing.verify-security-secrets.fires
|
|
30
30
|
max_iterations: 3
|
|
31
|
+
# D2-followup (ADR-0033): declare report artifact so the evidence guard is real
|
|
32
|
+
# (verified, not none_declared) — proves the CSO OWASP/secrets audit actually ran.
|
|
33
|
+
artifacts_expected: [security-audit-report.md]
|