create-yss-spec 3.3.7 → 3.3.8
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 +12 -13
- package/package.json +1 -1
- package/template/.agents/skills/.strategic-design-skills-manifest.json +2 -2
- package/template/.agents/skills/implementation-repo-onboarding/SKILL.md +2 -2
- package/template/.agents/skills/yss-application/SKILL.md +1 -1
- package/template/.agents/skills/yss-application/references/profiles/existing-domain-driven-maven.md +5 -0
- package/template/.agents/skills/yss-application/references/profiles/existing-layered-mvc-maven.md +5 -0
- package/template/.agents/skills/yss-implementation-contract-compiler/SKILL.md +2 -2
- package/template/.agents/skills/yss-implementation-contract-compiler/references/compiler-contract.yaml +4 -0
- package/template/.agents/skills/yss-product-lifecycle/references/orchestration-contract.yaml +6 -1
- package/template/.agents/skills/yss-prototype-stage/SKILL.md +10 -1
- package/template/.agents/skills/yss-technical-design/SKILL.md +2 -0
- package/template/.agents/skills/yss-technical-design/references/engineering-design.schema.json +224 -0
- package/template/.agents/skills/yss-technical-design/references/technical-design-common.schema.json +6 -0
- package/template/.agents/skills/yss-technical-design/references/technical-design.schema.json +288 -10
- package/template/.agents/skills/yss-technical-design/scripts/engineering-design.mjs +30 -0
- package/template/.agents/skills/yss-technical-design/scripts/generate-schema.mjs +2 -1
- package/template/.agents/skills/yss-technical-design/scripts/validate-technical-design.mjs +20 -8
- package/template/.agents/skills/yss-technical-design/tests/engineering-scenarios.mjs +12 -0
- package/template/.agents/skills/yss-web-controller/SKILL.md +1 -1
- package/template/.agents/skills/yss-web-controller/references/profiles/existing-domain-driven-maven.md +5 -0
- package/template/.agents/skills/yss-web-controller/references/profiles/existing-layered-mvc-maven.md +5 -0
- package/template/.codex/skills/implementation-repo-onboarding/SKILL.md +2 -2
- package/template/.codex/skills/yss-application/SKILL.md +1 -1
- package/template/.codex/skills/yss-application/references/profiles/existing-domain-driven-maven.md +5 -0
- package/template/.codex/skills/yss-application/references/profiles/existing-layered-mvc-maven.md +5 -0
- package/template/.codex/skills/yss-implementation-contract-compiler/SKILL.md +2 -2
- package/template/.codex/skills/yss-implementation-contract-compiler/references/compiler-contract.yaml +4 -0
- package/template/.codex/skills/yss-product-lifecycle/references/orchestration-contract.yaml +6 -1
- package/template/.codex/skills/yss-prototype-stage/SKILL.md +10 -1
- package/template/.codex/skills/yss-technical-design/SKILL.md +2 -0
- package/template/.codex/skills/yss-technical-design/references/engineering-design.schema.json +224 -0
- package/template/.codex/skills/yss-technical-design/references/technical-design-common.schema.json +6 -0
- package/template/.codex/skills/yss-technical-design/references/technical-design.schema.json +288 -10
- package/template/.codex/skills/yss-technical-design/scripts/engineering-design.mjs +30 -0
- package/template/.codex/skills/yss-technical-design/scripts/generate-schema.mjs +2 -1
- package/template/.codex/skills/yss-technical-design/scripts/validate-technical-design.mjs +20 -8
- package/template/.codex/skills/yss-technical-design/tests/engineering-scenarios.mjs +12 -0
- package/template/.codex/skills/yss-web-controller/SKILL.md +1 -1
- package/template/.codex/skills/yss-web-controller/references/profiles/existing-domain-driven-maven.md +5 -0
- package/template/.codex/skills/yss-web-controller/references/profiles/existing-layered-mvc-maven.md +5 -0
- package/template/.cursor/skills/implementation-repo-onboarding/SKILL.md +2 -2
- package/template/.cursor/skills/yss-application/SKILL.md +1 -1
- package/template/.cursor/skills/yss-application/references/profiles/existing-domain-driven-maven.md +5 -0
- package/template/.cursor/skills/yss-application/references/profiles/existing-layered-mvc-maven.md +5 -0
- package/template/.cursor/skills/yss-implementation-contract-compiler/SKILL.md +2 -2
- package/template/.cursor/skills/yss-implementation-contract-compiler/references/compiler-contract.yaml +4 -0
- package/template/.cursor/skills/yss-product-lifecycle/references/orchestration-contract.yaml +6 -1
- package/template/.cursor/skills/yss-prototype-stage/SKILL.md +10 -1
- package/template/.cursor/skills/yss-technical-design/SKILL.md +2 -0
- package/template/.cursor/skills/yss-technical-design/references/engineering-design.schema.json +224 -0
- package/template/.cursor/skills/yss-technical-design/references/technical-design-common.schema.json +6 -0
- package/template/.cursor/skills/yss-technical-design/references/technical-design.schema.json +288 -10
- package/template/.cursor/skills/yss-technical-design/scripts/engineering-design.mjs +30 -0
- package/template/.cursor/skills/yss-technical-design/scripts/generate-schema.mjs +2 -1
- package/template/.cursor/skills/yss-technical-design/scripts/validate-technical-design.mjs +20 -8
- package/template/.cursor/skills/yss-technical-design/tests/engineering-scenarios.mjs +12 -0
- package/template/.cursor/skills/yss-web-controller/SKILL.md +1 -1
- package/template/.cursor/skills/yss-web-controller/references/profiles/existing-domain-driven-maven.md +5 -0
- package/template/.cursor/skills/yss-web-controller/references/profiles/existing-layered-mvc-maven.md +5 -0
- package/template/.pi/skills/implementation-repo-onboarding/SKILL.md +2 -2
- package/template/.pi/skills/yss-application/SKILL.md +1 -1
- package/template/.pi/skills/yss-application/references/profiles/existing-domain-driven-maven.md +5 -0
- package/template/.pi/skills/yss-application/references/profiles/existing-layered-mvc-maven.md +5 -0
- package/template/.pi/skills/yss-implementation-contract-compiler/SKILL.md +2 -2
- package/template/.pi/skills/yss-implementation-contract-compiler/references/compiler-contract.yaml +4 -0
- package/template/.pi/skills/yss-product-lifecycle/references/orchestration-contract.yaml +6 -1
- package/template/.pi/skills/yss-prototype-stage/SKILL.md +10 -1
- package/template/.pi/skills/yss-technical-design/SKILL.md +2 -0
- package/template/.pi/skills/yss-technical-design/references/engineering-design.schema.json +224 -0
- package/template/.pi/skills/yss-technical-design/references/technical-design-common.schema.json +6 -0
- package/template/.pi/skills/yss-technical-design/references/technical-design.schema.json +288 -10
- package/template/.pi/skills/yss-technical-design/scripts/engineering-design.mjs +30 -0
- package/template/.pi/skills/yss-technical-design/scripts/generate-schema.mjs +2 -1
- package/template/.pi/skills/yss-technical-design/scripts/validate-technical-design.mjs +20 -8
- package/template/.pi/skills/yss-technical-design/tests/engineering-scenarios.mjs +12 -0
- package/template/.pi/skills/yss-web-controller/SKILL.md +1 -1
- package/template/.pi/skills/yss-web-controller/references/profiles/existing-domain-driven-maven.md +5 -0
- package/template/.pi/skills/yss-web-controller/references/profiles/existing-layered-mvc-maven.md +5 -0
- package/template/README.md +4 -6
- package/template/docs/agents/backend-architecture-profiles.md +4 -0
- package/template/docs/agents/yss-skill-registry.yaml +13 -0
- package/template/docs/design/templates/prototype-confirmation-template.md +2 -2
- package/template/docs/design/templates/prototype-review-checklist.md +2 -2
- package/template/docs/plan/templates/market-analysis-template.md +3 -3
- package/template/docs/plan/templates/user-pain-points-template.md +3 -3
- package/template/docs/process/delivery-preflight.md +72 -0
- package/template/docs/process/document-writing.md +5 -1
- package/template/docs/process/existing-backend-architecture.md +31 -0
- package/template/docs/process/existing-ui-baseline.md +40 -0
- package/template/docs/process/frontend-backend-delivery.md +19 -6
- package/template/docs/process/implementation-repo-integration.md +6 -0
- package/template/docs/process/schemas/backend-architecture-identity.schema.json +111 -14
- package/template/docs/process/schemas/delivery-preflight-input.schema.json +158 -0
- package/template/docs/process/schemas/delivery-preflight-result.schema.json +159 -0
- package/template/docs/process/schemas/digital-human-task-package.schema.json +1 -1
- package/template/docs/process/schemas/existing-ui-baseline.schema.json +365 -0
- package/template/docs/process/schemas/frontend-delivery-acceptance-v3.schema.json +308 -0
- package/template/docs/process/schemas/frontend-strategic-preflight-v2.schema.json +114 -0
- package/template/docs/process/schemas/strategic-design-handoff-v5.schema.json +932 -0
- package/template/docs/process/schemas/strategic-handoff-export-v2.schema.json +378 -0
- package/template/docs/process/strategic-handoff-package.md +21 -13
- package/template/docs/user-guide//346/212/200/346/234/257/350/256/276/350/256/241/347/224/250/346/210/267/346/214/207/345/215/227.md +43 -0
- package/template/docs/user-guide//347/224/250/346/210/267/346/211/213/345/206/214.md +83 -67
- package/template/docs/user-guide//347/224/250/346/210/267/346/211/213/345/206/214/347/264/242/345/274/225.md +9 -10
- package/template/docs/user-guide//350/256/276/345/244/207/345/200/237/347/224/250/350/264/257/347/251/277/346/241/210/344/276/213.md +12 -9
- package/template/scripts/backend-delivery +20 -4
- package/template/scripts/lib/approved-execution-context.mjs +106 -0
- package/template/scripts/lib/backend-architecture.mjs +12 -0
- package/template/scripts/lib/backend-delivery.mjs +10 -6
- package/template/scripts/lib/delivery-preflight.mjs +238 -0
- package/template/scripts/lib/existing-backend-architecture.mjs +139 -0
- package/template/scripts/lib/existing-ui-baseline.mjs +84 -0
- package/template/scripts/lib/frontend-delivery.mjs +23 -15
- package/template/scripts/lib/implementation-contract-compiler.mjs +19 -5
- package/template/scripts/lib/json-schema.mjs +19 -4
- package/template/scripts/lib/profile-skill-sync.mjs +26 -0
- package/template/scripts/lib/strategic-handoff-consumption.mjs +6 -5
- package/template/scripts/lib/strategic-handoff-design-targets.mjs +2 -3
- package/template/scripts/lib/strategic-handoff-io.mjs +10 -0
- package/template/scripts/lib/strategic-handoff.mjs +47 -29
- package/template/scripts/lib/task-package.mjs +11 -3
- package/template/scripts/lib/technical-design-boundary.mjs +9 -1
- package/template/scripts/lib/ui-baseline.mjs +26 -0
- package/template/scripts/lib/user-decision.mjs +4 -1
- package/template/scripts/preflight-delivery +14 -0
- package/template/scripts/strategic-handoff +19 -4
- package/template/scripts/sync-profile-skills +4 -5
- package/template/skills-lock.json +15 -15
- package/template.snapshot.json +3 -3
- package/template/docs/user-guide//346/210/230/346/234/257/350/256/276/350/256/241/345/255/220/351/241/271/347/233/256/347/224/250/346/210/267/346/211/213/345/206/214.md +0 -35
|
@@ -2,18 +2,115 @@
|
|
|
2
2
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
3
|
"$id": "https://yss.local/schemas/backend-architecture-identity.schema.json",
|
|
4
4
|
"title": "后端架构身份",
|
|
5
|
-
"
|
|
6
|
-
"
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
5
|
+
"description": "旧生成式身份严格兼容;既有工程显式 existing-registration v2,必须以原始文件三方核验。",
|
|
6
|
+
"oneOf": [
|
|
7
|
+
{
|
|
8
|
+
"type": "object",
|
|
9
|
+
"additionalProperties": false,
|
|
10
|
+
"required": [
|
|
11
|
+
"architecture_family",
|
|
12
|
+
"architecture_profile",
|
|
13
|
+
"generator_skill",
|
|
14
|
+
"requested_capabilities",
|
|
15
|
+
"resolved_modules",
|
|
16
|
+
"contract_digest",
|
|
17
|
+
"verification_database",
|
|
18
|
+
"production_database"
|
|
19
|
+
],
|
|
20
|
+
"properties": {
|
|
21
|
+
"architecture_family": {
|
|
22
|
+
"enum": [
|
|
23
|
+
"domain-driven",
|
|
24
|
+
"layered-mvc"
|
|
25
|
+
]
|
|
26
|
+
},
|
|
27
|
+
"architecture_profile": {
|
|
28
|
+
"enum": [
|
|
29
|
+
"target-domain-model",
|
|
30
|
+
"layered-mvc-service",
|
|
31
|
+
"mvc-data-analysis-v1"
|
|
32
|
+
]
|
|
33
|
+
},
|
|
34
|
+
"generator_skill": {
|
|
35
|
+
"type": "string",
|
|
36
|
+
"minLength": 1
|
|
37
|
+
},
|
|
38
|
+
"requested_capabilities": {
|
|
39
|
+
"type": "array",
|
|
40
|
+
"uniqueItems": true,
|
|
41
|
+
"items": {
|
|
42
|
+
"type": "string"
|
|
43
|
+
}
|
|
44
|
+
},
|
|
45
|
+
"resolved_modules": {
|
|
46
|
+
"type": "array",
|
|
47
|
+
"minItems": 1,
|
|
48
|
+
"uniqueItems": true,
|
|
49
|
+
"items": {
|
|
50
|
+
"type": "string"
|
|
51
|
+
}
|
|
52
|
+
},
|
|
53
|
+
"contract_digest": {
|
|
54
|
+
"type": "string",
|
|
55
|
+
"pattern": "^(sha256:)?[a-f0-9]{64}$"
|
|
56
|
+
},
|
|
57
|
+
"verification_database": {
|
|
58
|
+
"const": "h2"
|
|
59
|
+
},
|
|
60
|
+
"production_database": {
|
|
61
|
+
"const": "not-bound"
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
"type": "object",
|
|
67
|
+
"additionalProperties": false,
|
|
68
|
+
"required": [
|
|
69
|
+
"schema_version",
|
|
70
|
+
"source_kind",
|
|
71
|
+
"architecture_family",
|
|
72
|
+
"architecture_profile",
|
|
73
|
+
"repository_id",
|
|
74
|
+
"project_id",
|
|
75
|
+
"source_digest",
|
|
76
|
+
"build_units_digest"
|
|
77
|
+
],
|
|
78
|
+
"properties": {
|
|
79
|
+
"schema_version": {
|
|
80
|
+
"const": 2
|
|
81
|
+
},
|
|
82
|
+
"source_kind": {
|
|
83
|
+
"const": "existing-registration"
|
|
84
|
+
},
|
|
85
|
+
"architecture_family": {
|
|
86
|
+
"enum": [
|
|
87
|
+
"domain-driven",
|
|
88
|
+
"layered-mvc"
|
|
89
|
+
]
|
|
90
|
+
},
|
|
91
|
+
"architecture_profile": {
|
|
92
|
+
"enum": [
|
|
93
|
+
"existing-domain-driven-maven",
|
|
94
|
+
"existing-layered-mvc-maven"
|
|
95
|
+
]
|
|
96
|
+
},
|
|
97
|
+
"repository_id": {
|
|
98
|
+
"type": "string",
|
|
99
|
+
"minLength": 1
|
|
100
|
+
},
|
|
101
|
+
"project_id": {
|
|
102
|
+
"type": "string",
|
|
103
|
+
"minLength": 1
|
|
104
|
+
},
|
|
105
|
+
"source_digest": {
|
|
106
|
+
"type": "string",
|
|
107
|
+
"pattern": "^sha256:[a-f0-9]{64}$"
|
|
108
|
+
},
|
|
109
|
+
"build_units_digest": {
|
|
110
|
+
"type": "string",
|
|
111
|
+
"pattern": "^sha256:[a-f0-9]{64}$"
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
]
|
|
19
116
|
}
|
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"type": "object",
|
|
4
|
+
"additionalProperties": false,
|
|
5
|
+
"required": [
|
|
6
|
+
"schema_version",
|
|
7
|
+
"scope"
|
|
8
|
+
],
|
|
9
|
+
"properties": {
|
|
10
|
+
"schema_version": {
|
|
11
|
+
"const": 1
|
|
12
|
+
},
|
|
13
|
+
"governance_root": {
|
|
14
|
+
"type": "string",
|
|
15
|
+
"minLength": 1
|
|
16
|
+
},
|
|
17
|
+
"planned_initialization": {
|
|
18
|
+
"type": "boolean"
|
|
19
|
+
},
|
|
20
|
+
"scope": {
|
|
21
|
+
"type": "object",
|
|
22
|
+
"additionalProperties": false,
|
|
23
|
+
"required": [
|
|
24
|
+
"repository_id",
|
|
25
|
+
"project_id",
|
|
26
|
+
"slice_id",
|
|
27
|
+
"operation_ids"
|
|
28
|
+
],
|
|
29
|
+
"properties": {
|
|
30
|
+
"repository_id": {
|
|
31
|
+
"type": "string",
|
|
32
|
+
"minLength": 1
|
|
33
|
+
},
|
|
34
|
+
"project_id": {
|
|
35
|
+
"type": "string",
|
|
36
|
+
"minLength": 1
|
|
37
|
+
},
|
|
38
|
+
"slice_id": {
|
|
39
|
+
"type": "string",
|
|
40
|
+
"minLength": 1
|
|
41
|
+
},
|
|
42
|
+
"operation_ids": {
|
|
43
|
+
"type": "array",
|
|
44
|
+
"minItems": 1,
|
|
45
|
+
"uniqueItems": true,
|
|
46
|
+
"items": {
|
|
47
|
+
"type": "string",
|
|
48
|
+
"minLength": 1
|
|
49
|
+
}
|
|
50
|
+
},
|
|
51
|
+
"ui_mode": {
|
|
52
|
+
"enum": [
|
|
53
|
+
"existing-baseline",
|
|
54
|
+
"prototype",
|
|
55
|
+
"not-applicable"
|
|
56
|
+
]
|
|
57
|
+
},
|
|
58
|
+
"ui_not_applicable_reason": {
|
|
59
|
+
"type": "string",
|
|
60
|
+
"minLength": 1
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
},
|
|
64
|
+
"architecture_identity": {
|
|
65
|
+
"type": "object"
|
|
66
|
+
},
|
|
67
|
+
"architecture_bindings": {
|
|
68
|
+
"type": "object",
|
|
69
|
+
"additionalProperties": false,
|
|
70
|
+
"properties": {
|
|
71
|
+
"engineering_baseline": {
|
|
72
|
+
"$ref": "#/$defs/binding"
|
|
73
|
+
},
|
|
74
|
+
"repository_registration": {
|
|
75
|
+
"$ref": "#/$defs/binding"
|
|
76
|
+
},
|
|
77
|
+
"manifest": {
|
|
78
|
+
"$ref": "#/$defs/binding"
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
},
|
|
82
|
+
"assets": {
|
|
83
|
+
"type": "object",
|
|
84
|
+
"additionalProperties": false,
|
|
85
|
+
"properties": {
|
|
86
|
+
"openapi": {
|
|
87
|
+
"$ref": "#/$defs/binding"
|
|
88
|
+
},
|
|
89
|
+
"technical_design": {
|
|
90
|
+
"$ref": "#/$defs/binding"
|
|
91
|
+
},
|
|
92
|
+
"slice_contract": {
|
|
93
|
+
"$ref": "#/$defs/binding"
|
|
94
|
+
},
|
|
95
|
+
"ui_baseline": {
|
|
96
|
+
"$ref": "#/$defs/binding"
|
|
97
|
+
},
|
|
98
|
+
"build": {
|
|
99
|
+
"$ref": "#/$defs/binding"
|
|
100
|
+
},
|
|
101
|
+
"deployment": {
|
|
102
|
+
"$ref": "#/$defs/binding"
|
|
103
|
+
},
|
|
104
|
+
"strategic_handoff": {
|
|
105
|
+
"$ref": "#/$defs/binding"
|
|
106
|
+
},
|
|
107
|
+
"backend_delivery": {
|
|
108
|
+
"$ref": "#/$defs/binding"
|
|
109
|
+
},
|
|
110
|
+
"local_authorization": {
|
|
111
|
+
"$ref": "#/$defs/binding"
|
|
112
|
+
},
|
|
113
|
+
"build_artifact": {
|
|
114
|
+
"$ref": "#/$defs/binding"
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
},
|
|
118
|
+
"delivery_kind": {
|
|
119
|
+
"enum": [
|
|
120
|
+
"complete",
|
|
121
|
+
"strategic-handoff",
|
|
122
|
+
"backend-delivery"
|
|
123
|
+
]
|
|
124
|
+
}
|
|
125
|
+
},
|
|
126
|
+
"$defs": {
|
|
127
|
+
"binding": {
|
|
128
|
+
"type": "object",
|
|
129
|
+
"additionalProperties": false,
|
|
130
|
+
"required": [
|
|
131
|
+
"ref",
|
|
132
|
+
"digest"
|
|
133
|
+
],
|
|
134
|
+
"properties": {
|
|
135
|
+
"ref": {
|
|
136
|
+
"type": "string",
|
|
137
|
+
"minLength": 1
|
|
138
|
+
},
|
|
139
|
+
"digest": {
|
|
140
|
+
"type": "string",
|
|
141
|
+
"pattern": "^sha256:[0-9a-f]{64}$"
|
|
142
|
+
},
|
|
143
|
+
"id": {
|
|
144
|
+
"type": "string",
|
|
145
|
+
"minLength": 1
|
|
146
|
+
},
|
|
147
|
+
"version": {
|
|
148
|
+
"type": "string",
|
|
149
|
+
"minLength": 1
|
|
150
|
+
},
|
|
151
|
+
"approval_ref": {
|
|
152
|
+
"type": "string",
|
|
153
|
+
"minLength": 1
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
}
|
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"type": "object",
|
|
4
|
+
"additionalProperties": false,
|
|
5
|
+
"required": [
|
|
6
|
+
"schema_version",
|
|
7
|
+
"result",
|
|
8
|
+
"exit_code",
|
|
9
|
+
"stage",
|
|
10
|
+
"checks"
|
|
11
|
+
],
|
|
12
|
+
"properties": {
|
|
13
|
+
"schema_version": {
|
|
14
|
+
"const": 1
|
|
15
|
+
},
|
|
16
|
+
"result": {
|
|
17
|
+
"enum": [
|
|
18
|
+
"ready",
|
|
19
|
+
"blocked",
|
|
20
|
+
"invalid-input"
|
|
21
|
+
]
|
|
22
|
+
},
|
|
23
|
+
"exit_code": {
|
|
24
|
+
"enum": [
|
|
25
|
+
0,
|
|
26
|
+
1,
|
|
27
|
+
2
|
|
28
|
+
]
|
|
29
|
+
},
|
|
30
|
+
"stage": {
|
|
31
|
+
"enum": [
|
|
32
|
+
"prepare",
|
|
33
|
+
"build",
|
|
34
|
+
"export",
|
|
35
|
+
"accept",
|
|
36
|
+
null
|
|
37
|
+
]
|
|
38
|
+
},
|
|
39
|
+
"checks": {
|
|
40
|
+
"type": "array",
|
|
41
|
+
"minItems": 1,
|
|
42
|
+
"items": {
|
|
43
|
+
"type": "object",
|
|
44
|
+
"additionalProperties": false,
|
|
45
|
+
"required": [
|
|
46
|
+
"code",
|
|
47
|
+
"status",
|
|
48
|
+
"owner",
|
|
49
|
+
"source",
|
|
50
|
+
"evidence",
|
|
51
|
+
"blocking_stages",
|
|
52
|
+
"recovery",
|
|
53
|
+
"message"
|
|
54
|
+
],
|
|
55
|
+
"properties": {
|
|
56
|
+
"code": {
|
|
57
|
+
"type": "string",
|
|
58
|
+
"minLength": 1
|
|
59
|
+
},
|
|
60
|
+
"status": {
|
|
61
|
+
"enum": [
|
|
62
|
+
"ready",
|
|
63
|
+
"missing",
|
|
64
|
+
"conflict",
|
|
65
|
+
"stale",
|
|
66
|
+
"unsupported",
|
|
67
|
+
"pending",
|
|
68
|
+
"not-applicable"
|
|
69
|
+
]
|
|
70
|
+
},
|
|
71
|
+
"owner": {
|
|
72
|
+
"type": "string",
|
|
73
|
+
"minLength": 1
|
|
74
|
+
},
|
|
75
|
+
"source": {
|
|
76
|
+
"type": "string",
|
|
77
|
+
"minLength": 1
|
|
78
|
+
},
|
|
79
|
+
"evidence": {
|
|
80
|
+
"type": "array",
|
|
81
|
+
"items": {
|
|
82
|
+
"type": "string"
|
|
83
|
+
}
|
|
84
|
+
},
|
|
85
|
+
"blocking_stages": {
|
|
86
|
+
"type": "array",
|
|
87
|
+
"uniqueItems": true,
|
|
88
|
+
"items": {
|
|
89
|
+
"enum": [
|
|
90
|
+
"prepare",
|
|
91
|
+
"build",
|
|
92
|
+
"export",
|
|
93
|
+
"accept"
|
|
94
|
+
]
|
|
95
|
+
}
|
|
96
|
+
},
|
|
97
|
+
"recovery": {
|
|
98
|
+
"type": "string",
|
|
99
|
+
"minLength": 1
|
|
100
|
+
},
|
|
101
|
+
"message": {
|
|
102
|
+
"type": "string",
|
|
103
|
+
"minLength": 1
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
},
|
|
109
|
+
"allOf": [
|
|
110
|
+
{
|
|
111
|
+
"if": {
|
|
112
|
+
"properties": {
|
|
113
|
+
"result": {
|
|
114
|
+
"const": "ready"
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
},
|
|
118
|
+
"then": {
|
|
119
|
+
"properties": {
|
|
120
|
+
"exit_code": {
|
|
121
|
+
"const": 0
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
},
|
|
126
|
+
{
|
|
127
|
+
"if": {
|
|
128
|
+
"properties": {
|
|
129
|
+
"result": {
|
|
130
|
+
"const": "blocked"
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
},
|
|
134
|
+
"then": {
|
|
135
|
+
"properties": {
|
|
136
|
+
"exit_code": {
|
|
137
|
+
"const": 1
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
},
|
|
142
|
+
{
|
|
143
|
+
"if": {
|
|
144
|
+
"properties": {
|
|
145
|
+
"result": {
|
|
146
|
+
"const": "invalid-input"
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
},
|
|
150
|
+
"then": {
|
|
151
|
+
"properties": {
|
|
152
|
+
"exit_code": {
|
|
153
|
+
"const": 2
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
]
|
|
159
|
+
}
|
|
@@ -42,7 +42,7 @@
|
|
|
42
42
|
"properties": {
|
|
43
43
|
"kind": { "enum": ["lifecycle-work-unit", "slice-implementation", "template-maintenance"] },
|
|
44
44
|
"contract_id": { "type": "string", "minLength": 1 },
|
|
45
|
-
"contract_version": { "type": "integer", "minimum": 1 },
|
|
45
|
+
"contract_version": { "oneOf": [{ "type": "integer", "minimum": 1 }, { "type": "string", "minLength": 1, "pattern": "\\S" }] },
|
|
46
46
|
"status": { "enum": ["issued", "stale", "blocked"] },
|
|
47
47
|
"contract_ref": { "type": "string", "minLength": 1 },
|
|
48
48
|
"lifecycle_ref": { "type": "string", "minLength": 1 },
|