agentskeptic 4.1.1 → 5.0.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/README.md +17 -20
- package/config/marketing.json +2 -1
- package/dist/actionableFailure.remediationExhaustive.test.js +1 -1
- package/dist/bootstrap/runBootstrapSubcommand.js +1 -1
- package/dist/ciLock.js +1 -1
- package/dist/ciLock.js.map +1 -1
- package/dist/cli.js +89 -5
- package/dist/cli.js.map +1 -1
- package/dist/cliArgv.d.ts +8 -0
- package/dist/cliArgv.d.ts.map +1 -1
- package/dist/cliArgv.js +42 -1
- package/dist/cliArgv.js.map +1 -1
- package/dist/commercial/trustDecisionRecord.d.ts.map +1 -1
- package/dist/commercial/trustDecisionRecord.js +7 -3
- package/dist/commercial/trustDecisionRecord.js.map +1 -1
- package/dist/commercial/trustDecisionRecord.schema.test.js +4 -2
- package/dist/commercial/trustDecisionRecord.schema.test.js.map +1 -1
- package/dist/commercial/verifyOutcomeBeaconBody.d.ts.map +1 -1
- package/dist/commercial/verifyOutcomeBeaconBody.js +2 -1
- package/dist/commercial/verifyOutcomeBeaconBody.js.map +1 -1
- package/dist/compare.acceptance.test.js +1 -1
- package/dist/decisionBlocker.d.ts +1 -11
- package/dist/decisionBlocker.d.ts.map +1 -1
- package/dist/decisionBlocker.js +1 -41
- package/dist/decisionBlocker.js.map +1 -1
- package/dist/decisionEvidenceBundle/validateDecisionEvidenceBundle.js +1 -1
- package/dist/decisionEvidenceBundle/writeDecisionEvidenceBundle.js +2 -2
- package/dist/decisionEvidenceBundle.test.js +13 -3
- package/dist/decisionEvidenceBundle.test.js.map +1 -1
- package/dist/decisionGate.assertSafe.test.js +1 -1
- package/dist/decisionGate.assertSafe.test.js.map +1 -1
- package/dist/decisionGate.js +1 -1
- package/dist/enforceStateful.js +2 -2
- package/dist/enforceStateful.js.map +1 -1
- package/dist/evidenceCompleteness.d.ts +54 -0
- package/dist/evidenceCompleteness.d.ts.map +1 -0
- package/dist/evidenceCompleteness.js +285 -0
- package/dist/evidenceCompleteness.js.map +1 -0
- package/dist/execution-identity.v1.json +1 -1
- package/dist/formatEvidenceCompletenessHuman.d.ts +12 -0
- package/dist/formatEvidenceCompletenessHuman.d.ts.map +1 -0
- package/dist/formatEvidenceCompletenessHuman.js +47 -0
- package/dist/formatEvidenceCompletenessHuman.js.map +1 -0
- package/dist/governanceEvidence.d.ts +9 -3
- package/dist/governanceEvidence.d.ts.map +1 -1
- package/dist/governanceEvidence.js +10 -5
- package/dist/governanceEvidence.js.map +1 -1
- package/dist/governanceEvidence.test.js +12 -4
- package/dist/governanceEvidence.test.js.map +1 -1
- package/dist/index.d.ts +4 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/langGraphCheckpointTrustGate.js +1 -1
- package/dist/langGraphCheckpointTrustIneligibleCertificate.js +1 -1
- package/dist/loop/loopOutput.d.ts +0 -4
- package/dist/loop/loopOutput.d.ts.map +1 -1
- package/dist/loop/loopOutput.js +3 -6
- package/dist/loop/loopOutput.js.map +1 -1
- package/dist/loop/runLoopSubcommand.d.ts.map +1 -1
- package/dist/loop/runLoopSubcommand.js +0 -2
- package/dist/loop/runLoopSubcommand.js.map +1 -1
- package/dist/outcomeCertificate.d.ts +18 -9
- package/dist/outcomeCertificate.d.ts.map +1 -1
- package/dist/outcomeCertificate.js +54 -8
- package/dist/outcomeCertificate.js.map +1 -1
- package/dist/outcomeCertificate.test.js +1 -1
- package/dist/publicDistribution.generated.d.ts +1 -1
- package/dist/publicDistribution.generated.js +1 -1
- package/dist/quickVerify/formatQuickVerifyHumanReport.test.js +8 -3
- package/dist/quickVerify/formatQuickVerifyHumanReport.test.js.map +1 -1
- package/dist/quickVerify/runQuickVerify.d.ts +3 -1
- package/dist/quickVerify/runQuickVerify.d.ts.map +1 -1
- package/dist/quickVerify/runQuickVerify.js +24 -3
- package/dist/quickVerify/runQuickVerify.js.map +1 -1
- package/dist/redactEvidenceString.d.ts +5 -0
- package/dist/redactEvidenceString.d.ts.map +1 -0
- package/dist/redactEvidenceString.js +17 -0
- package/dist/redactEvidenceString.js.map +1 -0
- package/dist/remediationConsumptionGuard.test.js +1 -0
- package/dist/remediationConsumptionGuard.test.js.map +1 -1
- package/dist/remediationWireSurfaceGuard.test.js +1 -0
- package/dist/remediationWireSurfaceGuard.test.js.map +1 -1
- package/dist/schemaLoad.d.ts +1 -1
- package/dist/schemaLoad.d.ts.map +1 -1
- package/dist/schemaLoad.js +15 -1
- package/dist/schemaLoad.js.map +1 -1
- package/dist/sdk/AgentSkeptic.d.ts +17 -0
- package/dist/sdk/AgentSkeptic.d.ts.map +1 -1
- package/dist/sdk/AgentSkeptic.js +30 -0
- package/dist/sdk/AgentSkeptic.js.map +1 -1
- package/dist/sdk/_generated/openapi-types.d.ts +25 -15
- 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 +6 -3
- package/dist/standardVerifyWorkflowCli.js.map +1 -1
- package/dist/verify/batchVerifyTelemetrySubcommand.d.ts.map +1 -1
- package/dist/verify/batchVerifyTelemetrySubcommand.js +18 -3
- package/dist/verify/batchVerifyTelemetrySubcommand.js.map +1 -1
- package/package.json +4 -3
- package/schemas/decision-evidence-exit-v1.schema.json +1 -1
- package/schemas/evidence-completeness-v1.schema.json +87 -0
- package/schemas/material-truth-v2.schema.json +83 -0
- package/schemas/openapi-commercial-v1.in.yaml +46 -21
- package/schemas/openapi-commercial-v1.yaml +47 -22
- package/schemas/outcome-certificate-v2.schema.json +93 -0
- package/schemas/public-verification-report-v3.schema.json +15 -0
- package/schemas/quick-verify-report.schema.json +6 -2
- package/schemas/regression-artifact-v1.schema.json +1 -1
- package/schemas/trust-decision-record-v1.schema.json +3 -3
- package/dist/decisionBlocker.contract.test.d.ts +0 -2
- package/dist/decisionBlocker.contract.test.d.ts.map +0 -1
- package/dist/decisionBlocker.contract.test.js +0 -51
- package/dist/decisionBlocker.contract.test.js.map +0 -1
- package/dist/loop/failureHints.d.ts +0 -6
- package/dist/loop/failureHints.d.ts.map +0 -1
- package/dist/loop/failureHints.js +0 -36
- package/dist/loop/failureHints.js.map +0 -1
|
@@ -12,7 +12,7 @@ info:
|
|
|
12
12
|
url: __CONTRACT_URL__
|
|
13
13
|
version: __CONTRACT_VERSION__
|
|
14
14
|
manifestSha256: __CONTRACT_SHA__
|
|
15
|
-
description: "__IDENTITY_ONE_LINER__\n\nMachine-readable contract for license preflight used by the published npm CLI.\nBase URL is your deployed app origin (same as NEXT_PUBLIC_APP_URL).\n\nEvery path in this document returns an `x-request-id` response header on all status codes (echo a valid client `x-request-id` when supplied; otherwise server-generated). Non-2xx JSON bodies follow RFC 7807-style Problem Details (`type`, `title`, `status`, `detail`, optional `code`, `instance`) unless noted; `POST /api/v1/usage/reserve` denials additionally include legacy `allowed`, `code`, `message`, and optional `upgrade_url` for backward compatibility.\n"
|
|
15
|
+
description: "__IDENTITY_ONE_LINER__\n\nMachine-readable contract for license preflight used by the published npm CLI.\nBase URL is your deployed app origin (same as NEXT_PUBLIC_APP_URL).\n\nEvery path in this document returns an `x-request-id` response header on all status codes (echo a valid client `x-request-id` when supplied; otherwise server-generated). Non-2xx JSON bodies follow RFC 7807-style Problem Details (`type`, `title`, `status`, `detail`, optional `code`, `instance`) unless noted; `POST /api/v1/usage/reserve` denials additionally include legacy `allowed`, `code`, `message`, and optional `upgrade_url` for backward compatibility.\n\n**Breaking (agentskeptic 5.x):** Hosted enforcement ingestion uses `schema_version` 3 with `outcome_certificate` (Outcome Certificate v2 inner JSON). Legacy `schema_version` 2 payloads with `outcome_certificate_v1` are rejected. `POST /api/v1/funnel/verify-outcome` requires `schema_version` 3 and `evidence_gap_primary`. `POST /api/public/verification-reports` accepts envelope `schemaVersion` 3 only.\n"
|
|
16
16
|
externalDocs:
|
|
17
17
|
description: "First-run integration guide"
|
|
18
18
|
url: __DISTRIBUTION_INTEGRATE_URL__
|
|
@@ -125,7 +125,7 @@ paths:
|
|
|
125
125
|
content:
|
|
126
126
|
application/json:
|
|
127
127
|
schema:
|
|
128
|
-
$ref: "#/components/schemas/
|
|
128
|
+
$ref: "#/components/schemas/EnforcementEvidenceRequestV3"
|
|
129
129
|
responses:
|
|
130
130
|
"200":
|
|
131
131
|
description: Lifecycle transition completed
|
|
@@ -162,7 +162,7 @@ paths:
|
|
|
162
162
|
content:
|
|
163
163
|
application/json:
|
|
164
164
|
schema:
|
|
165
|
-
$ref: "#/components/schemas/
|
|
165
|
+
$ref: "#/components/schemas/EnforcementEvidenceRequestV3"
|
|
166
166
|
responses:
|
|
167
167
|
"200":
|
|
168
168
|
description: Check completed (match, open drift, rerun pass/fail, etc.)
|
|
@@ -187,7 +187,7 @@ paths:
|
|
|
187
187
|
content:
|
|
188
188
|
application/json:
|
|
189
189
|
schema:
|
|
190
|
-
$ref: "#/components/schemas/
|
|
190
|
+
$ref: "#/components/schemas/EnforcementAcceptEvidenceRequestV3"
|
|
191
191
|
responses:
|
|
192
192
|
"200":
|
|
193
193
|
description: Baseline updated; rerun POST /check required before returning to trusted-only posture
|
|
@@ -315,7 +315,7 @@ paths:
|
|
|
315
315
|
summary: Licensed verify-outcome beacon (idempotent per API key + run_id)
|
|
316
316
|
description: >
|
|
317
317
|
POST after a successful `POST /api/v1/usage/reserve` for the same `run_id`. Success is HTTP 204 with an empty body.
|
|
318
|
-
Requires Bearer API key. Body
|
|
318
|
+
Requires Bearer API key. Body `schema_version` must be 3 (`VerifyOutcomeRequestV3`). `evidence_gap_primary` duplicates `certificate.evidenceCompleteness.blockerCategory` at CLI emission time.
|
|
319
319
|
security:
|
|
320
320
|
- bearerAuth: []
|
|
321
321
|
requestBody:
|
|
@@ -323,7 +323,7 @@ paths:
|
|
|
323
323
|
content:
|
|
324
324
|
application/json:
|
|
325
325
|
schema:
|
|
326
|
-
$ref: "#/components/schemas/
|
|
326
|
+
$ref: "#/components/schemas/VerifyOutcomeRequestV3"
|
|
327
327
|
responses:
|
|
328
328
|
"204":
|
|
329
329
|
description: Beacon accepted (or duplicate ignored)
|
|
@@ -556,27 +556,28 @@ components:
|
|
|
556
556
|
scheme: bearer
|
|
557
557
|
bearerFormat: API key
|
|
558
558
|
schemas:
|
|
559
|
-
|
|
559
|
+
EnforcementEvidenceRequestV3:
|
|
560
560
|
type: object
|
|
561
|
-
required: [schema_version, run_id, workflow_id,
|
|
561
|
+
required: [schema_version, run_id, workflow_id, outcome_certificate, material_truth_sha256, certificate_sha256]
|
|
562
562
|
properties:
|
|
563
563
|
schema_version:
|
|
564
564
|
type: integer
|
|
565
|
-
const:
|
|
565
|
+
const: 3
|
|
566
566
|
run_id:
|
|
567
567
|
type: string
|
|
568
568
|
workflow_id:
|
|
569
569
|
type: string
|
|
570
|
-
|
|
570
|
+
outcome_certificate:
|
|
571
571
|
type: object
|
|
572
572
|
additionalProperties: true
|
|
573
|
+
description: Outcome Certificate v2 JSON (schemaVersion 2) including evidenceCompleteness
|
|
573
574
|
material_truth_sha256:
|
|
574
575
|
type: string
|
|
575
576
|
certificate_sha256:
|
|
576
577
|
type: string
|
|
577
578
|
EnforcementFsmEnvelopeV2:
|
|
578
579
|
type: object
|
|
579
|
-
description: Hosted enforcement lifecycle
|
|
580
|
+
description: Hosted enforcement lifecycle response envelope for POST /check | /baselines | /accept (schema_version 2 on responses; distinct from evidence ingestion schema_version 3).
|
|
580
581
|
required: [schema_version, code]
|
|
581
582
|
properties:
|
|
582
583
|
schema_version:
|
|
@@ -587,9 +588,9 @@ components:
|
|
|
587
588
|
quota_enforced_via_reserve:
|
|
588
589
|
type: boolean
|
|
589
590
|
additionalProperties: true
|
|
590
|
-
|
|
591
|
+
EnforcementAcceptEvidenceRequestV3:
|
|
591
592
|
allOf:
|
|
592
|
-
- $ref: "#/components/schemas/
|
|
593
|
+
- $ref: "#/components/schemas/EnforcementEvidenceRequestV3"
|
|
593
594
|
- type: object
|
|
594
595
|
required: [expected_projection_hash, lifecycle_state_version]
|
|
595
596
|
properties:
|
|
@@ -715,13 +716,14 @@ components:
|
|
|
715
716
|
type: string
|
|
716
717
|
code:
|
|
717
718
|
type: string
|
|
718
|
-
|
|
719
|
+
VerifyOutcomeRequestV3:
|
|
719
720
|
type: object
|
|
720
721
|
required:
|
|
721
722
|
- schema_version
|
|
722
723
|
- run_id
|
|
723
724
|
- workflow_id
|
|
724
725
|
- trust_decision
|
|
726
|
+
- evidence_gap_primary
|
|
725
727
|
- reason_codes
|
|
726
728
|
- terminal_status
|
|
727
729
|
- workload_class
|
|
@@ -729,7 +731,7 @@ components:
|
|
|
729
731
|
properties:
|
|
730
732
|
schema_version:
|
|
731
733
|
type: integer
|
|
732
|
-
const:
|
|
734
|
+
const: 3
|
|
733
735
|
run_id:
|
|
734
736
|
type: string
|
|
735
737
|
maxLength: 256
|
|
@@ -739,6 +741,24 @@ components:
|
|
|
739
741
|
trust_decision:
|
|
740
742
|
type: string
|
|
741
743
|
enum: [safe, unsafe, unknown]
|
|
744
|
+
evidence_gap_primary:
|
|
745
|
+
type: string
|
|
746
|
+
enum:
|
|
747
|
+
- "none"
|
|
748
|
+
- "preview_lane"
|
|
749
|
+
- "ingest_empty"
|
|
750
|
+
- "ingest_unstructured"
|
|
751
|
+
- "registry_unknown_tool"
|
|
752
|
+
- "registry_resolution"
|
|
753
|
+
- "database_access"
|
|
754
|
+
- "timing_or_window"
|
|
755
|
+
- "witness_unavailable"
|
|
756
|
+
- "state_mismatch"
|
|
757
|
+
- "verification_incomplete"
|
|
758
|
+
- "event_sequence"
|
|
759
|
+
- "control_flow_context"
|
|
760
|
+
- "unclassified"
|
|
761
|
+
description: Mirrors Outcome Certificate evidenceCompleteness.blockerCategory at CLI emission time
|
|
742
762
|
reason_codes:
|
|
743
763
|
type: array
|
|
744
764
|
maxItems: 8
|
|
@@ -752,7 +772,12 @@ components:
|
|
|
752
772
|
enum: [bundled_examples, non_bundled]
|
|
753
773
|
subcommand:
|
|
754
774
|
type: string
|
|
755
|
-
enum: [batch_verify, quick_verify, verify_integrator_owned]
|
|
775
|
+
enum: [batch_verify, quick_verify, verify_integrator_owned, activate]
|
|
776
|
+
activation:
|
|
777
|
+
description: Present only when subcommand is activate (mirrors ActivationManifest-derived wire)
|
|
778
|
+
type: object
|
|
779
|
+
nullable: true
|
|
780
|
+
additionalProperties: true
|
|
756
781
|
TrustDecisionRecordRequestV1:
|
|
757
782
|
type: object
|
|
758
783
|
additionalProperties: false
|
|
@@ -792,8 +817,8 @@ components:
|
|
|
792
817
|
$ref: "#/components/schemas/TrustCertificateSnapshotRequestV1"
|
|
793
818
|
human_blocker_lines:
|
|
794
819
|
type: array
|
|
795
|
-
minItems:
|
|
796
|
-
maxItems:
|
|
820
|
+
minItems: 1
|
|
821
|
+
maxItems: 48
|
|
797
822
|
items:
|
|
798
823
|
type: string
|
|
799
824
|
TrustCertificateSnapshotRequestV1:
|
|
@@ -907,8 +932,8 @@ components:
|
|
|
907
932
|
additionalProperties: false
|
|
908
933
|
PublicVerificationReportCreate:
|
|
909
934
|
description: >
|
|
910
|
-
POST accepts schemaVersion
|
|
911
|
-
schemas/public-verification-report-
|
|
935
|
+
POST accepts schemaVersion 3 only: { "schemaVersion": 3, "certificate": <OutcomeCertificateV2> } per
|
|
936
|
+
schemas/public-verification-report-v3.schema.json. Legacy envelope POST bodies return HTTP 400.
|
|
912
937
|
type: object
|
|
913
938
|
additionalProperties: true
|
|
914
939
|
PublicVerificationReportCreated:
|
|
@@ -921,7 +946,7 @@ components:
|
|
|
921
946
|
properties:
|
|
922
947
|
schemaVersion:
|
|
923
948
|
type: integer
|
|
924
|
-
const:
|
|
949
|
+
const: 3
|
|
925
950
|
id:
|
|
926
951
|
type: string
|
|
927
952
|
format: uuid
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
openapi: "3.0.3"
|
|
2
2
|
info:
|
|
3
3
|
title: AgentSkeptic commercial license API
|
|
4
|
-
version: "
|
|
4
|
+
version: "5.0.0"
|
|
5
5
|
contact:
|
|
6
6
|
url: https://agentskeptic.com
|
|
7
7
|
x-agentskeptic-distribution:
|
|
@@ -12,7 +12,7 @@ info:
|
|
|
12
12
|
url: https://agentskeptic.com/contract/v1.json
|
|
13
13
|
version: "1.0.1"
|
|
14
14
|
manifestSha256: "c5f23ec43576716c4b9a13e752cd2962a78bb4b4da1f9e521f911e15dfd80268"
|
|
15
|
-
description: "Read-only checks at verify time—not color.\n\nMachine-readable contract for license preflight used by the published npm CLI.\nBase URL is your deployed app origin (same as NEXT_PUBLIC_APP_URL).\n\nEvery path in this document returns an `x-request-id` response header on all status codes (echo a valid client `x-request-id` when supplied; otherwise server-generated). Non-2xx JSON bodies follow RFC 7807-style Problem Details (`type`, `title`, `status`, `detail`, optional `code`, `instance`) unless noted; `POST /api/v1/usage/reserve` denials additionally include legacy `allowed`, `code`, `message`, and optional `upgrade_url` for backward compatibility.\n"
|
|
15
|
+
description: "Read-only checks at verify time—not color.\n\nMachine-readable contract for license preflight used by the published npm CLI.\nBase URL is your deployed app origin (same as NEXT_PUBLIC_APP_URL).\n\nEvery path in this document returns an `x-request-id` response header on all status codes (echo a valid client `x-request-id` when supplied; otherwise server-generated). Non-2xx JSON bodies follow RFC 7807-style Problem Details (`type`, `title`, `status`, `detail`, optional `code`, `instance`) unless noted; `POST /api/v1/usage/reserve` denials additionally include legacy `allowed`, `code`, `message`, and optional `upgrade_url` for backward compatibility.\n\n**Breaking (agentskeptic 5.x):** Hosted enforcement ingestion uses `schema_version` 3 with `outcome_certificate` (Outcome Certificate v2 inner JSON). Legacy `schema_version` 2 payloads with `outcome_certificate_v1` are rejected. `POST /api/v1/funnel/verify-outcome` requires `schema_version` 3 and `evidence_gap_primary`. `POST /api/public/verification-reports` accepts envelope `schemaVersion` 3 only.\n"
|
|
16
16
|
externalDocs:
|
|
17
17
|
description: "First-run integration guide"
|
|
18
18
|
url: https://agentskeptic.com/integrate
|
|
@@ -125,7 +125,7 @@ paths:
|
|
|
125
125
|
content:
|
|
126
126
|
application/json:
|
|
127
127
|
schema:
|
|
128
|
-
$ref: "#/components/schemas/
|
|
128
|
+
$ref: "#/components/schemas/EnforcementEvidenceRequestV3"
|
|
129
129
|
responses:
|
|
130
130
|
"200":
|
|
131
131
|
description: Lifecycle transition completed
|
|
@@ -162,7 +162,7 @@ paths:
|
|
|
162
162
|
content:
|
|
163
163
|
application/json:
|
|
164
164
|
schema:
|
|
165
|
-
$ref: "#/components/schemas/
|
|
165
|
+
$ref: "#/components/schemas/EnforcementEvidenceRequestV3"
|
|
166
166
|
responses:
|
|
167
167
|
"200":
|
|
168
168
|
description: Check completed (match, open drift, rerun pass/fail, etc.)
|
|
@@ -187,7 +187,7 @@ paths:
|
|
|
187
187
|
content:
|
|
188
188
|
application/json:
|
|
189
189
|
schema:
|
|
190
|
-
$ref: "#/components/schemas/
|
|
190
|
+
$ref: "#/components/schemas/EnforcementAcceptEvidenceRequestV3"
|
|
191
191
|
responses:
|
|
192
192
|
"200":
|
|
193
193
|
description: Baseline updated; rerun POST /check required before returning to trusted-only posture
|
|
@@ -315,7 +315,7 @@ paths:
|
|
|
315
315
|
summary: Licensed verify-outcome beacon (idempotent per API key + run_id)
|
|
316
316
|
description: >
|
|
317
317
|
POST after a successful `POST /api/v1/usage/reserve` for the same `run_id`. Success is HTTP 204 with an empty body.
|
|
318
|
-
Requires Bearer API key. Body
|
|
318
|
+
Requires Bearer API key. Body `schema_version` must be 3 (`VerifyOutcomeRequestV3`). `evidence_gap_primary` duplicates `certificate.evidenceCompleteness.blockerCategory` at CLI emission time.
|
|
319
319
|
security:
|
|
320
320
|
- bearerAuth: []
|
|
321
321
|
requestBody:
|
|
@@ -323,7 +323,7 @@ paths:
|
|
|
323
323
|
content:
|
|
324
324
|
application/json:
|
|
325
325
|
schema:
|
|
326
|
-
$ref: "#/components/schemas/
|
|
326
|
+
$ref: "#/components/schemas/VerifyOutcomeRequestV3"
|
|
327
327
|
responses:
|
|
328
328
|
"204":
|
|
329
329
|
description: Beacon accepted (or duplicate ignored)
|
|
@@ -556,27 +556,28 @@ components:
|
|
|
556
556
|
scheme: bearer
|
|
557
557
|
bearerFormat: API key
|
|
558
558
|
schemas:
|
|
559
|
-
|
|
559
|
+
EnforcementEvidenceRequestV3:
|
|
560
560
|
type: object
|
|
561
|
-
required: [schema_version, run_id, workflow_id,
|
|
561
|
+
required: [schema_version, run_id, workflow_id, outcome_certificate, material_truth_sha256, certificate_sha256]
|
|
562
562
|
properties:
|
|
563
563
|
schema_version:
|
|
564
564
|
type: integer
|
|
565
|
-
const:
|
|
565
|
+
const: 3
|
|
566
566
|
run_id:
|
|
567
567
|
type: string
|
|
568
568
|
workflow_id:
|
|
569
569
|
type: string
|
|
570
|
-
|
|
570
|
+
outcome_certificate:
|
|
571
571
|
type: object
|
|
572
572
|
additionalProperties: true
|
|
573
|
+
description: Outcome Certificate v2 JSON (schemaVersion 2) including evidenceCompleteness
|
|
573
574
|
material_truth_sha256:
|
|
574
575
|
type: string
|
|
575
576
|
certificate_sha256:
|
|
576
577
|
type: string
|
|
577
578
|
EnforcementFsmEnvelopeV2:
|
|
578
579
|
type: object
|
|
579
|
-
description: Hosted enforcement lifecycle
|
|
580
|
+
description: Hosted enforcement lifecycle response envelope for POST /check | /baselines | /accept (schema_version 2 on responses; distinct from evidence ingestion schema_version 3).
|
|
580
581
|
required: [schema_version, code]
|
|
581
582
|
properties:
|
|
582
583
|
schema_version:
|
|
@@ -587,9 +588,9 @@ components:
|
|
|
587
588
|
quota_enforced_via_reserve:
|
|
588
589
|
type: boolean
|
|
589
590
|
additionalProperties: true
|
|
590
|
-
|
|
591
|
+
EnforcementAcceptEvidenceRequestV3:
|
|
591
592
|
allOf:
|
|
592
|
-
- $ref: "#/components/schemas/
|
|
593
|
+
- $ref: "#/components/schemas/EnforcementEvidenceRequestV3"
|
|
593
594
|
- type: object
|
|
594
595
|
required: [expected_projection_hash, lifecycle_state_version]
|
|
595
596
|
properties:
|
|
@@ -715,13 +716,14 @@ components:
|
|
|
715
716
|
type: string
|
|
716
717
|
code:
|
|
717
718
|
type: string
|
|
718
|
-
|
|
719
|
+
VerifyOutcomeRequestV3:
|
|
719
720
|
type: object
|
|
720
721
|
required:
|
|
721
722
|
- schema_version
|
|
722
723
|
- run_id
|
|
723
724
|
- workflow_id
|
|
724
725
|
- trust_decision
|
|
726
|
+
- evidence_gap_primary
|
|
725
727
|
- reason_codes
|
|
726
728
|
- terminal_status
|
|
727
729
|
- workload_class
|
|
@@ -729,7 +731,7 @@ components:
|
|
|
729
731
|
properties:
|
|
730
732
|
schema_version:
|
|
731
733
|
type: integer
|
|
732
|
-
const:
|
|
734
|
+
const: 3
|
|
733
735
|
run_id:
|
|
734
736
|
type: string
|
|
735
737
|
maxLength: 256
|
|
@@ -739,6 +741,24 @@ components:
|
|
|
739
741
|
trust_decision:
|
|
740
742
|
type: string
|
|
741
743
|
enum: [safe, unsafe, unknown]
|
|
744
|
+
evidence_gap_primary:
|
|
745
|
+
type: string
|
|
746
|
+
enum:
|
|
747
|
+
- "none"
|
|
748
|
+
- "preview_lane"
|
|
749
|
+
- "ingest_empty"
|
|
750
|
+
- "ingest_unstructured"
|
|
751
|
+
- "registry_unknown_tool"
|
|
752
|
+
- "registry_resolution"
|
|
753
|
+
- "database_access"
|
|
754
|
+
- "timing_or_window"
|
|
755
|
+
- "witness_unavailable"
|
|
756
|
+
- "state_mismatch"
|
|
757
|
+
- "verification_incomplete"
|
|
758
|
+
- "event_sequence"
|
|
759
|
+
- "control_flow_context"
|
|
760
|
+
- "unclassified"
|
|
761
|
+
description: Mirrors Outcome Certificate evidenceCompleteness.blockerCategory at CLI emission time
|
|
742
762
|
reason_codes:
|
|
743
763
|
type: array
|
|
744
764
|
maxItems: 8
|
|
@@ -752,7 +772,12 @@ components:
|
|
|
752
772
|
enum: [bundled_examples, non_bundled]
|
|
753
773
|
subcommand:
|
|
754
774
|
type: string
|
|
755
|
-
enum: [batch_verify, quick_verify, verify_integrator_owned]
|
|
775
|
+
enum: [batch_verify, quick_verify, verify_integrator_owned, activate]
|
|
776
|
+
activation:
|
|
777
|
+
description: Present only when subcommand is activate (mirrors ActivationManifest-derived wire)
|
|
778
|
+
type: object
|
|
779
|
+
nullable: true
|
|
780
|
+
additionalProperties: true
|
|
756
781
|
TrustDecisionRecordRequestV1:
|
|
757
782
|
type: object
|
|
758
783
|
additionalProperties: false
|
|
@@ -792,8 +817,8 @@ components:
|
|
|
792
817
|
$ref: "#/components/schemas/TrustCertificateSnapshotRequestV1"
|
|
793
818
|
human_blocker_lines:
|
|
794
819
|
type: array
|
|
795
|
-
minItems:
|
|
796
|
-
maxItems:
|
|
820
|
+
minItems: 1
|
|
821
|
+
maxItems: 48
|
|
797
822
|
items:
|
|
798
823
|
type: string
|
|
799
824
|
TrustCertificateSnapshotRequestV1:
|
|
@@ -907,8 +932,8 @@ components:
|
|
|
907
932
|
additionalProperties: false
|
|
908
933
|
PublicVerificationReportCreate:
|
|
909
934
|
description: >
|
|
910
|
-
POST accepts schemaVersion
|
|
911
|
-
schemas/public-verification-report-
|
|
935
|
+
POST accepts schemaVersion 3 only: { "schemaVersion": 3, "certificate": <OutcomeCertificateV2> } per
|
|
936
|
+
schemas/public-verification-report-v3.schema.json. Legacy envelope POST bodies return HTTP 400.
|
|
912
937
|
type: object
|
|
913
938
|
additionalProperties: true
|
|
914
939
|
PublicVerificationReportCreated:
|
|
@@ -921,7 +946,7 @@ components:
|
|
|
921
946
|
properties:
|
|
922
947
|
schemaVersion:
|
|
923
948
|
type: integer
|
|
924
|
-
const:
|
|
949
|
+
const: 3
|
|
925
950
|
id:
|
|
926
951
|
type: string
|
|
927
952
|
format: uuid
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$id": "https://agentskeptic.com/schemas/outcome-certificate-v2.schema.json",
|
|
3
|
+
"title": "OutcomeCertificateV2",
|
|
4
|
+
"type": "object",
|
|
5
|
+
"additionalProperties": false,
|
|
6
|
+
"required": [
|
|
7
|
+
"schemaVersion",
|
|
8
|
+
"workflowId",
|
|
9
|
+
"runKind",
|
|
10
|
+
"stateRelation",
|
|
11
|
+
"highStakesReliance",
|
|
12
|
+
"relianceRationale",
|
|
13
|
+
"intentSummary",
|
|
14
|
+
"explanation",
|
|
15
|
+
"steps",
|
|
16
|
+
"humanReport",
|
|
17
|
+
"evidenceCompleteness"
|
|
18
|
+
],
|
|
19
|
+
"properties": {
|
|
20
|
+
"schemaVersion": { "type": "integer", "const": 2 },
|
|
21
|
+
"workflowId": { "type": "string", "minLength": 1, "maxLength": 512 },
|
|
22
|
+
"runKind": {
|
|
23
|
+
"type": "string",
|
|
24
|
+
"enum": ["contract_sql", "contract_sql_langgraph_checkpoint_trust", "quick_preview"]
|
|
25
|
+
},
|
|
26
|
+
"stateRelation": {
|
|
27
|
+
"type": "string",
|
|
28
|
+
"enum": ["matches_expectations", "does_not_match", "not_established"]
|
|
29
|
+
},
|
|
30
|
+
"highStakesReliance": { "type": "string", "enum": ["permitted", "prohibited"] },
|
|
31
|
+
"relianceRationale": { "type": "string", "minLength": 1, "maxLength": 8192 },
|
|
32
|
+
"intentSummary": { "type": "string", "minLength": 1, "maxLength": 8192 },
|
|
33
|
+
"explanation": {
|
|
34
|
+
"type": "object",
|
|
35
|
+
"additionalProperties": false,
|
|
36
|
+
"required": ["headline", "details"],
|
|
37
|
+
"properties": {
|
|
38
|
+
"headline": { "type": "string", "minLength": 1, "maxLength": 2048 },
|
|
39
|
+
"details": {
|
|
40
|
+
"type": "array",
|
|
41
|
+
"items": {
|
|
42
|
+
"type": "object",
|
|
43
|
+
"additionalProperties": false,
|
|
44
|
+
"required": ["code", "message"],
|
|
45
|
+
"properties": {
|
|
46
|
+
"code": { "type": "string", "minLength": 1, "maxLength": 256 },
|
|
47
|
+
"message": { "type": "string", "minLength": 1, "maxLength": 4096 }
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
},
|
|
53
|
+
"steps": {
|
|
54
|
+
"type": "array",
|
|
55
|
+
"items": {
|
|
56
|
+
"type": "object",
|
|
57
|
+
"additionalProperties": false,
|
|
58
|
+
"required": ["seq", "declaredAction", "expectedOutcome", "observedOutcome"],
|
|
59
|
+
"properties": {
|
|
60
|
+
"seq": { "type": "integer", "minimum": 0 },
|
|
61
|
+
"toolId": { "type": "string", "maxLength": 512 },
|
|
62
|
+
"declaredAction": { "type": "string", "minLength": 1, "maxLength": 4096 },
|
|
63
|
+
"expectedOutcome": { "type": "string", "minLength": 1, "maxLength": 4096 },
|
|
64
|
+
"observedOutcome": { "type": "string", "minLength": 1, "maxLength": 8192 }
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
},
|
|
68
|
+
"humanReport": { "type": "string", "minLength": 1, "maxLength": 1048576 },
|
|
69
|
+
"checkpointVerdicts": {
|
|
70
|
+
"type": "array",
|
|
71
|
+
"items": {
|
|
72
|
+
"type": "object",
|
|
73
|
+
"additionalProperties": false,
|
|
74
|
+
"required": ["checkpointKey", "verdict", "seqs", "productionMeaning"],
|
|
75
|
+
"properties": {
|
|
76
|
+
"checkpointKey": { "type": "string", "minLength": 1, "maxLength": 2048 },
|
|
77
|
+
"verdict": {
|
|
78
|
+
"type": "string",
|
|
79
|
+
"enum": ["verified", "inconsistent", "incomplete"]
|
|
80
|
+
},
|
|
81
|
+
"seqs": {
|
|
82
|
+
"type": "array",
|
|
83
|
+
"items": { "type": "integer", "minimum": 0 }
|
|
84
|
+
},
|
|
85
|
+
"productionMeaning": { "type": "string", "minLength": 1, "maxLength": 8192 }
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
},
|
|
89
|
+
"evidenceCompleteness": {
|
|
90
|
+
"$ref": "https://agentskeptic.com/schemas/evidence-completeness-v1.schema.json"
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$id": "https://agentskeptic.com/schemas/public-verification-report-v3.schema.json",
|
|
3
|
+
"title": "PublicVerificationReportEnvelopeV3",
|
|
4
|
+
"type": "object",
|
|
5
|
+
"additionalProperties": false,
|
|
6
|
+
"required": ["schemaVersion", "certificate"],
|
|
7
|
+
"properties": {
|
|
8
|
+
"schemaVersion": { "type": "integer", "const": 3 },
|
|
9
|
+
"certificate": {
|
|
10
|
+
"$ref": "https://agentskeptic.com/schemas/outcome-certificate-v2.schema.json"
|
|
11
|
+
},
|
|
12
|
+
"cliVersion": { "type": "string", "maxLength": 128 },
|
|
13
|
+
"createdFrom": { "type": "string", "maxLength": 256 }
|
|
14
|
+
}
|
|
15
|
+
}
|
|
@@ -12,10 +12,11 @@
|
|
|
12
12
|
"ingest",
|
|
13
13
|
"units",
|
|
14
14
|
"exportableRegistry",
|
|
15
|
-
"productTruth"
|
|
15
|
+
"productTruth",
|
|
16
|
+
"evidenceCompleteness"
|
|
16
17
|
],
|
|
17
18
|
"properties": {
|
|
18
|
-
"schemaVersion": { "type": "integer", "const":
|
|
19
|
+
"schemaVersion": { "type": "integer", "const": 5 },
|
|
19
20
|
"verdict": { "type": "string", "enum": ["pass", "fail", "uncertain"] },
|
|
20
21
|
"summary": { "type": "string", "minLength": 1 },
|
|
21
22
|
"verificationMode": { "type": "string", "const": "inferred" },
|
|
@@ -246,6 +247,9 @@
|
|
|
246
247
|
"quickVerifyProvisional": { "type": "boolean", "const": true },
|
|
247
248
|
"contractReplayPartialCoverage": { "type": "boolean" }
|
|
248
249
|
}
|
|
250
|
+
},
|
|
251
|
+
"evidenceCompleteness": {
|
|
252
|
+
"$ref": "https://agentskeptic.com/schemas/evidence-completeness-v1.schema.json"
|
|
249
253
|
}
|
|
250
254
|
}
|
|
251
255
|
}
|
|
@@ -82,7 +82,7 @@
|
|
|
82
82
|
"enum": ["contract_sql", "contract_sql_langgraph_checkpoint_trust"]
|
|
83
83
|
},
|
|
84
84
|
"certificateCanonicalDigest": { "type": "string", "pattern": "^[a-f0-9]{64}$" },
|
|
85
|
-
"certificate": { "$ref": "https://agentskeptic.com/schemas/outcome-certificate-
|
|
85
|
+
"certificate": { "$ref": "https://agentskeptic.com/schemas/outcome-certificate-v2.schema.json" }
|
|
86
86
|
}
|
|
87
87
|
}
|
|
88
88
|
},
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"decisionBlocker.contract.test.d.ts","sourceRoot":"","sources":["../src/decisionBlocker.contract.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
import { readFileSync, mkdtempSync, rmSync } from "node:fs";
|
|
2
|
-
import { join, dirname } from "node:path";
|
|
3
|
-
import { tmpdir } from "node:os";
|
|
4
|
-
import { fileURLToPath } from "node:url";
|
|
5
|
-
import { DatabaseSync } from "node:sqlite";
|
|
6
|
-
import { afterAll, beforeAll, describe, expect, it } from "vitest";
|
|
7
|
-
import { buildOutcomeCertificateFromWorkflowResult } from "./outcomeCertificate.js";
|
|
8
|
-
import { formatDecisionBlockerForHumans } from "./decisionBlocker.js";
|
|
9
|
-
import { verifyWorkflow } from "./pipeline.js";
|
|
10
|
-
const root = join(dirname(fileURLToPath(import.meta.url)), "..");
|
|
11
|
-
describe("formatDecisionBlockerForHumans contract", () => {
|
|
12
|
-
/** Seeded SQLite under tmp — `examples/demo.db` is gitignored and absent on clean CI. */
|
|
13
|
-
let workDir;
|
|
14
|
-
let dbPath;
|
|
15
|
-
beforeAll(() => {
|
|
16
|
-
workDir = mkdtempSync(join(tmpdir(), "agentskeptic-decision-blocker-"));
|
|
17
|
-
dbPath = join(workDir, "demo.db");
|
|
18
|
-
const sql = readFileSync(join(root, "examples", "seed.sql"), "utf8");
|
|
19
|
-
const db = new DatabaseSync(dbPath);
|
|
20
|
-
db.exec(sql);
|
|
21
|
-
db.close();
|
|
22
|
-
});
|
|
23
|
-
afterAll(() => {
|
|
24
|
-
rmSync(workDir, { recursive: true, force: true });
|
|
25
|
-
});
|
|
26
|
-
it("emits exactly six lines with required tokens for wf_missing certificate", async () => {
|
|
27
|
-
const eventsPath = join(root, "examples", "events.ndjson");
|
|
28
|
-
const registryPath = join(root, "examples", "tools.json");
|
|
29
|
-
const result = await verifyWorkflow({
|
|
30
|
-
workflowId: "wf_missing",
|
|
31
|
-
eventsPath,
|
|
32
|
-
registryPath,
|
|
33
|
-
database: { kind: "sqlite", path: dbPath },
|
|
34
|
-
logStep: () => { },
|
|
35
|
-
truthReport: () => { },
|
|
36
|
-
});
|
|
37
|
-
const certificate = buildOutcomeCertificateFromWorkflowResult(result, "contract_sql");
|
|
38
|
-
const { lines, trustDecision } = formatDecisionBlockerForHumans(certificate);
|
|
39
|
-
expect(trustDecision).toBe("unsafe");
|
|
40
|
-
expect(lines).toHaveLength(6);
|
|
41
|
-
expect(lines[0]).toMatch(/^Trust: unsafe$/);
|
|
42
|
-
expect(lines[1]).toMatch(/^Workflow: wf_missing$/);
|
|
43
|
-
expect(lines[2]).toMatch(/^First problem step: seq=/);
|
|
44
|
-
expect(lines[2]).toContain("tool=crm.upsert_contact");
|
|
45
|
-
expect(lines[2]).toContain("status=missing");
|
|
46
|
-
expect(lines[3]).toContain("ROW_ABSENT");
|
|
47
|
-
expect(lines[4]).toMatch(/^Expected: /);
|
|
48
|
-
expect(lines[5]).toMatch(/^Observed: /);
|
|
49
|
-
});
|
|
50
|
-
});
|
|
51
|
-
//# sourceMappingURL=decisionBlocker.contract.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"decisionBlocker.contract.test.js","sourceRoot":"","sources":["../src/decisionBlocker.contract.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"failureHints.d.ts","sourceRoot":"","sources":["../../src/loop/failureHints.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAyBrE,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,oBAAoB,GAAG;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAW/G"}
|