@namewta/speculo 0.7.1 → 0.7.2
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 +2 -1
- package/package.json +1 -1
- package/template/canonical/canonical-specdev-engineering-cognitive-mentor.md +178 -0
- package/template/canonical/canonical-specdev-goal-plan.md +386 -74
- package/template/canonical/canonical-specdev-grill-with-docs.md +178 -0
- package/template/canonical/canonical-specdev-spec.md +178 -0
- package/template/canonical/canonical-specdev-tickets.md +247 -21
- package/template/canonical/canonical-specdev-wayfinder.md +178 -0
- package/template/skills/optimize-codex-config/SKILL.md +81 -0
- package/template/skills/optimize-codex-config/references/configuration-contract.md +103 -0
- package/template/skills/optimize-codex-config/references/troubleshooting.md +79 -0
- package/template/skills/optimize-codex-config/scripts/audit-codex-config.mjs +747 -0
- package/template/workflows/specdev/I-implement/I-implement.md +11 -10
- package/template/workflows/specdev/I-implement/delegated-evidence-template.md +2 -1
- package/template/workflows/specdev/I-implement/execution-preflight.md +5 -3
- package/template/workflows/specdev/I-implement/merge-conflict-protocol.md +6 -5
- package/template/workflows/specdev/INDEX.md +5 -4
- package/template/workflows/specdev/P-goal-plan/P-goal-plan.md +27 -18
- package/template/workflows/specdev/P-goal-plan/completion-control.md +3 -3
- package/template/workflows/specdev/P-goal-plan/delegated-execution-template.md +6 -4
- package/template/workflows/specdev/P-goal-plan/delegated-execution.md +13 -7
- package/template/workflows/specdev/P-goal-plan/goal-plan-template.md +11 -2
- package/template/workflows/specdev/P-goal-plan/orchestration-protocol.md +7 -3
- package/template/workflows/specdev/P-goal-plan/planning-modes.md +23 -8
- package/template/workflows/specdev/P-goal-plan/workspace-execution-template.md +24 -0
- package/template/workflows/specdev/common/README.md +2 -2
- package/template/workflows/specdev/common/rules/change-completion.md +3 -2
- package/template/workflows/specdev/common/rules/path-ownership.md +2 -2
- package/template/workflows/specdev/common/schemas/change-status.schema.json +178 -0
- package/template/workflows/specdev/common/schemas/goal-plan.schema.json +10 -0
- package/template/workflows/specdev/common/skills/dev-worktree/SKILL.md +11 -11
- package/template/workflows/specdev/common/skills/dev-worktree/references/create.md +19 -4
- package/template/workflows/specdev/common/skills/dev-worktree/references/finalize.md +12 -5
- package/template/workflows/specdev/common/skills/subagent-delivery/SKILL.md +4 -3
- package/template/workflows/specdev/common/skills/subagent-delivery/references/external-web-subagent.md +1 -1
- package/template/workflows/specdev/common/skills/subagent-delivery/references/native-subagent.md +2 -3
- package/template/workflows/specdev/common/tools/validate-specdev.mjs +218 -5
|
@@ -989,6 +989,10 @@ Ticket 只有同时满足以下适用条件才可设置 `ready: true`:
|
|
|
989
989
|
"type": "string",
|
|
990
990
|
"minLength": 1
|
|
991
991
|
},
|
|
992
|
+
"integration_owner": {
|
|
993
|
+
"type": "string",
|
|
994
|
+
"minLength": 1
|
|
995
|
+
},
|
|
992
996
|
"provider": {
|
|
993
997
|
"enum": [
|
|
994
998
|
"native",
|
|
@@ -1000,6 +1004,10 @@ Ticket 只有同时满足以下适用条件才可设置 `ready: true`:
|
|
|
1000
1004
|
"type": "string",
|
|
1001
1005
|
"minLength": 1
|
|
1002
1006
|
},
|
|
1007
|
+
"parent_branch": {
|
|
1008
|
+
"type": "string",
|
|
1009
|
+
"minLength": 1
|
|
1010
|
+
},
|
|
1003
1011
|
"branch": {
|
|
1004
1012
|
"type": "string",
|
|
1005
1013
|
"minLength": 1
|
|
@@ -1009,11 +1017,76 @@ Ticket 只有同时满足以下适用条件才可设置 `ready: true`:
|
|
|
1009
1017
|
"minLength": 1,
|
|
1010
1018
|
"pattern": "^(?!/)(?![A-Za-z]:[\\\\/]).+"
|
|
1011
1019
|
},
|
|
1020
|
+
"terminal_action": {
|
|
1021
|
+
"enum": [
|
|
1022
|
+
"integrate",
|
|
1023
|
+
"retain"
|
|
1024
|
+
]
|
|
1025
|
+
},
|
|
1026
|
+
"source_checkpoint": {
|
|
1027
|
+
"type": [
|
|
1028
|
+
"string",
|
|
1029
|
+
"null"
|
|
1030
|
+
]
|
|
1031
|
+
},
|
|
1032
|
+
"integration": {
|
|
1033
|
+
"type": "object",
|
|
1034
|
+
"required": [
|
|
1035
|
+
"status",
|
|
1036
|
+
"parent_before_sha",
|
|
1037
|
+
"source_sha",
|
|
1038
|
+
"result_sha",
|
|
1039
|
+
"method",
|
|
1040
|
+
"conflict_paths",
|
|
1041
|
+
"verification",
|
|
1042
|
+
"evidence",
|
|
1043
|
+
"attempts"
|
|
1044
|
+
],
|
|
1045
|
+
"properties": {
|
|
1046
|
+
"status": {
|
|
1047
|
+
"enum": [
|
|
1048
|
+
"pending",
|
|
1049
|
+
"running",
|
|
1050
|
+
"passed",
|
|
1051
|
+
"blocked"
|
|
1052
|
+
]
|
|
1053
|
+
},
|
|
1054
|
+
"parent_before_sha": {
|
|
1055
|
+
"type": ["string", "null"]
|
|
1056
|
+
},
|
|
1057
|
+
"source_sha": {
|
|
1058
|
+
"type": ["string", "null"]
|
|
1059
|
+
},
|
|
1060
|
+
"result_sha": {
|
|
1061
|
+
"type": ["string", "null"]
|
|
1062
|
+
},
|
|
1063
|
+
"method": {
|
|
1064
|
+
"enum": [null, "fast-forward", "merge-commit"]
|
|
1065
|
+
},
|
|
1066
|
+
"conflict_paths": {
|
|
1067
|
+
"type": "array",
|
|
1068
|
+
"items": {"type": "string"}
|
|
1069
|
+
},
|
|
1070
|
+
"verification": {
|
|
1071
|
+
"enum": ["pending", "passed", "failed"]
|
|
1072
|
+
},
|
|
1073
|
+
"evidence": {
|
|
1074
|
+
"type": "string",
|
|
1075
|
+
"pattern": "^\\{roots\\.state\\}/specdev/changes/[^<]+/evidence/T-[0-9]{2,}\\.md$"
|
|
1076
|
+
},
|
|
1077
|
+
"attempts": {
|
|
1078
|
+
"type": "integer",
|
|
1079
|
+
"minimum": 0
|
|
1080
|
+
}
|
|
1081
|
+
},
|
|
1082
|
+
"additionalProperties": true
|
|
1083
|
+
},
|
|
1012
1084
|
"status": {
|
|
1013
1085
|
"enum": [
|
|
1014
1086
|
"planned",
|
|
1015
1087
|
"active",
|
|
1016
1088
|
"review",
|
|
1089
|
+
"integrating",
|
|
1017
1090
|
"integrated",
|
|
1018
1091
|
"removed",
|
|
1019
1092
|
"blocked"
|
|
@@ -1024,6 +1097,111 @@ Ticket 只有同时满足以下适用条件才可设置 `ready: true`:
|
|
|
1024
1097
|
"minLength": 1
|
|
1025
1098
|
}
|
|
1026
1099
|
},
|
|
1100
|
+
"dependentRequired": {
|
|
1101
|
+
"terminal_action": [
|
|
1102
|
+
"integration_owner",
|
|
1103
|
+
"parent_branch",
|
|
1104
|
+
"source_checkpoint",
|
|
1105
|
+
"integration"
|
|
1106
|
+
]
|
|
1107
|
+
},
|
|
1108
|
+
"allOf": [
|
|
1109
|
+
{
|
|
1110
|
+
"if": {
|
|
1111
|
+
"properties": {
|
|
1112
|
+
"status": {"const": "integrating"}
|
|
1113
|
+
},
|
|
1114
|
+
"required": ["status"]
|
|
1115
|
+
},
|
|
1116
|
+
"then": {
|
|
1117
|
+
"required": [
|
|
1118
|
+
"terminal_action",
|
|
1119
|
+
"integration_owner",
|
|
1120
|
+
"parent_branch",
|
|
1121
|
+
"source_checkpoint",
|
|
1122
|
+
"integration"
|
|
1123
|
+
],
|
|
1124
|
+
"properties": {
|
|
1125
|
+
"terminal_action": {"const": "integrate"}
|
|
1126
|
+
}
|
|
1127
|
+
}
|
|
1128
|
+
},
|
|
1129
|
+
{
|
|
1130
|
+
"if": {
|
|
1131
|
+
"properties": {
|
|
1132
|
+
"status": {"enum": ["integrating", "integrated"]},
|
|
1133
|
+
"terminal_action": {"const": "integrate"}
|
|
1134
|
+
},
|
|
1135
|
+
"required": ["status", "terminal_action"]
|
|
1136
|
+
},
|
|
1137
|
+
"then": {
|
|
1138
|
+
"properties": {
|
|
1139
|
+
"source_checkpoint": {"type": "string", "minLength": 1},
|
|
1140
|
+
"integration": {
|
|
1141
|
+
"properties": {
|
|
1142
|
+
"parent_before_sha": {"type": "string", "minLength": 1},
|
|
1143
|
+
"source_sha": {"type": "string", "minLength": 1},
|
|
1144
|
+
"attempts": {"type": "integer", "minimum": 1}
|
|
1145
|
+
}
|
|
1146
|
+
}
|
|
1147
|
+
}
|
|
1148
|
+
}
|
|
1149
|
+
},
|
|
1150
|
+
{
|
|
1151
|
+
"if": {
|
|
1152
|
+
"properties": {
|
|
1153
|
+
"status": {"const": "integrating"},
|
|
1154
|
+
"terminal_action": {"const": "integrate"}
|
|
1155
|
+
},
|
|
1156
|
+
"required": ["status", "terminal_action"]
|
|
1157
|
+
},
|
|
1158
|
+
"then": {
|
|
1159
|
+
"properties": {
|
|
1160
|
+
"integration": {
|
|
1161
|
+
"properties": {
|
|
1162
|
+
"status": {"const": "running"}
|
|
1163
|
+
}
|
|
1164
|
+
}
|
|
1165
|
+
}
|
|
1166
|
+
}
|
|
1167
|
+
},
|
|
1168
|
+
{
|
|
1169
|
+
"if": {
|
|
1170
|
+
"properties": {
|
|
1171
|
+
"status": {"const": "integrated"},
|
|
1172
|
+
"terminal_action": {"const": "integrate"}
|
|
1173
|
+
},
|
|
1174
|
+
"required": ["status", "terminal_action"]
|
|
1175
|
+
},
|
|
1176
|
+
"then": {
|
|
1177
|
+
"properties": {
|
|
1178
|
+
"integration": {
|
|
1179
|
+
"properties": {
|
|
1180
|
+
"status": {"const": "passed"},
|
|
1181
|
+
"result_sha": {"type": "string", "minLength": 1},
|
|
1182
|
+
"method": {"enum": ["fast-forward", "merge-commit"]},
|
|
1183
|
+
"verification": {"const": "passed"}
|
|
1184
|
+
}
|
|
1185
|
+
}
|
|
1186
|
+
}
|
|
1187
|
+
}
|
|
1188
|
+
},
|
|
1189
|
+
{
|
|
1190
|
+
"if": {
|
|
1191
|
+
"properties": {
|
|
1192
|
+
"terminal_action": {"const": "retain"}
|
|
1193
|
+
},
|
|
1194
|
+
"required": ["terminal_action"]
|
|
1195
|
+
},
|
|
1196
|
+
"then": {
|
|
1197
|
+
"properties": {
|
|
1198
|
+
"status": {
|
|
1199
|
+
"not": {"enum": ["integrating", "integrated"]}
|
|
1200
|
+
}
|
|
1201
|
+
}
|
|
1202
|
+
}
|
|
1203
|
+
}
|
|
1204
|
+
],
|
|
1027
1205
|
"additionalProperties": true
|
|
1028
1206
|
}
|
|
1029
1207
|
}
|
|
@@ -980,6 +980,10 @@ E2E 仅在变更影响用户界面交互时加入验证矩阵。普通执行由
|
|
|
980
980
|
"type": "string",
|
|
981
981
|
"minLength": 1
|
|
982
982
|
},
|
|
983
|
+
"integration_owner": {
|
|
984
|
+
"type": "string",
|
|
985
|
+
"minLength": 1
|
|
986
|
+
},
|
|
983
987
|
"provider": {
|
|
984
988
|
"enum": [
|
|
985
989
|
"native",
|
|
@@ -991,6 +995,10 @@ E2E 仅在变更影响用户界面交互时加入验证矩阵。普通执行由
|
|
|
991
995
|
"type": "string",
|
|
992
996
|
"minLength": 1
|
|
993
997
|
},
|
|
998
|
+
"parent_branch": {
|
|
999
|
+
"type": "string",
|
|
1000
|
+
"minLength": 1
|
|
1001
|
+
},
|
|
994
1002
|
"branch": {
|
|
995
1003
|
"type": "string",
|
|
996
1004
|
"minLength": 1
|
|
@@ -1000,11 +1008,76 @@ E2E 仅在变更影响用户界面交互时加入验证矩阵。普通执行由
|
|
|
1000
1008
|
"minLength": 1,
|
|
1001
1009
|
"pattern": "^(?!/)(?![A-Za-z]:[\\\\/]).+"
|
|
1002
1010
|
},
|
|
1011
|
+
"terminal_action": {
|
|
1012
|
+
"enum": [
|
|
1013
|
+
"integrate",
|
|
1014
|
+
"retain"
|
|
1015
|
+
]
|
|
1016
|
+
},
|
|
1017
|
+
"source_checkpoint": {
|
|
1018
|
+
"type": [
|
|
1019
|
+
"string",
|
|
1020
|
+
"null"
|
|
1021
|
+
]
|
|
1022
|
+
},
|
|
1023
|
+
"integration": {
|
|
1024
|
+
"type": "object",
|
|
1025
|
+
"required": [
|
|
1026
|
+
"status",
|
|
1027
|
+
"parent_before_sha",
|
|
1028
|
+
"source_sha",
|
|
1029
|
+
"result_sha",
|
|
1030
|
+
"method",
|
|
1031
|
+
"conflict_paths",
|
|
1032
|
+
"verification",
|
|
1033
|
+
"evidence",
|
|
1034
|
+
"attempts"
|
|
1035
|
+
],
|
|
1036
|
+
"properties": {
|
|
1037
|
+
"status": {
|
|
1038
|
+
"enum": [
|
|
1039
|
+
"pending",
|
|
1040
|
+
"running",
|
|
1041
|
+
"passed",
|
|
1042
|
+
"blocked"
|
|
1043
|
+
]
|
|
1044
|
+
},
|
|
1045
|
+
"parent_before_sha": {
|
|
1046
|
+
"type": ["string", "null"]
|
|
1047
|
+
},
|
|
1048
|
+
"source_sha": {
|
|
1049
|
+
"type": ["string", "null"]
|
|
1050
|
+
},
|
|
1051
|
+
"result_sha": {
|
|
1052
|
+
"type": ["string", "null"]
|
|
1053
|
+
},
|
|
1054
|
+
"method": {
|
|
1055
|
+
"enum": [null, "fast-forward", "merge-commit"]
|
|
1056
|
+
},
|
|
1057
|
+
"conflict_paths": {
|
|
1058
|
+
"type": "array",
|
|
1059
|
+
"items": {"type": "string"}
|
|
1060
|
+
},
|
|
1061
|
+
"verification": {
|
|
1062
|
+
"enum": ["pending", "passed", "failed"]
|
|
1063
|
+
},
|
|
1064
|
+
"evidence": {
|
|
1065
|
+
"type": "string",
|
|
1066
|
+
"pattern": "^\\{roots\\.state\\}/specdev/changes/[^<]+/evidence/T-[0-9]{2,}\\.md$"
|
|
1067
|
+
},
|
|
1068
|
+
"attempts": {
|
|
1069
|
+
"type": "integer",
|
|
1070
|
+
"minimum": 0
|
|
1071
|
+
}
|
|
1072
|
+
},
|
|
1073
|
+
"additionalProperties": true
|
|
1074
|
+
},
|
|
1003
1075
|
"status": {
|
|
1004
1076
|
"enum": [
|
|
1005
1077
|
"planned",
|
|
1006
1078
|
"active",
|
|
1007
1079
|
"review",
|
|
1080
|
+
"integrating",
|
|
1008
1081
|
"integrated",
|
|
1009
1082
|
"removed",
|
|
1010
1083
|
"blocked"
|
|
@@ -1015,6 +1088,111 @@ E2E 仅在变更影响用户界面交互时加入验证矩阵。普通执行由
|
|
|
1015
1088
|
"minLength": 1
|
|
1016
1089
|
}
|
|
1017
1090
|
},
|
|
1091
|
+
"dependentRequired": {
|
|
1092
|
+
"terminal_action": [
|
|
1093
|
+
"integration_owner",
|
|
1094
|
+
"parent_branch",
|
|
1095
|
+
"source_checkpoint",
|
|
1096
|
+
"integration"
|
|
1097
|
+
]
|
|
1098
|
+
},
|
|
1099
|
+
"allOf": [
|
|
1100
|
+
{
|
|
1101
|
+
"if": {
|
|
1102
|
+
"properties": {
|
|
1103
|
+
"status": {"const": "integrating"}
|
|
1104
|
+
},
|
|
1105
|
+
"required": ["status"]
|
|
1106
|
+
},
|
|
1107
|
+
"then": {
|
|
1108
|
+
"required": [
|
|
1109
|
+
"terminal_action",
|
|
1110
|
+
"integration_owner",
|
|
1111
|
+
"parent_branch",
|
|
1112
|
+
"source_checkpoint",
|
|
1113
|
+
"integration"
|
|
1114
|
+
],
|
|
1115
|
+
"properties": {
|
|
1116
|
+
"terminal_action": {"const": "integrate"}
|
|
1117
|
+
}
|
|
1118
|
+
}
|
|
1119
|
+
},
|
|
1120
|
+
{
|
|
1121
|
+
"if": {
|
|
1122
|
+
"properties": {
|
|
1123
|
+
"status": {"enum": ["integrating", "integrated"]},
|
|
1124
|
+
"terminal_action": {"const": "integrate"}
|
|
1125
|
+
},
|
|
1126
|
+
"required": ["status", "terminal_action"]
|
|
1127
|
+
},
|
|
1128
|
+
"then": {
|
|
1129
|
+
"properties": {
|
|
1130
|
+
"source_checkpoint": {"type": "string", "minLength": 1},
|
|
1131
|
+
"integration": {
|
|
1132
|
+
"properties": {
|
|
1133
|
+
"parent_before_sha": {"type": "string", "minLength": 1},
|
|
1134
|
+
"source_sha": {"type": "string", "minLength": 1},
|
|
1135
|
+
"attempts": {"type": "integer", "minimum": 1}
|
|
1136
|
+
}
|
|
1137
|
+
}
|
|
1138
|
+
}
|
|
1139
|
+
}
|
|
1140
|
+
},
|
|
1141
|
+
{
|
|
1142
|
+
"if": {
|
|
1143
|
+
"properties": {
|
|
1144
|
+
"status": {"const": "integrating"},
|
|
1145
|
+
"terminal_action": {"const": "integrate"}
|
|
1146
|
+
},
|
|
1147
|
+
"required": ["status", "terminal_action"]
|
|
1148
|
+
},
|
|
1149
|
+
"then": {
|
|
1150
|
+
"properties": {
|
|
1151
|
+
"integration": {
|
|
1152
|
+
"properties": {
|
|
1153
|
+
"status": {"const": "running"}
|
|
1154
|
+
}
|
|
1155
|
+
}
|
|
1156
|
+
}
|
|
1157
|
+
}
|
|
1158
|
+
},
|
|
1159
|
+
{
|
|
1160
|
+
"if": {
|
|
1161
|
+
"properties": {
|
|
1162
|
+
"status": {"const": "integrated"},
|
|
1163
|
+
"terminal_action": {"const": "integrate"}
|
|
1164
|
+
},
|
|
1165
|
+
"required": ["status", "terminal_action"]
|
|
1166
|
+
},
|
|
1167
|
+
"then": {
|
|
1168
|
+
"properties": {
|
|
1169
|
+
"integration": {
|
|
1170
|
+
"properties": {
|
|
1171
|
+
"status": {"const": "passed"},
|
|
1172
|
+
"result_sha": {"type": "string", "minLength": 1},
|
|
1173
|
+
"method": {"enum": ["fast-forward", "merge-commit"]},
|
|
1174
|
+
"verification": {"const": "passed"}
|
|
1175
|
+
}
|
|
1176
|
+
}
|
|
1177
|
+
}
|
|
1178
|
+
}
|
|
1179
|
+
},
|
|
1180
|
+
{
|
|
1181
|
+
"if": {
|
|
1182
|
+
"properties": {
|
|
1183
|
+
"terminal_action": {"const": "retain"}
|
|
1184
|
+
},
|
|
1185
|
+
"required": ["terminal_action"]
|
|
1186
|
+
},
|
|
1187
|
+
"then": {
|
|
1188
|
+
"properties": {
|
|
1189
|
+
"status": {
|
|
1190
|
+
"not": {"enum": ["integrating", "integrated"]}
|
|
1191
|
+
}
|
|
1192
|
+
}
|
|
1193
|
+
}
|
|
1194
|
+
}
|
|
1195
|
+
],
|
|
1018
1196
|
"additionalProperties": true
|
|
1019
1197
|
}
|
|
1020
1198
|
}
|