agentskeptic 3.4.0 → 3.5.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.
Files changed (50) hide show
  1. package/dist/cli.js +109 -18
  2. package/dist/cli.js.map +1 -1
  3. package/dist/cliExecutionFinalize.d.ts +43 -0
  4. package/dist/cliExecutionFinalize.d.ts.map +1 -0
  5. package/dist/cliExecutionFinalize.js +149 -0
  6. package/dist/cliExecutionFinalize.js.map +1 -0
  7. package/dist/cliOperationalCodes.d.ts +4 -0
  8. package/dist/cliOperationalCodes.d.ts.map +1 -1
  9. package/dist/cliOperationalCodes.js +4 -0
  10. package/dist/cliOperationalCodes.js.map +1 -1
  11. package/dist/enforceCli.d.ts.map +1 -1
  12. package/dist/enforceCli.js +22 -3
  13. package/dist/enforceCli.js.map +1 -1
  14. package/dist/enforceStateful.d.ts.map +1 -1
  15. package/dist/enforceStateful.js +150 -97
  16. package/dist/enforceStateful.js.map +1 -1
  17. package/dist/execution-identity.v1.json +14 -0
  18. package/dist/executionIdentityVerifyCli.d.ts +7 -0
  19. package/dist/executionIdentityVerifyCli.d.ts.map +1 -0
  20. package/dist/executionIdentityVerifyCli.js +84 -0
  21. package/dist/executionIdentityVerifyCli.js.map +1 -0
  22. package/dist/mergeGateReceiptFinalize.d.ts +16 -0
  23. package/dist/mergeGateReceiptFinalize.d.ts.map +1 -0
  24. package/dist/mergeGateReceiptFinalize.js +40 -0
  25. package/dist/mergeGateReceiptFinalize.js.map +1 -0
  26. package/dist/operationalDisposition.d.ts +32 -0
  27. package/dist/operationalDisposition.d.ts.map +1 -1
  28. package/dist/operationalDisposition.js +32 -0
  29. package/dist/operationalDisposition.js.map +1 -1
  30. package/dist/publicDistribution.generated.d.ts +1 -1
  31. package/dist/publicDistribution.generated.js +1 -1
  32. package/dist/standardVerifyWorkflowCli.d.ts +2 -0
  33. package/dist/standardVerifyWorkflowCli.d.ts.map +1 -1
  34. package/dist/standardVerifyWorkflowCli.js +3 -0
  35. package/dist/standardVerifyWorkflowCli.js.map +1 -1
  36. package/dist/verificationReceipt.d.ts +44 -0
  37. package/dist/verificationReceipt.d.ts.map +1 -0
  38. package/dist/verificationReceipt.js +131 -0
  39. package/dist/verificationReceipt.js.map +1 -0
  40. package/dist/verify/batchVerifyTelemetrySubcommand.d.ts.map +1 -1
  41. package/dist/verify/batchVerifyTelemetrySubcommand.js +80 -16
  42. package/dist/verify/batchVerifyTelemetrySubcommand.js.map +1 -1
  43. package/package.json +4 -3
  44. package/schemas/agentskeptic-error-codes.json +28 -0
  45. package/schemas/ci/verification-truth.manifest.json +30 -1
  46. package/schemas/ci/verification-truth.manifest.schema.json +6 -1
  47. package/schemas/execution-identity-v1.schema.json +36 -0
  48. package/schemas/openapi-commercial-v1.yaml +1 -1
  49. package/schemas/verification-receipt-v1.schema.json +108 -0
  50. package/scripts/emit-primary-marketing.cjs +1 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agentskeptic",
3
- "version": "3.4.0",
3
+ "version": "3.5.0",
4
4
  "description": "AgentSkeptic compares agent claims with real downstream state — databases, APIs, object stores, and vector stores — and returns a clear verdict.",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -30,7 +30,7 @@
30
30
  "prepublishOnly": "node scripts/build-commercial.mjs",
31
31
  "codegen:types": "openapi-typescript schemas/openapi-commercial-v1.yaml -o src/sdk/_generated/openapi-types.ts",
32
32
  "codegen:error-codes": "node scripts/generate-agentskeptic-error-codes.mjs",
