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.
@@ -0,0 +1,578 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://archctx.repoharness.com/schemas/runtime/ref-impact.schema.json",
4
+ "title": "RefImpactV1",
5
+ "type": "object",
6
+ "additionalProperties": false,
7
+ "required": [
8
+ "schemaVersion",
9
+ "base",
10
+ "head",
11
+ "depth",
12
+ "changedPaths",
13
+ "unownedPaths",
14
+ "touchedNodes",
15
+ "touchedFlowSteps",
16
+ "dependents",
17
+ "dependencyCoverage",
18
+ "modelDelta",
19
+ "limits",
20
+ "truncated"
21
+ ],
22
+ "properties": {
23
+ "schemaVersion": {
24
+ "const": "archcontext.ref-impact/v1"
25
+ },
26
+ "base": {
27
+ "oneOf": [
28
+ {
29
+ "type": "null"
30
+ },
31
+ {
32
+ "oneOf": [
33
+ {
34
+ "type": "object",
35
+ "additionalProperties": false,
36
+ "required": [
37
+ "source",
38
+ "commitSha",
39
+ "treeOid",
40
+ "validation"
41
+ ],
42
+ "properties": {
43
+ "source": {
44
+ "const": "ref"
45
+ },
46
+ "commitSha": {
47
+ "type": "string",
48
+ "pattern": "^(?:[a-f0-9]{40}|[a-f0-9]{64})$"
49
+ },
50
+ "treeOid": {
51
+ "type": "string",
52
+ "pattern": "^(?:[a-f0-9]{40}|[a-f0-9]{64})$"
53
+ },
54
+ "validation": {
55
+ "const": "immutable-tree"
56
+ }
57
+ }
58
+ },
59
+ {
60
+ "type": "object",
61
+ "additionalProperties": false,
62
+ "required": [
63
+ "source",
64
+ "headSha",
65
+ "headTreeOid",
66
+ "validation"
67
+ ],
68
+ "properties": {
69
+ "source": {
70
+ "const": "worktree"
71
+ },
72
+ "headSha": {
73
+ "type": "string",
74
+ "pattern": "^(?:[a-f0-9]{40}|[a-f0-9]{64})$"
75
+ },
76
+ "headTreeOid": {
77
+ "type": "string",
78
+ "pattern": "^(?:[a-f0-9]{40}|[a-f0-9]{64})$"
79
+ },
80
+ "validation": {
81
+ "const": "stable-read"
82
+ }
83
+ }
84
+ }
85
+ ]
86
+ }
87
+ ]
88
+ },
89
+ "head": {
90
+ "oneOf": [
91
+ {
92
+ "type": "object",
93
+ "additionalProperties": false,
94
+ "required": [
95
+ "source",
96
+ "commitSha",
97
+ "treeOid",
98
+ "validation"
99
+ ],
100
+ "properties": {
101
+ "source": {
102
+ "const": "ref"
103
+ },
104
+ "commitSha": {
105
+ "type": "string",
106
+ "pattern": "^(?:[a-f0-9]{40}|[a-f0-9]{64})$"
107
+ },
108
+ "treeOid": {
109
+ "type": "string",
110
+ "pattern": "^(?:[a-f0-9]{40}|[a-f0-9]{64})$"
111
+ },
112
+ "validation": {
113
+ "const": "immutable-tree"
114
+ }
115
+ }
116
+ },
117
+ {
118
+ "type": "object",
119
+ "additionalProperties": false,
120
+ "required": [
121
+ "source",
122
+ "headSha",
123
+ "headTreeOid",
124
+ "validation"
125
+ ],
126
+ "properties": {
127
+ "source": {
128
+ "const": "worktree"
129
+ },
130
+ "headSha": {
131
+ "type": "string",
132
+ "pattern": "^(?:[a-f0-9]{40}|[a-f0-9]{64})$"
133
+ },
134
+ "headTreeOid": {
135
+ "type": "string",
136
+ "pattern": "^(?:[a-f0-9]{40}|[a-f0-9]{64})$"
137
+ },
138
+ "validation": {
139
+ "const": "stable-read"
140
+ }
141
+ }
142
+ }
143
+ ]
144
+ },
145
+ "depth": {
146
+ "type": "integer",
147
+ "minimum": 0,
148
+ "maximum": 10
149
+ },
150
+ "changedPaths": {
151
+ "type": "array",
152
+ "items": {
153
+ "type": "object",
154
+ "additionalProperties": false,
155
+ "required": [
156
+ "path",
157
+ "added",
158
+ "deleted",
159
+ "baseOwners",
160
+ "headOwners",
161
+ "owners",
162
+ "reasonCodes"
163
+ ],
164
+ "properties": {
165
+ "path": {
166
+ "type": "string"
167
+ },
168
+ "added": {
169
+ "type": [
170
+ "integer",
171
+ "null"
172
+ ],
173
+ "minimum": 0
174
+ },
175
+ "deleted": {
176
+ "type": [
177
+ "integer",
178
+ "null"
179
+ ],
180
+ "minimum": 0
181
+ },
182
+ "baseOwners": {
183
+ "type": "array",
184
+ "items": {
185
+ "type": "string"
186
+ }
187
+ },
188
+ "headOwners": {
189
+ "type": "array",
190
+ "items": {
191
+ "type": "string"
192
+ }
193
+ },
194
+ "owners": {
195
+ "type": "array",
196
+ "items": {
197
+ "type": "string"
198
+ }
199
+ },
200
+ "reasonCodes": {
201
+ "type": "array",
202
+ "items": {
203
+ "type": "string"
204
+ }
205
+ }
206
+ }
207
+ },
208
+ "maxItems": 1000
209
+ },
210
+ "unownedPaths": {
211
+ "type": "array",
212
+ "items": {
213
+ "type": "string"
214
+ }
215
+ },
216
+ "touchedNodes": {
217
+ "type": "array",
218
+ "items": {
219
+ "type": "object",
220
+ "additionalProperties": false,
221
+ "required": [
222
+ "nodeId",
223
+ "pathCount"
224
+ ],
225
+ "properties": {
226
+ "nodeId": {
227
+ "type": "string"
228
+ },
229
+ "pathCount": {
230
+ "type": "integer",
231
+ "minimum": 0
232
+ }
233
+ }
234
+ },
235
+ "maxItems": 1000
236
+ },
237
+ "touchedFlowSteps": {
238
+ "oneOf": [
239
+ {
240
+ "type": "object",
241
+ "additionalProperties": false,
242
+ "required": [
243
+ "status",
244
+ "reasonCodes",
245
+ "items"
246
+ ],
247
+ "properties": {
248
+ "status": {
249
+ "const": "known"
250
+ },
251
+ "reasonCodes": {
252
+ "type": "array",
253
+ "maxItems": 0
254
+ },
255
+ "items": {
256
+ "type": "array",
257
+ "items": {
258
+ "type": "object",
259
+ "additionalProperties": false,
260
+ "required": [
261
+ "flowId",
262
+ "stepId",
263
+ "outcomeId",
264
+ "reasonCodes"
265
+ ],
266
+ "properties": {
267
+ "flowId": {
268
+ "type": "string"
269
+ },
270
+ "stepId": {
271
+ "type": "string"
272
+ },
273
+ "outcomeId": {
274
+ "type": [
275
+ "string",
276
+ "null"
277
+ ]
278
+ },
279
+ "reasonCodes": {
280
+ "type": "array",
281
+ "items": {
282
+ "type": "string"
283
+ }
284
+ }
285
+ }
286
+ },
287
+ "maxItems": 2000
288
+ }
289
+ }
290
+ },
291
+ {
292
+ "type": "object",
293
+ "additionalProperties": false,
294
+ "required": [
295
+ "status",
296
+ "reasonCodes",
297
+ "items"
298
+ ],
299
+ "properties": {
300
+ "status": {
301
+ "const": "unknown"
302
+ },
303
+ "reasonCodes": {
304
+ "type": "array",
305
+ "minItems": 1,
306
+ "items": {
307
+ "type": "string"
308
+ }
309
+ },
310
+ "items": {
311
+ "oneOf": [
312
+ {
313
+ "type": "null"
314
+ },
315
+ {
316
+ "type": "array",
317
+ "items": {
318
+ "type": "object",
319
+ "additionalProperties": false,
320
+ "required": [
321
+ "flowId",
322
+ "stepId",
323
+ "outcomeId",
324
+ "reasonCodes"
325
+ ],
326
+ "properties": {
327
+ "flowId": {
328
+ "type": "string"
329
+ },
330
+ "stepId": {
331
+ "type": "string"
332
+ },
333
+ "outcomeId": {
334
+ "type": [
335
+ "string",
336
+ "null"
337
+ ]
338
+ },
339
+ "reasonCodes": {
340
+ "type": "array",
341
+ "items": {
342
+ "type": "string"
343
+ }
344
+ }
345
+ }
346
+ },
347
+ "maxItems": 2000
348
+ }
349
+ ]
350
+ }
351
+ }
352
+ }
353
+ ]
354
+ },
355
+ "dependents": {
356
+ "type": "array",
357
+ "items": {
358
+ "type": "object",
359
+ "additionalProperties": false,
360
+ "required": [
361
+ "nodeId",
362
+ "touchedNodeId",
363
+ "relationIds"
364
+ ],
365
+ "properties": {
366
+ "nodeId": {
367
+ "type": "string"
368
+ },
369
+ "touchedNodeId": {
370
+ "type": "string"
371
+ },
372
+ "relationIds": {
373
+ "type": "array",
374
+ "items": {
375
+ "type": "string"
376
+ }
377
+ }
378
+ }
379
+ },
380
+ "maxItems": 5000
381
+ },
382
+ "dependencyCoverage": {
383
+ "type": "object",
384
+ "additionalProperties": false,
385
+ "required": [
386
+ "status",
387
+ "graph",
388
+ "pathSelection"
389
+ ],
390
+ "properties": {
391
+ "status": {
392
+ "enum": [
393
+ "complete",
394
+ "partial"
395
+ ]
396
+ },
397
+ "graph": {
398
+ "const": "head"
399
+ },
400
+ "pathSelection": {
401
+ "const": "one-shortest-path-per-node-pair"
402
+ }
403
+ }
404
+ },
405
+ "modelDelta": {
406
+ "oneOf": [
407
+ {
408
+ "type": "object",
409
+ "additionalProperties": false,
410
+ "required": [
411
+ "status",
412
+ "changes",
413
+ "truncated"
414
+ ],
415
+ "properties": {
416
+ "status": {
417
+ "const": "known"
418
+ },
419
+ "changes": {
420
+ "type": "array",
421
+ "items": {
422
+ "type": "object",
423
+ "additionalProperties": false,
424
+ "required": [
425
+ "kind",
426
+ "id",
427
+ "change",
428
+ "fields"
429
+ ],
430
+ "properties": {
431
+ "kind": {
432
+ "enum": [
433
+ "nodes",
434
+ "relations",
435
+ "flows"
436
+ ]
437
+ },
438
+ "id": {
439
+ "type": "string"
440
+ },
441
+ "change": {
442
+ "enum": [
443
+ "added",
444
+ "removed",
445
+ "changed"
446
+ ]
447
+ },
448
+ "fields": {
449
+ "type": "array",
450
+ "items": {
451
+ "type": "string"
452
+ }
453
+ }
454
+ }
455
+ },
456
+ "maxItems": 5000
457
+ },
458
+ "truncated": {
459
+ "type": "boolean"
460
+ }
461
+ }
462
+ },
463
+ {
464
+ "type": "object",
465
+ "additionalProperties": false,
466
+ "required": [
467
+ "status",
468
+ "reasonCode",
469
+ "changes",
470
+ "truncated"
471
+ ],
472
+ "properties": {
473
+ "status": {
474
+ "const": "unknown"
475
+ },
476
+ "reasonCode": {
477
+ "const": "paths-only"
478
+ },
479
+ "changes": {
480
+ "type": "null"
481
+ },
482
+ "truncated": {
483
+ "const": false
484
+ }
485
+ }
486
+ }
487
+ ]
488
+ },
489
+ "limits": {
490
+ "type": "object",
491
+ "additionalProperties": false,
492
+ "required": [
493
+ "changedPaths",
494
+ "nodes",
495
+ "relations",
496
+ "flowSteps",
497
+ "dependents",
498
+ "modelChanges",
499
+ "depth",
500
+ "diffBytes",
501
+ "responseBytes",
502
+ "diffLines",
503
+ "diffWork",
504
+ "codeFactFiles",
505
+ "codeFactBytes"
506
+ ],
507
+ "properties": {
508
+ "codeFactFiles": { "const": 10000 },
509
+ "codeFactBytes": { "const": 8388608 },
510
+ "changedPaths": {
511
+ "const": 1000
512
+ },
513
+ "nodes": {
514
+ "const": 1000
515
+ },
516
+ "relations": {
517
+ "const": 5000
518
+ },
519
+ "flowSteps": {
520
+ "const": 2000
521
+ },
522
+ "dependents": {
523
+ "const": 5000
524
+ },
525
+ "modelChanges": {
526
+ "const": 5000
527
+ },
528
+ "depth": {
529
+ "const": 10
530
+ },
531
+ "diffBytes": {
532
+ "const": 8388608
533
+ },
534
+ "responseBytes": {
535
+ "const": 8388608
536
+ },
537
+ "diffLines": {
538
+ "const": 100000
539
+ },
540
+ "diffWork": {
541
+ "const": 2000000
542
+ }
543
+ }
544
+ },
545
+ "truncated": {
546
+ "type": "object",
547
+ "additionalProperties": false,
548
+ "required": [
549
+ "changedPaths",
550
+ "touchedNodes",
551
+ "relations",
552
+ "flowSteps",
553
+ "dependents",
554
+ "modelDelta"
555
+ ],
556
+ "properties": {
557
+ "changedPaths": {
558
+ "type": "boolean"
559
+ },
560
+ "touchedNodes": {
561
+ "type": "boolean"
562
+ },
563
+ "relations": {
564
+ "type": "boolean"
565
+ },
566
+ "flowSteps": {
567
+ "type": "boolean"
568
+ },
569
+ "dependents": {
570
+ "type": "boolean"
571
+ },
572
+ "modelDelta": {
573
+ "type": "boolean"
574
+ }
575
+ }
576
+ }
577
+ }
578
+ }