@namewta/speculo 1.0.18 → 1.0.20
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 +8 -7
- package/THIRD-PARTY-NOTICES.md +33 -0
- package/dist/src/agent-files.js +2 -2
- package/dist/src/agent-files.js.map +1 -1
- package/dist/src/agent-skills.d.ts +81 -0
- package/dist/src/agent-skills.js +530 -0
- package/dist/src/agent-skills.js.map +1 -0
- package/dist/src/cli.js +11 -3
- package/dist/src/cli.js.map +1 -1
- package/dist/src/config.js +5 -3
- package/dist/src/config.js.map +1 -1
- package/dist/src/doctor.js +7 -2
- package/dist/src/doctor.js.map +1 -1
- package/dist/src/index.d.ts +8 -0
- package/dist/src/index.js +23 -3
- package/dist/src/index.js.map +1 -1
- package/dist/src/manifest.d.ts +9 -0
- package/dist/src/manifest.js +45 -7
- package/dist/src/manifest.js.map +1 -1
- package/dist/src/refresh.js +40 -0
- package/dist/src/refresh.js.map +1 -1
- package/dist/src/structured.js +15 -4
- package/dist/src/structured.js.map +1 -1
- package/dist/src/transaction.d.ts +24 -3
- package/dist/src/transaction.js +191 -12
- package/dist/src/transaction.js.map +1 -1
- package/package.json +10 -4
- package/scripts/validate-skills.mjs +56 -0
- package/template/AGENTS.md +1 -1
- package/template/CLAUDE.md +1 -1
- package/template/canonical/canonical-specdev-goal-plan.md +158 -30
- package/template/canonical/canonical-specdev-grill-with-docs.md +155 -33
- package/template/canonical/canonical-specdev-spec.md +162 -161
- package/template/canonical/canonical-specdev-tickets.md +155 -29
- package/template/canonical/canonical-specdev-wayfinder.md +144 -29
- package/template/commands/handoff.md +16 -0
- package/template/commands/retro.md +12 -10
- package/template/skills/archive-and-consolidate/SKILL.md +163 -7
- package/template/skills/archive-and-consolidate/references/cleanup-rules.md +1 -1
- package/template/skills/docs-sync/references/agents/claude-redirect.md +8 -8
- package/template/skills/docs-sync/references/agents/content-contract.md +1 -1
- package/template/skills/docs-sync/references/agents/manifest-discovery.md +7 -7
- package/template/skills/docs-sync/references/agents/role-classification.md +4 -4
- package/template/skills/docs-sync/references/agents-contract.md +1 -1
- package/template/skills/engineering-standards-builder/SKILL.md +149 -9
- package/template/skills/engineering-standards-builder/agents/openai.yaml +2 -0
- package/template/skills/engineering-standards-builder/manifest.txt +2 -1
- package/template/skills/engineering-standards-builder/references/rules/09-mechanical-guardrails.md +9 -0
- package/template/skills/engineering-standards-builder/scripts/validate-builder.mjs +4 -7
- package/template/skills/git-history-squash/SKILL.md +87 -11
- package/template/skills/git-history-squash/agents/openai.yaml +2 -0
- package/template/skills/optimize-codex-config/SKILL.md +71 -11
- package/template/skills/retrospective/SKILL.md +43 -0
- package/template/skills/{speculo-retro → retrospective}/references/friction-taxonomy.md +22 -13
- package/template/skills/{speculo-retro → retrospective}/references/issue-drafting-sop.md +13 -21
- package/template/skills/source-code-zip/SKILL.md +44 -8
- package/template/skills/source-code-zip/references/{entry-procedure.md → cli-reference.md} +0 -43
- package/template/skills/upstream-fork-sync/SKILL.md +71 -8
- package/template/skills/{writing-great-skills → writing-for-agents}/GLOSSARY.md +1 -1
- package/template/skills/writing-for-agents/SKILL.md +22 -0
- package/template/skills/writing-for-agents/agents/openai.yaml +2 -0
- package/template/skills/{writing-great-skills/references/entry-procedure.md → writing-for-agents/references/authoring-principles.md} +2 -9
- package/template/workflows/learning/A-archive/A-archive.md +2 -5
- package/template/workflows/learning/A-assess-and-plan/A-assess-and-plan.md +2 -5
- package/template/workflows/learning/C-consolidate/C-consolidate.md +2 -5
- package/template/workflows/learning/G-goal/G-goal.md +5 -23
- package/template/workflows/learning/H-homework/H-homework.md +2 -5
- package/template/workflows/learning/I-init-setup/I-init-setup.md +4 -9
- package/template/workflows/learning/L-lesson/L-lesson.md +2 -5
- package/template/workflows/learning/Q-question/Q-question.md +16 -8
- package/template/workflows/learning/Q-question/inquiry-template.md +2 -0
- package/template/workflows/learning/Q-question/tools/validate-inquiry.mjs +112 -0
- package/template/workflows/learning/R-review/R-review.md +3 -6
- package/template/workflows/learning/README.md +2 -2
- package/template/workflows/learning/common/rules/knowledge-organization.md +1 -1
- package/template/workflows/learning/common/rules/mastery-policy.md +1 -1
- package/template/workflows/learning/common/skills/socratic-questioning/SKILL.md +1 -1
- package/template/workflows/ops/D-project-deploy/D-project-deploy.md +6 -2
- package/template/workflows/ops/H-host-manage/H-host-manage.md +10 -18
- package/template/workflows/ops/H-host-manage/references/host-profiles.md +21 -0
- package/template/workflows/ops/I-initialize/I-initialize.md +4 -4
- package/template/workflows/ops/README.md +22 -84
- package/template/workflows/ops/S-server-connect/S-server-connect.md +3 -3
- package/template/workflows/ops/V-inventory-view/V-inventory-view.md +2 -2
- package/template/workflows/ops/common/rules/deployment-layout.md +51 -0
- package/template/workflows/ops/common/rules/recovery.md +6 -0
- package/template/workflows/ops/common/rules/server-onboarding.md +6 -0
- package/template/workflows/ops/common/tests/test_ops.mjs +5 -8
- package/template/workflows/ops/common/tests/test_ops_bootstrap.mjs +71 -14
- package/template/workflows/ops/common/tests/test_ops_workspace.mjs +17 -8
- package/template/workflows/ops/common/tools/opslib/bootstrap.mjs +4 -4
- package/template/workflows/ops/common/tools/opslib/transport.mjs +3 -3
- package/template/workflows/person/M-mao-zedong-cognitive-os/M-mao-zedong-cognitive-os.md +13 -68
- package/template/workflows/person/S-steelman-deliberation/S-steelman-deliberation.md +11 -123
- package/template/workflows/person/S-steelman-deliberation/references/state-and-publication.md +86 -0
- package/template/workflows/specdev/A-archive-and-consolidate/A-archive-and-consolidate.md +2 -17
- package/template/workflows/specdev/A-archive-and-consolidate/consolidation-interview.md +13 -4
- package/template/workflows/specdev/C-code-review/C-code-review.md +4 -15
- package/template/workflows/specdev/C-code-review/code-review-template.md +4 -0
- package/template/workflows/specdev/D-diagnose-bugs/D-diagnose-bugs.md +4 -20
- package/template/workflows/specdev/G-grill-with-docs/G-grill-with-docs.md +2 -2
- package/template/workflows/specdev/G-grill-with-docs/references/interview-procedure.md +6 -6
- package/template/workflows/specdev/I-implement/I-implement.md +2 -2
- package/template/workflows/specdev/I-implement/evidence-template.md +8 -0
- package/template/workflows/specdev/I-implement/references/implementation-procedure.md +9 -43
- package/template/workflows/specdev/I-implement/tdd-rules.md +4 -0
- package/template/workflows/specdev/I-init-setup/I-init-setup.md +16 -117
- package/template/workflows/specdev/I-init-setup/config-template.json +5 -1
- package/template/workflows/specdev/I-init-setup/references/first-setup.md +46 -0
- package/template/workflows/specdev/INDEX.md +2 -2
- package/template/workflows/specdev/L-learn-change/L-learn-change.md +11 -89
- package/template/workflows/specdev/L-learn-change/references/lesson-format.md +47 -0
- package/template/workflows/specdev/P-goal-plan/P-goal-plan.md +2 -2
- package/template/workflows/specdev/P-goal-plan/planning-modes.md +1 -1
- package/template/workflows/specdev/P-prototype/P-prototype.md +7 -17
- package/template/workflows/specdev/P-prototype/logic-protocol.md +11 -0
- package/template/workflows/specdev/P-prototype/logic-template.md +27 -0
- package/template/workflows/specdev/P-prototype/project-preview-protocol.md +9 -0
- package/template/workflows/specdev/R-retro/R-retro.md +26 -0
- package/template/workflows/specdev/R-retro/retro-template.md +27 -0
- package/template/workflows/specdev/R-review-architecture/R-review-architecture.md +19 -57
- package/template/workflows/specdev/R-review-architecture/architecture-review-template.md +2 -1
- package/template/workflows/specdev/R-review-architecture/references/selected-design.md +23 -0
- package/template/workflows/specdev/R-review-architecture/review-rubric.md +2 -2
- package/template/workflows/specdev/README.md +17 -6
- package/template/workflows/specdev/S-spec/S-spec.md +13 -136
- package/template/workflows/specdev/T-tickets/T-tickets.md +6 -2
- package/template/workflows/specdev/T-triage/T-triage.md +32 -141
- package/template/workflows/specdev/T-triage/capture-protocol.md +1 -1
- package/template/workflows/specdev/T-triage/ci-security-protocol.md +11 -0
- package/template/workflows/specdev/T-triage/intake-protocol.md +29 -4
- package/template/workflows/specdev/T-triage/pr-delivery-protocol.md +13 -0
- package/template/workflows/specdev/T-triage/pr-record-template.md +39 -0
- package/template/workflows/specdev/T-triage/publish-protocol.md +1 -1
- package/template/workflows/specdev/T-triage/queue-protocol.md +7 -0
- package/template/workflows/specdev/T-triage/reconcile-protocol.md +1 -1
- package/template/workflows/specdev/T-triage/references/issue-pr-policy.md +23 -0
- package/template/workflows/specdev/T-triage/references/release-authentication.md +9 -0
- package/template/workflows/specdev/T-triage/references/release-notes-injection.md +21 -0
- package/template/workflows/specdev/T-triage/references/workflow-yaml-reference.md +37 -0
- package/template/workflows/specdev/T-triage/release-preflight.md +13 -0
- package/template/workflows/specdev/T-triage/release-protocol.md +12 -0
- package/template/workflows/specdev/T-triage/release-recovery.md +18 -0
- package/template/workflows/specdev/T-triage/remote-operations.md +25 -0
- package/template/workflows/specdev/T-triage/scripts/github-transport.mjs +208 -0
- package/template/workflows/specdev/T-triage/source-template.md +7 -0
- package/template/workflows/specdev/T-triage/triage-run-template.md +34 -0
- package/template/workflows/specdev/T-triage/triage-template.md +4 -1
- package/template/workflows/specdev/W-wayfinder/W-wayfinder.md +2 -2
- package/template/workflows/specdev/common/rules/artifact-contract.md +7 -0
- package/template/workflows/specdev/common/rules/change-completion.md +6 -0
- package/template/workflows/specdev/common/rules/deployment-handoff.md +23 -0
- package/template/workflows/specdev/common/rules/workflow-routing.md +6 -0
- package/template/workflows/specdev/common/rules/workflow-state-and-lifecycle.md +1 -1
- package/template/workflows/specdev/common/schemas/config.schema.json +137 -26
- package/template/workflows/specdev/common/schemas/logic-prototype.schema.json +62 -0
- package/template/workflows/specdev/common/schemas/pull-request.schema.json +90 -0
- package/template/workflows/specdev/common/schemas/retrospective.schema.json +58 -0
- package/template/workflows/specdev/common/schemas/triage-run.schema.json +149 -0
- package/template/workflows/specdev/common/schemas/triage.schema.json +117 -15
- package/template/workflows/specdev/common/skills/code-review/SKILL.md +5 -4
- package/template/workflows/specdev/common/skills/code-review/references/result-reuse.md +15 -0
- package/template/workflows/specdev/common/tools/delivery-artifacts.mjs +95 -0
- package/template/workflows/specdev/common/tools/validate-specdev.mjs +60 -19
- package/template/workflows/specdev/runtime-contract.json +4 -2
- package/template/skills/archive-and-consolidate/references/entry-procedure.md +0 -178
- package/template/skills/docs-sync/references/entry-procedure.md +0 -3
- package/template/skills/engineering-standards-builder/references/entry-procedure.md +0 -154
- package/template/skills/git-history-squash/references/entry-procedure.md +0 -94
- package/template/skills/github-npm-ops/SKILL.md +0 -19
- package/template/skills/github-npm-ops/references/ci-and-security-ops.md +0 -178
- package/template/skills/github-npm-ops/references/entry-procedure.md +0 -25
- package/template/skills/github-npm-ops/references/failure-recovery.md +0 -123
- package/template/skills/github-npm-ops/references/issue-pr-triage.md +0 -219
- package/template/skills/github-npm-ops/references/issue-transport.md +0 -26
- package/template/skills/github-npm-ops/references/package-json-checklist.md +0 -171
- package/template/skills/github-npm-ops/references/preflight-checklist.md +0 -39
- package/template/skills/github-npm-ops/references/publish-detection.md +0 -68
- package/template/skills/github-npm-ops/references/release-notes-injection.md +0 -238
- package/template/skills/github-npm-ops/references/release-pipeline.md +0 -108
- package/template/skills/github-npm-ops/references/setup-npm-token.md +0 -63
- package/template/skills/github-npm-ops/references/troubleshooting-playbook.md +0 -293
- package/template/skills/github-npm-ops/references/version-bump-flow.md +0 -217
- package/template/skills/github-npm-ops/references/workflow-yaml-reference.md +0 -268
- package/template/skills/github-npm-ops/scripts/issue-transport.mjs +0 -227
- package/template/skills/optimize-codex-config/references/entry-procedure.md +0 -78
- package/template/skills/speculo-retro/SKILL.md +0 -19
- package/template/skills/speculo-retro/references/entry-procedure.md +0 -23
- package/template/skills/upstream-fork-sync/references/entry-procedure.md +0 -78
- package/template/skills/writing-great-skills/SKILL.md +0 -23
- /package/template/skills/{writing-great-skills → writing-for-agents}/references/document-contract.md +0 -0
- /package/template/workflows/specdev/{G-grill-with-docs → common/rules}/adr-format.md +0 -0
- /package/template/workflows/specdev/{G-grill-with-docs → common/rules}/context-format.md +0 -0
- /package/template/workflows/specdev/{I-implement → common/rules}/design-it-twice.md +0 -0
- /package/template/workflows/specdev/{G-grill-with-docs/domain-modeling-rules.md → common/rules/domain-modeling.md} +0 -0
|
@@ -1,58 +1,169 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
-
"$id": "urn:speculo:specdev:config:
|
|
3
|
+
"$id": "urn:speculo:specdev:config:v6",
|
|
4
4
|
"title": "SpecDev Configuration",
|
|
5
5
|
"type": "object",
|
|
6
|
-
"required": [
|
|
6
|
+
"required": [
|
|
7
|
+
"schema_version",
|
|
8
|
+
"interaction_language",
|
|
9
|
+
"artifact_language",
|
|
10
|
+
"git",
|
|
11
|
+
"execution",
|
|
12
|
+
"verification",
|
|
13
|
+
"planning",
|
|
14
|
+
"github"
|
|
15
|
+
],
|
|
7
16
|
"properties": {
|
|
8
|
-
"schema_version": {
|
|
9
|
-
|
|
10
|
-
|
|
17
|
+
"schema_version": {
|
|
18
|
+
"const": 6
|
|
19
|
+
},
|
|
20
|
+
"interaction_language": {
|
|
21
|
+
"type": "string",
|
|
22
|
+
"minLength": 1
|
|
23
|
+
},
|
|
24
|
+
"artifact_language": {
|
|
25
|
+
"type": "string",
|
|
26
|
+
"minLength": 1
|
|
27
|
+
},
|
|
11
28
|
"git": {
|
|
12
29
|
"type": "object",
|
|
13
|
-
"required": [
|
|
30
|
+
"required": [
|
|
31
|
+
"default_branch"
|
|
32
|
+
],
|
|
14
33
|
"properties": {
|
|
15
|
-
"default_branch": {
|
|
34
|
+
"default_branch": {
|
|
35
|
+
"type": [
|
|
36
|
+
"string",
|
|
37
|
+
"null"
|
|
38
|
+
]
|
|
39
|
+
}
|
|
16
40
|
},
|
|
17
41
|
"additionalProperties": false
|
|
18
42
|
},
|
|
19
43
|
"execution": {
|
|
20
44
|
"type": "object",
|
|
21
|
-
"required": [
|
|
45
|
+
"required": [
|
|
46
|
+
"max_implementation_agents",
|
|
47
|
+
"max_integration_attempts",
|
|
48
|
+
"deep_ticket_human_approval",
|
|
49
|
+
"shared_path_owner"
|
|
50
|
+
],
|
|
22
51
|
"properties": {
|
|
23
|
-
"max_implementation_agents": {
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
52
|
+
"max_implementation_agents": {
|
|
53
|
+
"type": "integer",
|
|
54
|
+
"minimum": 1
|
|
55
|
+
},
|
|
56
|
+
"max_integration_attempts": {
|
|
57
|
+
"type": "integer",
|
|
58
|
+
"minimum": 1
|
|
59
|
+
},
|
|
60
|
+
"deep_ticket_human_approval": {
|
|
61
|
+
"type": "boolean"
|
|
62
|
+
},
|
|
63
|
+
"shared_path_owner": {
|
|
64
|
+
"type": "string",
|
|
65
|
+
"minLength": 1
|
|
66
|
+
}
|
|
27
67
|
},
|
|
28
68
|
"additionalProperties": false
|
|
29
69
|
},
|
|
30
70
|
"verification": {
|
|
31
71
|
"type": "object",
|
|
32
|
-
"required": [
|
|
72
|
+
"required": [
|
|
73
|
+
"test",
|
|
74
|
+
"typecheck",
|
|
75
|
+
"lint",
|
|
76
|
+
"build"
|
|
77
|
+
],
|
|
33
78
|
"properties": {
|
|
34
|
-
"test": {
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
79
|
+
"test": {
|
|
80
|
+
"type": [
|
|
81
|
+
"string",
|
|
82
|
+
"null"
|
|
83
|
+
]
|
|
84
|
+
},
|
|
85
|
+
"typecheck": {
|
|
86
|
+
"type": [
|
|
87
|
+
"string",
|
|
88
|
+
"null"
|
|
89
|
+
]
|
|
90
|
+
},
|
|
91
|
+
"lint": {
|
|
92
|
+
"type": [
|
|
93
|
+
"string",
|
|
94
|
+
"null"
|
|
95
|
+
]
|
|
96
|
+
},
|
|
97
|
+
"build": {
|
|
98
|
+
"type": [
|
|
99
|
+
"string",
|
|
100
|
+
"null"
|
|
101
|
+
]
|
|
102
|
+
}
|
|
38
103
|
},
|
|
39
104
|
"additionalProperties": true
|
|
40
105
|
},
|
|
41
106
|
"planning": {
|
|
42
107
|
"type": "object",
|
|
43
|
-
"required": [
|
|
108
|
+
"required": [
|
|
109
|
+
"default_depth",
|
|
110
|
+
"require_ready_gate",
|
|
111
|
+
"require_evidence",
|
|
112
|
+
"ui_design_default_candidates",
|
|
113
|
+
"ui_design_max_candidates"
|
|
114
|
+
],
|
|
44
115
|
"properties": {
|
|
45
|
-
"default_depth": {
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
116
|
+
"default_depth": {
|
|
117
|
+
"enum": [
|
|
118
|
+
"lite",
|
|
119
|
+
"standard",
|
|
120
|
+
"deep"
|
|
121
|
+
]
|
|
122
|
+
},
|
|
123
|
+
"require_ready_gate": {
|
|
124
|
+
"type": "boolean"
|
|
125
|
+
},
|
|
126
|
+
"require_evidence": {
|
|
127
|
+
"type": "boolean"
|
|
128
|
+
},
|
|
129
|
+
"ui_design_default_candidates": {
|
|
130
|
+
"type": "integer",
|
|
131
|
+
"minimum": 2,
|
|
132
|
+
"maximum": 4
|
|
133
|
+
},
|
|
134
|
+
"ui_design_max_candidates": {
|
|
135
|
+
"type": "integer",
|
|
136
|
+
"minimum": 2,
|
|
137
|
+
"maximum": 4
|
|
138
|
+
}
|
|
50
139
|
},
|
|
51
140
|
"additionalProperties": true
|
|
141
|
+
},
|
|
142
|
+
"github": {
|
|
143
|
+
"type": "object",
|
|
144
|
+
"required": [
|
|
145
|
+
"include_external_prs",
|
|
146
|
+
"labels"
|
|
147
|
+
],
|
|
148
|
+
"properties": {
|
|
149
|
+
"include_external_prs": {
|
|
150
|
+
"type": "boolean"
|
|
151
|
+
},
|
|
152
|
+
"labels": {
|
|
153
|
+
"type": "object",
|
|
154
|
+
"additionalProperties": {
|
|
155
|
+
"type": "string",
|
|
156
|
+
"minLength": 1
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
},
|
|
160
|
+
"additionalProperties": false
|
|
52
161
|
}
|
|
53
162
|
},
|
|
54
|
-
"allOf": [
|
|
55
|
-
|
|
56
|
-
|
|
163
|
+
"allOf": [
|
|
164
|
+
{
|
|
165
|
+
"$comment": "ui_design_default_candidates <= ui_design_max_candidates is enforced by validate-specdev.mjs because JSON Schema cannot compare sibling numeric values."
|
|
166
|
+
}
|
|
167
|
+
],
|
|
57
168
|
"additionalProperties": false
|
|
58
169
|
}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "urn:speculo:specdev:logic-prototype:v1",
|
|
4
|
+
"type": "object",
|
|
5
|
+
"required": [
|
|
6
|
+
"schema_version",
|
|
7
|
+
"artifact",
|
|
8
|
+
"change",
|
|
9
|
+
"id",
|
|
10
|
+
"status",
|
|
11
|
+
"verification",
|
|
12
|
+
"html_sha256",
|
|
13
|
+
"updated_at"
|
|
14
|
+
],
|
|
15
|
+
"properties": {
|
|
16
|
+
"schema_version": {
|
|
17
|
+
"const": 1
|
|
18
|
+
},
|
|
19
|
+
"artifact": {
|
|
20
|
+
"const": "logic-prototype"
|
|
21
|
+
},
|
|
22
|
+
"change": {
|
|
23
|
+
"type": "string",
|
|
24
|
+
"pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}-[a-z0-9]+(?:-[a-z0-9]+)*$"
|
|
25
|
+
},
|
|
26
|
+
"id": {
|
|
27
|
+
"type": "string",
|
|
28
|
+
"pattern": "^LOGIC-[0-9]{3,}$"
|
|
29
|
+
},
|
|
30
|
+
"status": {
|
|
31
|
+
"enum": [
|
|
32
|
+
"draft",
|
|
33
|
+
"blocked",
|
|
34
|
+
"ready"
|
|
35
|
+
]
|
|
36
|
+
},
|
|
37
|
+
"verification": {
|
|
38
|
+
"enum": [
|
|
39
|
+
"pending",
|
|
40
|
+
"passed",
|
|
41
|
+
"failed",
|
|
42
|
+
"unknown"
|
|
43
|
+
]
|
|
44
|
+
},
|
|
45
|
+
"html_sha256": {
|
|
46
|
+
"anyOf": [
|
|
47
|
+
{
|
|
48
|
+
"type": "null"
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
"type": "string",
|
|
52
|
+
"pattern": "^[a-f0-9]{64}$"
|
|
53
|
+
}
|
|
54
|
+
]
|
|
55
|
+
},
|
|
56
|
+
"updated_at": {
|
|
57
|
+
"type": "string",
|
|
58
|
+
"format": "date-time"
|
|
59
|
+
}
|
|
60
|
+
},
|
|
61
|
+
"additionalProperties": false
|
|
62
|
+
}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "urn:speculo:specdev:pull-request:v1",
|
|
4
|
+
"type": "object",
|
|
5
|
+
"required": [
|
|
6
|
+
"schema_version",
|
|
7
|
+
"artifact",
|
|
8
|
+
"change",
|
|
9
|
+
"id",
|
|
10
|
+
"requested",
|
|
11
|
+
"status",
|
|
12
|
+
"repo",
|
|
13
|
+
"base_sha",
|
|
14
|
+
"head_sha",
|
|
15
|
+
"body_sha256",
|
|
16
|
+
"verification",
|
|
17
|
+
"url",
|
|
18
|
+
"updated_at",
|
|
19
|
+
"delivery_target"
|
|
20
|
+
],
|
|
21
|
+
"properties": {
|
|
22
|
+
"schema_version": {
|
|
23
|
+
"const": 1
|
|
24
|
+
},
|
|
25
|
+
"artifact": {
|
|
26
|
+
"const": "pull-request"
|
|
27
|
+
},
|
|
28
|
+
"change": {
|
|
29
|
+
"type": "string",
|
|
30
|
+
"pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}-[a-z0-9]+(?:-[a-z0-9]+)*$"
|
|
31
|
+
},
|
|
32
|
+
"id": {
|
|
33
|
+
"type": "string",
|
|
34
|
+
"pattern": "^PR-[0-9]{3,}$"
|
|
35
|
+
},
|
|
36
|
+
"requested": {
|
|
37
|
+
"type": "boolean"
|
|
38
|
+
},
|
|
39
|
+
"status": {
|
|
40
|
+
"enum": [
|
|
41
|
+
"planned",
|
|
42
|
+
"draft",
|
|
43
|
+
"ready",
|
|
44
|
+
"failed",
|
|
45
|
+
"waived"
|
|
46
|
+
]
|
|
47
|
+
},
|
|
48
|
+
"repo": {
|
|
49
|
+
"type": "string",
|
|
50
|
+
"pattern": "^[A-Za-z0-9_.-]+/[A-Za-z0-9_.-]+$"
|
|
51
|
+
},
|
|
52
|
+
"base_sha": {
|
|
53
|
+
"type": "string",
|
|
54
|
+
"pattern": "^[a-f0-9]{40,64}$"
|
|
55
|
+
},
|
|
56
|
+
"head_sha": {
|
|
57
|
+
"type": "string",
|
|
58
|
+
"pattern": "^[a-f0-9]{40,64}$"
|
|
59
|
+
},
|
|
60
|
+
"body_sha256": {
|
|
61
|
+
"type": "string",
|
|
62
|
+
"pattern": "^[a-f0-9]{64}$"
|
|
63
|
+
},
|
|
64
|
+
"verification": {
|
|
65
|
+
"enum": [
|
|
66
|
+
"pending",
|
|
67
|
+
"passed",
|
|
68
|
+
"failed",
|
|
69
|
+
"unknown"
|
|
70
|
+
]
|
|
71
|
+
},
|
|
72
|
+
"url": {
|
|
73
|
+
"type": [
|
|
74
|
+
"string",
|
|
75
|
+
"null"
|
|
76
|
+
]
|
|
77
|
+
},
|
|
78
|
+
"updated_at": {
|
|
79
|
+
"type": "string",
|
|
80
|
+
"format": "date-time"
|
|
81
|
+
},
|
|
82
|
+
"delivery_target": {
|
|
83
|
+
"enum": [
|
|
84
|
+
"draft",
|
|
85
|
+
"ready"
|
|
86
|
+
]
|
|
87
|
+
}
|
|
88
|
+
},
|
|
89
|
+
"additionalProperties": false
|
|
90
|
+
}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "urn:speculo:specdev:retrospective:v1",
|
|
4
|
+
"type": "object",
|
|
5
|
+
"required": [
|
|
6
|
+
"schema_version",
|
|
7
|
+
"artifact",
|
|
8
|
+
"change",
|
|
9
|
+
"id",
|
|
10
|
+
"status",
|
|
11
|
+
"outcome",
|
|
12
|
+
"sources",
|
|
13
|
+
"updated_at"
|
|
14
|
+
],
|
|
15
|
+
"properties": {
|
|
16
|
+
"schema_version": {
|
|
17
|
+
"const": 1
|
|
18
|
+
},
|
|
19
|
+
"artifact": {
|
|
20
|
+
"const": "retrospective"
|
|
21
|
+
},
|
|
22
|
+
"change": {
|
|
23
|
+
"type": "string",
|
|
24
|
+
"pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}-[a-z0-9]+(?:-[a-z0-9]+)*$"
|
|
25
|
+
},
|
|
26
|
+
"id": {
|
|
27
|
+
"type": "string",
|
|
28
|
+
"pattern": "^RETRO-[0-9]{3,}$"
|
|
29
|
+
},
|
|
30
|
+
"status": {
|
|
31
|
+
"enum": [
|
|
32
|
+
"draft",
|
|
33
|
+
"blocked",
|
|
34
|
+
"completed"
|
|
35
|
+
]
|
|
36
|
+
},
|
|
37
|
+
"outcome": {
|
|
38
|
+
"enum": [
|
|
39
|
+
"findings",
|
|
40
|
+
"no-findings",
|
|
41
|
+
"insufficient-evidence"
|
|
42
|
+
]
|
|
43
|
+
},
|
|
44
|
+
"sources": {
|
|
45
|
+
"type": "array",
|
|
46
|
+
"minItems": 1,
|
|
47
|
+
"items": {
|
|
48
|
+
"type": "string",
|
|
49
|
+
"minLength": 1
|
|
50
|
+
}
|
|
51
|
+
},
|
|
52
|
+
"updated_at": {
|
|
53
|
+
"type": "string",
|
|
54
|
+
"format": "date-time"
|
|
55
|
+
}
|
|
56
|
+
},
|
|
57
|
+
"additionalProperties": false
|
|
58
|
+
}
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "urn:speculo:specdev:triage-run:v1",
|
|
4
|
+
"type": "object",
|
|
5
|
+
"required": [
|
|
6
|
+
"schema_version",
|
|
7
|
+
"artifact",
|
|
8
|
+
"id",
|
|
9
|
+
"mode",
|
|
10
|
+
"status",
|
|
11
|
+
"repo",
|
|
12
|
+
"change",
|
|
13
|
+
"commit_sha",
|
|
14
|
+
"npm_target",
|
|
15
|
+
"updated_at",
|
|
16
|
+
"targets"
|
|
17
|
+
],
|
|
18
|
+
"properties": {
|
|
19
|
+
"schema_version": {
|
|
20
|
+
"const": 1
|
|
21
|
+
},
|
|
22
|
+
"artifact": {
|
|
23
|
+
"const": "triage-run"
|
|
24
|
+
},
|
|
25
|
+
"id": {
|
|
26
|
+
"type": "string",
|
|
27
|
+
"pattern": "^TRI-[0-9]{3,}$"
|
|
28
|
+
},
|
|
29
|
+
"mode": {
|
|
30
|
+
"enum": [
|
|
31
|
+
"ci-security",
|
|
32
|
+
"release-preflight",
|
|
33
|
+
"release"
|
|
34
|
+
]
|
|
35
|
+
},
|
|
36
|
+
"status": {
|
|
37
|
+
"enum": [
|
|
38
|
+
"planned",
|
|
39
|
+
"blocked",
|
|
40
|
+
"failed",
|
|
41
|
+
"completed"
|
|
42
|
+
]
|
|
43
|
+
},
|
|
44
|
+
"repo": {
|
|
45
|
+
"type": "string",
|
|
46
|
+
"pattern": "^[A-Za-z0-9_.-]+/[A-Za-z0-9_.-]+$"
|
|
47
|
+
},
|
|
48
|
+
"change": {
|
|
49
|
+
"anyOf": [
|
|
50
|
+
{
|
|
51
|
+
"type": "null"
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
"type": "string",
|
|
55
|
+
"pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}-[a-z0-9]+(?:-[a-z0-9]+)*$"
|
|
56
|
+
}
|
|
57
|
+
]
|
|
58
|
+
},
|
|
59
|
+
"commit_sha": {
|
|
60
|
+
"anyOf": [
|
|
61
|
+
{
|
|
62
|
+
"type": "null"
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
"type": "string",
|
|
66
|
+
"pattern": "^[a-f0-9]{40,64}$"
|
|
67
|
+
}
|
|
68
|
+
]
|
|
69
|
+
},
|
|
70
|
+
"npm_target": {
|
|
71
|
+
"enum": [
|
|
72
|
+
"required",
|
|
73
|
+
"not-required",
|
|
74
|
+
"unknown"
|
|
75
|
+
]
|
|
76
|
+
},
|
|
77
|
+
"updated_at": {
|
|
78
|
+
"type": "string",
|
|
79
|
+
"format": "date-time"
|
|
80
|
+
},
|
|
81
|
+
"targets": {
|
|
82
|
+
"type": "array",
|
|
83
|
+
"items": {
|
|
84
|
+
"type": "object",
|
|
85
|
+
"required": [
|
|
86
|
+
"kind",
|
|
87
|
+
"identity",
|
|
88
|
+
"required",
|
|
89
|
+
"version",
|
|
90
|
+
"registry",
|
|
91
|
+
"dist_tag",
|
|
92
|
+
"observed",
|
|
93
|
+
"receipt"
|
|
94
|
+
],
|
|
95
|
+
"properties": {
|
|
96
|
+
"kind": {
|
|
97
|
+
"enum": [
|
|
98
|
+
"npm",
|
|
99
|
+
"github-release",
|
|
100
|
+
"ci",
|
|
101
|
+
"security"
|
|
102
|
+
]
|
|
103
|
+
},
|
|
104
|
+
"identity": {
|
|
105
|
+
"type": "string",
|
|
106
|
+
"minLength": 1
|
|
107
|
+
},
|
|
108
|
+
"required": {
|
|
109
|
+
"type": "boolean"
|
|
110
|
+
},
|
|
111
|
+
"version": {
|
|
112
|
+
"type": [
|
|
113
|
+
"string",
|
|
114
|
+
"null"
|
|
115
|
+
]
|
|
116
|
+
},
|
|
117
|
+
"registry": {
|
|
118
|
+
"type": [
|
|
119
|
+
"string",
|
|
120
|
+
"null"
|
|
121
|
+
]
|
|
122
|
+
},
|
|
123
|
+
"dist_tag": {
|
|
124
|
+
"type": [
|
|
125
|
+
"string",
|
|
126
|
+
"null"
|
|
127
|
+
]
|
|
128
|
+
},
|
|
129
|
+
"observed": {
|
|
130
|
+
"enum": [
|
|
131
|
+
"pending",
|
|
132
|
+
"verified",
|
|
133
|
+
"failed",
|
|
134
|
+
"unknown"
|
|
135
|
+
]
|
|
136
|
+
},
|
|
137
|
+
"receipt": {
|
|
138
|
+
"type": [
|
|
139
|
+
"string",
|
|
140
|
+
"null"
|
|
141
|
+
]
|
|
142
|
+
}
|
|
143
|
+
},
|
|
144
|
+
"additionalProperties": false
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
},
|
|
148
|
+
"additionalProperties": false
|
|
149
|
+
}
|
|
@@ -1,23 +1,125 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
-
"$id": "urn:speculo:specdev:triage:
|
|
3
|
+
"$id": "urn:speculo:specdev:triage:v2",
|
|
4
4
|
"title": "SpecDev Triage Frontmatter",
|
|
5
5
|
"type": "object",
|
|
6
|
-
"required": [
|
|
6
|
+
"required": [
|
|
7
|
+
"schema_version",
|
|
8
|
+
"artifact",
|
|
9
|
+
"change",
|
|
10
|
+
"mode",
|
|
11
|
+
"source",
|
|
12
|
+
"classification",
|
|
13
|
+
"risk",
|
|
14
|
+
"route",
|
|
15
|
+
"ready_for_implementation",
|
|
16
|
+
"external_action",
|
|
17
|
+
"updated_at",
|
|
18
|
+
"disposition",
|
|
19
|
+
"verification",
|
|
20
|
+
"remote_actions"
|
|
21
|
+
],
|
|
7
22
|
"properties": {
|
|
8
|
-
"schema_version": {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
"
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
"
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
"
|
|
19
|
-
|
|
20
|
-
|
|
23
|
+
"schema_version": {
|
|
24
|
+
"const": 2
|
|
25
|
+
},
|
|
26
|
+
"artifact": {
|
|
27
|
+
"const": "triage"
|
|
28
|
+
},
|
|
29
|
+
"change": {
|
|
30
|
+
"type": "string",
|
|
31
|
+
"pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}-[a-z0-9]+(?:-[a-z0-9]+)*$"
|
|
32
|
+
},
|
|
33
|
+
"mode": {
|
|
34
|
+
"enum": [
|
|
35
|
+
"intake",
|
|
36
|
+
"reconcile",
|
|
37
|
+
"publish"
|
|
38
|
+
]
|
|
39
|
+
},
|
|
40
|
+
"source": {
|
|
41
|
+
"type": "string",
|
|
42
|
+
"minLength": 1
|
|
43
|
+
},
|
|
44
|
+
"classification": {
|
|
45
|
+
"enum": [
|
|
46
|
+
"bug",
|
|
47
|
+
"feature",
|
|
48
|
+
"refactor",
|
|
49
|
+
"investigation",
|
|
50
|
+
"operations",
|
|
51
|
+
"documentation",
|
|
52
|
+
"review",
|
|
53
|
+
"mixed"
|
|
54
|
+
]
|
|
55
|
+
},
|
|
56
|
+
"risk": {
|
|
57
|
+
"enum": [
|
|
58
|
+
"low",
|
|
59
|
+
"medium",
|
|
60
|
+
"high",
|
|
61
|
+
"critical"
|
|
62
|
+
]
|
|
63
|
+
},
|
|
64
|
+
"route": {
|
|
65
|
+
"type": "string",
|
|
66
|
+
"pattern": "^specdev/[a-z0-9]+(?:-[a-z0-9]+)*$"
|
|
67
|
+
},
|
|
68
|
+
"ready_for_implementation": {
|
|
69
|
+
"type": "boolean"
|
|
70
|
+
},
|
|
71
|
+
"external_action": {
|
|
72
|
+
"enum": [
|
|
73
|
+
"not-applicable",
|
|
74
|
+
"pending-close",
|
|
75
|
+
"closed",
|
|
76
|
+
"close-failed",
|
|
77
|
+
"waived"
|
|
78
|
+
]
|
|
79
|
+
},
|
|
80
|
+
"publish_action": {
|
|
81
|
+
"enum": [
|
|
82
|
+
"not-requested",
|
|
83
|
+
"pending",
|
|
84
|
+
"published",
|
|
85
|
+
"publish-failed",
|
|
86
|
+
"waived"
|
|
87
|
+
]
|
|
88
|
+
},
|
|
89
|
+
"publish": {
|
|
90
|
+
"type": [
|
|
91
|
+
"string",
|
|
92
|
+
"null"
|
|
93
|
+
]
|
|
94
|
+
},
|
|
95
|
+
"updated_at": {
|
|
96
|
+
"type": "string",
|
|
97
|
+
"minLength": 1
|
|
98
|
+
},
|
|
99
|
+
"disposition": {
|
|
100
|
+
"enum": [
|
|
101
|
+
"needs-triage",
|
|
102
|
+
"needs-info",
|
|
103
|
+
"ready-for-agent",
|
|
104
|
+
"ready-for-human",
|
|
105
|
+
"wontfix"
|
|
106
|
+
]
|
|
107
|
+
},
|
|
108
|
+
"verification": {
|
|
109
|
+
"enum": [
|
|
110
|
+
"pending",
|
|
111
|
+
"passed",
|
|
112
|
+
"failed",
|
|
113
|
+
"unknown"
|
|
114
|
+
]
|
|
115
|
+
},
|
|
116
|
+
"remote_actions": {
|
|
117
|
+
"type": "array",
|
|
118
|
+
"items": {
|
|
119
|
+
"type": "string"
|
|
120
|
+
},
|
|
121
|
+
"uniqueItems": true
|
|
122
|
+
}
|
|
21
123
|
},
|
|
22
124
|
"additionalProperties": true
|
|
23
125
|
}
|