33
- "build": "node scripts/write-commercial-build-flags.mjs --oss && node scripts/sync-failure-origin-from-schema.mjs && tsc && node scripts/copy-cli-init-assets.mjs && node scripts/copy-debug-ui.mjs && node scripts/write-discovery-payload.mjs",
33
+ "build": "node scripts/write-commercial-build-flags.mjs --oss && node scripts/sync-failure-origin-from-schema.mjs && tsc && node scripts/write-execution-identity.mjs && node scripts/copy-cli-init-assets.mjs && node scripts/copy-debug-ui.mjs && node scripts/write-discovery-payload.mjs",
34
34
  "build:commercial": "node scripts/build-commercial.mjs",
35
35
  "start": "npm run build && node scripts/demo.mjs",
36
36
  "dev": "npm run dev -w agentskeptic-web",
@@ -40,7 +40,8 @@
40
40
  "test:postgres": "node scripts/run-postgres-node-test-batch.mjs",
41
41
  "test:workflow-truth-contract": "node scripts/run-workflow-truth-contract.mjs",
42
42
  "validate-ttfv": "node scripts/validate-ttfv.mjs",
43
- "test:python": "node scripts/check-python-no-subprocess.mjs && node scripts/assert-python-langgraph-primacy.mjs && cd python && python -m pip install -e \".[dev]\" -q && python -m pytest tests/ -q",
43
+ "replay:verification": "docker compose -f compose.verification-replay.yml run --rm verifier",
44
+ "test:python": "node scripts/run-python-test-suite.mjs",
44
45
  "test": "node scripts/verification-truth.mjs",
45
46
  "test:debug-ui": "playwright test",
46
47
  "test:ci": "node scripts/verification-truth.mjs",
@@ -345,6 +345,20 @@
345
345
  "retryable": false,
346
346
  "remediation": "See docs/migrate-2.md and the AgentSkeptic 2.0 integrator guide (docs/integrate.md)."
347
347
  },
348
+ {
349
+ "code": "EXECUTION_IDENTITY_MISMATCH",
350
+ "category": "operational",
351
+ "httpStatus": null,
352
+ "retryable": false,
353
+ "remediation": "See docs/migrate-2.md and the AgentSkeptic 2.0 integrator guide (docs/integrate.md)."
354
+ },
355
+ {
356
+ "code": "EXECUTION_IDENTITY_USAGE",
357
+ "category": "operational",
358
+ "httpStatus": null,
359
+ "retryable": false,
360
+ "remediation": "See docs/migrate-2.md and the AgentSkeptic 2.0 integrator guide (docs/integrate.md)."
361
+ },
348
362
  {
349
363
  "code": "EXECUTION_TRACE_USAGE",
350
364
  "category": "operational",
@@ -520,6 +534,20 @@
520
534
  "retryable": false,
521
535
  "remediation": "See docs/migrate-2.md and the AgentSkeptic 2.0 integrator guide (docs/integrate.md)."
522
536
  },
537
+ {
538
+ "code": "RECEIPT_PERSIST_FAILED",
539
+ "category": "operational",
540
+ "httpStatus": null,
541
+ "retryable": false,
542
+ "remediation": "See docs/migrate-2.md and the AgentSkeptic 2.0 integrator guide (docs/integrate.md)."
543
+ },
544
+ {
545
+ "code": "RECEIPT_SCHEMA_INVALID",
546
+ "category": "operational",
547
+ "httpStatus": null,
548
+ "retryable": false,
549
+ "remediation": "See docs/migrate-2.md and the AgentSkeptic 2.0 integrator guide (docs/integrate.md)."
550
+ },
523
551
  {
524
552
  "code": "REGISTRY_DUPLICATE_TOOL_ID",
525
553
  "category": "config",
@@ -23,7 +23,36 @@
23
23
  "website/src/generated/",
24
24
  "src/publicDistribution.generated.ts",
25
25
  "src/sdk/_generated/",
26
- "src/agentskeptic-error-codes.json"
26
+ "src/agentskeptic-error-codes.json",
27
+ "website/content/surfaces/guides/",
28
+ "website/src/content/embeddedReports/",
29
+ "python/tests/parity_vectors/"
30
+ ],
31
+ "closedDriftPaths": [
32
+ "AGENTS.md",
33
+ "README.md",
34
+ "llms.txt",
35
+ "package.json",
36
+ "python/tests/parity_vectors/langgraph_lct_a2/golden_certificate.json",
37
+ "python/tests/parity_vectors/langgraph_lct_b/golden_certificate.json",
38
+ "python/tests/parity_vectors/langgraph_lct_c/golden_certificate.json",
39
+ "python/tests/parity_vectors/langgraph_lct_d/golden_certificate.json",
40
+ "schemas/openapi-commercial-v1.yaml",
41
+ "src/publicDistribution.generated.ts",
42
+ "src/sdk/_generated/openapi-types.ts",
43
+ "website/content/surfaces/guides/buyer-ci-enforcement-metering.md",
44
+ "website/content/surfaces/guides/buyer-commercial-boundary.md",
45
+ "website/content/surfaces/guides/buyer-trust-production-implications.md",
46
+ "website/public/contract/v1.json",
47
+ "website/src/content/embeddedReports/langgraph-lct-a2-ineligible.v1.json",
48
+ "website/src/content/embeddedReports/langgraph-lct-b-verified.v1.json",
49
+ "website/src/content/embeddedReports/langgraph-lct-c-mismatch.v1.json",
50
+ "website/src/content/embeddedReports/langgraph-lct-d-incomplete.v1.json",
51
+ "website/src/generated/buyerTruthCodegenHash.ts",
52
+ "website/src/generated/buyerTruthProjection.snap.json",
53
+ "website/src/generated/epistemicContractIntegrator.ts",
54
+ "website/src/generated/integrateActivationShellStatic.ts",
55
+ "website/src/generated/integratorDocsEmbedded.ts"
27
56
  ]
