create-yss-spec 3.3.6 → 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.
Files changed (222) hide show
  1. package/README.md +12 -13
  2. package/package.json +1 -1
  3. package/src/template/instance-runtime.js +8 -2
  4. package/src/validation/snapshot.js +7 -0
  5. package/template/.agents/skills/.strategic-design-skills-manifest.json +6 -4
  6. package/template/.agents/skills/archify/SKILL.md +1 -1
  7. package/template/.agents/skills/implementation-repo-onboarding/SKILL.md +2 -2
  8. package/template/.agents/skills/yss-application/SKILL.md +1 -1
  9. package/template/.agents/skills/yss-application/references/profiles/existing-domain-driven-maven.md +5 -0
  10. package/template/.agents/skills/yss-application/references/profiles/existing-layered-mvc-maven.md +5 -0
  11. package/template/.agents/skills/yss-implementation-contract-compiler/SKILL.md +2 -2
  12. package/template/.agents/skills/yss-implementation-contract-compiler/references/compiler-contract.yaml +4 -0
  13. package/template/.agents/skills/yss-product-lifecycle/references/orchestration-contract.yaml +6 -1
  14. package/template/.agents/skills/yss-prototype-stage/SKILL.md +10 -1
  15. package/template/.agents/skills/yss-stage-decision/SKILL.md +13 -4
  16. package/template/.agents/skills/yss-stage-decision/references/domain-strategy-contract.md +4 -3
  17. package/template/.agents/skills/yss-stage-decision/references/domain-strategy-v2.schema.json +8 -0
  18. package/template/.agents/skills/yss-stage-decision/references/domain-strategy-v3.schema.json +8 -0
  19. package/template/.agents/skills/yss-stage-decision/references/domain-strategy.schema.json +75 -5
  20. package/template/.agents/skills/yss-stage-decision/references/stage-decision-package-contract.md +4 -4
  21. package/template/.agents/skills/yss-stage-decision/references/stage-decision-package-v2.schema.json +8 -0
  22. package/template/.agents/skills/yss-stage-decision/references/stage-decision-package-v3.schema.json +8 -0
  23. package/template/.agents/skills/yss-stage-decision/references/stage-decision-package.schema.json +59 -9
  24. package/template/.agents/skills/yss-stage-decision/references/validation-rules.md +2 -2
  25. package/template/.agents/skills/yss-stage-decision/scripts/migrate-contract-v3.mjs +143 -0
  26. package/template/.agents/skills/yss-stage-decision/scripts/validate-domain-strategy.mjs +46 -4
  27. package/template/.agents/skills/yss-stage-decision/scripts/validate-stage-decision-package.mjs +48 -4
  28. package/template/.agents/skills/yss-stage-decision/tests/fixtures/valid-stage-decision-package.yaml +42 -13
  29. package/template/.agents/skills/yss-stage-decision/tests/fixtures/valid-supplier-domain.yaml +37 -5
  30. package/template/.agents/skills/yss-stage-decision/tests/run-scenarios.mjs +116 -23
  31. package/template/.agents/skills/yss-technical-design/SKILL.md +2 -0
  32. package/template/.agents/skills/yss-technical-design/references/engineering-design.schema.json +224 -0
  33. package/template/.agents/skills/yss-technical-design/references/technical-design-common.schema.json +6 -0
  34. package/template/.agents/skills/yss-technical-design/references/technical-design.schema.json +288 -10
  35. package/template/.agents/skills/yss-technical-design/scripts/engineering-design.mjs +30 -0
  36. package/template/.agents/skills/yss-technical-design/scripts/generate-schema.mjs +2 -1
  37. package/template/.agents/skills/yss-technical-design/scripts/validate-technical-design.mjs +20 -8
  38. package/template/.agents/skills/yss-technical-design/tests/engineering-scenarios.mjs +12 -0
  39. package/template/.agents/skills/yss-web-controller/SKILL.md +1 -1
  40. package/template/.agents/skills/yss-web-controller/references/profiles/existing-domain-driven-maven.md +5 -0
  41. package/template/.agents/skills/yss-web-controller/references/profiles/existing-layered-mvc-maven.md +5 -0
  42. package/template/.codex/skills/archify/SKILL.md +1 -1
  43. package/template/.codex/skills/implementation-repo-onboarding/SKILL.md +2 -2
  44. package/template/.codex/skills/yss-application/SKILL.md +1 -1
  45. package/template/.codex/skills/yss-application/references/profiles/existing-domain-driven-maven.md +5 -0
  46. package/template/.codex/skills/yss-application/references/profiles/existing-layered-mvc-maven.md +5 -0
  47. package/template/.codex/skills/yss-implementation-contract-compiler/SKILL.md +2 -2
  48. package/template/.codex/skills/yss-implementation-contract-compiler/references/compiler-contract.yaml +4 -0
  49. package/template/.codex/skills/yss-product-lifecycle/references/orchestration-contract.yaml +6 -1
  50. package/template/.codex/skills/yss-prototype-stage/SKILL.md +10 -1
  51. package/template/.codex/skills/yss-stage-decision/SKILL.md +13 -4
  52. package/template/.codex/skills/yss-stage-decision/references/domain-strategy-contract.md +4 -3
  53. package/template/.codex/skills/yss-stage-decision/references/domain-strategy-v2.schema.json +8 -0
  54. package/template/.codex/skills/yss-stage-decision/references/domain-strategy-v3.schema.json +8 -0
  55. package/template/.codex/skills/yss-stage-decision/references/domain-strategy.schema.json +75 -5
  56. package/template/.codex/skills/yss-stage-decision/references/stage-decision-package-contract.md +4 -4
  57. package/template/.codex/skills/yss-stage-decision/references/stage-decision-package-v2.schema.json +8 -0
  58. package/template/.codex/skills/yss-stage-decision/references/stage-decision-package-v3.schema.json +8 -0
  59. package/template/.codex/skills/yss-stage-decision/references/stage-decision-package.schema.json +59 -9
  60. package/template/.codex/skills/yss-stage-decision/references/validation-rules.md +2 -2
  61. package/template/.codex/skills/yss-stage-decision/scripts/migrate-contract-v3.mjs +143 -0
  62. package/template/.codex/skills/yss-stage-decision/scripts/validate-domain-strategy.mjs +46 -4
  63. package/template/.codex/skills/yss-stage-decision/scripts/validate-stage-decision-package.mjs +48 -4
  64. package/template/.codex/skills/yss-stage-decision/tests/fixtures/valid-stage-decision-package.yaml +42 -13
  65. package/template/.codex/skills/yss-stage-decision/tests/fixtures/valid-supplier-domain.yaml +37 -5
  66. package/template/.codex/skills/yss-stage-decision/tests/run-scenarios.mjs +116 -23
  67. package/template/.codex/skills/yss-technical-design/SKILL.md +2 -0
  68. package/template/.codex/skills/yss-technical-design/references/engineering-design.schema.json +224 -0
  69. package/template/.codex/skills/yss-technical-design/references/technical-design-common.schema.json +6 -0
  70. package/template/.codex/skills/yss-technical-design/references/technical-design.schema.json +288 -10
  71. package/template/.codex/skills/yss-technical-design/scripts/engineering-design.mjs +30 -0
  72. package/template/.codex/skills/yss-technical-design/scripts/generate-schema.mjs +2 -1
  73. package/template/.codex/skills/yss-technical-design/scripts/validate-technical-design.mjs +20 -8
  74. package/template/.codex/skills/yss-technical-design/tests/engineering-scenarios.mjs +12 -0
  75. package/template/.codex/skills/yss-web-controller/SKILL.md +1 -1
  76. package/template/.codex/skills/yss-web-controller/references/profiles/existing-domain-driven-maven.md +5 -0
  77. package/template/.codex/skills/yss-web-controller/references/profiles/existing-layered-mvc-maven.md +5 -0
  78. package/template/.cursor/skills/archify/SKILL.md +1 -1
  79. package/template/.cursor/skills/implementation-repo-onboarding/SKILL.md +2 -2
  80. package/template/.cursor/skills/yss-application/SKILL.md +1 -1
  81. package/template/.cursor/skills/yss-application/references/profiles/existing-domain-driven-maven.md +5 -0
  82. package/template/.cursor/skills/yss-application/references/profiles/existing-layered-mvc-maven.md +5 -0
  83. package/template/.cursor/skills/yss-implementation-contract-compiler/SKILL.md +2 -2
  84. package/template/.cursor/skills/yss-implementation-contract-compiler/references/compiler-contract.yaml +4 -0
  85. package/template/.cursor/skills/yss-product-lifecycle/references/orchestration-contract.yaml +6 -1
  86. package/template/.cursor/skills/yss-prototype-stage/SKILL.md +10 -1
  87. package/template/.cursor/skills/yss-stage-decision/SKILL.md +13 -4
  88. package/template/.cursor/skills/yss-stage-decision/references/domain-strategy-contract.md +4 -3
  89. package/template/.cursor/skills/yss-stage-decision/references/domain-strategy-v2.schema.json +8 -0
  90. package/template/.cursor/skills/yss-stage-decision/references/domain-strategy-v3.schema.json +8 -0
  91. package/template/.cursor/skills/yss-stage-decision/references/domain-strategy.schema.json +75 -5
  92. package/template/.cursor/skills/yss-stage-decision/references/stage-decision-package-contract.md +4 -4
  93. package/template/.cursor/skills/yss-stage-decision/references/stage-decision-package-v2.schema.json +8 -0
  94. package/template/.cursor/skills/yss-stage-decision/references/stage-decision-package-v3.schema.json +8 -0
  95. package/template/.cursor/skills/yss-stage-decision/references/stage-decision-package.schema.json +59 -9
  96. package/template/.cursor/skills/yss-stage-decision/references/validation-rules.md +2 -2
  97. package/template/.cursor/skills/yss-stage-decision/scripts/migrate-contract-v3.mjs +143 -0
  98. package/template/.cursor/skills/yss-stage-decision/scripts/validate-domain-strategy.mjs +46 -4
  99. package/template/.cursor/skills/yss-stage-decision/scripts/validate-stage-decision-package.mjs +48 -4
  100. package/template/.cursor/skills/yss-stage-decision/tests/fixtures/valid-stage-decision-package.yaml +42 -13
  101. package/template/.cursor/skills/yss-stage-decision/tests/fixtures/valid-supplier-domain.yaml +37 -5
  102. package/template/.cursor/skills/yss-stage-decision/tests/run-scenarios.mjs +116 -23
  103. package/template/.cursor/skills/yss-technical-design/SKILL.md +2 -0
  104. package/template/.cursor/skills/yss-technical-design/references/engineering-design.schema.json +224 -0
  105. package/template/.cursor/skills/yss-technical-design/references/technical-design-common.schema.json +6 -0
  106. package/template/.cursor/skills/yss-technical-design/references/technical-design.schema.json +288 -10
  107. package/template/.cursor/skills/yss-technical-design/scripts/engineering-design.mjs +30 -0
  108. package/template/.cursor/skills/yss-technical-design/scripts/generate-schema.mjs +2 -1
  109. package/template/.cursor/skills/yss-technical-design/scripts/validate-technical-design.mjs +20 -8
  110. package/template/.cursor/skills/yss-technical-design/tests/engineering-scenarios.mjs +12 -0
  111. package/template/.cursor/skills/yss-web-controller/SKILL.md +1 -1
  112. package/template/.cursor/skills/yss-web-controller/references/profiles/existing-domain-driven-maven.md +5 -0
  113. package/template/.cursor/skills/yss-web-controller/references/profiles/existing-layered-mvc-maven.md +5 -0
  114. package/template/.pi/skills/archify/SKILL.md +1 -1
  115. package/template/.pi/skills/implementation-repo-onboarding/SKILL.md +2 -2
  116. package/template/.pi/skills/yss-application/SKILL.md +1 -1
  117. package/template/.pi/skills/yss-application/references/profiles/existing-domain-driven-maven.md +5 -0
  118. package/template/.pi/skills/yss-application/references/profiles/existing-layered-mvc-maven.md +5 -0
  119. package/template/.pi/skills/yss-implementation-contract-compiler/SKILL.md +2 -2
  120. package/template/.pi/skills/yss-implementation-contract-compiler/references/compiler-contract.yaml +4 -0
  121. package/template/.pi/skills/yss-product-lifecycle/references/orchestration-contract.yaml +6 -1
  122. package/template/.pi/skills/yss-prototype-stage/SKILL.md +10 -1
  123. package/template/.pi/skills/yss-stage-decision/SKILL.md +13 -4
  124. package/template/.pi/skills/yss-stage-decision/references/domain-strategy-contract.md +4 -3
  125. package/template/.pi/skills/yss-stage-decision/references/domain-strategy-v2.schema.json +8 -0
  126. package/template/.pi/skills/yss-stage-decision/references/domain-strategy-v3.schema.json +8 -0
  127. package/template/.pi/skills/yss-stage-decision/references/domain-strategy.schema.json +75 -5
  128. package/template/.pi/skills/yss-stage-decision/references/stage-decision-package-contract.md +4 -4
  129. package/template/.pi/skills/yss-stage-decision/references/stage-decision-package-v2.schema.json +8 -0
  130. package/template/.pi/skills/yss-stage-decision/references/stage-decision-package-v3.schema.json +8 -0
  131. package/template/.pi/skills/yss-stage-decision/references/stage-decision-package.schema.json +59 -9
  132. package/template/.pi/skills/yss-stage-decision/references/validation-rules.md +2 -2
  133. package/template/.pi/skills/yss-stage-decision/scripts/migrate-contract-v3.mjs +143 -0
  134. package/template/.pi/skills/yss-stage-decision/scripts/validate-domain-strategy.mjs +46 -4
  135. package/template/.pi/skills/yss-stage-decision/scripts/validate-stage-decision-package.mjs +48 -4
  136. package/template/.pi/skills/yss-stage-decision/tests/fixtures/valid-stage-decision-package.yaml +42 -13
  137. package/template/.pi/skills/yss-stage-decision/tests/fixtures/valid-supplier-domain.yaml +37 -5
  138. package/template/.pi/skills/yss-stage-decision/tests/run-scenarios.mjs +116 -23
  139. package/template/.pi/skills/yss-technical-design/SKILL.md +2 -0
  140. package/template/.pi/skills/yss-technical-design/references/engineering-design.schema.json +224 -0
  141. package/template/.pi/skills/yss-technical-design/references/technical-design-common.schema.json +6 -0
  142. package/template/.pi/skills/yss-technical-design/references/technical-design.schema.json +288 -10
  143. package/template/.pi/skills/yss-technical-design/scripts/engineering-design.mjs +30 -0
  144. package/template/.pi/skills/yss-technical-design/scripts/generate-schema.mjs +2 -1
  145. package/template/.pi/skills/yss-technical-design/scripts/validate-technical-design.mjs +20 -8
  146. package/template/.pi/skills/yss-technical-design/tests/engineering-scenarios.mjs +12 -0
  147. package/template/.pi/skills/yss-web-controller/SKILL.md +1 -1
  148. package/template/.pi/skills/yss-web-controller/references/profiles/existing-domain-driven-maven.md +5 -0
  149. package/template/.pi/skills/yss-web-controller/references/profiles/existing-layered-mvc-maven.md +5 -0
  150. package/template/README.md +4 -6
  151. package/template/docs/agents/backend-architecture-profiles.md +4 -0
  152. package/template/docs/agents/yss-skill-registry.yaml +13 -0
  153. package/template/docs/design/templates/prototype-confirmation-template.md +2 -2
  154. package/template/docs/design/templates/prototype-review-checklist.md +2 -2
  155. package/template/docs/plan/templates/market-analysis-template.md +3 -3
  156. package/template/docs/plan/templates/user-pain-points-template.md +3 -3
  157. package/template/docs/process/delivery-preflight.md +72 -0
  158. package/template/docs/process/document-writing.md +5 -1
  159. package/template/docs/process/existing-backend-architecture.md +31 -0
  160. package/template/docs/process/existing-ui-baseline.md +40 -0
  161. package/template/docs/process/frontend-backend-delivery.md +21 -5
  162. package/template/docs/process/implementation-repo-integration.md +6 -0
  163. package/template/docs/process/schemas/backend-architecture-identity.schema.json +111 -14
  164. package/template/docs/process/schemas/backend-delivery.schema.json +4 -0
  165. package/template/docs/process/schemas/delivery-preflight-input.schema.json +158 -0
  166. package/template/docs/process/schemas/delivery-preflight-result.schema.json +159 -0
  167. package/template/docs/process/schemas/digital-human-task-package.schema.json +1 -1
  168. package/template/docs/process/schemas/existing-ui-baseline.schema.json +365 -0
  169. package/template/docs/process/schemas/frontend-delivery-acceptance-v1.schema.json +200 -0
  170. package/template/docs/process/schemas/frontend-delivery-acceptance-v3.schema.json +308 -0
  171. package/template/docs/process/schemas/frontend-delivery-acceptance.schema.json +37 -3
  172. package/template/docs/process/schemas/frontend-strategic-preflight-v2.schema.json +114 -0
  173. package/template/docs/process/schemas/frontend-strategic-preflight.schema.json +32 -0
  174. package/template/docs/process/schemas/lifecycle-checkpoint.schema.json +2 -1
  175. package/template/docs/process/schemas/strategic-consumer-feedback.schema.json +40 -0
  176. package/template/docs/process/schemas/strategic-design-handoff-v3.schema.json +743 -0
  177. package/template/docs/process/schemas/strategic-design-handoff-v4.schema.json +712 -0
  178. package/template/docs/process/schemas/strategic-design-handoff-v5.schema.json +932 -0
  179. package/template/docs/process/schemas/strategic-feedback-adjudication.schema.json +42 -0
  180. package/template/docs/process/schemas/strategic-handoff-domain-strategy-v3.schema.json +216 -0
  181. package/template/docs/process/schemas/strategic-handoff-export-v2.schema.json +378 -0
  182. package/template/docs/process/schemas/strategic-handoff-import-receipt.schema.json +39 -0
  183. package/template/docs/process/schemas/strategic-handoff-stage-decision-package-v3.schema.json +148 -0
  184. package/template/docs/process/strategic-handoff-package.md +51 -10
  185. package/template/docs/process/templates/lifecycle-checkpoint-template.yaml +1 -0
  186. package/template/docs/process/templates/stage-checkpoint-template.md +1 -0
  187. 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
  188. package/template/docs/user-guide//347/224/250/346/210/267/346/211/213/345/206/214.md +83 -67
  189. 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
  190. 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
  191. package/template/scripts/backend-delivery +20 -4
  192. package/template/scripts/lib/approval-record.mjs +2 -1
  193. package/template/scripts/lib/approved-execution-context.mjs +106 -0
  194. package/template/scripts/lib/backend-architecture.mjs +12 -0
  195. package/template/scripts/lib/backend-delivery.mjs +21 -5
  196. package/template/scripts/lib/delivery-preflight.mjs +238 -0
  197. package/template/scripts/lib/existing-backend-architecture.mjs +139 -0
  198. package/template/scripts/lib/existing-ui-baseline.mjs +84 -0
  199. package/template/scripts/lib/frontend-delivery-boundary.mjs +20 -4
  200. package/template/scripts/lib/frontend-delivery.mjs +76 -4
  201. package/template/scripts/lib/implementation-contract-compiler.mjs +19 -5
  202. package/template/scripts/lib/json-schema.mjs +19 -4
  203. package/template/scripts/lib/profile-skill-sync.mjs +26 -0
  204. package/template/scripts/lib/strategic-feedback.mjs +33 -0
  205. package/template/scripts/lib/strategic-handoff-consumption.mjs +11 -5
  206. package/template/scripts/lib/strategic-handoff-design-targets.mjs +2 -3
  207. package/template/scripts/lib/strategic-handoff-io.mjs +11 -0
  208. package/template/scripts/lib/strategic-handoff.mjs +143 -34
  209. package/template/scripts/lib/task-package.mjs +11 -3
  210. package/template/scripts/lib/technical-design-boundary.mjs +9 -1
  211. package/template/scripts/lib/ui-baseline.mjs +26 -0
  212. package/template/scripts/lib/user-decision-reuse.mjs +38 -0
  213. package/template/scripts/lib/user-decision.mjs +4 -1
  214. package/template/scripts/preflight-delivery +14 -0
  215. package/template/scripts/strategic-feedback +10 -0
  216. package/template/scripts/strategic-handoff +19 -4
  217. package/template/scripts/sync-profile-skills +4 -5
  218. package/template/scripts/verify-frontend-strategic-preflight +12 -0
  219. package/template/skills-lock.json +18 -18
  220. package/template.manifest.json +1 -0
  221. package/template.snapshot.json +6 -5
  222. 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
@@ -0,0 +1,308 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "type": "object",
4
+ "additionalProperties": false,
5
+ "properties": {
6
+ "schema_version": {
7
+ "const": 3
8
+ },
9
+ "status": {
10
+ "const": "accepted"
11
+ },
12
+ "slice_id": {
13
+ "type": "string",
14
+ "minLength": 1
15
+ },
16
+ "backend_delivery": {
17
+ "type": "object",
18
+ "additionalProperties": false,
19
+ "properties": {
20
+ "import_receipt_ref": {
21
+ "type": "string",
22
+ "minLength": 1
23
+ },
24
+ "bundle_digest": {
25
+ "type": "string",
26
+ "pattern": "^sha256:[0-9a-f]{64}$"
27
+ }
28
+ },
29
+ "required": [
30
+ "import_receipt_ref",
31
+ "bundle_digest"
32
+ ]
33
+ },
34
+ "strategic_preflight": {
35
+ "type": "object",
36
+ "additionalProperties": false,
37
+ "required": [
38
+ "ref",
39
+ "digest"
40
+ ],
41
+ "properties": {
42
+ "ref": {
43
+ "type": "string",
44
+ "minLength": 1
45
+ },
46
+ "digest": {
47
+ "type": "string",
48
+ "pattern": "^sha256:[0-9a-f]{64}$"
49
+ }
50
+ }
51
+ },
52
+ "backend_dependency": {
53
+ "type": "object",
54
+ "additionalProperties": false,
55
+ "required": [
56
+ "mode",
57
+ "route_id"
58
+ ],
59
+ "properties": {
60
+ "mode": {
61
+ "enum": [
62
+ "required",
63
+ "not-applicable"
64
+ ]
65
+ },
66
+ "route_id": {
67
+ "type": "string",
68
+ "pattern": "^route\\.[a-z0-9][a-z0-9-]*$"
69
+ },
70
+ "impact_refs": {
71
+ "type": "array",
72
+ "minItems": 1,
73
+ "uniqueItems": true,
74
+ "items": {
75
+ "type": "string",
76
+ "minLength": 1
77
+ }
78
+ },
79
+ "reason": {
80
+ "type": "string",
81
+ "minLength": 1
82
+ },
83
+ "evidence_refs": {
84
+ "type": "array",
85
+ "minItems": 1,
86
+ "uniqueItems": true,
87
+ "items": {
88
+ "type": "string",
89
+ "minLength": 1
90
+ }
91
+ }
92
+ }
93
+ },
94
+ "strategic_handoff": {
95
+ "type": "object",
96
+ "additionalProperties": false,
97
+ "properties": {
98
+ "import_receipt_ref": {
99
+ "type": "string",
100
+ "minLength": 1
101
+ },
102
+ "bundle_digest": {
103
+ "type": "string",
104
+ "pattern": "^sha256:[0-9a-f]{64}$"
105
+ },
106
+ "route_id": {
107
+ "type": "string",
108
+ "pattern": "^route\\.[a-z0-9][a-z0-9-]*$"
109
+ },
110
+ "context_reconciliation_ref": {
111
+ "type": "string",
112
+ "minLength": 1
113
+ },
114
+ "rows": {
115
+ "type": "array",
116
+ "items": {
117
+ "type": "object",
118
+ "required": [
119
+ "source_id",
120
+ "source_digest",
121
+ "disposition",
122
+ "dependency_status",
123
+ "dependent_slice_refs",
124
+ "evidence_refs"
125
+ ],
126
+ "properties": {
127
+ "source_id": {
128
+ "type": "string",
129
+ "minLength": 1
130
+ },
131
+ "source_digest": {
132
+ "type": "string",
133
+ "pattern": "^sha256:[0-9a-f]{64}$"
134
+ },
135
+ "disposition": {
136
+ "enum": [
137
+ "mapped",
138
+ "pending",
139
+ "conflict",
140
+ "deferred",
141
+ "not-applicable"
142
+ ]
143
+ },
144
+ "dependency_status": {
145
+ "enum": [
146
+ "known",
147
+ "unknown"
148
+ ]
149
+ },
150
+ "dependent_slice_refs": {
151
+ "type": "array",
152
+ "items": {
153
+ "type": "string",
154
+ "minLength": 1
155
+ },
156
+ "minItems": 0,
157
+ "uniqueItems": true
158
+ },
159
+ "evidence_refs": {
160
+ "type": "array",
161
+ "items": {
162
+ "type": "string",
163
+ "minLength": 1
164
+ },
165
+ "minItems": 0,
166
+ "uniqueItems": true
167
+ },
168
+ "frontend_case_refs": {
169
+ "type": "array",
170
+ "items": {
171
+ "type": "string",
172
+ "minLength": 1
173
+ },
174
+ "minItems": 0,
175
+ "uniqueItems": true
176
+ }
177
+ }
178
+ },
179
+ "minItems": 1,
180
+ "uniqueItems": true
181
+ }
182
+ },
183
+ "required": [
184
+ "import_receipt_ref",
185
+ "bundle_digest",
186
+ "route_id",
187
+ "context_reconciliation_ref",
188
+ "rows"
189
+ ]
190
+ },
191
+ "frontend_cases": {
192
+ "type": "array",
193
+ "items": {
194
+ "type": "object",
195
+ "additionalProperties": false,
196
+ "properties": {
197
+ "case_id": {
198
+ "type": "string",
199
+ "minLength": 1
200
+ },
201
+ "source_ids": {
202
+ "type": "array",
203
+ "items": {
204
+ "type": "string",
205
+ "minLength": 1
206
+ },
207
+ "minItems": 1,
208
+ "uniqueItems": true
209
+ },
210
+ "outcome": {
211
+ "enum": [
212
+ "success",
213
+ "failure"
214
+ ]
215
+ },
216
+ "operation_ids": {
217
+ "type": "array",
218
+ "items": {
219
+ "type": "string",
220
+ "minLength": 1
221
+ },
222
+ "minItems": 0,
223
+ "uniqueItems": true
224
+ },
225
+ "evidence_ref": {
226
+ "type": "string",
227
+ "minLength": 1
228
+ },
229
+ "evidence_digest": {
230
+ "type": "string",
231
+ "pattern": "^sha256:[a-f0-9]{64}$"
232
+ },
233
+ "baseline_case_ids": {
234
+ "type": "array",
235
+ "items": {
236
+ "type": "string",
237
+ "minLength": 1
238
+ },
239
+ "minItems": 1,
240
+ "uniqueItems": true
241
+ }
242
+ },
243
+ "required": [
244
+ "case_id",
245
+ "source_ids",
246
+ "outcome",
247
+ "operation_ids",
248
+ "baseline_case_ids",
249
+ "evidence_ref",
250
+ "evidence_digest"
251
+ ]
252
+ },
253
+ "minItems": 1,
254
+ "uniqueItems": true
255
+ },
256
+ "ui_baseline_kind": {
257
+ "enum": [
258
+ "prototype",
259
+ "existing-ui-baseline"
260
+ ]
261
+ }
262
+ },
263
+ "required": [
264
+ "schema_version",
265
+ "status",
266
+ "slice_id",
267
+ "strategic_preflight",
268
+ "backend_dependency",
269
+ "strategic_handoff",
270
+ "frontend_cases",
271
+ "ui_baseline_kind"
272
+ ],
273
+ "allOf": [
274
+ {
275
+ "if": {
276
+ "properties": {
277
+ "backend_dependency": {
278
+ "properties": {
279
+ "mode": {
280
+ "const": "required"
281
+ }
282
+ }
283
+ }
284
+ },
285
+ "required": [
286
+ "backend_dependency"
287
+ ]
288
+ },
289
+ "then": {
290
+ "required": [
291
+ "backend_delivery"
292
+ ]
293
+ },
294
+ "else": {
295
+ "properties": {
296
+ "backend_dependency": {
297
+ "required": [
298
+ "reason",
299
+ "impact_refs",
300
+ "evidence_refs"
301
+ ]
302
+ }
303
+ }
304
+ }
305
+ }
306
+ ],
307
+ "$id": "https://yss.dev/schemas/frontend-delivery-acceptance-v3.schema.json"
308
+ }
@@ -4,7 +4,7 @@
4
4
  "additionalProperties": false,
5
5
  "properties": {
6
6
  "schema_version": {
7
- "const": 1
7
+ "const": 2
8
8
  },
9
9
  "status": {
10
10
  "const": "accepted"
@@ -31,6 +31,27 @@
31
31
  "bundle_digest"
32
32
  ]
33
33
  },
34
+ "strategic_preflight": {
35
+ "type": "object",
36
+ "additionalProperties": false,
37
+ "required": ["ref", "digest"],
38
+ "properties": {
39
+ "ref": {"type": "string", "minLength": 1},
40
+ "digest": {"type": "string", "pattern": "^sha256:[0-9a-f]{64}$"}
41
+ }
42
+ },
43
+ "backend_dependency": {
44
+ "type": "object",
45
+ "additionalProperties": false,
46
+ "required": ["mode", "route_id"],
47
+ "properties": {
48
+ "mode": {"enum": ["required", "not-applicable"]},
49
+ "route_id": {"const": "route.backend"},
50
+ "impact_refs": {"type": "array", "minItems": 1, "uniqueItems": true, "items": {"type": "string", "minLength": 1}},
51
+ "reason": {"type": "string", "minLength": 1},
52
+ "evidence_refs": {"type": "array", "minItems": 1, "uniqueItems": true, "items": {"type": "string", "minLength": 1}}
53
+ }
54
+ },
34
55
  "strategic_handoff": {
35
56
  "type": "object",
36
57
  "additionalProperties": false,
@@ -43,6 +64,10 @@
43
64
  "type": "string",
44
65
  "pattern": "^sha256:[0-9a-f]{64}$"
45
66
  },
67
+ "route_id": {
68
+ "type": "string",
69
+ "pattern": "^route\\.[a-z0-9][a-z0-9-]*$"
70
+ },
46
71
  "context_reconciliation_ref": {
47
72
  "type": "string",
48
73
  "minLength": 1
@@ -119,6 +144,7 @@
119
144
  "required": [
120
145
  "import_receipt_ref",
121
146
  "bundle_digest",
147
+ "route_id",
122
148
  "context_reconciliation_ref",
123
149
  "rows"
124
150
  ]
@@ -154,7 +180,7 @@
154
180
  "type": "string",
155
181
  "minLength": 1
156
182
  },
157
- "minItems": 1,
183
+ "minItems": 0,
158
184
  "uniqueItems": true
159
185
  },
160
186
  "visual_case_ids": {
@@ -193,8 +219,16 @@
193
219
  "schema_version",
194
220
  "status",
195
221
  "slice_id",
196
- "backend_delivery",
222
+ "strategic_preflight",
223
+ "backend_dependency",
197
224
  "strategic_handoff",
198
225
  "frontend_cases"
226
+ ],
227
+ "allOf": [
228
+ {
229
+ "if": {"properties": {"backend_dependency": {"properties": {"mode": {"const": "required"}}}}, "required": ["backend_dependency"]},
230
+ "then": {"required": ["backend_delivery"]},
231
+ "else": {"properties": {"backend_dependency": {"required": ["reason", "impact_refs", "evidence_refs"]}}}
232
+ }
199
233
  ]
200
234
  }
@@ -0,0 +1,114 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://yss.dev/schemas/frontend-strategic-preflight-v2.schema.json",
4
+ "title": "YSS Frontend Strategic Preflight v1",
5
+ "type": "object",
6
+ "additionalProperties": false,
7
+ "required": [
8
+ "schema_version",
9
+ "status",
10
+ "route_id",
11
+ "capability",
12
+ "import_receipt_ref",
13
+ "bundle_digest",
14
+ "context_reconciliation_ref",
15
+ "source_rule_refs",
16
+ "backend_dependency",
17
+ "ready_for_agent",
18
+ "ui_baseline_kind",
19
+ "ui_baseline_ref"
20
+ ],
21
+ "properties": {
22
+ "schema_version": {
23
+ "const": 2
24
+ },
25
+ "status": {
26
+ "enum": [
27
+ "draft",
28
+ "verified",
29
+ "blocked",
30
+ "stale"
31
+ ]
32
+ },
33
+ "route_id": {
34
+ "type": "string",
35
+ "pattern": "^route\\.[a-z0-9][a-z0-9-]*$"
36
+ },
37
+ "capability": {
38
+ "const": "frontend-engineering-design"
39
+ },
40
+ "import_receipt_ref": {
41
+ "type": "string",
42
+ "minLength": 1
43
+ },
44
+ "bundle_digest": {
45
+ "type": "string",
46
+ "pattern": "^sha256:[a-f0-9]{64}$"
47
+ },
48
+ "context_reconciliation_ref": {
49
+ "type": "string"
50
+ },
51
+ "source_rule_refs": {
52
+ "type": "array",
53
+ "minItems": 1,
54
+ "uniqueItems": true,
55
+ "items": {
56
+ "type": "string",
57
+ "pattern": "^(rule|scenario|invariant)\\.[a-z0-9][a-z0-9-]*$"
58
+ }
59
+ },
60
+ "backend_dependency": {
61
+ "type": "object",
62
+ "additionalProperties": false,
63
+ "required": [
64
+ "mode",
65
+ "route_id"
66
+ ],
67
+ "properties": {
68
+ "mode": {
69
+ "enum": [
70
+ "required",
71
+ "not-applicable"
72
+ ]
73
+ },
74
+ "route_id": {
75
+ "type": "string",
76
+ "pattern": "^route\\.[a-z0-9][a-z0-9-]*$"
77
+ },
78
+ "reason": {
79
+ "type": "string",
80
+ "minLength": 1
81
+ },
82
+ "impact_refs": {
83
+ "type": "array",
84
+ "uniqueItems": true,
85
+ "items": {
86
+ "type": "string",
87
+ "minLength": 1
88
+ }
89
+ },
90
+ "evidence_refs": {
91
+ "type": "array",
92
+ "uniqueItems": true,
93
+ "items": {
94
+ "type": "string",
95
+ "minLength": 1
96
+ }
97
+ }
98
+ }
99
+ },
100
+ "ready_for_agent": {
101
+ "const": false
102
+ },
103
+ "ui_baseline_kind": {
104
+ "enum": [
105
+ "prototype",
106
+ "existing-ui-baseline"
107
+ ]
108
+ },
109
+ "ui_baseline_ref": {
110
+ "type": "string",
111
+ "minLength": 1
112
+ }
113
+ }
114
+ }
@@ -0,0 +1,32 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://yss.local/schemas/frontend-strategic-preflight-v1.json",
4
+ "title": "YSS Frontend Strategic Preflight v1",
5
+ "type": "object",
6
+ "additionalProperties": false,
7
+ "required": ["schema_version", "status", "route_id", "capability", "import_receipt_ref", "bundle_digest", "context_reconciliation_ref", "visual_baseline_ref", "source_rule_refs", "backend_dependency", "ready_for_agent"],
8
+ "properties": {
9
+ "schema_version": {"const": 1},
10
+ "status": {"enum": ["draft", "verified", "blocked", "stale"]},
11
+ "route_id": {"type": "string", "pattern": "^route\\.[a-z0-9][a-z0-9-]*$"},
12
+ "capability": {"const": "frontend-engineering-design"},
13
+ "import_receipt_ref": {"type": "string", "minLength": 1},
14
+ "bundle_digest": {"type": "string", "pattern": "^sha256:[a-f0-9]{64}$"},
15
+ "context_reconciliation_ref": {"type": "string"},
16
+ "visual_baseline_ref": {"type": "string", "minLength": 1},
17
+ "source_rule_refs": {"type": "array", "minItems": 1, "uniqueItems": true, "items": {"type": "string", "pattern": "^(rule|scenario|invariant)\\.[a-z0-9][a-z0-9-]*$"}},
18
+ "backend_dependency": {
19
+ "type": "object",
20
+ "additionalProperties": false,
21
+ "required": ["mode", "route_id"],
22
+ "properties": {
23
+ "mode": {"enum": ["required", "not-applicable"]},
24
+ "route_id": {"const": "route.backend"},
25
+ "reason": {"type": "string", "minLength": 1},
26
+ "impact_refs": {"type": "array", "uniqueItems": true, "items": {"type": "string", "minLength": 1}},
27
+ "evidence_refs": {"type": "array", "uniqueItems": true, "items": {"type": "string", "minLength": 1}}
28
+ }
29
+ },
30
+ "ready_for_agent": {"const": false}
31
+ }
32
+ }
@@ -221,7 +221,8 @@
221
221
  "type": "object"
222
222
  },
223
223
  "ticket_sync": {
224
- "type": "object"
224
+ "type": "object",
225
+ "description": "Ticket 仅保存追踪同步状态;refs 关联消费者 Import Receipt、Consumer Feedback、Feedback Adjudication 与 Delivery Acceptance 等权威资产,不复制其机器状态。"
225
226
  },
226
227
  "verification": {
227
228
  "type": "object"
@@ -0,0 +1,40 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://yss.local/schemas/strategic-consumer-feedback-v1.json",
4
+ "title": "YSS Strategic Consumer Feedback v1",
5
+ "type": "object",
6
+ "additionalProperties": false,
7
+ "required": ["schema_version", "feedback_id", "status", "import_receipt_ref", "bundle", "route_id", "source", "issue_type", "severity", "suggestion", "raised_by", "evidence_refs", "created_at"],
8
+ "properties": {
9
+ "schema_version": {"const": 1},
10
+ "feedback_id": {"type": "string", "pattern": "^consumer-feedback\\.[a-z0-9][a-z0-9-]*$"},
11
+ "status": {"const": "submitted"},
12
+ "import_receipt_ref": {"type": "string", "minLength": 1},
13
+ "bundle": {
14
+ "type": "object",
15
+ "additionalProperties": false,
16
+ "required": ["id", "version", "digest"],
17
+ "properties": {
18
+ "id": {"type": "string", "pattern": "^strategic-design-handoff\\.[a-z0-9][a-z0-9-]*$"},
19
+ "version": {"type": "string", "pattern": "^v[1-9][0-9]*$"},
20
+ "digest": {"type": "string", "pattern": "^sha256:[a-f0-9]{64}$"}
21
+ }
22
+ },
23
+ "route_id": {"type": "string", "pattern": "^route\\.[a-z0-9][a-z0-9-]*$"},
24
+ "source": {
25
+ "type": "object",
26
+ "additionalProperties": false,
27
+ "required": ["id", "digest"],
28
+ "properties": {
29
+ "id": {"type": "string", "pattern": "^(rule|scenario|invariant)\\.[a-z0-9][a-z0-9-]*$"},
30
+ "digest": {"type": "string", "pattern": "^sha256:[a-f0-9]{64}$"}
31
+ }
32
+ },
33
+ "issue_type": {"enum": ["rule-conflict", "scenario-gap", "impact-mismatch", "context-conflict", "design-baseline", "other"]},
34
+ "severity": {"enum": ["blocking", "non-blocking"]},
35
+ "suggestion": {"type": "string", "minLength": 1},
36
+ "raised_by": {"type": "string", "minLength": 1},
37
+ "evidence_refs": {"type": "array", "minItems": 1, "uniqueItems": true, "items": {"type": "string", "minLength": 1}},
38
+ "created_at": {"type": "string", "format": "date-time"}
39
+ }
40
+ }