@agent-teams/engineering-foundation 0.4.1 → 0.5.0

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 (225) hide show
  1. package/README.md +22 -0
  2. package/dist/capabilities/public-api-compatibility/adapters/outbound/api-extractor/microsoft-public-api-extractor.d.ts.map +1 -1
  3. package/dist/capabilities/public-api-compatibility/adapters/outbound/api-extractor/microsoft-public-api-extractor.js +12 -2
  4. package/dist/capabilities/public-api-compatibility/adapters/outbound/api-extractor/microsoft-public-api-extractor.js.map +1 -1
  5. package/dist/capabilities/repository-agent-workflow/adapters/inbound/cli/report-renderer.d.ts +3 -0
  6. package/dist/capabilities/repository-agent-workflow/adapters/inbound/cli/report-renderer.d.ts.map +1 -0
  7. package/dist/capabilities/repository-agent-workflow/adapters/inbound/cli/report-renderer.js +26 -0
  8. package/dist/capabilities/repository-agent-workflow/adapters/inbound/cli/report-renderer.js.map +1 -0
  9. package/dist/capabilities/repository-agent-workflow/adapters/outbound/filesystem/filesystem-repository-agent-workflow-reader.d.ts +6 -0
  10. package/dist/capabilities/repository-agent-workflow/adapters/outbound/filesystem/filesystem-repository-agent-workflow-reader.d.ts.map +1 -0
  11. package/dist/capabilities/repository-agent-workflow/adapters/outbound/filesystem/filesystem-repository-agent-workflow-reader.js +81 -0
  12. package/dist/capabilities/repository-agent-workflow/adapters/outbound/filesystem/filesystem-repository-agent-workflow-reader.js.map +1 -0
  13. package/dist/capabilities/repository-agent-workflow/adapters/outbound/git/git-repository-changes-reader.d.ts +15 -0
  14. package/dist/capabilities/repository-agent-workflow/adapters/outbound/git/git-repository-changes-reader.d.ts.map +1 -0
  15. package/dist/capabilities/repository-agent-workflow/adapters/outbound/git/git-repository-changes-reader.js +153 -0
  16. package/dist/capabilities/repository-agent-workflow/adapters/outbound/git/git-repository-changes-reader.js.map +1 -0
  17. package/dist/capabilities/repository-agent-workflow/adapters/outbound/pnpm/pnpm-package-script-runner.d.ts +17 -0
  18. package/dist/capabilities/repository-agent-workflow/adapters/outbound/pnpm/pnpm-package-script-runner.d.ts.map +1 -0
  19. package/dist/capabilities/repository-agent-workflow/adapters/outbound/pnpm/pnpm-package-script-runner.js +70 -0
  20. package/dist/capabilities/repository-agent-workflow/adapters/outbound/pnpm/pnpm-package-script-runner.js.map +1 -0
  21. package/dist/capabilities/repository-agent-workflow/adapters/outbound/process/process-execution.d.ts +10 -0
  22. package/dist/capabilities/repository-agent-workflow/adapters/outbound/process/process-execution.d.ts.map +1 -0
  23. package/dist/capabilities/repository-agent-workflow/adapters/outbound/process/process-execution.js +30 -0
  24. package/dist/capabilities/repository-agent-workflow/adapters/outbound/process/process-execution.js.map +1 -0
  25. package/dist/capabilities/repository-agent-workflow/application/model/changed-workflow.d.ts +36 -0
  26. package/dist/capabilities/repository-agent-workflow/application/model/changed-workflow.d.ts.map +1 -0
  27. package/dist/capabilities/repository-agent-workflow/application/model/changed-workflow.js +2 -0
  28. package/dist/capabilities/repository-agent-workflow/application/model/changed-workflow.js.map +1 -0
  29. package/dist/capabilities/repository-agent-workflow/application/model/repository-agent-workflow.d.ts +34 -0
  30. package/dist/capabilities/repository-agent-workflow/application/model/repository-agent-workflow.d.ts.map +1 -0
  31. package/dist/capabilities/repository-agent-workflow/application/model/repository-agent-workflow.js +2 -0
  32. package/dist/capabilities/repository-agent-workflow/application/model/repository-agent-workflow.js.map +1 -0
  33. package/dist/capabilities/repository-agent-workflow/application/policies/evaluate-repository-agent-workflow.d.ts +4 -0
  34. package/dist/capabilities/repository-agent-workflow/application/policies/evaluate-repository-agent-workflow.d.ts.map +1 -0
  35. package/dist/capabilities/repository-agent-workflow/application/policies/evaluate-repository-agent-workflow.js +131 -0
  36. package/dist/capabilities/repository-agent-workflow/application/policies/evaluate-repository-agent-workflow.js.map +1 -0
  37. package/dist/capabilities/repository-agent-workflow/application/ports/changed-workflow.d.ts +17 -0
  38. package/dist/capabilities/repository-agent-workflow/application/ports/changed-workflow.d.ts.map +1 -0
  39. package/dist/capabilities/repository-agent-workflow/application/ports/changed-workflow.js +2 -0
  40. package/dist/capabilities/repository-agent-workflow/application/ports/changed-workflow.js.map +1 -0
  41. package/dist/capabilities/repository-agent-workflow/application/ports/repository-agent-workflow-reader.d.ts +5 -0
  42. package/dist/capabilities/repository-agent-workflow/application/ports/repository-agent-workflow-reader.d.ts.map +1 -0
  43. package/dist/capabilities/repository-agent-workflow/application/ports/repository-agent-workflow-reader.js +2 -0
  44. package/dist/capabilities/repository-agent-workflow/application/ports/repository-agent-workflow-reader.js.map +1 -0
  45. package/dist/capabilities/repository-agent-workflow/application/rules.d.ts +8 -0
  46. package/dist/capabilities/repository-agent-workflow/application/rules.d.ts.map +1 -0
  47. package/dist/capabilities/repository-agent-workflow/application/rules.js +35 -0
  48. package/dist/capabilities/repository-agent-workflow/application/rules.js.map +1 -0
  49. package/dist/capabilities/repository-agent-workflow/application/use-cases/analyze-repository-agent-workflow.d.ts +9 -0
  50. package/dist/capabilities/repository-agent-workflow/application/use-cases/analyze-repository-agent-workflow.d.ts.map +1 -0
  51. package/dist/capabilities/repository-agent-workflow/application/use-cases/analyze-repository-agent-workflow.js +7 -0
  52. package/dist/capabilities/repository-agent-workflow/application/use-cases/analyze-repository-agent-workflow.js.map +1 -0
  53. package/dist/capabilities/repository-agent-workflow/application/use-cases/run-changed-agent-workflow.d.ts +4 -0
  54. package/dist/capabilities/repository-agent-workflow/application/use-cases/run-changed-agent-workflow.d.ts.map +1 -0
  55. package/dist/capabilities/repository-agent-workflow/application/use-cases/run-changed-agent-workflow.js +79 -0
  56. package/dist/capabilities/repository-agent-workflow/application/use-cases/run-changed-agent-workflow.js.map +1 -0
  57. package/dist/capabilities/repository-agent-workflow/changed-command.d.ts +9 -0
  58. package/dist/capabilities/repository-agent-workflow/changed-command.d.ts.map +1 -0
  59. package/dist/capabilities/repository-agent-workflow/changed-command.js +28 -0
  60. package/dist/capabilities/repository-agent-workflow/changed-command.js.map +1 -0
  61. package/dist/capabilities/repository-agent-workflow/contract/config.d.ts +5 -0
  62. package/dist/capabilities/repository-agent-workflow/contract/config.d.ts.map +1 -0
  63. package/dist/capabilities/repository-agent-workflow/contract/config.js +121 -0
  64. package/dist/capabilities/repository-agent-workflow/contract/config.js.map +1 -0
  65. package/dist/capabilities/repository-agent-workflow/module.d.ts +5 -0
  66. package/dist/capabilities/repository-agent-workflow/module.d.ts.map +1 -0
  67. package/dist/capabilities/repository-agent-workflow/module.js +49 -0
  68. package/dist/capabilities/repository-agent-workflow/module.js.map +1 -0
  69. package/dist/capabilities/repository-security-baseline/application/policies/evaluate-repository-security.d.ts.map +1 -1
  70. package/dist/capabilities/repository-security-baseline/application/policies/evaluate-repository-security.js +150 -125
  71. package/dist/capabilities/repository-security-baseline/application/policies/evaluate-repository-security.js.map +1 -1
  72. package/dist/capabilities/workspace-dependency-declarations/application/policies/evaluate-workspace-dependencies.d.ts.map +1 -1
  73. package/dist/capabilities/workspace-dependency-declarations/application/policies/evaluate-workspace-dependencies.js +9 -1
  74. package/dist/capabilities/workspace-dependency-declarations/application/policies/evaluate-workspace-dependencies.js.map +1 -1
  75. package/dist/cli-arguments.d.ts +12 -0
  76. package/dist/cli-arguments.d.ts.map +1 -0
  77. package/dist/cli-arguments.js +114 -0
  78. package/dist/cli-arguments.js.map +1 -0
  79. package/dist/cli.js +131 -125
  80. package/dist/cli.js.map +1 -1
  81. package/dist/composition/capability-registry.d.ts.map +1 -1
  82. package/dist/composition/capability-registry.js +2 -0
  83. package/dist/composition/capability-registry.js.map +1 -1
  84. package/dist/composition/rule-registry.d.ts.map +1 -1
  85. package/dist/composition/rule-registry.js +2 -0
  86. package/dist/composition/rule-registry.js.map +1 -1
  87. package/dist/foundation-config.d.ts +1 -1
  88. package/dist/foundation-config.d.ts.map +1 -1
  89. package/dist/foundation-config.js +2 -0
  90. package/dist/foundation-config.js.map +1 -1
  91. package/dist/local-mode/attach-transaction.d.ts +11 -0
  92. package/dist/local-mode/attach-transaction.d.ts.map +1 -0
  93. package/dist/local-mode/attach-transaction.js +176 -0
  94. package/dist/local-mode/attach-transaction.js.map +1 -0
  95. package/dist/local-mode/consumer-policy.d.ts +2 -3
  96. package/dist/local-mode/consumer-policy.d.ts.map +1 -1
  97. package/dist/local-mode/consumer-policy.js +102 -94
  98. package/dist/local-mode/consumer-policy.js.map +1 -1
  99. package/dist/local-mode/index.d.ts +1 -0
  100. package/dist/local-mode/index.d.ts.map +1 -1
  101. package/dist/local-mode/index.js.map +1 -1
  102. package/dist/local-mode/inspection.d.ts.map +1 -1
  103. package/dist/local-mode/inspection.js +126 -118
  104. package/dist/local-mode/inspection.js.map +1 -1
  105. package/dist/local-mode/local-state-store.d.ts +6 -0
  106. package/dist/local-mode/local-state-store.d.ts.map +1 -0
  107. package/dist/local-mode/local-state-store.js +138 -0
  108. package/dist/local-mode/local-state-store.js.map +1 -0
  109. package/dist/local-mode/registry-recovery.d.ts +5 -0
  110. package/dist/local-mode/registry-recovery.d.ts.map +1 -0
  111. package/dist/local-mode/registry-recovery.js +112 -0
  112. package/dist/local-mode/registry-recovery.js.map +1 -0
  113. package/dist/local-mode/service.d.ts +1 -1
  114. package/dist/local-mode/service.d.ts.map +1 -1
  115. package/dist/local-mode/service.js +14 -398
  116. package/dist/local-mode/service.js.map +1 -1
  117. package/dist/package-self-check.d.ts +1 -1
  118. package/dist/package-self-check.d.ts.map +1 -1
  119. package/dist/package-self-check.js +13 -1
  120. package/dist/package-self-check.js.map +1 -1
  121. package/dist/public-api-surface.d.ts +4 -0
  122. package/dist/public-api-surface.d.ts.map +1 -0
  123. package/dist/public-api-surface.js +4 -0
  124. package/dist/public-api-surface.js.map +1 -0
  125. package/dist/scaffolding/adapters/memory/memory-workspace.d.ts +9 -0
  126. package/dist/scaffolding/adapters/memory/memory-workspace.d.ts.map +1 -0
  127. package/dist/scaffolding/adapters/memory/memory-workspace.js +93 -0
  128. package/dist/scaffolding/adapters/memory/memory-workspace.js.map +1 -0
  129. package/dist/scaffolding/adapters/node/filesystem-journal.d.ts +6 -0
  130. package/dist/scaffolding/adapters/node/filesystem-journal.d.ts.map +1 -0
  131. package/dist/scaffolding/adapters/node/filesystem-journal.js +79 -0
  132. package/dist/scaffolding/adapters/node/filesystem-journal.js.map +1 -0
  133. package/dist/scaffolding/adapters/node/filesystem-path-guard.d.ts +7 -0
  134. package/dist/scaffolding/adapters/node/filesystem-path-guard.d.ts.map +1 -0
  135. package/dist/scaffolding/adapters/node/filesystem-path-guard.js +144 -0
  136. package/dist/scaffolding/adapters/node/filesystem-path-guard.js.map +1 -0
  137. package/dist/scaffolding/adapters/node/filesystem-workspace.d.ts +13 -0
  138. package/dist/scaffolding/adapters/node/filesystem-workspace.d.ts.map +1 -0
  139. package/dist/scaffolding/adapters/node/filesystem-workspace.js +336 -0
  140. package/dist/scaffolding/adapters/node/filesystem-workspace.js.map +1 -0
  141. package/dist/scaffolding/adapters/node/installed-foundation-version.d.ts +2 -0
  142. package/dist/scaffolding/adapters/node/installed-foundation-version.d.ts.map +1 -0
  143. package/dist/scaffolding/adapters/node/installed-foundation-version.js +10 -0
  144. package/dist/scaffolding/adapters/node/installed-foundation-version.js.map +1 -0
  145. package/dist/scaffolding/adapters/node/node-input-loader.d.ts +17 -0
  146. package/dist/scaffolding/adapters/node/node-input-loader.d.ts.map +1 -0
  147. package/dist/scaffolding/adapters/node/node-input-loader.js +157 -0
  148. package/dist/scaffolding/adapters/node/node-input-loader.js.map +1 -0
  149. package/dist/scaffolding/adapters/node/node-plan-authority.d.ts +3 -0
  150. package/dist/scaffolding/adapters/node/node-plan-authority.d.ts.map +1 -0
  151. package/dist/scaffolding/adapters/node/node-plan-authority.js +18 -0
  152. package/dist/scaffolding/adapters/node/node-plan-authority.js.map +1 -0
  153. package/dist/scaffolding/adapters/node/node-receipt-validator.d.ts +4 -0
  154. package/dist/scaffolding/adapters/node/node-receipt-validator.d.ts.map +1 -0
  155. package/dist/scaffolding/adapters/node/node-receipt-validator.js +10 -0
  156. package/dist/scaffolding/adapters/node/node-receipt-validator.js.map +1 -0
  157. package/dist/scaffolding/cli-command.d.ts +8 -0
  158. package/dist/scaffolding/cli-command.d.ts.map +1 -0
  159. package/dist/scaffolding/cli-command.js +60 -0
  160. package/dist/scaffolding/cli-command.js.map +1 -0
  161. package/dist/scaffolding/contract/types.d.ts +296 -0
  162. package/dist/scaffolding/contract/types.d.ts.map +1 -0
  163. package/dist/scaffolding/contract/types.js +2 -0
  164. package/dist/scaffolding/contract/types.js.map +1 -0
  165. package/dist/scaffolding/definitions/conformance-fixture.d.ts +3 -0
  166. package/dist/scaffolding/definitions/conformance-fixture.d.ts.map +1 -0
  167. package/dist/scaffolding/definitions/conformance-fixture.js +217 -0
  168. package/dist/scaffolding/definitions/conformance-fixture.js.map +1 -0
  169. package/dist/scaffolding/definitions/registry.d.ts +3 -0
  170. package/dist/scaffolding/definitions/registry.d.ts.map +1 -0
  171. package/dist/scaffolding/definitions/registry.js +6 -0
  172. package/dist/scaffolding/definitions/registry.js.map +1 -0
  173. package/dist/scaffolding/index.d.ts +11 -0
  174. package/dist/scaffolding/index.d.ts.map +1 -0
  175. package/dist/scaffolding/index.js +9 -0
  176. package/dist/scaffolding/index.js.map +1 -0
  177. package/dist/scaffolding/kernel/canonical-json.d.ts +6 -0
  178. package/dist/scaffolding/kernel/canonical-json.d.ts.map +1 -0
  179. package/dist/scaffolding/kernel/canonical-json.js +55 -0
  180. package/dist/scaffolding/kernel/canonical-json.js.map +1 -0
  181. package/dist/scaffolding/kernel/compiler.d.ts +4 -0
  182. package/dist/scaffolding/kernel/compiler.d.ts.map +1 -0
  183. package/dist/scaffolding/kernel/compiler.js +297 -0
  184. package/dist/scaffolding/kernel/compiler.js.map +1 -0
  185. package/dist/scaffolding/kernel/definition-registry.d.ts +50 -0
  186. package/dist/scaffolding/kernel/definition-registry.d.ts.map +1 -0
  187. package/dist/scaffolding/kernel/definition-registry.js +92 -0
  188. package/dist/scaffolding/kernel/definition-registry.js.map +1 -0
  189. package/dist/scaffolding/kernel/limits.d.ts +5 -0
  190. package/dist/scaffolding/kernel/limits.d.ts.map +1 -0
  191. package/dist/scaffolding/kernel/limits.js +5 -0
  192. package/dist/scaffolding/kernel/limits.js.map +1 -0
  193. package/dist/scaffolding/kernel/plan-validation.d.ts +3 -0
  194. package/dist/scaffolding/kernel/plan-validation.d.ts.map +1 -0
  195. package/dist/scaffolding/kernel/plan-validation.js +44 -0
  196. package/dist/scaffolding/kernel/plan-validation.js.map +1 -0
  197. package/dist/scaffolding/kernel/receipt.d.ts +35 -0
  198. package/dist/scaffolding/kernel/receipt.d.ts.map +1 -0
  199. package/dist/scaffolding/kernel/receipt.js +206 -0
  200. package/dist/scaffolding/kernel/receipt.js.map +1 -0
  201. package/dist/scaffolding/scaffold-error.d.ts +8 -0
  202. package/dist/scaffolding/scaffold-error.d.ts.map +1 -0
  203. package/dist/scaffolding/scaffold-error.js +11 -0
  204. package/dist/scaffolding/scaffold-error.js.map +1 -0
  205. package/dist/scaffolding/service.d.ts +8 -0
  206. package/dist/scaffolding/service.d.ts.map +1 -0
  207. package/dist/scaffolding/service.js +15 -0
  208. package/dist/scaffolding/service.js.map +1 -0
  209. package/dist/schema-ids.d.ts +1 -1
  210. package/dist/schema-ids.d.ts.map +1 -1
  211. package/dist/schema-ids.js +6 -0
  212. package/dist/schema-ids.js.map +1 -1
  213. package/dist/source-inventory/adapters/outbound/filesystem/filesystem-source-tree-reader.d.ts.map +1 -1
  214. package/dist/source-inventory/adapters/outbound/filesystem/filesystem-source-tree-reader.js +17 -12
  215. package/dist/source-inventory/adapters/outbound/filesystem/filesystem-source-tree-reader.js.map +1 -1
  216. package/package.json +5 -1
  217. package/presets/oxlint/maintainability-tests.json +23 -0
  218. package/presets/oxlint/maintainability.json +23 -0
  219. package/schemas/foundation-config/v1.schema.json +10 -0
  220. package/schemas/repository-agent-workflow/v1.schema.json +92 -0
  221. package/schemas/scaffold-intent/v1.schema.json +60 -0
  222. package/schemas/scaffold-plan/v1.schema.json +250 -0
  223. package/schemas/scaffold-receipt/v1.schema.json +299 -0
  224. package/schemas/scaffold-target-catalog/v1.schema.json +52 -0
  225. package/schemas/scaffolding-config/v1.schema.json +99 -0
