archctx 0.9.3 → 0.10.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.
- package/assets/catalog.yaml +2 -2
- package/bin/archctx.mjs +16602 -14852
- package/package.json +1 -1
- package/schemas/repo/constraint.schema.json +1 -0
- package/schemas/runtime/changeset-receipt.schema.json +28 -0
- package/schemas/runtime/changeset.schema.json +20 -2
- package/schemas/runtime/native-context-export.schema.json +56 -2
- package/schemas/runtime/projection-publish-run.schema.json +5 -1
- package/schemas/runtime/ref-impact.schema.json +578 -0
package/package.json
CHANGED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://archctx.repoharness.com/schemas/runtime/changeset-receipt.schema.json",
|
|
4
|
+
"type": "object",
|
|
5
|
+
"additionalProperties": false,
|
|
6
|
+
"required": ["schemaVersion", "journalId", "changeSetId", "baseModelDigest", "resultModelDigest", "files", "hashAlgorithm", "approvalAuthenticity"],
|
|
7
|
+
"properties": {
|
|
8
|
+
"schemaVersion": { "const": "archcontext.changeset-receipt/v1" },
|
|
9
|
+
"journalId": { "type": "string", "minLength": 1 },
|
|
10
|
+
"changeSetId": { "type": "string", "minLength": 1 },
|
|
11
|
+
"baseModelDigest": { "type": "string", "pattern": "^sha256:[a-f0-9]{64}$" },
|
|
12
|
+
"resultModelDigest": { "type": "string", "pattern": "^sha256:[a-f0-9]{64}$" },
|
|
13
|
+
"hashAlgorithm": { "const": "sha256-canonical-json-body" },
|
|
14
|
+
"approvalAuthenticity": { "const": "unverified" },
|
|
15
|
+
"files": {
|
|
16
|
+
"type": "array", "maxItems": 10000,
|
|
17
|
+
"items": {
|
|
18
|
+
"type": "object", "additionalProperties": false,
|
|
19
|
+
"required": ["path", "operation", "bodyHash"],
|
|
20
|
+
"properties": {
|
|
21
|
+
"path": { "type": "string", "minLength": 1 },
|
|
22
|
+
"operation": { "enum": ["write", "delete"] },
|
|
23
|
+
"bodyHash": { "type": "string", "pattern": "^(sha256:[a-f0-9]{64}|missing)$" }
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
@@ -202,12 +202,30 @@
|
|
|
202
202
|
"fields": {
|
|
203
203
|
"type": "object",
|
|
204
204
|
"additionalProperties": false,
|
|
205
|
-
"
|
|
206
|
-
|
|
205
|
+
"anyOf": [
|
|
206
|
+
{
|
|
207
|
+
"required": [
|
|
208
|
+
"content.decisions"
|
|
209
|
+
]
|
|
210
|
+
},
|
|
211
|
+
{
|
|
212
|
+
"required": [
|
|
213
|
+
"model.layers"
|
|
214
|
+
]
|
|
215
|
+
}
|
|
207
216
|
],
|
|
208
217
|
"properties": {
|
|
209
218
|
"content.decisions": {
|
|
210
219
|
"const": "docs/adr"
|
|
220
|
+
},
|
|
221
|
+
"model.layers": {
|
|
222
|
+
"type": "array",
|
|
223
|
+
"minItems": 1,
|
|
224
|
+
"uniqueItems": true,
|
|
225
|
+
"items": {
|
|
226
|
+
"type": "string",
|
|
227
|
+
"pattern": "^[a-z][a-z0-9]*(-[a-z0-9]+)*$"
|
|
228
|
+
}
|
|
211
229
|
}
|
|
212
230
|
}
|
|
213
231
|
}
|
|
@@ -15,7 +15,8 @@
|
|
|
15
15
|
"model",
|
|
16
16
|
"capabilityProfiles",
|
|
17
17
|
"contracts",
|
|
18
|
-
"documents"
|
|
18
|
+
"documents",
|
|
19
|
+
"decisions"
|
|
19
20
|
],
|
|
20
21
|
"properties": {
|
|
21
22
|
"schemaVersion": {
|
|
@@ -134,6 +135,7 @@
|
|
|
134
135
|
"$ref": "../repo/architecture-flow.schema.json"
|
|
135
136
|
}
|
|
136
137
|
},
|
|
138
|
+
"layers": { "type": "array", "minItems": 1, "uniqueItems": true, "items": { "type": "string", "pattern": "^[a-z][a-z0-9]*(-[a-z0-9]+)*$" } },
|
|
137
139
|
"sourcePaths": {
|
|
138
140
|
"type": "object",
|
|
139
141
|
"additionalProperties": false,
|
|
@@ -273,6 +275,57 @@
|
|
|
273
275
|
"items": {
|
|
274
276
|
"$ref": "#/$defs/document"
|
|
275
277
|
}
|
|
278
|
+
},
|
|
279
|
+
"decisions": {
|
|
280
|
+
"type": "array",
|
|
281
|
+
"items": {
|
|
282
|
+
"type": "object",
|
|
283
|
+
"additionalProperties": false,
|
|
284
|
+
"required": [
|
|
285
|
+
"id",
|
|
286
|
+
"title",
|
|
287
|
+
"status",
|
|
288
|
+
"decidedAt",
|
|
289
|
+
"appliesTo",
|
|
290
|
+
"supersedes",
|
|
291
|
+
"path"
|
|
292
|
+
],
|
|
293
|
+
"properties": {
|
|
294
|
+
"id": {
|
|
295
|
+
"type": "string"
|
|
296
|
+
},
|
|
297
|
+
"title": {
|
|
298
|
+
"type": "string"
|
|
299
|
+
},
|
|
300
|
+
"path": {
|
|
301
|
+
"type": "string"
|
|
302
|
+
},
|
|
303
|
+
"status": {
|
|
304
|
+
"type": [
|
|
305
|
+
"string",
|
|
306
|
+
"null"
|
|
307
|
+
]
|
|
308
|
+
},
|
|
309
|
+
"decidedAt": {
|
|
310
|
+
"type": [
|
|
311
|
+
"string",
|
|
312
|
+
"null"
|
|
313
|
+
]
|
|
314
|
+
},
|
|
315
|
+
"appliesTo": {
|
|
316
|
+
"type": "array",
|
|
317
|
+
"items": {
|
|
318
|
+
"type": "string"
|
|
319
|
+
}
|
|
320
|
+
},
|
|
321
|
+
"supersedes": {
|
|
322
|
+
"type": "array",
|
|
323
|
+
"items": {
|
|
324
|
+
"type": "string"
|
|
325
|
+
}
|
|
326
|
+
}
|
|
327
|
+
}
|
|
328
|
+
}
|
|
276
329
|
}
|
|
277
330
|
},
|
|
278
331
|
"$defs": {
|
|
@@ -477,7 +530,8 @@
|
|
|
477
530
|
"relation",
|
|
478
531
|
"flow",
|
|
479
532
|
"contract",
|
|
480
|
-
"document"
|
|
533
|
+
"document",
|
|
534
|
+
"decision"
|
|
481
535
|
]
|
|
482
536
|
},
|
|
483
537
|
"requirement": {
|
|
@@ -52,7 +52,11 @@
|
|
|
52
52
|
"properties": {
|
|
53
53
|
"code": { "type": "string", "pattern": "^AC_[A-Z0-9_]+$" },
|
|
54
54
|
"reasonCode": { "type": "string", "minLength": 1 },
|
|
55
|
-
"message": { "type": "string" }
|
|
55
|
+
"message": { "type": "string" },
|
|
56
|
+
"severity": { "enum": ["notice", "warning", "error", "critical"] },
|
|
57
|
+
"retryable": { "type": "boolean" },
|
|
58
|
+
"action": { "type": "string", "minLength": 1 },
|
|
59
|
+
"details": { "type": "object", "description": "Safe metadata validated by the registered failure contract; no raw exception diagnostics." }
|
|
56
60
|
}
|
|
57
61
|
},
|
|
58
62
|
{ "type": "null" }
|