agentskeptic 3.4.0 → 3.6.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/dist/cli.js +109 -18
- package/dist/cli.js.map +1 -1
- package/dist/cliExecutionFinalize.d.ts +43 -0
- package/dist/cliExecutionFinalize.d.ts.map +1 -0
- package/dist/cliExecutionFinalize.js +149 -0
- package/dist/cliExecutionFinalize.js.map +1 -0
- package/dist/cliOperationalCodes.d.ts +4 -0
- package/dist/cliOperationalCodes.d.ts.map +1 -1
- package/dist/cliOperationalCodes.js +4 -0
- package/dist/cliOperationalCodes.js.map +1 -1
- package/dist/enforceCli.d.ts.map +1 -1
- package/dist/enforceCli.js +22 -3
- package/dist/enforceCli.js.map +1 -1
- package/dist/enforceStateful.d.ts.map +1 -1
- package/dist/enforceStateful.js +185 -97
- package/dist/enforceStateful.js.map +1 -1
- package/dist/execution-identity.v1.json +14 -0
- package/dist/executionIdentityVerifyCli.d.ts +7 -0
- package/dist/executionIdentityVerifyCli.d.ts.map +1 -0
- package/dist/executionIdentityVerifyCli.js +84 -0
- package/dist/executionIdentityVerifyCli.js.map +1 -0
- package/dist/mergeGateReceiptFinalize.d.ts +16 -0
- package/dist/mergeGateReceiptFinalize.d.ts.map +1 -0
- package/dist/mergeGateReceiptFinalize.js +40 -0
- package/dist/mergeGateReceiptFinalize.js.map +1 -0
- package/dist/operationalDisposition.d.ts +32 -0
- package/dist/operationalDisposition.d.ts.map +1 -1
- package/dist/operationalDisposition.js +32 -0
- package/dist/operationalDisposition.js.map +1 -1
- package/dist/publicDistribution.generated.d.ts +1 -1
- package/dist/publicDistribution.generated.js +1 -1
- package/dist/quickVerify/decomposeUnits.d.ts.map +1 -1
- package/dist/quickVerify/decomposeUnits.js +2 -1
- package/dist/quickVerify/decomposeUnits.js.map +1 -1
- package/dist/sdk/_generated/openapi-types.d.ts +77 -19
- package/dist/sdk/_generated/openapi-types.d.ts.map +1 -1
- package/dist/standardVerifyWorkflowCli.d.ts +2 -0
- package/dist/standardVerifyWorkflowCli.d.ts.map +1 -1
- package/dist/standardVerifyWorkflowCli.js +3 -0
- package/dist/standardVerifyWorkflowCli.js.map +1 -1
- package/dist/verificationReceipt.d.ts +44 -0
- package/dist/verificationReceipt.d.ts.map +1 -0
- package/dist/verificationReceipt.js +131 -0
- package/dist/verificationReceipt.js.map +1 -0
- package/dist/verify/batchVerifyTelemetrySubcommand.d.ts.map +1 -1
- package/dist/verify/batchVerifyTelemetrySubcommand.js +80 -16
- package/dist/verify/batchVerifyTelemetrySubcommand.js.map +1 -1
- package/package.json +4 -3
- package/schemas/agentskeptic-error-codes.json +28 -0
- package/schemas/ci/verification-truth.manifest.json +30 -1
- package/schemas/ci/verification-truth.manifest.schema.json +6 -1
- package/schemas/execution-identity-v1.schema.json +36 -0
- package/schemas/openapi-commercial-v1.in.yaml +92 -24
- package/schemas/openapi-commercial-v1.yaml +93 -25
- package/schemas/verification-receipt-v1.schema.json +108 -0
- package/scripts/emit-primary-marketing.cjs +1 -1
|
@@ -117,7 +117,7 @@ paths:
|
|
|
117
117
|
/api/v1/enforcement/baselines:
|
|
118
118
|
post:
|
|
119
119
|
operationId: createEnforcementBaseline
|
|
120
|
-
summary:
|
|
120
|
+
summary: Establish accepted enforcement baseline (baseline_missing → baseline_active only)
|
|
121
121
|
security:
|
|
122
122
|
- bearerAuth: []
|
|
123
123
|
requestBody:
|
|
@@ -128,11 +128,17 @@ paths:
|
|
|
128
128
|
$ref: "#/components/schemas/EnforcementEvidenceRequestV2"
|
|
129
129
|
responses:
|
|
130
130
|
"200":
|
|
131
|
-
description:
|
|
131
|
+
description: Lifecycle transition completed
|
|
132
132
|
content:
|
|
133
133
|
application/json:
|
|
134
134
|
schema:
|
|
135
|
-
$ref: "#/components/schemas/
|
|
135
|
+
$ref: "#/components/schemas/EnforcementFsmEnvelopeV2"
|
|
136
|
+
"409":
|
|
137
|
+
description: Invalid transition or decision-grade certificate required
|
|
138
|
+
content:
|
|
139
|
+
application/json:
|
|
140
|
+
schema:
|
|
141
|
+
$ref: "#/components/schemas/EnforcementFsmEnvelopeV2"
|
|
136
142
|
"400":
|
|
137
143
|
description: Invalid request
|
|
138
144
|
content:
|
|
@@ -148,7 +154,7 @@ paths:
|
|
|
148
154
|
/api/v1/enforcement/check:
|
|
149
155
|
post:
|
|
150
156
|
operationId: checkEnforcementDrift
|
|
151
|
-
summary: Compare current
|
|
157
|
+
summary: Compare current material-truth projection against accepted baseline (verification attempt)
|
|
152
158
|
security:
|
|
153
159
|
- bearerAuth: []
|
|
154
160
|
requestBody:
|
|
@@ -159,21 +165,21 @@ paths:
|
|
|
159
165
|
$ref: "#/components/schemas/EnforcementEvidenceRequestV2"
|
|
160
166
|
responses:
|
|
161
167
|
"200":
|
|
162
|
-
description:
|
|
168
|
+
description: Check completed (match, open drift, rerun pass/fail, etc.)
|
|
163
169
|
content:
|
|
164
170
|
application/json:
|
|
165
171
|
schema:
|
|
166
|
-
$ref: "#/components/schemas/
|
|
172
|
+
$ref: "#/components/schemas/EnforcementFsmEnvelopeV2"
|
|
167
173
|
"409":
|
|
168
|
-
description: Baseline
|
|
174
|
+
description: Baseline missing, remediation acknowledgement required, or other enforce guard
|
|
169
175
|
content:
|
|
170
176
|
application/json:
|
|
171
177
|
schema:
|
|
172
|
-
$ref: "#/components/schemas/
|
|
178
|
+
$ref: "#/components/schemas/EnforcementFsmEnvelopeV2"
|
|
173
179
|
/api/v1/enforcement/accept:
|
|
174
180
|
post:
|
|
175
181
|
operationId: acceptEnforcementDrift
|
|
176
|
-
summary:
|
|
182
|
+
summary: Procedural drift accept (action_required → rerun_required; not a verification verdict)
|
|
177
183
|
security:
|
|
178
184
|
- bearerAuth: []
|
|
179
185
|
requestBody:
|
|
@@ -181,14 +187,20 @@ paths:
|
|
|
181
187
|
content:
|
|
182
188
|
application/json:
|
|
183
189
|
schema:
|
|
184
|
-
$ref: "#/components/schemas/
|
|
190
|
+
$ref: "#/components/schemas/EnforcementAcceptEvidenceRequestV2"
|
|
185
191
|
responses:
|
|
186
192
|
"200":
|
|
187
|
-
description:
|
|
193
|
+
description: Baseline updated; rerun POST /check required before returning to trusted-only posture
|
|
188
194
|
content:
|
|
189
195
|
application/json:
|
|
190
196
|
schema:
|
|
191
|
-
$ref: "#/components/schemas/
|
|
197
|
+
$ref: "#/components/schemas/EnforcementFsmEnvelopeV2"
|
|
198
|
+
"409":
|
|
199
|
+
description: Stale lifecycle version, hash pin mismatch, or invalid transition
|
|
200
|
+
content:
|
|
201
|
+
application/json:
|
|
202
|
+
schema:
|
|
203
|
+
$ref: "#/components/schemas/EnforcementFsmEnvelopeV2"
|
|
192
204
|
/api/v1/enforcement/history:
|
|
193
205
|
get:
|
|
194
206
|
operationId: getEnforcementHistory
|
|
@@ -241,7 +253,7 @@ paths:
|
|
|
241
253
|
content:
|
|
242
254
|
application/json:
|
|
243
255
|
schema:
|
|
244
|
-
$ref: "#/components/schemas/
|
|
256
|
+
$ref: "#/components/schemas/GovernanceAuditBundleV2"
|
|
245
257
|
"400":
|
|
246
258
|
description: Invalid request
|
|
247
259
|
content:
|
|
@@ -562,27 +574,31 @@ components:
|
|
|
562
574
|
type: string
|
|
563
575
|
certificate_sha256:
|
|
564
576
|
type: string
|
|
565
|
-
|
|
577
|
+
EnforcementFsmEnvelopeV2:
|
|
566
578
|
type: object
|
|
567
|
-
|
|
579
|
+
description: Hosted enforcement lifecycle + verification attempt payload (schema_version 2).
|
|
580
|
+
required: [schema_version, code]
|
|
568
581
|
properties:
|
|
569
582
|
schema_version:
|
|
570
583
|
type: integer
|
|
571
|
-
const:
|
|
572
|
-
|
|
573
|
-
type: string
|
|
574
|
-
workflow_id:
|
|
584
|
+
const: 2
|
|
585
|
+
code:
|
|
575
586
|
type: string
|
|
576
|
-
|
|
587
|
+
quota_enforced_via_reserve:
|
|
588
|
+
type: boolean
|
|
589
|
+
additionalProperties: true
|
|
590
|
+
EnforcementAcceptEvidenceRequestV2:
|
|
577
591
|
allOf:
|
|
578
|
-
- $ref: "#/components/schemas/
|
|
592
|
+
- $ref: "#/components/schemas/EnforcementEvidenceRequestV2"
|
|
579
593
|
- type: object
|
|
580
|
-
required: [expected_projection_hash,
|
|
594
|
+
required: [expected_projection_hash, lifecycle_state_version]
|
|
581
595
|
properties:
|
|
582
596
|
expected_projection_hash:
|
|
583
597
|
type: string
|
|
584
|
-
|
|
585
|
-
|
|
598
|
+
description: Must equal expected_projection_hash_for_accept from the open drift POST /check response.
|
|
599
|
+
lifecycle_state_version:
|
|
600
|
+
type: integer
|
|
601
|
+
description: Optimistic concurrency token; must match lifecycle_state_version from the prior response.
|
|
586
602
|
EnforcementHistoryResponse:
|
|
587
603
|
type: object
|
|
588
604
|
required: [schema_version, workflow_id, events]
|
|
@@ -630,6 +646,58 @@ components:
|
|
|
630
646
|
items:
|
|
631
647
|
type: object
|
|
632
648
|
additionalProperties: true
|
|
649
|
+
GovernanceAuditBundleV2:
|
|
650
|
+
type: object
|
|
651
|
+
description: Governance export including authoritative lifecycle FSM rows and verification decisions.
|
|
652
|
+
required: [schemaVersion, generatedAt, userId, workflowId, baseline, events]
|
|
653
|
+
properties:
|
|
654
|
+
schemaVersion:
|
|
655
|
+
type: integer
|
|
656
|
+
const: 2
|
|
657
|
+
generatedAt:
|
|
658
|
+
type: string
|
|
659
|
+
format: date-time
|
|
660
|
+
userId:
|
|
661
|
+
type: string
|
|
662
|
+
workflowId:
|
|
663
|
+
type: string
|
|
664
|
+
window:
|
|
665
|
+
type: object
|
|
666
|
+
required: [from, to]
|
|
667
|
+
properties:
|
|
668
|
+
from:
|
|
669
|
+
type: string
|
|
670
|
+
format: date-time
|
|
671
|
+
to:
|
|
672
|
+
type: string
|
|
673
|
+
format: date-time
|
|
674
|
+
lifecycle:
|
|
675
|
+
type: object
|
|
676
|
+
nullable: true
|
|
677
|
+
additionalProperties: true
|
|
678
|
+
fsmTransitions:
|
|
679
|
+
type: array
|
|
680
|
+
items:
|
|
681
|
+
type: object
|
|
682
|
+
additionalProperties: true
|
|
683
|
+
verificationDecisions:
|
|
684
|
+
type: array
|
|
685
|
+
items:
|
|
686
|
+
type: object
|
|
687
|
+
additionalProperties: true
|
|
688
|
+
baseline:
|
|
689
|
+
type: object
|
|
690
|
+
nullable: true
|
|
691
|
+
additionalProperties: true
|
|
692
|
+
events:
|
|
693
|
+
type: array
|
|
694
|
+
items:
|
|
695
|
+
type: object
|
|
696
|
+
additionalProperties: true
|
|
697
|
+
decisionEvidenceExport:
|
|
698
|
+
type: object
|
|
699
|
+
additionalProperties: true
|
|
700
|
+
additionalProperties: true
|
|
633
701
|
ProblemDetails:
|
|
634
702
|
type: object
|
|
635
703
|
required: [type, title, status, detail]
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
openapi: "3.0.3"
|
|
2
2
|
info:
|
|
3
3
|
title: AgentSkeptic commercial license API
|
|
4
|
-
version: "3.
|
|
4
|
+
version: "3.6.0"
|
|
5
5
|
contact:
|
|
6
6
|
url: https://agentskeptic.com
|
|
7
7
|
x-agentskeptic-distribution:
|
|
@@ -117,7 +117,7 @@ paths:
|
|
|
117
117
|
/api/v1/enforcement/baselines:
|
|
118
118
|
post:
|
|
119
119
|
operationId: createEnforcementBaseline
|
|
120
|
-
summary:
|
|
120
|
+
summary: Establish accepted enforcement baseline (baseline_missing → baseline_active only)
|
|
121
121
|
security:
|
|
122
122
|
- bearerAuth: []
|
|
123
123
|
requestBody:
|
|
@@ -128,11 +128,17 @@ paths:
|
|
|
128
128
|
$ref: "#/components/schemas/EnforcementEvidenceRequestV2"
|
|
129
129
|
responses:
|
|
130
130
|
"200":
|
|
131
|
-
description:
|
|
131
|
+
description: Lifecycle transition completed
|
|
132
132
|
content:
|
|
133
133
|
application/json:
|
|
134
134
|
schema:
|
|
135
|
-
$ref: "#/components/schemas/
|
|
135
|
+
$ref: "#/components/schemas/EnforcementFsmEnvelopeV2"
|
|
136
|
+
"409":
|
|
137
|
+
description: Invalid transition or decision-grade certificate required
|
|
138
|
+
content:
|
|
139
|
+
application/json:
|
|
140
|
+
schema:
|
|
141
|
+
$ref: "#/components/schemas/EnforcementFsmEnvelopeV2"
|
|
136
142
|
"400":
|
|
137
143
|
description: Invalid request
|
|
138
144
|
content:
|
|
@@ -148,7 +154,7 @@ paths:
|
|
|
148
154
|
/api/v1/enforcement/check:
|
|
149
155
|
post:
|
|
150
156
|
operationId: checkEnforcementDrift
|
|
151
|
-
summary: Compare current
|
|
157
|
+
summary: Compare current material-truth projection against accepted baseline (verification attempt)
|
|
152
158
|
security:
|
|
153
159
|
- bearerAuth: []
|
|
154
160
|
requestBody:
|
|
@@ -159,21 +165,21 @@ paths:
|
|
|
159
165
|
$ref: "#/components/schemas/EnforcementEvidenceRequestV2"
|
|
160
166
|
responses:
|
|
161
167
|
"200":
|
|
162
|
-
description:
|
|
168
|
+
description: Check completed (match, open drift, rerun pass/fail, etc.)
|
|
163
169
|
content:
|
|
164
170
|
application/json:
|
|
165
171
|
schema:
|
|
166
|
-
$ref: "#/components/schemas/
|
|
172
|
+
$ref: "#/components/schemas/EnforcementFsmEnvelopeV2"
|
|
167
173
|
"409":
|
|
168
|
-
description: Baseline
|
|
174
|
+
description: Baseline missing, remediation acknowledgement required, or other enforce guard
|
|
169
175
|
content:
|
|
170
176
|
application/json:
|
|
171
177
|
schema:
|
|
172
|
-
$ref: "#/components/schemas/
|
|
178
|
+
$ref: "#/components/schemas/EnforcementFsmEnvelopeV2"
|
|
173
179
|
/api/v1/enforcement/accept:
|
|
174
180
|
post:
|
|
175
181
|
operationId: acceptEnforcementDrift
|
|
176
|
-
summary:
|
|
182
|
+
summary: Procedural drift accept (action_required → rerun_required; not a verification verdict)
|
|
177
183
|
security:
|
|
178
184
|
- bearerAuth: []
|
|
179
185
|
requestBody:
|
|
@@ -181,14 +187,20 @@ paths:
|
|
|
181
187
|
content:
|
|
182
188
|
application/json:
|
|
183
189
|
schema:
|
|
184
|
-
$ref: "#/components/schemas/
|
|
190
|
+
$ref: "#/components/schemas/EnforcementAcceptEvidenceRequestV2"
|
|
185
191
|
responses:
|
|
186
192
|
"200":
|
|
187
|
-
description:
|
|
193
|
+
description: Baseline updated; rerun POST /check required before returning to trusted-only posture
|
|
188
194
|
content:
|
|
189
195
|
application/json:
|
|
190
196
|
schema:
|
|
191
|
-
$ref: "#/components/schemas/
|
|
197
|
+
$ref: "#/components/schemas/EnforcementFsmEnvelopeV2"
|
|
198
|
+
"409":
|
|
199
|
+
description: Stale lifecycle version, hash pin mismatch, or invalid transition
|
|
200
|
+
content:
|
|
201
|
+
application/json:
|
|
202
|
+
schema:
|
|
203
|
+
$ref: "#/components/schemas/EnforcementFsmEnvelopeV2"
|
|
192
204
|
/api/v1/enforcement/history:
|
|
193
205
|
get:
|
|
194
206
|
operationId: getEnforcementHistory
|
|
@@ -241,7 +253,7 @@ paths:
|
|
|
241
253
|
content:
|
|
242
254
|
application/json:
|
|
243
255
|
schema:
|
|
244
|
-
$ref: "#/components/schemas/
|
|
256
|
+
$ref: "#/components/schemas/GovernanceAuditBundleV2"
|
|
245
257
|
"400":
|
|
246
258
|
description: Invalid request
|
|
247
259
|
content:
|
|
@@ -562,27 +574,31 @@ components:
|
|
|
562
574
|
type: string
|
|
563
575
|
certificate_sha256:
|
|
564
576
|
type: string
|
|
565
|
-
|
|
577
|
+
EnforcementFsmEnvelopeV2:
|
|
566
578
|
type: object
|
|
567
|
-
|
|
579
|
+
description: Hosted enforcement lifecycle + verification attempt payload (schema_version 2).
|
|
580
|
+
required: [schema_version, code]
|
|
568
581
|
properties:
|
|
569
582
|
schema_version:
|
|
570
583
|
type: integer
|
|
571
|
-
const:
|
|
572
|
-
|
|
573
|
-
type: string
|
|
574
|
-
workflow_id:
|
|
584
|
+
const: 2
|
|
585
|
+
code:
|
|
575
586
|
type: string
|
|
576
|
-
|
|
587
|
+
quota_enforced_via_reserve:
|
|
588
|
+
type: boolean
|
|
589
|
+
additionalProperties: true
|
|
590
|
+
EnforcementAcceptEvidenceRequestV2:
|
|
577
591
|
allOf:
|
|
578
|
-
- $ref: "#/components/schemas/
|
|
592
|
+
- $ref: "#/components/schemas/EnforcementEvidenceRequestV2"
|
|
579
593
|
- type: object
|
|
580
|
-
required: [expected_projection_hash,
|
|
594
|
+
required: [expected_projection_hash, lifecycle_state_version]
|
|
581
595
|
properties:
|
|
582
596
|
expected_projection_hash:
|
|
583
597
|
type: string
|
|
584
|
-
|
|
585
|
-
|
|
598
|
+
description: Must equal expected_projection_hash_for_accept from the open drift POST /check response.
|
|
599
|
+
lifecycle_state_version:
|
|
600
|
+
type: integer
|
|
601
|
+
description: Optimistic concurrency token; must match lifecycle_state_version from the prior response.
|
|
586
602
|
EnforcementHistoryResponse:
|
|
587
603
|
type: object
|
|
588
604
|
required: [schema_version, workflow_id, events]
|
|
@@ -630,6 +646,58 @@ components:
|
|
|
630
646
|
items:
|
|
631
647
|
type: object
|
|
632
648
|
additionalProperties: true
|
|
649
|
+
GovernanceAuditBundleV2:
|
|
650
|
+
type: object
|
|
651
|
+
description: Governance export including authoritative lifecycle FSM rows and verification decisions.
|
|
652
|
+
required: [schemaVersion, generatedAt, userId, workflowId, baseline, events]
|
|
653
|
+
properties:
|
|
654
|
+
schemaVersion:
|
|
655
|
+
type: integer
|
|
656
|
+
const: 2
|
|
657
|
+
generatedAt:
|
|
658
|
+
type: string
|
|
659
|
+
format: date-time
|
|
660
|
+
userId:
|
|
661
|
+
type: string
|
|
662
|
+
workflowId:
|
|
663
|
+
type: string
|
|
664
|
+
window:
|
|
665
|
+
type: object
|
|
666
|
+
required: [from, to]
|
|
667
|
+
properties:
|
|
668
|
+
from:
|
|
669
|
+
type: string
|
|
670
|
+
format: date-time
|
|
671
|
+
to:
|
|
672
|
+
type: string
|
|
673
|
+
format: date-time
|
|
674
|
+
lifecycle:
|
|
675
|
+
type: object
|
|
676
|
+
nullable: true
|
|
677
|
+
additionalProperties: true
|
|
678
|
+
fsmTransitions:
|
|
679
|
+
type: array
|
|
680
|
+
items:
|
|
681
|
+
type: object
|
|
682
|
+
additionalProperties: true
|
|
683
|
+
verificationDecisions:
|
|
684
|
+
type: array
|
|
685
|
+
items:
|
|
686
|
+
type: object
|
|
687
|
+
additionalProperties: true
|
|
688
|
+
baseline:
|
|
689
|
+
type: object
|
|
690
|
+
nullable: true
|
|
691
|
+
additionalProperties: true
|
|
692
|
+
events:
|
|
693
|
+
type: array
|
|
694
|
+
items:
|
|
695
|
+
type: object
|
|
696
|
+
additionalProperties: true
|
|
697
|
+
decisionEvidenceExport:
|
|
698
|
+
type: object
|
|
699
|
+
additionalProperties: true
|
|
700
|
+
additionalProperties: true
|
|
633
701
|
ProblemDetails:
|
|
634
702
|
type: object
|
|
635
703
|
required: [type, title, status, detail]
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://agentskeptic.com/schemas/verification-receipt-v1.schema.json",
|
|
4
|
+
"title": "AgentSkeptic verification receipt v1",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"additionalProperties": false,
|
|
7
|
+
"required": [
|
|
8
|
+
"$schema",
|
|
9
|
+
"receiptVersion",
|
|
10
|
+
"kind",
|
|
11
|
+
"outcome",
|
|
12
|
+
"exitCode",
|
|
13
|
+
"emittedAt",
|
|
14
|
+
"pid",
|
|
15
|
+
"receiptPathRelative",
|
|
16
|
+
"runtime",
|
|
17
|
+
"verificationSummary",
|
|
18
|
+
"inputIntegrity",
|
|
19
|
+
"executionIdentityEmbedded",
|
|
20
|
+
"executionIdentitySha256",
|
|
21
|
+
"abortReason",
|
|
22
|
+
"phaseTimingsMs"
|
|
23
|
+
],
|
|
24
|
+
"properties": {
|
|
25
|
+
"$schema": { "type": "string" },
|
|
26
|
+
"receiptVersion": { "type": "string", "const": "1.0.0" },
|
|
27
|
+
"kind": { "type": "string", "enum": ["merge_gate", "verify", "enforce"] },
|
|
28
|
+
"outcome": { "type": "string", "enum": ["success", "failure", "operational_abort"] },
|
|
29
|
+
"exitCode": { "type": "integer" },
|
|
30
|
+
"emittedAt": { "type": "string" },
|
|
31
|
+
"pid": { "type": "integer", "minimum": 1 },
|
|
32
|
+
"receiptPathRelative": { "type": "string", "minLength": 1 },
|
|
33
|
+
"runtime": {
|
|
34
|
+
"type": "object",
|
|
35
|
+
"additionalProperties": false,
|
|
36
|
+
"required": ["nodeProcessVersion", "platform", "arch"],
|
|
37
|
+
"properties": {
|
|
38
|
+
"nodeProcessVersion": { "type": "string" },
|
|
39
|
+
"platform": { "type": "string" },
|
|
40
|
+
"arch": { "type": "string" }
|
|
41
|
+
}
|
|
42
|
+
},
|
|
43
|
+
"verificationSummary": {
|
|
44
|
+
"type": "object",
|
|
45
|
+
"additionalProperties": false,
|
|
46
|
+
"required": ["workflowStatus", "operationalCode", "enforceExitKind"],
|
|
47
|
+
"properties": {
|
|
48
|
+
"workflowStatus": { "type": ["string", "null"] },
|
|
49
|
+
"operationalCode": { "type": ["string", "null"] },
|
|
50
|
+
"enforceExitKind": { "type": ["string", "null"] }
|
|
51
|
+
}
|
|
52
|
+
},
|
|
53
|
+
"inputIntegrity": {
|
|
54
|
+
"type": "object",
|
|
55
|
+
"additionalProperties": false,
|
|
56
|
+
"required": [
|
|
57
|
+
"workflowId",
|
|
58
|
+
"dbKind",
|
|
59
|
+
"eventsSha256",
|
|
60
|
+
"registrySha256",
|
|
61
|
+
"npmTestScript",
|
|
62
|
+
"verificationTruthExitPhase"
|
|
63
|
+
],
|
|
64
|
+
"properties": {
|
|
65
|
+
"workflowId": { "type": "string" },
|
|
66
|
+
"dbKind": { "type": "string", "enum": ["sqlite", "postgres", "none"] },
|
|
67
|
+
"eventsSha256": { "type": ["string", "null"] },
|
|
68
|
+
"registrySha256": { "type": ["string", "null"] },
|
|
69
|
+
"npmTestScript": { "type": ["string", "null"] },
|
|
70
|
+
"verificationTruthExitPhase": { "type": ["string", "null"] }
|
|
71
|
+
}
|
|
72
|
+
},
|
|
73
|
+
"executionIdentityEmbedded": {
|
|
74
|
+
"anyOf": [{ "type": "object" }, { "type": "null" }]
|
|
75
|
+
},
|
|
76
|
+
"executionIdentitySha256": {
|
|
77
|
+
"anyOf": [{ "type": "string", "pattern": "^[0-9a-f]{64}$" }, { "type": "null" }]
|
|
78
|
+
},
|
|
79
|
+
"abortReason": {
|
|
80
|
+
"anyOf": [{ "type": "string", "const": "MISSING_DIST_EXECUTION_IDENTITY" }, { "type": "null" }]
|
|
81
|
+
},
|
|
82
|
+
"phaseTimingsMs": {
|
|
83
|
+
"anyOf": [
|
|
84
|
+
{ "type": "null" },
|
|
85
|
+
{
|
|
86
|
+
"type": "object",
|
|
87
|
+
"additionalProperties": false,
|
|
88
|
+
"required": [
|
|
89
|
+
"regeneration",
|
|
90
|
+
"preflightDriftRoster",
|
|
91
|
+
"gitDiffGate",
|
|
92
|
+
"structuralGuards",
|
|
93
|
+
"postgresDistribution",
|
|
94
|
+
"journeyTail"
|
|
95
|
+
],
|
|
96
|
+
"properties": {
|
|
97
|
+
"regeneration": { "type": "integer", "minimum": 0 },
|
|
98
|
+
"preflightDriftRoster": { "type": "integer", "minimum": 0 },
|
|
99
|
+
"gitDiffGate": { "type": "integer", "minimum": 0 },
|
|
100
|
+
"structuralGuards": { "type": "integer", "minimum": 0 },
|
|
101
|
+
"postgresDistribution": { "type": "integer", "minimum": 0 },
|
|
102
|
+
"journeyTail": { "type": "integer", "minimum": 0 }
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
]
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
}
|
|
@@ -177,7 +177,7 @@ Normative **public distribution** and anchor sync: [\`docs/public-distribution.m
|
|
|
177
177
|
- Verification Contract Manifest (canonical): ${contractPin.url}
|
|
178
178
|
- Verification Contract Manifest (repo raw): ${contractRaw}
|
|
179
179
|
- Acquisition page (canonical): ${acquisitionUrl}
|
|
180
|
-
- CI regeneration + drift pathspecs: [\`schemas/ci/verification-truth.manifest.json\`](schemas/ci/verification-truth.manifest.json) (validated by [\`test/verification-truth.
|
|
180
|
+
- CI regeneration + drift pathspecs: [\`schemas/ci/verification-truth.manifest.json\`](schemas/ci/verification-truth.manifest.json) (validated by [\`test/verification-truth.closed-drift.contract.test.mjs\`](test/verification-truth.closed-drift.contract.test.mjs))
|
|
181
181
|
`;
|
|
182
182
|
writeFileSync(join(ROOT, "AGENTS.md"), body, "utf8");
|
|
183
183
|
}
|