@aiwg/cli 2026.9.3 → 2026.9.5

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 (95) hide show
  1. package/README.md +21 -0
  2. package/THIRD_PARTY_NOTICES.md +16 -0
  3. package/agentic/code/providers/capability-matrix.yaml +45 -3
  4. package/agentic/code/providers/deepseek-harness/README.md +8 -0
  5. package/agentic/code/providers/deepseek-harness/aiwg.cordis.patch.yml +10 -0
  6. package/agentic/code/providers/model-capabilities.v1.json +11 -0
  7. package/agentic/code/providers/model-catalog.v1.json +8 -0
  8. package/bin/aiwg.mjs +1 -0
  9. package/dist/src/api/index.d.ts +14 -0
  10. package/dist/src/api/index.js +14 -0
  11. package/dist/src/artifacts/corpus-tools/source-types.js +1 -0
  12. package/dist/src/artifacts/index-files.js +17 -2
  13. package/dist/src/artifacts/repair.js +55 -6
  14. package/dist/src/catalog/cli.js +21 -7
  15. package/dist/src/catalog/cli.mjs +22 -7
  16. package/dist/src/cli/agent-spawn.js +10 -1
  17. package/dist/src/cli/handlers/artifacts.js +22 -3
  18. package/dist/src/cli/handlers/help.js +3 -0
  19. package/dist/src/cli/handlers/index.js +5 -1
  20. package/dist/src/cli/handlers/models.js +2 -2
  21. package/dist/src/cli/handlers/output-mode.js +1 -1
  22. package/dist/src/cli/handlers/runtime-info.js +1 -1
  23. package/dist/src/cli/handlers/sessions.js +55 -15
  24. package/dist/src/cli/handlers/steward.js +1 -1
  25. package/dist/src/cli/handlers/subcommands.js +5 -0
  26. package/dist/src/cli/handlers/use.js +37 -0
  27. package/dist/src/cli/handlers/writer-profile.js +110 -0
  28. package/dist/src/cli/handlers/writing.js +122 -0
  29. package/dist/src/cli/router.js +5 -1
  30. package/dist/src/config/project-artifacts-runtime.mjs +33 -1
  31. package/dist/src/config/project-artifacts.js +1 -1
  32. package/dist/src/dataset/fortemi-dataset-execution.d.ts +23 -0
  33. package/dist/src/dataset/fortemi-dataset-execution.js +158 -0
  34. package/dist/src/dataset/fortemi-live-qualification.d.ts +4 -2
  35. package/dist/src/dataset/fortemi-live-qualification.js +20 -21
  36. package/dist/src/dataset/fortemi-run-receipt.d.ts +44 -0
  37. package/dist/src/dataset/fortemi-run-receipt.js +74 -0
  38. package/dist/src/dataset/index.d.ts +2 -0
  39. package/dist/src/dataset/index.js +2 -0
  40. package/dist/src/extensions/commands/definitions.js +24 -0
  41. package/dist/src/extensions/manifest.js +3 -0
  42. package/dist/src/mcp/server.mjs +2 -0
  43. package/dist/src/mcp/tools/writer-profiles.mjs +40 -0
  44. package/dist/src/models/model-capabilities.v1.json +11 -0
  45. package/dist/src/models/model-catalog.v1.json +8 -0
  46. package/dist/src/models/provider-policy.js +1 -1
  47. package/dist/src/network-analysis/analyzer.js +667 -0
  48. package/dist/src/network-analysis/citations.js +107 -0
  49. package/dist/src/network-analysis/forensics.js +132 -0
  50. package/dist/src/network-analysis/governance.js +216 -0
  51. package/dist/src/network-analysis/index.js +10 -0
  52. package/dist/src/network-analysis/probe.js +405 -0
  53. package/dist/src/network-analysis/recipes.js +88 -0
  54. package/dist/src/network-analysis/research.js +181 -0
  55. package/dist/src/network-analysis/termshark.js +252 -0
  56. package/dist/src/network-analysis/verification.js +171 -0
  57. package/dist/src/output-modes/registry.js +37 -6
  58. package/dist/src/output-modes/runtime.js +164 -28
  59. package/dist/src/providers/capability-matrix.yaml +45 -3
  60. package/dist/src/providers/provider-definitions.js +49 -0
  61. package/dist/src/providers/provider-inventory.js +1 -0
  62. package/dist/src/providers/transformation-receipt.js +3 -2
  63. package/dist/src/sessions/adapters/deepseek-harness.js +178 -0
  64. package/dist/src/sessions/batch-import.js +7 -0
  65. package/dist/src/sessions/contracts.js +2 -1
  66. package/dist/src/sessions/index.js +1 -0
  67. package/dist/src/sessions/workspace-discovery.js +5 -1
  68. package/dist/src/skills/deployer.js +6 -6
  69. package/dist/src/smiths/context-pipeline/workspace-context.js +7 -0
  70. package/dist/src/writing/channel-packs.js +13 -0
  71. package/dist/src/writing/contextual-diagnostics.js +142 -0
  72. package/dist/src/writing/example-generator.js +7 -6
  73. package/dist/src/writing/exemplar-selection.js +186 -0
  74. package/dist/src/writing/fidelity.js +61 -0
  75. package/dist/src/writing/validation-engine.js +32 -15
  76. package/dist/src/writing/voice-evaluation.js +301 -0
  77. package/dist/src/writing/voice-revision.js +201 -0
  78. package/dist/src/writing/writer-migration.js +216 -0
  79. package/dist/src/writing/writer-profile-legacy.js +145 -0
  80. package/dist/src/writing/writer-profile-store.js +117 -0
  81. package/dist/src/writing/writer-profile.js +222 -0
  82. package/dist/src/writing/writing-brief.js +166 -0
  83. package/dist/src/writing/writing-channels.js +63 -0
  84. package/dist/src/writing/writing-consumer.js +39 -0
  85. package/dist/src/writing/writing-receipt.js +266 -0
  86. package/package.json +1 -1
  87. package/schemas/dataset/fortemi-live-qualification-receipt.v2.schema.json +196 -0
  88. package/schemas/dataset/fortemi-run-receipt/validation-1.0.1/authority.json +12 -0
  89. package/schemas/dataset/fortemi-run-receipt/validation-1.0.1/run-receipt.schema.json +819 -0
  90. package/tools/agents/deploy-agents.mjs +7 -3
  91. package/tools/agents/providers/antigravity.mjs +1 -1
  92. package/tools/agents/providers/base.mjs +3 -2
  93. package/tools/agents/providers/deepseek-harness.mjs +66 -0
  94. package/tools/agents/providers/hermes.mjs +1 -1
  95. package/tools/agents/providers/openhuman.mjs +2 -2
