@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.
Files changed (37) hide show
  1. package/README.md +2 -1
  2. package/package.json +1 -1
  3. package/template/canonical/canonical-specdev-engineering-cognitive-mentor.md +178 -0
  4. package/template/canonical/canonical-specdev-goal-plan.md +386 -74
  5. package/template/canonical/canonical-specdev-grill-with-docs.md +178 -0
  6. package/template/canonical/canonical-specdev-spec.md +178 -0
  7. package/template/canonical/canonical-specdev-tickets.md +247 -21
  8. package/template/canonical/canonical-specdev-wayfinder.md +178 -0
  9. package/template/skills/optimize-codex-config/SKILL.md +81 -0
  10. package/template/skills/optimize-codex-config/references/configuration-contract.md +103 -0
  11. package/template/skills/optimize-codex-config/references/troubleshooting.md +79 -0
  12. package/template/skills/optimize-codex-config/scripts/audit-codex-config.mjs +747 -0
  13. package/template/workflows/specdev/I-implement/I-implement.md +11 -10
  14. package/template/workflows/specdev/I-implement/delegated-evidence-template.md +2 -1
  15. package/template/workflows/specdev/I-implement/execution-preflight.md +5 -3
  16. package/template/workflows/specdev/I-implement/merge-conflict-protocol.md +6 -5
  17. package/template/workflows/specdev/INDEX.md +5 -4
  18. package/template/workflows/specdev/P-goal-plan/P-goal-plan.md +27 -18
  19. package/template/workflows/specdev/P-goal-plan/completion-control.md +3 -3
  20. package/template/workflows/specdev/P-goal-plan/delegated-execution-template.md +6 -4
  21. package/template/workflows/specdev/P-goal-plan/delegated-execution.md +13 -7
  22. package/template/workflows/specdev/P-goal-plan/goal-plan-template.md +11 -2
  23. package/template/workflows/specdev/P-goal-plan/orchestration-protocol.md +7 -3
  24. package/template/workflows/specdev/P-goal-plan/planning-modes.md +23 -8
  25. package/template/workflows/specdev/P-goal-plan/workspace-execution-template.md +24 -0
  26. package/template/workflows/specdev/common/README.md +2 -2
  27. package/template/workflows/specdev/common/rules/change-completion.md +3 -2
  28. package/template/workflows/specdev/common/rules/path-ownership.md +2 -2
  29. package/template/workflows/specdev/common/schemas/change-status.schema.json +178 -0
  30. package/template/workflows/specdev/common/schemas/goal-plan.schema.json +10 -0
  31. package/template/workflows/specdev/common/skills/dev-worktree/SKILL.md +11 -11
  32. package/template/workflows/specdev/common/skills/dev-worktree/references/create.md +19 -4
  33. package/template/workflows/specdev/common/skills/dev-worktree/references/finalize.md +12 -5
  34. package/template/workflows/specdev/common/skills/subagent-delivery/SKILL.md +4 -3
  35. package/template/workflows/specdev/common/skills/subagent-delivery/references/external-web-subagent.md +1 -1
  36. package/template/workflows/specdev/common/skills/subagent-delivery/references/native-subagent.md +2 -3
  37. 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
  }