@@ -0,0 +1,299 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://agent-teams.ai/schemas/scaffold-receipt/v1",
4
+ "title": "Scaffold Receipt v1",
5
+ "type": "object",
6
+ "additionalProperties": false,
7
+ "required": ["schemaVersion", "protocolVersion", "planDigest", "adapter", "outcome", "commit", "operations", "diagnostics", "receiptDigest"],
8
+ "properties": {
9
+ "schemaVersion": { "const": 1 },
10
+ "protocolVersion": { "const": 1 },
11
+ "planDigest": { "$ref": "#/$defs/digest" },
12
+ "adapter": {
13
+ "oneOf": [
14
+ { "$ref": "#/$defs/filesystemAdapter" },
15
+ { "$ref": "#/$defs/memoryAdapter" }
16
+ ]
17
+ },
18
+ "outcome": { "enum": ["already-applied", "applied", "failed-recovered", "recovery-required", "rejected"] },
19
+ "commit": {
20
+ "type": "object",
21
+ "additionalProperties": false,
22
+ "required": ["state", "atomicity"],
23
+ "properties": {
24
+ "state": { "enum": ["committed", "recovered", "recovery-required", "rejected"] },
25
+ "atomicity": { "enum": ["journaled-recoverable", "memory-atomic"] }
26
+ }
27
+ },
28
+ "operations": {
29
+ "type": "array",
30
+ "maxItems": 4096,
31
+ "items": {
32
+ "type": "object",
33
+ "additionalProperties": false,
34
+ "required": ["operationId", "path", "outcome"],
35
+ "properties": {
36
+ "operationId": { "$ref": "#/$defs/id" },
37
+ "path": { "$ref": "#/$defs/repositoryPath" },
38
+ "outcome": { "enum": ["already-satisfied", "applied", "conflict", "not-applied", "recovered"] },
39
+ "resultDigest": { "$ref": "#/$defs/digest" }
40
+ },
41
+ "allOf": [
42
+ {
43
+ "if": {
44
+ "properties": {
45
+ "outcome": { "enum": ["already-satisfied", "applied", "recovered"] }
46
+ },
47
+ "required": ["outcome"]
48
+ },
49
+ "then": {
50
+ "properties": { "resultDigest": { "$ref": "#/$defs/digest" } },
51
+ "required": ["resultDigest"]
52
+ }
53
+ },
54
+ {
55
+ "if": {
56
+ "properties": {
57
+ "outcome": { "enum": ["conflict", "not-applied"] }
58
+ },
59
+ "required": ["outcome"]
60
+ },
61
+ "then": { "properties": { "resultDigest": false } }
62
+ }
63
+ ]
64
+ }
65
+ },
66
+ "diagnostics": { "type": "array", "maxItems": 1024, "items": { "$ref": "#/$defs/diagnostic" } },
67
+ "receiptDigest": { "$ref": "#/$defs/digest" }
68
+ },
69
+ "allOf": [
70
+ {
71
+ "oneOf": [
72
+ {
73
+ "properties": {
74
+ "adapter": { "$ref": "#/$defs/filesystemAdapter" },
75
+ "outcome": { "const": "applied" },
76
+ "commit": { "$ref": "#/$defs/filesystemCommitted" },
77
+ "operations": { "$ref": "#/$defs/appliedOperations" }
78
+ }
79
+ },
80
+ {
81
+ "properties": {
82
+ "adapter": { "$ref": "#/$defs/memoryAdapter" },
83
+ "outcome": { "const": "applied" },
84
+ "commit": { "$ref": "#/$defs/memoryCommitted" },
85
+ "operations": { "$ref": "#/$defs/appliedOperations" }
86
+ }
87
+ },
88
+ {
89
+ "properties": {
90
+ "adapter": { "$ref": "#/$defs/filesystemAdapter" },
91
+ "outcome": { "const": "already-applied" },
92
+ "commit": { "$ref": "#/$defs/filesystemCommitted" },
93
+ "operations": { "$ref": "#/$defs/alreadyAppliedOperations" }
94
+ }
95
+ },
96
+ {
97
+ "properties": {
98
+ "adapter": { "$ref": "#/$defs/memoryAdapter" },
99
+ "outcome": { "const": "already-applied" },
100
+ "commit": { "$ref": "#/$defs/memoryCommitted" },
101
+ "operations": { "$ref": "#/$defs/alreadyAppliedOperations" }
102
+ }
103
+ },
104
+ {
105
+ "properties": {
106
+ "adapter": { "$ref": "#/$defs/filesystemAdapter" },
107
+ "outcome": { "const": "failed-recovered" },
108
+ "commit": { "$ref": "#/$defs/filesystemRecovered" },
109
+ "operations": { "$ref": "#/$defs/failedRecoveredOperations" }
110
+ }
111
+ },
112
+ {
113
+ "properties": {
114
+ "adapter": { "$ref": "#/$defs/filesystemAdapter" },
115
+ "outcome": { "const": "recovery-required" },
116
+ "commit": { "$ref": "#/$defs/filesystemRecoveryRequired" },
117
+ "operations": { "$ref": "#/$defs/recoveryRequiredOperations" }
118
+ }
119
+ },
120
+ {
121
+ "properties": {
122
+ "adapter": { "$ref": "#/$defs/filesystemAdapter" },
123
+ "outcome": { "const": "rejected" },
124
+ "commit": { "$ref": "#/$defs/filesystemRejected" },
125
+ "operations": { "$ref": "#/$defs/incompleteOperations" }
126
+ }
127
+ },
128
+ {
129
+ "properties": {
130
+ "adapter": { "$ref": "#/$defs/memoryAdapter" },
131
+ "outcome": { "const": "rejected" },
132
+ "commit": { "$ref": "#/$defs/memoryRejected" },
133
+ "operations": { "$ref": "#/$defs/incompleteOperations" }
134
+ }
135
+ }
136
+ ]
137
+ }
138
+ ],
139
+ "$defs": {
140
+ "filesystemAdapter": {
141
+ "type": "object",
142
+ "additionalProperties": false,
143
+ "required": ["id", "contractVersion"],
144
+ "properties": {
145
+ "id": { "const": "foundation.filesystem/v1" },
146
+ "contractVersion": { "const": 1 }
147
+ }
148
+ },
149
+ "memoryAdapter": {
150
+ "type": "object",
151
+ "additionalProperties": false,
152
+ "required": ["id", "contractVersion"],
153
+ "properties": {
154
+ "id": { "const": "foundation.memory/v1" },
155
+ "contractVersion": { "const": 1 }
156
+ }
157
+ },
158
+ "filesystemCommitted": {
159
+ "type": "object",
160
+ "additionalProperties": false,
161
+ "required": ["state", "atomicity"],
162
+ "properties": {
163
+ "state": { "const": "committed" },
164
+ "atomicity": { "const": "journaled-recoverable" }
165
+ }
166
+ },
167
+ "memoryCommitted": {
168
+ "type": "object",
169
+ "additionalProperties": false,
170
+ "required": ["state", "atomicity"],
171
+ "properties": {
172
+ "state": { "const": "committed" },
173
+ "atomicity": { "const": "memory-atomic" }
174
+ }
175
+ },
176
+ "filesystemRecovered": {
177
+ "type": "object",
178
+ "additionalProperties": false,
179
+ "required": ["state", "atomicity"],
180
+ "properties": {
181
+ "state": { "const": "recovered" },
182
+ "atomicity": { "const": "journaled-recoverable" }
183
+ }
184
+ },
185
+ "filesystemRecoveryRequired": {
186
+ "type": "object",
187
+ "additionalProperties": false,
188
+ "required": ["state", "atomicity"],
189
+ "properties": {
190
+ "state": { "const": "recovery-required" },
191
+ "atomicity": { "const": "journaled-recoverable" }
192
+ }
193
+ },
194
+ "filesystemRejected": {
195
+ "type": "object",
196
+ "additionalProperties": false,
197
+ "required": ["state", "atomicity"],
198
+ "properties": {
199
+ "state": { "const": "rejected" },
200
+ "atomicity": { "const": "journaled-recoverable" }
201
+ }
202
+ },
203
+ "memoryRejected": {
204
+ "type": "object",
205
+ "additionalProperties": false,
206
+ "required": ["state", "atomicity"],
207
+ "properties": {
208
+ "state": { "const": "rejected" },
209
+ "atomicity": { "const": "memory-atomic" }
210
+ }
211
+ },
212
+ "appliedOperations": {
213
+ "type": "array",
214
+ "minItems": 1,
215
+ "items": {
216
+ "type": "object",
217
+ "required": ["outcome"],
218
+ "properties": {
219
+ "outcome": { "enum": ["already-satisfied", "applied"] }
220
+ }
221
+ },
222
+ "contains": {
223
+ "type": "object",
224
+ "required": ["outcome"],
225
+ "properties": {
226
+ "outcome": { "const": "applied" }
227
+ }
228
+ },
229
+ "minContains": 1
230
+ },
231
+ "alreadyAppliedOperations": {
232
+ "type": "array",
233
+ "minItems": 1,
234
+ "items": {
235
+ "type": "object",
236
+ "required": ["outcome"],
237
+ "properties": {
238
+ "outcome": { "const": "already-satisfied" }
239
+ }
240
+ }
241
+ },
242
+ "failedRecoveredOperations": {
243
+ "type": "array",
244
+ "minItems": 1,
245
+ "items": {
246
+ "type": "object",
247
+ "required": ["outcome"],
248
+ "properties": {
249
+ "outcome": { "enum": ["already-satisfied", "recovered"] }
250
+ }
251
+ }
252
+ },
253
+ "incompleteOperations": {
254
+ "type": "array",
255
+ "items": {
256
+ "type": "object",
257
+ "required": ["outcome"],
258
+ "properties": {
259
+ "outcome": { "enum": ["already-satisfied", "conflict", "not-applied"] }
260
+ }
261
+ }
262
+ },
263
+ "recoveryRequiredOperations": {
264
+ "type": "array",
265
+ "minItems": 1,
266
+ "items": {
267
+ "type": "object",
268
+ "required": ["outcome"],
269
+ "properties": {
270
+ "outcome": { "enum": ["already-satisfied", "conflict", "not-applied"] }
271
+ }
272
+ },
273
+ "contains": {
274
+ "type": "object",
275
+ "required": ["outcome"],
276
+ "properties": {
277
+ "outcome": { "enum": ["conflict", "not-applied"] }
278
+ }
279
+ },
280
+ "minContains": 1
281
+ },
282
+ "id": { "type": "string", "minLength": 1, "maxLength": 214, "pattern": "^[A-Za-z0-9@][A-Za-z0-9@._/-]*$" },
283
+ "digest": { "type": "string", "pattern": "^sha256:[0-9a-f]{64}$" },
284
+ "repositoryPath": { "type": "string", "minLength": 1, "maxLength": 512, "pattern": "^(?!.*(?:^|/)\\.{1,2}(?:/|$))[A-Za-z0-9._@-]+(?:/[A-Za-z0-9._@-]+)*$" },
285
+ "diagnostic": {
286
+ "type": "object",
287
+ "additionalProperties": false,
288
+ "required": ["ruleId", "severity", "phase", "subject", "message", "remediation"],
289
+ "properties": {
290
+ "ruleId": { "$ref": "#/$defs/id" },
291
+ "severity": { "enum": ["error", "info", "warning"] },
292
+ "phase": { "enum": ["apply", "composition", "input", "planning", "policy", "recovery"] },
293
+ "subject": { "type": "string", "minLength": 1, "maxLength": 512 },
294
+ "message": { "type": "string", "minLength": 1, "maxLength": 1000 },
295
+ "remediation": { "type": "string", "minLength": 1, "maxLength": 1000 }
296
+ }
297
+ }
298
+ }
299
+ }
@@ -0,0 +1,52 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://agent-teams.ai/schemas/scaffold-target-catalog/v1",
4
+ "title": "Scaffold Target Catalog v1",
5
+ "type": "object",
6
+ "additionalProperties": false,
7
+ "required": ["version", "packages"],
8
+ "properties": {
9
+ "version": { "const": 1 },
10
+ "packages": {
11
+ "type": "array",
12
+ "maxItems": 4096,
13
+ "items": { "$ref": "#/$defs/target" }
14
+ }
15
+ },
16
+ "$defs": {
17
+ "id": {
18
+ "type": "string",
19
+ "minLength": 1,
20
+ "maxLength": 160,
21
+ "pattern": "^[a-z0-9][a-z0-9._/-]*$"
22
+ },
23
+ "repositoryPath": {
24
+ "type": "string",
25
+ "minLength": 1,
26
+ "maxLength": 512,
27
+ "pattern": "^(?!.*(?:^|/)\\.{1,2}(?:/|$))[A-Za-z0-9._@-]+(?:/[A-Za-z0-9._@-]+)*$"
28
+ },
29
+ "target": {
30
+ "type": "object",
31
+ "additionalProperties": false,
32
+ "required": ["id", "role", "path", "package_name"],
33
+ "properties": {
34
+ "id": { "$ref": "#/$defs/id" },
35
+ "role": { "$ref": "#/$defs/id" },
36
+ "path": { "$ref": "#/$defs/repositoryPath" },
37
+ "package_name": {
38
+ "type": "string",
39
+ "minLength": 1,
40
+ "maxLength": 214,
41
+ "pattern": "^(?:@[a-z0-9][a-z0-9._-]*/)?[a-z0-9][a-z0-9._-]*$"
42
+ },
43
+ "owner_document": {
44
+ "type": "string",
45
+ "minLength": 1,
46
+ "maxLength": 512,
47
+ "pattern": "^[^\\u0000-\\u001F]+$"
48
+ }
49
+ }
50
+ }
51
+ }
52
+ }
@@ -0,0 +1,99 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://agent-teams.ai/schemas/scaffolding-config/v1",
4
+ "title": "Scaffolding Configuration v1",
5
+ "type": "object",
6
+ "additionalProperties": false,
7
+ "required": ["schemaVersion", "projectId", "targetCatalogPath", "compositions"],
8
+ "properties": {
9
+ "schemaVersion": { "const": 1 },
10
+ "projectId": { "$ref": "#/$defs/id" },
11
+ "targetCatalogPath": { "$ref": "#/$defs/repositoryPath" },
12
+ "compositions": {
13
+ "type": "array",
14
+ "minItems": 1,
15
+ "maxItems": 128,
16
+ "items": { "$ref": "#/$defs/composition" }
17
+ }
18
+ },
19
+ "$defs": {
20
+ "id": {
21
+ "type": "string",
22
+ "minLength": 1,
23
+ "maxLength": 160,
24
+ "pattern": "^[a-z0-9][a-z0-9._/-]*$"
25
+ },
26
+ "repositoryPath": {
27
+ "type": "string",
28
+ "minLength": 1,
29
+ "maxLength": 512,
30
+ "pattern": "^(?!.*(?:^|/)\\.{1,2}(?:/|$))[A-Za-z0-9._@-]+(?:/[A-Za-z0-9._@-]+)*$"
31
+ },
32
+ "definitionRef": {
33
+ "type": "object",
34
+ "additionalProperties": false,
35
+ "required": ["id", "contractVersion"],
36
+ "properties": {
37
+ "id": { "$ref": "#/$defs/id" },
38
+ "contractVersion": { "type": "integer", "minimum": 1, "maximum": 2147483647 }
39
+ }
40
+ },
41
+ "configuredDefinition": {
42
+ "type": "object",
43
+ "additionalProperties": false,
44
+ "required": ["ref"],
45
+ "properties": {
46
+ "ref": { "$ref": "#/$defs/definitionRef" },
47
+ "parameters": { "$ref": "#/$defs/jsonObject" }
48
+ }
49
+ },
50
+ "facetPolicy": {
51
+ "type": "object",
52
+ "additionalProperties": false,
53
+ "properties": {
54
+ "fixed": { "type": "array", "maxItems": 32, "items": { "$ref": "#/$defs/configuredDefinition" } },
55
+ "default": { "type": "array", "maxItems": 32, "items": { "$ref": "#/$defs/configuredDefinition" } },
56
+ "allowed": { "type": "array", "maxItems": 64, "items": { "$ref": "#/$defs/definitionRef" } }
57
+ }
58
+ },
59
+ "composition": {
60
+ "type": "object",
61
+ "additionalProperties": false,
62
+ "required": ["id", "scaffoldProfile", "recipe", "targetRoles", "policies"],
63
+ "properties": {
64
+ "id": { "$ref": "#/$defs/id" },
65
+ "scaffoldProfile": { "$ref": "#/$defs/configuredDefinition" },
66
+ "recipe": { "$ref": "#/$defs/configuredDefinition" },
67
+ "targetRoles": {
68
+ "type": "array",
69
+ "minItems": 1,
70
+ "maxItems": 32,
71
+ "items": { "$ref": "#/$defs/id" }
72
+ },
73
+ "fixedRecipeParameters": { "$ref": "#/$defs/jsonObject" },
74
+ "defaultRecipeParameters": { "$ref": "#/$defs/jsonObject" },
75
+ "facets": { "$ref": "#/$defs/facetPolicy" },
76
+ "policies": {
77
+ "type": "array",
78
+ "maxItems": 32,
79
+ "items": { "$ref": "#/$defs/configuredDefinition" }
80
+ }
81
+ }
82
+ },
83
+ "jsonObject": {
84
+ "type": "object",
85
+ "maxProperties": 128,
86
+ "additionalProperties": { "$ref": "#/$defs/jsonValue" }
87
+ },
88
+ "jsonValue": {
89
+ "oneOf": [
90
+ { "type": "null" },
91
+ { "type": "boolean" },
92
+ { "type": "integer", "minimum": -9007199254740991, "maximum": 9007199254740991 },
93
+ { "type": "string", "maxLength": 65536 },
94
+ { "type": "array", "maxItems": 1024, "items": { "$ref": "#/$defs/jsonValue" } },
95
+ { "$ref": "#/$defs/jsonObject" }
96
+ ]
97
+ }
98
+ }
99
+ }