28
57
  }
29
58
  }
@@ -34,12 +34,17 @@
34
34
  "gating": {
35
35
  "type": "object",
36
36
  "additionalProperties": false,
37
- "required": ["gitPathspecs"],
37
+ "required": ["gitPathspecs", "closedDriftPaths"],
38
38
  "properties": {
39
39
  "gitPathspecs": {
40
40
  "type": "array",
41
41
  "minItems": 1,
42
42
  "items": { "type": "string", "minLength": 1 }
43
+ },
44
+ "closedDriftPaths": {
45
+ "type": "array",
46
+ "minItems": 1,
47
+ "items": { "type": "string", "minLength": 1 }
43
48
  }
44
49
  }
45
50
  }
@@ -0,0 +1,36 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://agentskeptic.com/schemas/execution-identity-v1.schema.json",
4
+ "title": "AgentSkeptic execution identity (packaged build)",
5
+ "type": "object",
6
+ "additionalProperties": false,
7
+ "required": [
8
+ "$schema",
9
+ "identityVersion",
10
+ "npmPackageVersion",
11
+ "nodeEnginesDeclared",
12
+ "verificationContractManifest",
13
+ "pythonPipExtrasFragment",
14
+ "closedDriftPathCount",
15
+ "mergeGateFingerprintSha256"
16
+ ],
17
+ "properties": {
18
+ "$schema": { "type": "string" },
19
+ "identityVersion": { "type": "string", "pattern": "^[0-9]+\\.[0-9]+\\.[0-9]+$" },
20
+ "npmPackageVersion": { "type": "string", "minLength": 1 },
21
+ "nodeEnginesDeclared": { "type": "string" },
22
+ "verificationContractManifest": {
23
+ "type": "object",
24
+ "additionalProperties": false,
25
+ "required": ["version", "manifestSha256", "url"],
26
+ "properties": {
27
+ "version": { "type": "string" },
28
+ "manifestSha256": { "type": "string", "pattern": "^[0-9a-f]{64}$" },
29
+ "url": { "type": "string", "format": "uri" }
30
+ }
31
+ },
32
+ "pythonPipExtrasFragment": { "type": "string", "minLength": 1 },
33
+ "closedDriftPathCount": { "type": "integer", "minimum": 0 },
34
+ "mergeGateFingerprintSha256": { "type": "string", "pattern": "^[0-9a-f]{64}$" }
35
+ }
36
+ }
@@ -1,7 +1,7 @@
1
1
  openapi: "3.0.3"
2
2
  info:
3
3
  title: AgentSkeptic commercial license API
4
- version: "3.4.0"
4
+ version: "3.5.0"
5
5
  contact:
6
6
  url: https://agentskeptic.com
7
7
  x-agentskeptic-distribution:
@@ -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.manifest.completeness.test.mjs\`](test/verification-truth.manifest.completeness.test.mjs))
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
  }