agentskeptic 6.3.1 → 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 +5 -3
- package/config/first-five-minutes.json +9 -6
- package/config/marketing.json +35 -42
- package/dist/assurance/buildAssuranceOutput.js.map +1 -1
- package/dist/discovery-payload-v1.json +22 -55
- package/dist/execution-identity.v1.json +1 -1
- package/dist/publicDistribution.generated.d.ts +1 -1
- package/dist/publicDistribution.generated.js +1 -1
- package/package.json +3 -2
- package/schemas/buyer-truth-v1.schema.json +2 -2
- package/schemas/openapi-commercial-v1.yaml +1 -1
- package/scripts/validate-marketing.cjs +7 -0
package/README.md
CHANGED
|
@@ -5,9 +5,11 @@
|
|
|
5
5
|
<!-- discovery-acquisition-fold:start -->
|
|
6
6
|
## Trust reality, not traces.
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
Tool effects vs read-only store facts.
|
|
9
9
|
|
|
10
|
-
Traces
|
|
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
|
|
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
|
-
"
|
|
3
|
-
"
|
|
4
|
-
"
|
|
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
|
-
"
|
|
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
|
}
|
package/config/marketing.json
CHANGED
|
@@ -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": "
|
|
14
|
-
"visitorProblemAnswer": "Traces
|
|
15
|
-
"heroOutcome": "
|
|
16
|
-
"heroMechanism": "
|
|
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": "
|
|
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": "
|
|
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
|
|
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": "
|
|
55
|
-
"description": "
|
|
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": "
|
|
67
|
-
"
|
|
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,8 +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
|
|
85
|
-
"
|
|
85
|
+
"truthCheckCommand": "npx agentskeptic check --workflow-id YOUR_WORKFLOW_ID \\\n --project ./your-app \\\n --db ./path/to/readable.sqlite",
|
|
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",
|
|
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",
|
|
86
88
|
"githubDeepLink": "https://github.com/jwekavanagh/agentskeptic/blob/main/docs/integrate.md",
|
|
87
89
|
"githubFirstRunLink": "https://github.com/jwekavanagh/agentskeptic/blob/main/docs/integrate.md"
|
|
88
90
|
},
|
|
@@ -128,48 +130,39 @@
|
|
|
128
130
|
"problemIndex": [
|
|
129
131
|
{
|
|
130
132
|
"moment": "Green trace, bad data",
|
|
131
|
-
"
|
|
132
|
-
"
|
|
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"
|
|
133
136
|
},
|
|
134
137
|
{
|
|
135
|
-
"moment": "Tool
|
|
136
|
-
"
|
|
137
|
-
"
|
|
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"
|
|
138
142
|
},
|
|
139
143
|
{
|
|
140
144
|
"moment": "CI green, no write",
|
|
141
|
-
"
|
|
142
|
-
"
|
|
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"
|
|
143
148
|
},
|
|
144
149
|
{
|
|
145
|
-
"moment": "Pre-
|
|
146
|
-
"
|
|
147
|
-
"
|
|
148
|
-
|
|
149
|
-
{
|
|
150
|
-
"moment": "AI CRM data wrong",
|
|
151
|
-
"primaryRoute": "/guides/ai-agent-wrong-crm-data",
|
|
152
|
-
"relatedRoutes": ["/database-truth-vs-traces"]
|
|
153
|
-
},
|
|
154
|
-
{
|
|
155
|
-
"moment": "Params vs store",
|
|
156
|
-
"primaryRoute": "/guides/automation-success-database-mismatch",
|
|
157
|
-
"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"
|
|
158
154
|
},
|
|
159
155
|
{
|
|
160
156
|
"moment": "LangGraph data check",
|
|
161
|
-
"
|
|
162
|
-
"
|
|
157
|
+
"symptom": "Inspect Postgres after a LangGraph run.",
|
|
158
|
+
"verificationCue": "Reconcile trace success with persisted rows.",
|
|
159
|
+
"primaryRoute": "/guides/debug-postgres-after-langgraph"
|
|
163
160
|
},
|
|
164
161
|
{
|
|
165
162
|
"moment": "Webhook vs ledger",
|
|
166
|
-
"
|
|
167
|
-
"
|
|
168
|
-
|
|
169
|
-
{
|
|
170
|
-
"moment": "CI green, no effect",
|
|
171
|
-
"primaryRoute": "/guides/scenario-ci-green-side-effect-missing",
|
|
172
|
-
"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"
|
|
173
166
|
}
|
|
174
167
|
],
|
|
175
168
|
"llms": {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buildAssuranceOutput.js","sourceRoot":"","sources":["../../src/assurance/buildAssuranceOutput.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAGvD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAC1E,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAC1B,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,yBAAyB,CAAC,EAAE,MAAM,CAAC,
|
|
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
|
|
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
|
-
"
|
|
41
|
-
"
|
|
42
|
-
|
|
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
|
|
48
|
-
"
|
|
49
|
-
"
|
|
50
|
-
|
|
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
|
-
"
|
|
57
|
-
"
|
|
58
|
-
|
|
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-
|
|
64
|
-
"
|
|
65
|
-
"
|
|
66
|
-
|
|
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
|
-
"
|
|
87
|
-
"
|
|
88
|
-
|
|
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
|
-
"
|
|
95
|
-
"
|
|
96
|
-
|
|
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
|
|
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.
|
|
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.
|
|
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
|
+
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
|
-
"description": "
|
|
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": [
|
|
@@ -59,6 +59,7 @@
|
|
|
59
59
|
"check:integrate-activation-shell": "node scripts/generate-integrate-activation-shell.mjs --check",
|
|
60
60
|
"validate:activation-spine": "node scripts/validate-activation-spine.mjs",
|
|
61
61
|
"validate:integrator-onboarding-shape": "node scripts/validate-integrator-onboarding-shape.mjs",
|
|
62
|
+
"check:activation-journey-copy": "node scripts/validate-activation-journey-copy.mjs",
|
|
62
63
|
"test:commercial-layer": "node scripts/validate-commercial-funnel.mjs",
|
|
63
64
|
"build:website": "npm run build && npm run build --prefix website",
|
|
64
65
|
"check:web-demo-prereqs": "node scripts/check-web-demo-prereqs.mjs",
|
|
@@ -120,6 +120,13 @@ function validateMarketingValue(m) {
|
|
|
120
120
|
if (!cmd.includes("tools.json")) {
|
|
121
121
|
throw new Error("marketing: packLedCommand must reference tools.json");
|
|
122
122
|
}
|
|
123
|
+
const qv = String(m.integratePage.quickVerifyCommand);
|
|
124
|
+
if (!qv.includes("agentskeptic quick")) {
|
|
125
|
+
throw new Error("marketing: integratePage.quickVerifyCommand must include agentskeptic quick");
|
|
126
|
+
}
|
|
127
|
+
if (!qv.includes("--export-registry")) {
|
|
128
|
+
throw new Error("marketing: integratePage.quickVerifyCommand must include --export-registry");
|
|
129
|
+
}
|
|
123
130
|
if ("requirements" in m.integratePage) {
|
|
124
131
|
throw new Error(
|
|
125
132
|
"marketing: integratePage.requirements removed — use Buyer Truth integrateRequirements (/integrate page)",
|