agentskeptic 6.4.0 → 6.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.
package/README.md CHANGED
@@ -5,9 +5,11 @@
5
5
  <!-- discovery-acquisition-fold:start -->
6
6
  ## Trust reality, not traces.
7
7
 
8
- Declared tool effects vs read-only store facts.
8
+ Tool effects vs read-only store facts.
9
9
 
10
- Traces say success. Your data often disagrees. Read-only checks at verify time compare tool claims to stored state—before you ship or bill.
10
+ Traces can show success while stored data disagrees.
11
+
12
+ AgentSkeptic re-checks the stores your agent claims to change, then returns a deterministic Outcome Certificate before you ship.
11
13
 
12
14
  ### Bundled terminal proof
13
15
 
@@ -32,7 +34,7 @@ steps:
32
34
  workflow_id: wf_missing
33
35
  workflow_status: inconsistent
34
36
  steps:
35
- - seq=0 tool=crm.upsert_contact result:Expected row is missing from the database (the log implies a write that is not present).
37
+ - seq=0 tool=crm.upsert_contact result=Expected row is missing from the database.
36
38
  reference_code: ROW_ABSENT
37
39
 
38
40
  {
@@ -1,9 +1,12 @@
1
1
  {
2
- "checklist": [
3
- "Visit an allowlisted marketing page or /integrate so the site can mint or reuse funnel_anon_id (skipped on routes without the beacon).",
4
- "Join CLI to that id: run agentskeptic funnel-anon pull once, or agentskeptic funnel-anon set <uuid> if you already copied one from the browser.",
5
- "Run verification on your workflow; green exit and verdict are product success.",
6
- "Set AGENTSKEPTIC_TELEMETRY=0 to disable opt-in activity posts; they never change verification results."
2
+ "telemetryIntroParagraphs": [
3
+ "Optional telemetry helps connect browser demos and CLI verification during first setup.",
4
+ "It never affects verdicts, never writes to your stores, and can be disabled."
7
5
  ],
8
- "telemetryIcingLine": "Optional telemetry helps connect browser demos and CLI verification. It never affects verification results and can be disabled."
6
+ "checklist": [
7
+ "Visit an allowlisted marketing page or `/integrate` so the site can mint or reuse `funnel_anon_id`.",
8
+ "Run `agentskeptic funnel-anon pull`, or run `agentskeptic funnel-anon set <uuid>` if you already copied an ID from the browser.",
9
+ "Run verification on your workflow. A green exit and verdict are product success.",
10
+ "Set `AGENTSKEPTIC_TELEMETRY=0` to disable opt-in activity posts."
11
+ ]
9
12
  }
@@ -10,20 +10,20 @@
10
10
  "keywords": ["agentskeptic", "verification", "database", "read-only", "agent", "workflow"],
11
11
  "readmeTitle": "AgentSkeptic — state vs trace",
12
12
  "heroTitle": "Trust reality, not traces.",
13
- "heroSubtitle": "Declared tool effects vs read-only store facts.",
14
- "visitorProblemAnswer": "Traces say success. Your data often disagrees. Read-only checks at verify time compare tool claims to stored state—before you ship or bill.",
15
- "heroOutcome": "Your agents say the workflow succeeded.",
16
- "heroMechanism": "Your database says otherwise.",
13
+ "heroSubtitle": "Tool effects vs read-only store facts.",
14
+ "visitorProblemAnswer": "Traces can show success while stored data disagrees.\n\nAgentSkeptic re-checks the stores your agent claims to change, then returns a deterministic Outcome Certificate before you ship.",
15
+ "heroOutcome": "Agents can report success while the database is still wrong.",
16
+ "heroMechanism": "AgentSkeptic re-checks your real stores and fails CI before missing writes reach production.",
17
17
  "guaranteeFootnote": "Read-only checks; not which call wrote.",
18
18
  "heroPositioning": "Post-condition verification for AI-agent workflows.",
19
19
  "siteDefaultMetadata": {
20
20
  "title": "AgentSkeptic",
21
- "description": "Structured tool activity vs downstream state at verify time: SQL (SQLite, Postgres, MySQL), HTTP witnesses, supported vector indexes, MongoDB documents, and S3-compatible objects when configured—deterministic verdict artifacts (see verification-state-stores.md)."
21
+ "description": "Tool activity vs downstream state at verify: SQL, HTTP, vectors, documents, S3 objects—deterministic verdict artifacts (verification-state-stores.md)."
22
22
  },
23
23
  "homepageAcquisitionCtaLabel": "How it works",
24
24
  "pageMetadata": {
25
25
  "title": "Traces vs state",
26
- "description": "Structured tool activity vs downstream state at verify time: SQL (SQLite, Postgres, MySQL), HTTP witnesses, supported vector indexes, MongoDB documents, and S3-compatible objects when configured—deterministic verdict artifacts (see verification-state-stores.md)."
26
+ "description": "Tool activity vs downstream state at verify: SQL, HTTP, vectors, documents, S3 objects—deterministic verdict artifacts (verification-state-stores.md)."
27
27
  },
28
28
  "readmeFold": {
29
29
  "templateLines": [
@@ -42,7 +42,7 @@
42
42
  },
43
43
  "shareableTerminalDemo": {
44
44
  "title": "Bundled terminal proof",
45
- "transcript": "### Success (`wf_complete`)\n\nworkflow_id: wf_complete\nworkflow_status: complete\ntrust: TRUSTED: Every step matched the database under the configured verification rules.\nsteps:\n - seq=0 tool=crm.upsert_contact result=Matched the database.\n\n{\n \"schemaVersion\": 15,\n \"workflowId\": \"wf_complete\",\n \"status\": \"complete\",\n \"steps\": [{ \"seq\": 0, \"toolId\": \"crm.upsert_contact\", \"status\": \"verified\" }]\n}\n\n### Failure (`wf_missing`)\n\nworkflow_id: wf_missing\nworkflow_status: inconsistent\nsteps:\n - seq=0 tool=crm.upsert_contact result:Expected row is missing from the database (the log implies a write that is not present).\n reference_code: ROW_ABSENT\n\n{\n \"schemaVersion\": 15,\n \"workflowId\": \"wf_missing\",\n \"status\": \"inconsistent\",\n \"steps\": [\n {\n \"seq\": 0,\n \"toolId\": \"crm.upsert_contact\",\n \"status\": \"missing\",\n \"reasons\": [{ \"code\": \"ROW_ABSENT\" }]\n }\n ]\n}"
45
+ "transcript": "### Success (`wf_complete`)\n\nworkflow_id: wf_complete\nworkflow_status: complete\ntrust: TRUSTED: Every step matched the database under the configured verification rules.\nsteps:\n - seq=0 tool=crm.upsert_contact result=Matched the database.\n\n{\n \"schemaVersion\": 15,\n \"workflowId\": \"wf_complete\",\n \"status\": \"complete\",\n \"steps\": [{ \"seq\": 0, \"toolId\": \"crm.upsert_contact\", \"status\": \"verified\" }]\n}\n\n### Failure (`wf_missing`)\n\nworkflow_id: wf_missing\nworkflow_status: inconsistent\nsteps:\n - seq=0 tool=crm.upsert_contact result=Expected row is missing from the database.\n reference_code: ROW_ABSENT\n\n{\n \"schemaVersion\": 15,\n \"workflowId\": \"wf_missing\",\n \"status\": \"inconsistent\",\n \"steps\": [\n {\n \"seq\": 0,\n \"toolId\": \"crm.upsert_contact\",\n \"status\": \"missing\",\n \"reasons\": [{ \"code\": \"ROW_ABSENT\" }]\n }\n ]\n}"
46
46
  },
47
47
  "cliFollowupLines": [
48
48
  "Context: {{ACQUISITION_URL}}",
@@ -51,8 +51,8 @@
51
51
  ],
52
52
  "site": {
53
53
  "integrate": {
54
- "title": "Get started",
55
- "description": "Run one truth check against your database (agentskeptic check); optional activation packs export proof/ for commercial evidence."
54
+ "title": "Run your first stored-state verification",
55
+ "description": "Compare your agent's tool claims against actual stored state."
56
56
  },
57
57
  "openGraph": {
58
58
  "image": {
@@ -63,8 +63,9 @@
63
63
  }
64
64
  },
65
65
  "pricing": {
66
- "heroTitle": "Verify before you ship.",
67
- "positioning": "Catch bad or missing state in CI before it reaches customers, compliance, or revenue."
66
+ "heroTitle": "Pricing for stored-state verification",
67
+ "heroSupporting": "Start free. Pay when verification becomes a CI enforcement workflow.",
68
+ "positioning": "Catch bad or missing state before it reaches customers, compliance, or revenue."
68
69
  },
69
70
  "home": {},
70
71
  "security": {
@@ -81,9 +82,9 @@
81
82
  }
82
83
  },
83
84
  "integratePage": {
84
- "truthCheckCommand": "npx agentskeptic check --workflow-id YOUR_WORKFLOW_ID \\\n --project ./your-app \\\n --db ./path/to/readable.sqlite\n\n# Or explicit registry/events paths:\n# npx agentskeptic check --workflow-id YOUR_WORKFLOW_ID \\\n# --events ./agentskeptic/events.ndjson \\\n# --registry ./agentskeptic/tools.json \\\n# --db ./path/to/readable.sqlite",
85
+ "truthCheckCommand": "npx agentskeptic check --workflow-id YOUR_WORKFLOW_ID \\\n --project ./your-app \\\n --db ./path/to/readable.sqlite",
85
86
  "quickVerifyCommand": "npx agentskeptic quick \\\n --input path/to/quick-input.ndjson \\\n --export-registry path/to/tools.json \\\n --db path/to/readable.sqlite \\\n --no-human-report",
86
- "packLedCommand": "npx agentskeptic activate --input ./path/to/workflow-bootstrap-input.json \\\n --db ./path/to/readable.sqlite \\\n --out ./path/to/agent-pack\n\n# Replay only (advanced): NDJSON pack you already authored\nnpx agentskeptic crossing \\\n --workflow-id YOUR_WORKFLOW_ID \\\n --events ./path/to/events.ndjson \\\n --registry ./path/to/tools.json \\\n --db ./path/to/readable.sqlite",
87
+ "packLedCommand": "npx agentskeptic activate --input ./path/to/workflow-bootstrap-input.json \\\n --db ./path/to/readable.sqlite \\\n --out ./path/to/agent-pack\n\nnpx agentskeptic crossing \\\n --workflow-id YOUR_WORKFLOW_ID \\\n --events ./path/to/events.ndjson \\\n --registry ./path/to/tools.json \\\n --db ./path/to/readable.sqlite",
87
88
  "githubDeepLink": "https://github.com/jwekavanagh/agentskeptic/blob/main/docs/integrate.md",
88
89
  "githubFirstRunLink": "https://github.com/jwekavanagh/agentskeptic/blob/main/docs/integrate.md"
89
90
  },
@@ -129,48 +130,39 @@
129
130
  "problemIndex": [
130
131
  {
131
132
  "moment": "Green trace, bad data",
132
- "primaryRoute": "/guides/trace-green-postgres-row-missing",
133
- "relatedRoutes": ["/integrate", "/database-truth-vs-traces"]
133
+ "symptom": "Trace succeeds, but the Postgres row is missing or stale.",
134
+ "verificationCue": "Verify the row before you trust the run.",
135
+ "primaryRoute": "/guides/trace-green-postgres-row-missing"
134
136
  },
135
137
  {
136
- "moment": "Tool ok, CRM wrong",
137
- "primaryRoute": "/guides/tool-loop-success-crm-state-wrong",
138
- "relatedRoutes": ["/integrate", "/pricing"]
138
+ "moment": "Tool OK, CRM wrong",
139
+ "symptom": "Tool loop succeeds, but the CRM record is wrong or missing.",
140
+ "verificationCue": "Match tool claims to stored customer data.",
141
+ "primaryRoute": "/guides/tool-loop-success-crm-state-wrong"
139
142
  },
140
143
  {
141
144
  "moment": "CI green, no write",
142
- "primaryRoute": "/guides/ci-green-logs-row-absent",
143
- "relatedRoutes": ["/guides/ci-green-missing-database-side-effect", "/integrate"]
145
+ "symptom": "CI passes, but the write never landed.",
146
+ "verificationCue": "Fail when expected stored state is absent.",
147
+ "primaryRoute": "/guides/ci-green-logs-row-absent"
144
148
  },
145
149
  {
146
- "moment": "Pre-prod read-only gate",
147
- "primaryRoute": "/guides/pre-production-read-only-sql-gate",
148
- "relatedRoutes": ["/integrate", "/pricing"]
149
- },
150
- {
151
- "moment": "AI CRM data wrong",
152
- "primaryRoute": "/guides/ai-agent-wrong-crm-data",
153
- "relatedRoutes": ["/database-truth-vs-traces"]
154
- },
155
- {
156
- "moment": "Params vs store",
157
- "primaryRoute": "/guides/automation-success-database-mismatch",
158
- "relatedRoutes": ["/integrate"]
150
+ "moment": "Pre-production read-only gate",
151
+ "symptom": "Add read-only SQL verification before production.",
152
+ "verificationCue": "Read stored state without writes.",
153
+ "primaryRoute": "/guides/pre-production-read-only-sql-gate"
159
154
  },
160
155
  {
161
156
  "moment": "LangGraph data check",
162
- "primaryRoute": "/guides/debug-postgres-after-langgraph",
163
- "relatedRoutes": ["/guides/verify-langgraph-workflows", "/integrate"]
157
+ "symptom": "Inspect Postgres after a LangGraph run.",
158
+ "verificationCue": "Reconcile trace success with persisted rows.",
159
+ "primaryRoute": "/guides/debug-postgres-after-langgraph"
164
160
  },
165
161
  {
166
162
  "moment": "Webhook vs ledger",
167
- "primaryRoute": "/guides/stripe-webhook-database-alignment",
168
- "relatedRoutes": ["/pricing"]
169
- },
170
- {
171
- "moment": "CI green, no effect",
172
- "primaryRoute": "/guides/scenario-ci-green-side-effect-missing",
173
- "relatedRoutes": ["/guides/ci-green-missing-database-side-effect", "/integrate"]
163
+ "symptom": "Stripe 200, but the ledger row is wrong or missing.",
164
+ "verificationCue": "Match webhooks to internal records before settlement.",
165
+ "primaryRoute": "/guides/stripe-webhook-database-alignment"
174
166
  }
175
167
  ],
176
168
  "llms": {
@@ -1 +1 @@
1
- {"version":3,"file":"buildAssuranceOutput.js","sourceRoot":"","sources":["../../src/assurance/buildAssuranceOutput.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"buildAssuranceOutput.js","sourceRoot":"","sources":["../../src/assurance/buildAssuranceOutput.ts"],"names":[],"mappings":"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"}
@@ -18,7 +18,7 @@
18
18
  },
19
19
  "appendix": {
20
20
  "slug": "/database-truth-vs-traces",
21
- "visitorProblemAnswer": "Traces say success. Your data often disagrees. Read-only checks at verify time compare tool claims to stored state—before you ship or bill.",
21
+ "visitorProblemAnswer": "Traces can show success while stored data disagrees.\n\nAgentSkeptic re-checks the stores your agent claims to change, then returns a deterministic Outcome Certificate before you ship.",
22
22
  "intentPhrases": [
23
23
  "trace v data",
24
24
  "read-only verify",
@@ -37,72 +37,39 @@
37
37
  "problemIndex": [
38
38
  {
39
39
  "moment": "Green trace, bad data",
40
- "primaryRoute": "/guides/trace-green-postgres-row-missing",
41
- "relatedRoutes": [
42
- "/integrate",
43
- "/database-truth-vs-traces"
44
- ]
40
+ "symptom": "Trace succeeds, but the Postgres row is missing or stale.",
41
+ "verificationCue": "Verify the row before you trust the run.",
42
+ "primaryRoute": "/guides/trace-green-postgres-row-missing"
45
43
  },
46
44
  {
47
- "moment": "Tool ok, CRM wrong",
48
- "primaryRoute": "/guides/tool-loop-success-crm-state-wrong",
49
- "relatedRoutes": [
50
- "/integrate",
51
- "/pricing"
52
- ]
45
+ "moment": "Tool OK, CRM wrong",
46
+ "symptom": "Tool loop succeeds, but the CRM record is wrong or missing.",
47
+ "verificationCue": "Match tool claims to stored customer data.",
48
+ "primaryRoute": "/guides/tool-loop-success-crm-state-wrong"
53
49
  },
54
50
  {
55
51
  "moment": "CI green, no write",
56
- "primaryRoute": "/guides/ci-green-logs-row-absent",
57
- "relatedRoutes": [
58
- "/guides/ci-green-missing-database-side-effect",
59
- "/integrate"
60
- ]
52
+ "symptom": "CI passes, but the write never landed.",
53
+ "verificationCue": "Fail when expected stored state is absent.",
54
+ "primaryRoute": "/guides/ci-green-logs-row-absent"
61
55
  },
62
56
  {
63
- "moment": "Pre-prod read-only gate",
64
- "primaryRoute": "/guides/pre-production-read-only-sql-gate",
65
- "relatedRoutes": [
66
- "/integrate",
67
- "/pricing"
68
- ]
69
- },
70
- {
71
- "moment": "AI CRM data wrong",
72
- "primaryRoute": "/guides/ai-agent-wrong-crm-data",
73
- "relatedRoutes": [
74
- "/database-truth-vs-traces"
75
- ]
76
- },
77
- {
78
- "moment": "Params vs store",
79
- "primaryRoute": "/guides/automation-success-database-mismatch",
80
- "relatedRoutes": [
81
- "/integrate"
82
- ]
57
+ "moment": "Pre-production read-only gate",
58
+ "symptom": "Add read-only SQL verification before production.",
59
+ "verificationCue": "Read stored state without writes.",
60
+ "primaryRoute": "/guides/pre-production-read-only-sql-gate"
83
61
  },
84
62
  {
85
63
  "moment": "LangGraph data check",
86
- "primaryRoute": "/guides/debug-postgres-after-langgraph",
87
- "relatedRoutes": [
88
- "/guides/verify-langgraph-workflows",
89
- "/integrate"
90
- ]
64
+ "symptom": "Inspect Postgres after a LangGraph run.",
65
+ "verificationCue": "Reconcile trace success with persisted rows.",
66
+ "primaryRoute": "/guides/debug-postgres-after-langgraph"
91
67
  },
92
68
  {
93
69
  "moment": "Webhook vs ledger",
94
- "primaryRoute": "/guides/stripe-webhook-database-alignment",
95
- "relatedRoutes": [
96
- "/pricing"
97
- ]
98
- },
99
- {
100
- "moment": "CI green, no effect",
101
- "primaryRoute": "/guides/scenario-ci-green-side-effect-missing",
102
- "relatedRoutes": [
103
- "/guides/ci-green-missing-database-side-effect",
104
- "/integrate"
105
- ]
70
+ "symptom": "Stripe 200, but the ledger row is wrong or missing.",
71
+ "verificationCue": "Match webhooks to internal records before settlement.",
72
+ "primaryRoute": "/guides/stripe-webhook-database-alignment"
106
73
  }
107
74
  ],
108
75
  "indexableGuides": [
@@ -224,7 +191,7 @@
224
191
  ],
225
192
  "shareableTerminalDemo": {
226
193
  "title": "Bundled terminal proof",
227
- "transcript": "### Success (`wf_complete`)\n\nworkflow_id: wf_complete\nworkflow_status: complete\ntrust: TRUSTED: Every step matched the database under the configured verification rules.\nsteps:\n - seq=0 tool=crm.upsert_contact result=Matched the database.\n\n{\n \"schemaVersion\": 15,\n \"workflowId\": \"wf_complete\",\n \"status\": \"complete\",\n \"steps\": [{ \"seq\": 0, \"toolId\": \"crm.upsert_contact\", \"status\": \"verified\" }]\n}\n\n### Failure (`wf_missing`)\n\nworkflow_id: wf_missing\nworkflow_status: inconsistent\nsteps:\n - seq=0 tool=crm.upsert_contact result:Expected row is missing from the database (the log implies a write that is not present).\n reference_code: ROW_ABSENT\n\n{\n \"schemaVersion\": 15,\n \"workflowId\": \"wf_missing\",\n \"status\": \"inconsistent\",\n \"steps\": [\n {\n \"seq\": 0,\n \"toolId\": \"crm.upsert_contact\",\n \"status\": \"missing\",\n \"reasons\": [{ \"code\": \"ROW_ABSENT\" }]\n }\n ]\n}"
194
+ "transcript": "### Success (`wf_complete`)\n\nworkflow_id: wf_complete\nworkflow_status: complete\ntrust: TRUSTED: Every step matched the database under the configured verification rules.\nsteps:\n - seq=0 tool=crm.upsert_contact result=Matched the database.\n\n{\n \"schemaVersion\": 15,\n \"workflowId\": \"wf_complete\",\n \"status\": \"complete\",\n \"steps\": [{ \"seq\": 0, \"toolId\": \"crm.upsert_contact\", \"status\": \"verified\" }]\n}\n\n### Failure (`wf_missing`)\n\nworkflow_id: wf_missing\nworkflow_status: inconsistent\nsteps:\n - seq=0 tool=crm.upsert_contact result=Expected row is missing from the database.\n reference_code: ROW_ABSENT\n\n{\n \"schemaVersion\": 15,\n \"workflowId\": \"wf_missing\",\n \"status\": \"inconsistent\",\n \"steps\": [\n {\n \"seq\": 0,\n \"toolId\": \"crm.upsert_contact\",\n \"status\": \"missing\",\n \"reasons\": [{ \"code\": \"ROW_ABSENT\" }]\n }\n ]\n}"
228
195
  }
229
196
  }
230
197
  }
@@ -4,7 +4,7 @@
4
4
  "identityVersion": "1.0.0",
5
5
  "mergeGateFingerprintSha256": "64b5ae2ed5025c08c7c9d7b601958cc90edc32c0d80ea207fdaa373de5b9c2fc",
6
6
  "nodeEnginesDeclared": "22.x || 24.x",
7
- "npmPackageVersion": "6.4.0",
7
+ "npmPackageVersion": "6.5.0",
8
8
  "pythonPipExtrasFragment": "dev,postgres",
9
9
  "verificationContractManifest": {
10
10
  "manifestSha256": "c5f23ec43576716c4b9a13e752cd2962a78bb4b4da1f9e521f911e15dfd80268",
@@ -1,5 +1,5 @@
1
1
  export declare const PUBLIC_DISTRIBUTION_SSOT_BLOB_URL = "https://github.com/jwekavanagh/agentskeptic/blob/main/docs/public-distribution.md";
2
2
  export declare const PUBLIC_CANONICAL_SITE_ORIGIN = "https://agentskeptic.com";
3
- export declare const AGENTSKEPTIC_CLI_SEMVER = "6.4.0";
3
+ export declare const AGENTSKEPTIC_CLI_SEMVER = "6.5.0";
4
4
  export declare function formatDistributionFooter(): string;
5
5
  //# sourceMappingURL=publicDistribution.generated.d.ts.map
@@ -1,7 +1,7 @@
1
1
  // Generated by npm run emit-primary-marketing — do not hand edit.
2
2
  export const PUBLIC_DISTRIBUTION_SSOT_BLOB_URL = "https://github.com/jwekavanagh/agentskeptic/blob/main/docs/public-distribution.md";
3
3
  export const PUBLIC_CANONICAL_SITE_ORIGIN = "https://agentskeptic.com";
4
- export const AGENTSKEPTIC_CLI_SEMVER = "6.4.0";
4
+ export const AGENTSKEPTIC_CLI_SEMVER = "6.5.0";
5
5
  export function formatDistributionFooter() {
6
6
  return "Context: https://agentskeptic.com/database-truth-vs-traces\n"
7
7
  + "https://agentskeptic.com/integrate\n"
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "agentskeptic",
3
- "version": "6.4.0",
4
- "description": "Structured tool activity vs downstream state at verify time: SQL (SQLite, Postgres, MySQL), HTTP witnesses, supported vector indexes, MongoDB documents, and S3-compatible objects when configured—deterministic verdict artifacts (see verification-state-stores.md).",
3
+ "version": "6.5.0",
4
+ "description": "Tool activity vs downstream state at verify: SQL, HTTP, vectors, documents, S3 objects—deterministic verdict artifacts (verification-state-stores.md).",
5
5
  "license": "MIT",
6
6
  "type": "module",
7
7
  "workspaces": [
@@ -124,8 +124,8 @@
124
124
  "securityQuickFactsBullets": {
125
125
  "type": "array",
126
126
  "items": { "type": "string" },
127
- "minItems": 4,
128
- "maxItems": 4
127
+ "minItems": 3,
128
+ "maxItems": 3
129
129
  },
130
130
  "canonicalHref": {
131
131
  "type": "object",
@@ -1,7 +1,7 @@
1
1
  openapi: "3.0.3"
2
2
  info:
3
3
  title: AgentSkeptic commercial license API
4
- version: "6.4.0"
4
+ version: "6.5.0"
5
5
  contact:
6
6
  url: https://agentskeptic.com
7
7
  x-agentskeptic-distribution: