@open-agent-toolkit/cli 0.2.72 → 0.2.74

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 (165) hide show
  1. package/assets/agents/oat-reviewer.md +4 -3
  2. package/assets/agents/recon-worker.md +42 -8
  3. package/assets/bundle-metadata.json +1 -1
  4. package/assets/docs/cli-utilities/configuration.md +3 -56
  5. package/assets/docs/cli-utilities/tool-packs.md +4 -4
  6. package/assets/docs/contributing/code.md +2 -2
  7. package/assets/docs/contributing/index.md +0 -1
  8. package/assets/docs/reference/cli-reference.md +1 -1
  9. package/assets/docs/reference/troubleshooting.md +17 -40
  10. package/assets/docs/workflows/projects/artifacts.md +16 -34
  11. package/assets/docs/workflows/projects/lifecycle.md +20 -19
  12. package/assets/docs/workflows/skills/explainer-kit.md +180 -440
  13. package/assets/docs/workflows/skills/index.md +1 -2
  14. package/assets/docs/workflows/skills/recon.md +114 -23
  15. package/assets/public-package-versions.json +4 -4
  16. package/assets/skills/explainer-kit/SKILL.md +96 -171
  17. package/assets/skills/explainer-kit/recipes/engineer-tour.json +1 -22
  18. package/assets/skills/explainer-kit/recipes/program-recap.json +1 -29
  19. package/assets/skills/explainer-kit/recipes/project-explainer.json +1 -22
  20. package/assets/skills/explainer-kit/recipes/project-recap.v2.json +1 -43
  21. package/assets/skills/explainer-kit/references/fact-base-contract.md +76 -101
  22. package/assets/skills/explainer-kit/references/recap-authoring.md +99 -0
  23. package/assets/skills/explainer-kit/schemas/manifest.schema.json +13 -135
  24. package/assets/skills/explainer-kit/scripts/bundle.mjs +712 -0
  25. package/assets/skills/explainer-kit/scripts/lib/claim-subject.mjs +40 -0
  26. package/assets/skills/explainer-kit/scripts/lib/contracts.mjs +113 -1504
  27. package/assets/skills/explainer-kit/scripts/lib/failure.mjs +13 -0
  28. package/assets/skills/explainer-kit/scripts/lib/package-coverage.mjs +57 -403
  29. package/assets/skills/explainer-kit/scripts/lib/qa-result.mjs +168 -0
  30. package/assets/skills/explainer-kit/scripts/lib/qa.mjs +90 -488
  31. package/assets/skills/explainer-kit/scripts/lib/recipes.mjs +28 -545
  32. package/assets/skills/explainer-kit/scripts/lib/run-package.mjs +120 -0
  33. package/assets/skills/explainer-kit/scripts/lib/sanitize.mjs +42 -0
  34. package/assets/skills/explainer-kit/scripts/record.mjs +335 -0
  35. package/assets/skills/explainer-kit/scripts/verify.mjs +648 -0
  36. package/assets/skills/oat-explainer-kit/SKILL.md +57 -117
  37. package/assets/skills/oat-explainer-kit/references/config-contract.md +20 -64
  38. package/assets/skills/oat-explainer-kit/references/lifecycle-contract.md +85 -237
  39. package/assets/skills/oat-explainer-kit/scripts/bind-project-sources.mjs +18 -10
  40. package/assets/skills/oat-explainer-kit/scripts/check-core.mjs +1 -0
  41. package/assets/skills/oat-explainer-kit/scripts/check-terminal-outcome.mjs +256 -21
  42. package/assets/skills/oat-explainer-kit/scripts/persist-intent.mjs +82 -3
  43. package/assets/skills/oat-explainer-kit/scripts/resolve-config.mjs +0 -162
  44. package/assets/skills/oat-explainer-kit/scripts/resolve-intent.mjs +57 -123
  45. package/assets/skills/oat-project-autonomous/SKILL.md +14 -13
  46. package/assets/skills/oat-project-autonomous/references/gate-inventory.md +165 -165
  47. package/assets/skills/oat-project-complete/SKILL.md +168 -349
  48. package/assets/skills/oat-project-complete/scripts/consume-persisted-recap-intent.mjs +125 -0
  49. package/assets/skills/oat-project-complete/scripts/execute-synced-archive-entry.mjs +0 -30
  50. package/assets/skills/oat-project-complete/scripts/parse-completion-retry-fields.mjs +4 -37
  51. package/assets/skills/oat-project-complete/scripts/parse-synced-archive-resume-fields.mjs +17 -16
  52. package/assets/skills/oat-project-complete/scripts/recover-completion-receipts.mjs +9 -174
  53. package/assets/skills/oat-project-complete/scripts/resolve-completion-retry.mjs +1 -2
  54. package/assets/skills/oat-project-document/SKILL.md +1 -1
  55. package/assets/skills/oat-project-document/references/docs/autonomy-contract.md +165 -165
  56. package/assets/skills/oat-project-implement/SKILL.md +1 -1
  57. package/assets/skills/oat-project-implement/references/completion-and-closeout.md +44 -56
  58. package/assets/skills/oat-project-implement/references/docs/autonomy-contract.md +165 -165
  59. package/assets/skills/oat-project-lite/SKILL.md +1 -1
  60. package/assets/skills/oat-project-lite/references/docs/autonomy-contract.md +165 -165
  61. package/assets/skills/oat-project-plan/SKILL.md +5 -6
  62. package/assets/skills/oat-project-pr-final/SKILL.md +1 -1
  63. package/assets/skills/oat-project-pr-final/references/docs/autonomy-contract.md +165 -165
  64. package/assets/skills/oat-project-quick-start/SKILL.md +1 -1
  65. package/assets/skills/oat-project-quick-start/references/docs/autonomy-contract.md +165 -165
  66. package/assets/skills/oat-project-review-receive/SKILL.md +14 -1
  67. package/assets/skills/oat-project-summary/SKILL.md +35 -25
  68. package/assets/skills/oat-wave-execute/SKILL.md +11 -36
  69. package/assets/skills/oat-wave-program/SKILL.md +13 -37
  70. package/assets/skills/recon/SKILL.md +103 -40
  71. package/assets/skills/recon/references/packet-contract.md +150 -67
  72. package/assets/skills/recon/references/profiles.md +38 -16
  73. package/assets/skills/recon/references/worker-contract.md +39 -8
  74. package/assets/skills/recon/scripts/lib/contracts.mjs +703 -55
  75. package/assets/skills/recon/scripts/lib/routing.mjs +588 -0
  76. package/assets/skills/recon/scripts/lib/validated-run.mjs +2 -0
  77. package/assets/skills/recon/scripts/prepare-routing.mjs +88 -0
  78. package/assets/skills/recon/scripts/render-packet.mjs +69 -1
  79. package/assets/skills/recon/scripts/validate-packet.mjs +473 -56
  80. package/assets/skills/subagent-orchestration/SKILL.md +18 -9
  81. package/assets/skills/subagent-orchestration/references/model-selection-principles.md +17 -8
  82. package/dist/commands/config/index.d.ts.map +1 -1
  83. package/dist/commands/config/index.js +9 -113
  84. package/dist/commands/project/archive/archive-utils.d.ts.map +1 -1
  85. package/dist/commands/project/archive/archive-utils.js +32 -184
  86. package/dist/commands/project/archive/explainer-package-coverage.d.ts +3 -8
  87. package/dist/commands/project/archive/explainer-package-coverage.d.ts.map +1 -1
  88. package/dist/commands/project/archive/explainer-package-coverage.js +1 -1
  89. package/dist/config/oat-config.d.ts +0 -11
  90. package/dist/config/oat-config.d.ts.map +1 -1
  91. package/dist/config/oat-config.js +0 -34
  92. package/dist/config/resolve.d.ts.map +1 -1
  93. package/dist/config/resolve.js +0 -8
  94. package/dist/release/public-package-contract.d.ts.map +1 -1
  95. package/dist/release/public-package-contract.js +2 -10
  96. package/dist/validation/project-state.d.ts.map +1 -1
  97. package/dist/validation/project-state.js +42 -3
  98. package/package.json +2 -2
  99. package/assets/docs/contributing/explainer-kit-verification.md +0 -133
  100. package/assets/docs/workflows/skills/explainer-kit-providers.md +0 -155
  101. package/assets/skills/explainer-kit/briefs/deep-dive.md +0 -35
  102. package/assets/skills/explainer-kit/briefs/project-page.md +0 -38
  103. package/assets/skills/explainer-kit/briefs/supporting-diagram.md +0 -28
  104. package/assets/skills/explainer-kit/briefs/walkthrough-deck.md +0 -35
  105. package/assets/skills/explainer-kit/examples/project-explainer/content.md +0 -31
  106. package/assets/skills/explainer-kit/examples/project-explainer/fact-base.md +0 -22
  107. package/assets/skills/explainer-kit/examples/project-recap/content.md +0 -77
  108. package/assets/skills/explainer-kit/examples/project-recap/fact-base.json +0 -104
  109. package/assets/skills/explainer-kit/examples/project-recap/fact-base.md +0 -44
  110. package/assets/skills/explainer-kit/examples/theme-bundle.json +0 -87
  111. package/assets/skills/explainer-kit/recipes/project-recap.v1.json +0 -93
  112. package/assets/skills/explainer-kit/references/contracts.md +0 -324
  113. package/assets/skills/explainer-kit/references/destination-contract.md +0 -210
  114. package/assets/skills/explainer-kit/references/extension-contract.md +0 -80
  115. package/assets/skills/explainer-kit/references/golden-conformance.md +0 -80
  116. package/assets/skills/explainer-kit/references/visual-review.md +0 -71
  117. package/assets/skills/explainer-kit/schemas/author-request.v2.schema.json +0 -212
  118. package/assets/skills/explainer-kit/schemas/author-request.v3.schema.json +0 -241
  119. package/assets/skills/explainer-kit/schemas/author-result.v2.schema.json +0 -52
  120. package/assets/skills/explainer-kit/schemas/build-record.schema.json +0 -98
  121. package/assets/skills/explainer-kit/schemas/durability-evidence.schema.json +0 -53
  122. package/assets/skills/explainer-kit/schemas/publish-receipt.v1.schema.json +0 -97
  123. package/assets/skills/explainer-kit/schemas/publish-receipt.v2.schema.json +0 -215
  124. package/assets/skills/explainer-kit/schemas/publish-request.v1.schema.json +0 -32
  125. package/assets/skills/explainer-kit/schemas/publish-request.v2.schema.json +0 -34
  126. package/assets/skills/explainer-kit/schemas/run-request.schema.json +0 -147
  127. package/assets/skills/explainer-kit/schemas/set-plan.v1.schema.json +0 -149
  128. package/assets/skills/explainer-kit/schemas/terminal-evidence.v1.schema.json +0 -81
  129. package/assets/skills/explainer-kit/schemas/visual-review-evidence.v1.schema.json +0 -66
  130. package/assets/skills/explainer-kit/schemas/visual-review-request.v1.schema.json +0 -117
  131. package/assets/skills/explainer-kit/schemas/visual-review-result.v1.schema.json +0 -80
  132. package/assets/skills/explainer-kit/scripts/lib/catalog.mjs +0 -349
  133. package/assets/skills/explainer-kit/scripts/lib/content-approval.mjs +0 -418
  134. package/assets/skills/explainer-kit/scripts/lib/diagram.mjs +0 -514
  135. package/assets/skills/explainer-kit/scripts/lib/durability.mjs +0 -643
  136. package/assets/skills/explainer-kit/scripts/lib/fact-base.mjs +0 -664
  137. package/assets/skills/explainer-kit/scripts/lib/internal-references.mjs +0 -538
  138. package/assets/skills/explainer-kit/scripts/lib/markdown.mjs +0 -414
  139. package/assets/skills/explainer-kit/scripts/lib/publication-policy.mjs +0 -54
  140. package/assets/skills/explainer-kit/scripts/lib/records.mjs +0 -954
  141. package/assets/skills/explainer-kit/scripts/lib/render.mjs +0 -703
  142. package/assets/skills/explainer-kit/scripts/lib/s3-roots.mjs +0 -353
  143. package/assets/skills/explainer-kit/scripts/lib/s3-static.mjs +0 -759
  144. package/assets/skills/explainer-kit/scripts/lib/set-plan.mjs +0 -209
  145. package/assets/skills/explainer-kit/scripts/lib/source-backlinks.mjs +0 -218
  146. package/assets/skills/explainer-kit/scripts/lib/terminal-evidence.mjs +0 -157
  147. package/assets/skills/explainer-kit/scripts/lib/visual-review.mjs +0 -400
  148. package/assets/skills/explainer-kit/scripts/publish.mjs +0 -76
  149. package/assets/skills/explainer-kit/scripts/record-durability.mjs +0 -64
  150. package/assets/skills/explainer-kit/scripts/render-qa.mjs +0 -461
  151. package/assets/skills/explainer-kit/scripts/run.mjs +0 -3038
  152. package/assets/skills/explainer-kit/scripts/validate.mjs +0 -59
  153. package/assets/skills/oat-explainer-kit/references/author-callback.md +0 -53
  154. package/assets/skills/oat-explainer-kit/references/migration.md +0 -144
  155. package/assets/skills/oat-explainer-kit/references/visual-review-callback.md +0 -83
  156. package/assets/skills/oat-explainer-kit/scripts/derive-destination.mjs +0 -91
  157. package/assets/skills/oat-explainer-kit/scripts/finalize-tracked-run.mjs +0 -531
  158. package/assets/skills/oat-explainer-kit/scripts/probe-recap-seams.mjs +0 -371
  159. package/assets/skills/oat-explainer-kit/scripts/run.mjs +0 -905
  160. package/dist/commands/project/archive/explainer-source-backlinks.d.ts +0 -18
  161. package/dist/commands/project/archive/explainer-source-backlinks.d.ts.map +0 -1
  162. package/dist/commands/project/archive/explainer-source-backlinks.js +0 -27
  163. package/dist/commands/project/archive/explainer-terminal-evidence.d.ts +0 -29
  164. package/dist/commands/project/archive/explainer-terminal-evidence.d.ts.map +0 -1
  165. package/dist/commands/project/archive/explainer-terminal-evidence.js +0 -37
@@ -1,215 +0,0 @@
1
- {
2
- "$schema": "https://json-schema.org/draft/2020-12/schema",
3
- "$id": "explainer-kit.publish-receipt/v2",
4
- "title": "PublishReceiptV2",
5
- "type": "object",
6
- "additionalProperties": false,
7
- "required": [
8
- "schemaVersion",
9
- "provider",
10
- "publishedAt",
11
- "publicAccess",
12
- "roots",
13
- "sentinel",
14
- "artifacts"
15
- ],
16
- "properties": {
17
- "schemaVersion": {
18
- "const": "explainer-kit.publish-receipt/v2"
19
- },
20
- "provider": {
21
- "const": "s3-static"
22
- },
23
- "publishedAt": {
24
- "type": "string",
25
- "format": "date-time"
26
- },
27
- "publicAccess": {
28
- "enum": ["public", "protected"]
29
- },
30
- "roots": {
31
- "type": "object",
32
- "additionalProperties": false,
33
- "required": ["s3Uri", "publicBaseUrl"],
34
- "properties": {
35
- "s3Uri": {
36
- "type": "string",
37
- "pattern": "^s3://[a-z0-9][a-z0-9.-]{1,61}[a-z0-9](?:/[^\\s/?#\\\\]+(?:/[^\\s/?#\\\\]+)*)?$"
38
- },
39
- "publicBaseUrl": {
40
- "type": "string",
41
- "pattern": "^https://[^\\s/?#@]+(?::[0-9]+)?(?:/[^\\s/?#\\\\]+(?:/[^\\s/?#\\\\]+)*)?$"
42
- }
43
- }
44
- },
45
- "sentinel": {
46
- "type": "object",
47
- "additionalProperties": false,
48
- "required": [
49
- "relativePath",
50
- "objectVerification",
51
- "publicVerification",
52
- "deleted"
53
- ],
54
- "properties": {
55
- "relativePath": {
56
- "$ref": "#/$defs/safeRelativePath"
57
- },
58
- "objectVerification": {
59
- "$ref": "#/$defs/objectVerification"
60
- },
61
- "publicVerification": {
62
- "$ref": "#/$defs/publicVerification"
63
- },
64
- "deleted": {
65
- "type": "boolean"
66
- }
67
- }
68
- },
69
- "artifacts": {
70
- "type": "array",
71
- "items": {
72
- "$ref": "#/$defs/artifact"
73
- },
74
- "uniqueItems": true
75
- },
76
- "publicRootPolicy": {
77
- "description": "Present only when EXPLAINER_KIT_ALLOW_PRIVATE_PUBLIC_ROOT was set and the public root was in fact a non-public address, so a publication made with the anti-SSRF control disabled is distinguishable in durable evidence.",
78
- "enum": ["private-allowed"]
79
- }
80
- },
81
- "$defs": {
82
- "hash": {
83
- "type": "string",
84
- "pattern": "^sha256:[a-f0-9]{64}$"
85
- },
86
- "safeRelativePath": {
87
- "type": "string",
88
- "minLength": 1,
89
- "pattern": "^(?!/)(?!.*(?:^|/)\\.\\.(?:/|$)).+$"
90
- },
91
- "source": {
92
- "oneOf": [
93
- {
94
- "type": "object",
95
- "additionalProperties": false,
96
- "required": ["kind", "artifactId"],
97
- "properties": {
98
- "kind": {
99
- "const": "manifest"
100
- },
101
- "artifactId": {
102
- "type": "string",
103
- "minLength": 1
104
- }
105
- }
106
- },
107
- {
108
- "type": "object",
109
- "additionalProperties": false,
110
- "required": ["kind", "name"],
111
- "properties": {
112
- "kind": {
113
- "const": "auxiliary"
114
- },
115
- "name": {
116
- "type": "string",
117
- "minLength": 1
118
- }
119
- }
120
- }
121
- ]
122
- },
123
- "objectVerification": {
124
- "type": "object",
125
- "additionalProperties": false,
126
- "required": ["status", "method", "hash"],
127
- "properties": {
128
- "status": {
129
- "const": "verified"
130
- },
131
- "method": {
132
- "enum": ["service-checksum", "authenticated-download"]
133
- },
134
- "hash": {
135
- "$ref": "#/$defs/hash"
136
- }
137
- }
138
- },
139
- "publicVerification": {
140
- "oneOf": [
141
- {
142
- "type": "object",
143
- "additionalProperties": false,
144
- "required": ["status", "httpStatus", "hash"],
145
- "properties": {
146
- "status": {
147
- "const": "verified"
148
- },
149
- "httpStatus": {
150
- "type": "integer",
151
- "minimum": 200,
152
- "maximum": 299
153
- },
154
- "hash": {
155
- "$ref": "#/$defs/hash"
156
- }
157
- }
158
- },
159
- {
160
- "type": "object",
161
- "additionalProperties": false,
162
- "required": ["status"],
163
- "properties": {
164
- "status": {
165
- "const": "skipped-protected"
166
- }
167
- }
168
- }
169
- ]
170
- },
171
- "artifact": {
172
- "type": "object",
173
- "additionalProperties": false,
174
- "required": [
175
- "source",
176
- "relativePath",
177
- "hash",
178
- "s3Uri",
179
- "publicUrl",
180
- "contentType",
181
- "objectVerification",
182
- "publicVerification"
183
- ],
184
- "properties": {
185
- "source": {
186
- "$ref": "#/$defs/source"
187
- },
188
- "relativePath": {
189
- "$ref": "#/$defs/safeRelativePath"
190
- },
191
- "hash": {
192
- "$ref": "#/$defs/hash"
193
- },
194
- "s3Uri": {
195
- "type": "string",
196
- "pattern": "^s3://[a-z0-9][a-z0-9.-]{1,61}[a-z0-9]/[^\\s?#\\\\]+$"
197
- },
198
- "publicUrl": {
199
- "type": "string",
200
- "pattern": "^https://[^\\s/?#@]+(?::[0-9]+)?/[^\\s?#\\\\]+$"
201
- },
202
- "contentType": {
203
- "type": "string",
204
- "minLength": 1
205
- },
206
- "objectVerification": {
207
- "$ref": "#/$defs/objectVerification"
208
- },
209
- "publicVerification": {
210
- "$ref": "#/$defs/publicVerification"
211
- }
212
- }
213
- }
214
- }
215
- }
@@ -1,32 +0,0 @@
1
- {
2
- "$schema": "https://json-schema.org/draft/2020-12/schema",
3
- "$id": "explainer-kit.publish-request/v1",
4
- "title": "S3StaticPublishRequestV1",
5
- "type": "object",
6
- "additionalProperties": false,
7
- "required": [
8
- "schemaVersion",
9
- "provider",
10
- "s3Uri",
11
- "publicBaseUrl",
12
- "awsRegion",
13
- "siteRoot",
14
- "manifestPath"
15
- ],
16
- "properties": {
17
- "schemaVersion": { "const": "explainer-kit.publish-request/v1" },
18
- "provider": { "const": "s3-static" },
19
- "s3Uri": {
20
- "type": "string",
21
- "pattern": "^s3://[^/\\s]+(?:/[^\\s]*)?$"
22
- },
23
- "publicBaseUrl": {
24
- "type": "string",
25
- "pattern": "^https://[^\\s]+$"
26
- },
27
- "awsRegion": { "type": "string", "minLength": 1 },
28
- "awsProfile": { "type": "string", "minLength": 1 },
29
- "siteRoot": { "type": "string", "minLength": 1 },
30
- "manifestPath": { "type": "string", "minLength": 1 }
31
- }
32
- }
@@ -1,34 +0,0 @@
1
- {
2
- "$schema": "https://json-schema.org/draft/2020-12/schema",
3
- "$id": "explainer-kit.publish-request/v2",
4
- "title": "S3StaticPublishRequestV2",
5
- "type": "object",
6
- "additionalProperties": false,
7
- "required": [
8
- "schemaVersion",
9
- "provider",
10
- "s3Uri",
11
- "publicBaseUrl",
12
- "awsRegion",
13
- "publicAccess",
14
- "siteRoot",
15
- "manifestPath"
16
- ],
17
- "properties": {
18
- "schemaVersion": { "const": "explainer-kit.publish-request/v2" },
19
- "provider": { "const": "s3-static" },
20
- "s3Uri": {
21
- "type": "string",
22
- "pattern": "^s3://[a-z0-9][a-z0-9.-]{1,61}[a-z0-9](?:/[^\\s/?#\\\\]+(?:/[^\\s/?#\\\\]+)*)?/?$"
23
- },
24
- "publicBaseUrl": {
25
- "type": "string",
26
- "pattern": "^https://[^\\s/?#@]+(?::[0-9]+)?(?:/[^\\s/?#\\\\]+(?:/[^\\s/?#\\\\]+)*)?/?$"
27
- },
28
- "awsRegion": { "type": "string", "minLength": 1 },
29
- "awsProfile": { "type": "string", "minLength": 1 },
30
- "publicAccess": { "enum": ["public", "protected"] },
31
- "siteRoot": { "type": "string", "minLength": 1 },
32
- "manifestPath": { "type": "string", "minLength": 1 }
33
- }
34
- }
@@ -1,147 +0,0 @@
1
- {
2
- "$schema": "https://json-schema.org/draft/2020-12/schema",
3
- "$id": "explainer-kit.run-request/v1",
4
- "title": "ExplainerRunRequestV1",
5
- "type": "object",
6
- "additionalProperties": false,
7
- "required": [
8
- "schemaVersion",
9
- "recipe",
10
- "slug",
11
- "outputRoot",
12
- "factBase",
13
- "mode"
14
- ],
15
- "properties": {
16
- "schemaVersion": {
17
- "const": "explainer-kit.run-request/v1"
18
- },
19
- "recipe": {
20
- "type": "object",
21
- "additionalProperties": false,
22
- "required": ["id", "version"],
23
- "properties": {
24
- "id": { "type": "string", "minLength": 1 },
25
- "version": { "type": "string", "minLength": 1 }
26
- }
27
- },
28
- "recapMode": {
29
- "type": "string",
30
- "enum": ["artistic", "deterministic-markdown"]
31
- },
32
- "slug": {
33
- "type": "string",
34
- "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$"
35
- },
36
- "outputRoot": { "$ref": "#/$defs/relativeOrAbsolutePath" },
37
- "factBase": { "$ref": "#/$defs/factBaseBinding" },
38
- "theme": { "$ref": "#/$defs/themeSelection" },
39
- "publicBaseUrl": { "type": "string", "format": "uri" },
40
- "durability": {
41
- "type": "object",
42
- "additionalProperties": false,
43
- "required": ["strategy"],
44
- "properties": {
45
- "strategy": {
46
- "enum": ["none", "commit", "publish"]
47
- },
48
- "publish": {
49
- "oneOf": [
50
- { "$ref": "explainer-kit.publish-request/v1" },
51
- { "$ref": "explainer-kit.publish-request/v2" }
52
- ]
53
- }
54
- }
55
- },
56
- "privacy": {
57
- "type": "object",
58
- "additionalProperties": false,
59
- "required": ["retainRawArtDirection"],
60
- "properties": {
61
- "retainRawArtDirection": { "type": "boolean" }
62
- }
63
- },
64
- "mode": { "enum": ["interactive", "unattended"] }
65
- },
66
- "$defs": {
67
- "relativeOrAbsolutePath": {
68
- "type": "string",
69
- "minLength": 1
70
- },
71
- "safeRelativePath": {
72
- "type": "string",
73
- "minLength": 1,
74
- "pattern": "^(?!/)(?!.*(?:^|/)\\.\\.(?:/|$)).+$"
75
- },
76
- "sourceBinding": {
77
- "type": "object",
78
- "additionalProperties": false,
79
- "required": ["id", "kind", "locator", "role", "sourceSetId"],
80
- "properties": {
81
- "id": { "type": "string", "minLength": 1 },
82
- "kind": {
83
- "enum": ["file", "directory", "git", "github", "session", "other"]
84
- },
85
- "locator": { "type": "string", "minLength": 1 },
86
- "role": { "type": "string", "minLength": 1 },
87
- "sourceSetId": { "type": "string", "minLength": 1 },
88
- "revision": { "type": "string", "minLength": 1 },
89
- "authoritativeFor": {
90
- "type": "array",
91
- "items": { "type": "string", "minLength": 1 },
92
- "uniqueItems": true
93
- }
94
- }
95
- },
96
- "factBaseBinding": {
97
- "type": "object",
98
- "additionalProperties": false,
99
- "required": ["mode", "freshnessPolicy"],
100
- "properties": {
101
- "mode": { "enum": ["supplied", "federated"] },
102
- "path": { "$ref": "#/$defs/relativeOrAbsolutePath" },
103
- "sources": {
104
- "type": "array",
105
- "items": { "$ref": "#/$defs/sourceBinding" },
106
- "minItems": 1
107
- },
108
- "freshnessPolicy": { "const": "live-wins" }
109
- },
110
- "oneOf": [
111
- {
112
- "required": ["path"],
113
- "properties": { "mode": { "const": "supplied" } }
114
- },
115
- {
116
- "required": ["sources"],
117
- "properties": { "mode": { "const": "federated" } }
118
- }
119
- ]
120
- },
121
- "themeSelection": {
122
- "type": "object",
123
- "additionalProperties": false,
124
- "properties": {
125
- "style": {
126
- "enum": [
127
- "clean-neutral",
128
- "business-corporate",
129
- "navy-ocean",
130
- "dark-edgy"
131
- ]
132
- },
133
- "palette": { "type": "string", "minLength": 1 },
134
- "visualProfile": { "type": "string", "minLength": 1 },
135
- "suppliedBundlePath": {
136
- "$ref": "#/$defs/relativeOrAbsolutePath"
137
- },
138
- "artDirection": { "type": "string", "minLength": 1 },
139
- "defaultMode": { "enum": ["light", "dark"] },
140
- "renderStrategy": {
141
- "enum": ["default-only", "user-switchable"],
142
- "default": "default-only"
143
- }
144
- }
145
- }
146
- }
147
- }
@@ -1,149 +0,0 @@
1
- {
2
- "$schema": "https://json-schema.org/draft/2020-12/schema",
3
- "$id": "explainer-kit.set-plan/v1",
4
- "title": "SetPlanV1",
5
- "type": "object",
6
- "additionalProperties": false,
7
- "required": [
8
- "schemaVersion",
9
- "planId",
10
- "recipe",
11
- "sourceIds",
12
- "ledger",
13
- "portfolio"
14
- ],
15
- "properties": {
16
- "schemaVersion": { "const": "explainer-kit.set-plan/v1" },
17
- "planId": { "$ref": "#/$defs/safeId" },
18
- "recipe": { "$ref": "#/$defs/recipe" },
19
- "sourceIds": {
20
- "type": "array",
21
- "items": { "$ref": "#/$defs/safeId" },
22
- "minItems": 1,
23
- "uniqueItems": true
24
- },
25
- "ledger": { "$ref": "#/$defs/ledger" },
26
- "portfolio": {
27
- "type": "array",
28
- "items": { "$ref": "#/$defs/portfolioEntry" },
29
- "minItems": 1
30
- }
31
- },
32
- "$defs": {
33
- "safeId": {
34
- "type": "string",
35
- "pattern": "^[a-z0-9]+(?:[._-][a-z0-9]+)*$"
36
- },
37
- "recipe": {
38
- "type": "object",
39
- "additionalProperties": false,
40
- "required": ["id", "version"],
41
- "properties": {
42
- "id": { "$ref": "#/$defs/safeId" },
43
- "version": { "type": "string", "minLength": 1 }
44
- }
45
- },
46
- "ledger": {
47
- "type": "object",
48
- "additionalProperties": false,
49
- "description": "Shared cohesion claims. A fully empty ledger explicitly identifies a lower-tier plan without applicable shared claims; adaptive recap review requires every group to be non-empty and observed.",
50
- "required": ["terminology", "statuses", "numbers"],
51
- "properties": {
52
- "terminology": {
53
- "type": "array",
54
- "items": { "$ref": "#/$defs/termEntry" },
55
- "uniqueItems": true
56
- },
57
- "statuses": {
58
- "type": "array",
59
- "items": { "$ref": "#/$defs/statusEntry" },
60
- "uniqueItems": true
61
- },
62
- "numbers": {
63
- "type": "array",
64
- "items": { "$ref": "#/$defs/numberEntry" },
65
- "uniqueItems": true
66
- }
67
- }
68
- },
69
- "termEntry": {
70
- "type": "object",
71
- "additionalProperties": false,
72
- "required": ["term", "meaning"],
73
- "properties": {
74
- "term": { "type": "string", "minLength": 1 },
75
- "meaning": { "type": "string", "minLength": 1 }
76
- }
77
- },
78
- "statusEntry": {
79
- "type": "object",
80
- "additionalProperties": false,
81
- "required": ["subject", "value"],
82
- "properties": {
83
- "subject": { "type": "string", "minLength": 1 },
84
- "value": { "type": "string", "minLength": 1 }
85
- }
86
- },
87
- "numberEntry": {
88
- "type": "object",
89
- "additionalProperties": false,
90
- "required": ["subject", "value", "unit"],
91
- "properties": {
92
- "subject": { "type": "string", "minLength": 1 },
93
- "value": { "type": "number" },
94
- "unit": { "type": "string", "minLength": 1 }
95
- }
96
- },
97
- "portfolioEntry": {
98
- "type": "object",
99
- "additionalProperties": false,
100
- "required": [
101
- "artifactId",
102
- "artifactType",
103
- "profileId",
104
- "required",
105
- "sourceIds",
106
- "draft",
107
- "visualIntent"
108
- ],
109
- "properties": {
110
- "artifactId": { "$ref": "#/$defs/safeId" },
111
- "artifactType": {
112
- "enum": ["hub", "diagram", "explainer", "deck", "catalog"]
113
- },
114
- "profileId": { "$ref": "#/$defs/safeId" },
115
- "required": { "type": "boolean" },
116
- "sourceIds": {
117
- "type": "array",
118
- "items": { "$ref": "#/$defs/safeId" },
119
- "minItems": 1,
120
- "uniqueItems": true
121
- },
122
- "draft": { "type": "string", "minLength": 1 },
123
- "visualIntent": { "type": "string", "minLength": 1 },
124
- "justification": { "$ref": "#/$defs/justification" }
125
- }
126
- },
127
- "justification": {
128
- "type": "object",
129
- "additionalProperties": false,
130
- "required": ["kind", "sourceIds", "rationale"],
131
- "properties": {
132
- "kind": {
133
- "enum": [
134
- "status-change",
135
- "rollout-complexity",
136
- "source-backed-detail"
137
- ]
138
- },
139
- "sourceIds": {
140
- "type": "array",
141
- "items": { "$ref": "#/$defs/safeId" },
142
- "minItems": 1,
143
- "uniqueItems": true
144
- },
145
- "rationale": { "type": "string", "minLength": 1 }
146
- }
147
- }
148
- }
149
- }
@@ -1,81 +0,0 @@
1
- {
2
- "$schema": "https://json-schema.org/draft/2020-12/schema",
3
- "$id": "explainer-kit.terminal-evidence/v1",
4
- "type": "object",
5
- "additionalProperties": false,
6
- "required": [
7
- "schemaVersion",
8
- "runId",
9
- "outcome",
10
- "reasons",
11
- "evidenceDisposition"
12
- ],
13
- "properties": {
14
- "schemaVersion": {
15
- "const": "explainer-kit.terminal-evidence/v1"
16
- },
17
- "runId": { "type": "string", "minLength": 1, "maxLength": 2000 },
18
- "outcome": {
19
- "enum": ["built-needs-review", "failed"]
20
- },
21
- "manifestHash": { "$ref": "#/$defs/hash" },
22
- "reasons": {
23
- "type": "array",
24
- "minItems": 1,
25
- "maxItems": 50,
26
- "items": { "$ref": "#/$defs/reason" }
27
- },
28
- "evidenceDisposition": {
29
- "enum": ["retained", "partial", "unavailable", "superseded"]
30
- },
31
- "supersededBy": { "$ref": "#/$defs/supersededBy" }
32
- },
33
- "$defs": {
34
- "hash": {
35
- "type": "string",
36
- "pattern": "^sha256:[a-f0-9]{64}$"
37
- },
38
- "reason": {
39
- "type": "object",
40
- "additionalProperties": false,
41
- "required": ["stage", "kind", "count"],
42
- "properties": {
43
- "stage": {
44
- "enum": [
45
- "planning",
46
- "authoring",
47
- "rendering",
48
- "link-validation",
49
- "browser-review",
50
- "visual-review",
51
- "durability",
52
- "finalization"
53
- ]
54
- },
55
- "kind": {
56
- "enum": [
57
- "finding",
58
- "provider-failure",
59
- "pipeline-failure",
60
- "superseded"
61
- ]
62
- },
63
- "artifactId": {
64
- "type": "string",
65
- "minLength": 1,
66
- "maxLength": 2000
67
- },
68
- "count": { "type": "integer", "minimum": 1, "maximum": 50 }
69
- }
70
- },
71
- "supersededBy": {
72
- "type": "object",
73
- "additionalProperties": false,
74
- "required": ["runId", "manifestHash"],
75
- "properties": {
76
- "runId": { "type": "string", "minLength": 1, "maxLength": 2000 },
77
- "manifestHash": { "$ref": "#/$defs/hash" }
78
- }
79
- }
80
- }
81
- }