@@ -0,0 +1,819 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://fortemi.dev/schemas/dataset-execution/validation/1.0.1/run-receipt.schema.json",
4
+ "title": "Fortemi RunReceipt v1 structural validation revision 1.0.1",
5
+ "type": "object",
6
+ "additionalProperties": false,
7
+ "required": [
8
+ "contract",
9
+ "schemaVersion",
10
+ "runId",
11
+ "namespaceId",
12
+ "idempotencyKey",
13
+ "requestDigest",
14
+ "bindings",
15
+ "contracts",
16
+ "schemas",
17
+ "capabilityDecision",
18
+ "profiles",
19
+ "checkpoint",
20
+ "resourceEnvelope",
21
+ "counts",
22
+ "effects",
23
+ "state",
24
+ "verification",
25
+ "diagnostics",
26
+ "redaction",
27
+ "receiptDigest"
28
+ ],
29
+ "properties": {
30
+ "contract": {
31
+ "const": "fortemi.dataset-run-receipt/v1"
32
+ },
33
+ "schemaVersion": {
34
+ "const": "1.0.0"
35
+ },
36
+ "runId": {
37
+ "$ref": "#/$defs/uuid"
38
+ },
39
+ "namespaceId": {
40
+ "$ref": "#/$defs/uuid"
41
+ },
42
+ "idempotencyKey": {
43
+ "type": "string",
44
+ "minLength": 1,
45
+ "maxLength": 200
46
+ },
47
+ "requestDigest": {
48
+ "$ref": "#/$defs/digest"
49
+ },
50
+ "bindings": {
51
+ "type": "object",
52
+ "additionalProperties": false,
53
+ "required": [
54
+ "planId",
55
+ "sourceRevision",
56
+ "mode",
57
+ "destinationDigest",
58
+ "planDigest",
59
+ "configurationDigest",
60
+ "transformationDigest",
61
+ "inputSchemaDigest",
62
+ "outputSchemaDigest",
63
+ "inputDigest",
64
+ "outputDigest",
65
+ "negotiationDigest",
66
+ "resourceEnvelopeDigest"
67
+ ],
68
+ "properties": {
69
+ "planId": {
70
+ "type": "string",
71
+ "minLength": 1
72
+ },
73
+ "sourceRevision": {
74
+ "type": "string",
75
+ "minLength": 1
76
+ },
77
+ "mode": {
78
+ "enum": [
79
+ "full",
80
+ "snapshot",
81
+ "incremental"
82
+ ]
83
+ },
84
+ "destinationDigest": {
85
+ "$ref": "#/$defs/digest"
86
+ },
87
+ "planDigest": {
88
+ "$ref": "#/$defs/digest"
89
+ },
90
+ "configurationDigest": {
91
+ "$ref": "#/$defs/digest"
92
+ },
93
+ "transformationDigest": {
94
+ "$ref": "#/$defs/digest"
95
+ },
96
+ "inputSchemaDigest": {
97
+ "$ref": "#/$defs/digest"
98
+ },
99
+ "outputSchemaDigest": {
100
+ "$ref": "#/$defs/digest"
101
+ },
102
+ "inputDigest": {
103
+ "$ref": "#/$defs/digest"
104
+ },
105
+ "outputDigest": {
106
+ "$ref": "#/$defs/digest"
107
+ },
108
+ "negotiationDigest": {
109
+ "$ref": "#/$defs/digest"
110
+ },
111
+ "resourceEnvelopeDigest": {
112
+ "$ref": "#/$defs/digest"
113
+ }
114
+ }
115
+ },
116
+ "contracts": {
117
+ "type": "object",
118
+ "additionalProperties": false,
119
+ "required": [
120
+ "capability",
121
+ "plan",
122
+ "checkpoint",
123
+ "lineage",
124
+ "materialization",
125
+ "receipt",
126
+ "resourceEnvelope"
127
+ ],
128
+ "properties": {
129
+ "capability": {
130
+ "const": "fortemi.dataset-execution-capabilities/v1"
131
+ },
132
+ "plan": {
133
+ "const": "fortemi.dataset-ingest/v1"
134
+ },
135
+ "checkpoint": {
136
+ "const": "fortemi.dataset-ingest/v1"
137
+ },
138
+ "lineage": {
139
+ "const": "fortemi.dataset-lineage/v1"
140
+ },
141
+ "materialization": {
142
+ "const": "fortemi.dataset-materialization-profile/v1"
143
+ },
144
+ "receipt": {
145
+ "const": "fortemi.dataset-run-receipt/v1"
146
+ },
147
+ "resourceEnvelope": {
148
+ "const": "fortemi.dataset-resource-envelope/v1"
149
+ }
150
+ }
151
+ },
152
+ "schemas": {
153
+ "type": "object",
154
+ "additionalProperties": false,
155
+ "required": [
156
+ "capability",
157
+ "plan",
158
+ "checkpoint",
159
+ "lineage",
160
+ "materialization",
161
+ "receipt",
162
+ "resourceEnvelope"
163
+ ],
164
+ "properties": {
165
+ "capability": {
166
+ "$ref": "#/$defs/v1"
167
+ },
168
+ "plan": {
169
+ "$ref": "#/$defs/v1"
170
+ },
171
+ "checkpoint": {
172
+ "$ref": "#/$defs/v1"
173
+ },
174
+ "lineage": {
175
+ "$ref": "#/$defs/v1"
176
+ },
177
+ "materialization": {
178
+ "$ref": "#/$defs/v1"
179
+ },
180
+ "receipt": {
181
+ "$ref": "#/$defs/v1"
182
+ },
183
+ "resourceEnvelope": {
184
+ "$ref": "#/$defs/v1"
185
+ }
186
+ }
187
+ },
188
+ "capabilityDecision": {
189
+ "type": "object",
190
+ "additionalProperties": false,
191
+ "required": [
192
+ "accepted",
193
+ "runtime",
194
+ "selected",
195
+ "degradations"
196
+ ],
197
+ "properties": {
198
+ "accepted": {
199
+ "const": true
200
+ },
201
+ "runtime": {
202
+ "type": "object",
203
+ "additionalProperties": false,
204
+ "required": [
205
+ "id",
206
+ "version",
207
+ "plane",
208
+ "dataClass",
209
+ "maturity"
210
+ ],
211
+ "properties": {
212
+ "id": {
213
+ "const": "fortemi-server-mcp"
214
+ },
215
+ "version": {
216
+ "type": "string",
217
+ "minLength": 1
218
+ },
219
+ "plane": {
220
+ "const": "live-remote-persistence"
221
+ },
222
+ "dataClass": {
223
+ "const": "remote-persistence"
224
+ },
225
+ "maturity": {
226
+ "const": "alpha"
227
+ }
228
+ }
229
+ },
230
+ "selected": {
231
+ "type": "array",
232
+ "items": {
233
+ "type": "string"
234
+ },
235
+ "uniqueItems": true
236
+ },
237
+ "degradations": {
238
+ "type": "array",
239
+ "items": {
240
+ "type": "object",
241
+ "additionalProperties": false,
242
+ "required": [
243
+ "requested",
244
+ "reason",
245
+ "changedGuarantees"
246
+ ],
247
+ "properties": {
248
+ "requested": {
249
+ "type": "string",
250
+ "minLength": 1
251
+ },
252
+ "selected": {
253
+ "type": "string",
254
+ "minLength": 1
255
+ },
256
+ "reason": {
257
+ "enum": [
258
+ "unsupported",
259
+ "version-insufficient",
260
+ "limit-insufficient"
261
+ ]
262
+ },
263
+ "changedGuarantees": {
264
+ "type": "array",
265
+ "minItems": 1,
266
+ "items": {
267
+ "type": "string",
268
+ "minLength": 1
269
+ }
270
+ }
271
+ }
272
+ }
273
+ }
274
+ }
275
+ },
276
+ "profiles": {
277
+ "type": "object",
278
+ "additionalProperties": false,
279
+ "required": [
280
+ "indexing",
281
+ "retrieval",
282
+ "lineage"
283
+ ],
284
+ "properties": {
285
+ "indexing": {
286
+ "type": "object",
287
+ "additionalProperties": false,
288
+ "required": [
289
+ "id",
290
+ "version"
291
+ ],
292
+ "properties": {
293
+ "id": {
294
+ "const": "fortemi-note-materialization"
295
+ },
296
+ "version": {
297
+ "const": "1.0.0"
298
+ }
299
+ }
300
+ },
301
+ "retrieval": {
302
+ "type": "object",
303
+ "additionalProperties": false,
304
+ "required": [
305
+ "id",
306
+ "version"
307
+ ],
308
+ "properties": {
309
+ "id": {
310
+ "const": "fortemi-note-retrieval"
311
+ },
312
+ "version": {
313
+ "const": "1.0.0"
314
+ }
315
+ }
316
+ },
317
+ "lineage": {
318
+ "type": "object",
319
+ "additionalProperties": false,
320
+ "required": [
321
+ "id",
322
+ "version"
323
+ ],
324
+ "properties": {
325
+ "id": {
326
+ "const": "fortemi-source-identity"
327
+ },
328
+ "version": {
329
+ "const": "1.0.0"
330
+ }
331
+ }
332
+ }
333
+ }
334
+ },
335
+ "checkpoint": {
336
+ "type": "object",
337
+ "additionalProperties": false,
338
+ "required": [
339
+ "after"
340
+ ],
341
+ "properties": {
342
+ "before": {
343
+ "$ref": "#/$defs/checkpoint"
344
+ },
345
+ "after": {
346
+ "$ref": "#/$defs/checkpoint"
347
+ }
348
+ }
349
+ },
350
+ "resourceEnvelope": {
351
+ "$ref": "#/$defs/resourceEnvelope"
352
+ },
353
+ "counts": {
354
+ "type": "object",
355
+ "additionalProperties": false,
356
+ "required": [
357
+ "attempted",
358
+ "committed",
359
+ "rejected"
360
+ ],
361
+ "properties": {
362
+ "attempted": {
363
+ "type": "integer",
364
+ "minimum": 0,
365
+ "maximum": 500
366
+ },
367
+ "committed": {
368
+ "type": "integer",
369
+ "minimum": 0,
370
+ "maximum": 500
371
+ },
372
+ "rejected": {
373
+ "type": "integer",
374
+ "minimum": 0,
375
+ "maximum": 500
376
+ }
377
+ }
378
+ },
379
+ "effects": {
380
+ "type": "array",
381
+ "items": {
382
+ "type": "object",
383
+ "additionalProperties": false,
384
+ "required": [
385
+ "operation",
386
+ "logicalIdDigest",
387
+ "revision",
388
+ "digest",
389
+ "outcome"
390
+ ],
391
+ "properties": {
392
+ "operation": {
393
+ "const": "upsert"
394
+ },
395
+ "logicalIdDigest": {
396
+ "$ref": "#/$defs/digest"
397
+ },
398
+ "revision": {
399
+ "type": "string",
400
+ "minLength": 1
401
+ },
402
+ "digest": {
403
+ "$ref": "#/$defs/digest"
404
+ },
405
+ "outcome": {
406
+ "enum": [
407
+ "committed",
408
+ "conflict",
409
+ "rejected",
410
+ "unverifiable"
411
+ ]
412
+ }
413
+ }
414
+ },
415
+ "maxItems": 500
416
+ },
417
+ "state": {
418
+ "enum": [
419
+ "running",
420
+ "committed",
421
+ "degraded",
422
+ "failed",
423
+ "cancelled",
424
+ "ambiguous"
425
+ ]
426
+ },
427
+ "verification": {
428
+ "enum": [
429
+ "pending",
430
+ "verified",
431
+ "failed",
432
+ "unverifiable"
433
+ ]
434
+ },
435
+ "diagnostics": {
436
+ "type": "array",
437
+ "items": {
438
+ "type": "object",
439
+ "additionalProperties": false,
440
+ "required": [
441
+ "code",
442
+ "message"
443
+ ],
444
+ "properties": {
445
+ "code": {
446
+ "type": "string",
447
+ "pattern": "^[A-Z][A-Z0-9_]*$"
448
+ },
449
+ "message": {
450
+ "type": "string",
451
+ "minLength": 1
452
+ },
453
+ "item": {
454
+ "type": "integer",
455
+ "minimum": 0,
456
+ "maximum": 499
457
+ }
458
+ }
459
+ }
460
+ },
461
+ "redaction": {
462
+ "type": "object",
463
+ "additionalProperties": false,
464
+ "required": [
465
+ "sourceContentIncluded",
466
+ "logicalIdentifiersIncluded",
467
+ "connectionDetailsIncluded"
468
+ ],
469
+ "properties": {
470
+ "sourceContentIncluded": {
471
+ "const": false
472
+ },
473
+ "logicalIdentifiersIncluded": {
474
+ "const": false
475
+ },
476
+ "connectionDetailsIncluded": {
477
+ "const": false
478
+ }
479
+ }
480
+ },
481
+ "receiptDigest": {
482
+ "$ref": "#/$defs/digest"
483
+ }
484
+ },
485
+ "allOf": [
486
+ {
487
+ "if": {
488
+ "properties": {
489
+ "state": {
490
+ "enum": [
491
+ "committed",
492
+ "degraded"
493
+ ]
494
+ }
495
+ },
496
+ "type": "object"
497
+ },
498
+ "then": {
499
+ "properties": {
500
+ "verification": {
501
+ "const": "verified"
502
+ }
503
+ },
504
+ "type": "object"
505
+ }
506
+ },
507
+ {
508
+ "if": {
509
+ "properties": {
510
+ "state": {
511
+ "const": "ambiguous"
512
+ }
513
+ },
514
+ "type": "object"
515
+ },
516
+ "then": {
517
+ "properties": {
518
+ "verification": {
519
+ "const": "unverifiable"
520
+ }
521
+ },
522
+ "type": "object"
523
+ }
524
+ },
525
+ {
526
+ "if": {
527
+ "properties": {
528
+ "state": {
529
+ "const": "failed"
530
+ }
531
+ },
532
+ "type": "object"
533
+ },
534
+ "then": {
535
+ "properties": {
536
+ "verification": {
537
+ "const": "failed"
538
+ }
539
+ },
540
+ "type": "object"
541
+ }
542
+ },
543
+ {
544
+ "if": {
545
+ "properties": {
546
+ "state": {
547
+ "const": "running"
548
+ }
549
+ },
550
+ "type": "object"
551
+ },
552
+ "then": {
553
+ "properties": {
554
+ "verification": {
555
+ "const": "pending"
556
+ }
557
+ },
558
+ "type": "object"
559
+ }
560
+ },
561
+ {
562
+ "if": {
563
+ "properties": {
564
+ "state": {
565
+ "const": "cancelled"
566
+ }
567
+ },
568
+ "type": "object"
569
+ },
570
+ "then": {
571
+ "properties": {
572
+ "verification": {
573
+ "const": "unverifiable"
574
+ }
575
+ },
576
+ "type": "object"
577
+ }
578
+ },
579
+ {
580
+ "if": {
581
+ "properties": {
582
+ "state": {
583
+ "const": "committed"
584
+ }
585
+ },
586
+ "type": "object"
587
+ },
588
+ "then": {
589
+ "properties": {
590
+ "counts": {
591
+ "properties": {
592
+ "rejected": {
593
+ "const": 0
594
+ }
595
+ },
596
+ "type": "object"
597
+ },
598
+ "effects": {
599
+ "items": {
600
+ "properties": {
601
+ "outcome": {
602
+ "const": "committed"
603
+ }
604
+ },
605
+ "type": "object"
606
+ },
607
+ "type": "array"
608
+ },
609
+ "capabilityDecision": {
610
+ "properties": {
611
+ "degradations": {
612
+ "maxItems": 0,
613
+ "type": "array"
614
+ }
615
+ },
616
+ "type": "object"
617
+ }
618
+ },
619
+ "type": "object"
620
+ }
621
+ },
622
+ {
623
+ "if": {
624
+ "properties": {
625
+ "state": {
626
+ "const": "degraded"
627
+ }
628
+ },
629
+ "type": "object"
630
+ },
631
+ "then": {
632
+ "properties": {
633
+ "counts": {
634
+ "properties": {
635
+ "rejected": {
636
+ "const": 0
637
+ }
638
+ },
639
+ "type": "object"
640
+ },
641
+ "effects": {
642
+ "items": {
643
+ "properties": {
644
+ "outcome": {
645
+ "const": "committed"
646
+ }
647
+ },
648
+ "type": "object"
649
+ },
650
+ "type": "array"
651
+ },
652
+ "capabilityDecision": {
653
+ "properties": {
654
+ "degradations": {
655
+ "minItems": 1,
656
+ "type": "array"
657
+ }
658
+ },
659
+ "type": "object"
660
+ }
661
+ },
662
+ "type": "object"
663
+ }
664
+ }
665
+ ],
666
+ "$defs": {
667
+ "digest": {
668
+ "type": "string",
669
+ "pattern": "^sha256:[a-f0-9]{64}$"
670
+ },
671
+ "uuid": {
672
+ "type": "string",
673
+ "format": "uuid",
674
+ "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
675
+ },
676
+ "v1": {
677
+ "const": "1.0.0"
678
+ },
679
+ "scope": {
680
+ "type": "object",
681
+ "additionalProperties": false,
682
+ "required": [
683
+ "tenant",
684
+ "dataset",
685
+ "sourceBinding",
686
+ "stream"
687
+ ],
688
+ "properties": {
689
+ "tenant": {
690
+ "type": "string",
691
+ "minLength": 1
692
+ },
693
+ "dataset": {
694
+ "$ref": "#/$defs/uuid"
695
+ },
696
+ "sourceBinding": {
697
+ "type": "string",
698
+ "minLength": 1
699
+ },
700
+ "stream": {
701
+ "type": "string",
702
+ "minLength": 1
703
+ },
704
+ "partition": {
705
+ "type": "string",
706
+ "minLength": 1
707
+ }
708
+ }
709
+ },
710
+ "checkpoint": {
711
+ "type": "object",
712
+ "additionalProperties": false,
713
+ "required": [
714
+ "contract",
715
+ "schemaVersion",
716
+ "scope",
717
+ "opaque",
718
+ "sequence"
719
+ ],
720
+ "properties": {
721
+ "contract": {
722
+ "const": "fortemi.dataset-ingest/v1"
723
+ },
724
+ "schemaVersion": {
725
+ "$ref": "#/$defs/v1"
726
+ },
727
+ "scope": {
728
+ "$ref": "#/$defs/scope"
729
+ },
730
+ "opaque": {
731
+ "type": "string",
732
+ "minLength": 1
733
+ },
734
+ "sequence": {
735
+ "type": "integer",
736
+ "minimum": 0
737
+ }
738
+ }
739
+ },
740
+ "resourceEnvelope": {
741
+ "type": "object",
742
+ "additionalProperties": false,
743
+ "required": [
744
+ "contract",
745
+ "schemaVersion",
746
+ "maxRecords",
747
+ "maxInputBytes",
748
+ "maxRecordBytes",
749
+ "maxDurationMs",
750
+ "maxConcurrency",
751
+ "maxTraversalDepth",
752
+ "maxResults",
753
+ "allowOutboundNetwork"
754
+ ],
755
+ "properties": {
756
+ "contract": {
757
+ "const": "fortemi.dataset-resource-envelope/v1"
758
+ },
759
+ "schemaVersion": {
760
+ "$ref": "#/$defs/v1"
761
+ },
762
+ "maxRecords": {
763
+ "type": "integer",
764
+ "minimum": 0,
765
+ "maximum": 500
766
+ },
767
+ "maxInputBytes": {
768
+ "type": "integer",
769
+ "minimum": 0,
770
+ "maximum": 16777216
771
+ },
772
+ "maxRecordBytes": {
773
+ "type": "integer",
774
+ "minimum": 0,
775
+ "maximum": 4194304
776
+ },
777
+ "maxDurationMs": {
778
+ "type": "integer",
779
+ "minimum": 1,
780
+ "maximum": 120000
781
+ },
782
+ "maxConcurrency": {
783
+ "const": 1
784
+ },
785
+ "maxTraversalDepth": {
786
+ "type": "integer",
787
+ "minimum": 0,
788
+ "maximum": 8
789
+ },
790
+ "maxResults": {
791
+ "type": "integer",
792
+ "minimum": 0,
793
+ "maximum": 1000
794
+ },
795
+ "allowOutboundNetwork": {
796
+ "const": false
797
+ }
798
+ }
799
+ },
800
+ "profile": {
801
+ "type": "object",
802
+ "additionalProperties": false,
803
+ "required": [
804
+ "id",
805
+ "version"
806
+ ],
807
+ "properties": {
808
+ "id": {
809
+ "type": "string",
810
+ "minLength": 1
811
+ },
812
+ "version": {
813
+ "$ref": "#/$defs/v1"
814
+ }
815
+ }
816
+ }
817
+ },
818
+ "description": "Strict structural validation for wire schema 1.0.0. Count arithmetic and digest bindings additionally require the executable semantic verifier. Published validation revision 1.0.0 is preserved."
819
+ }