gravito-eval 0.1.0 → 0.2.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
@@ -1,136 +1,232 @@
1
1
  # Gravito Eval
2
2
 
3
- Measure how closely your AI matches human judgment and where it finds things humans missed.
3
+ Scan any website in seconds. See what's wrong, what's missing, and what a human reviewer would miss.
4
4
 
5
- ```bash
6
- npx gravito-eval run ./examples/basic
7
5
  ```
8
-
6
+ npx gravito-eval scan https://stripe.com
9
7
  ```
10
- Gravito Eval Results
11
8
 
12
- Recall: 75%
13
- Precision: 50%
14
- F1: 60%
9
+ ---
15
10
 
16
- Top-3 Agreement: 100%
17
- Novel Signal: 67% (validated)
11
+ ## What You Get
18
12
 
19
- Interpretation:
20
- - Strong alignment with human judgment
21
- - AI found significant issues humans missed
22
13
  ```
14
+ Gravito Eval Results
15
+ ──────────────────────────────────────────────────
23
16
 
24
- ---
17
+ Score: 72/100 C Grade
18
+ Site: https://stripe.com
19
+
20
+ ████████████████████░░░░░░░░░░ 72%
21
+
22
+ vs Fintech & Financial Services: top 34% (avg: 58)
23
+
24
+ Key Issues
25
+ ──────────────────────────────────────────────────
26
+
27
+ HIGH Unsubstantiated Claim
28
+ → "Trusted by millions of businesses" — no source, no verification
29
+ Fix: Add a verifiable source or rephrase as a qualified statement
30
+
31
+ MEDIUM Banned Vocabulary
32
+ → "cutting edge" — vague superlative
33
+ Fix: Replace with specific, measurable language
25
34
 
26
- ## What this tells you
35
+ MEDIUM Missing Disclaimers
36
+ → No disclaimers detected for financial service claims
37
+ Fix: Review content for missing disclaimers
27
38
 
28
- Your AI found 75% of what humans found (Recall).
29
- Half of what it flagged was relevant (Precision).
30
- And 67% of its unique findings were genuinely useful (Novel Signal).
39
+ Additional Insights Gravito Found
40
+ ──────────────────────────────────────────────────
41
+ Overclaiming
42
+ ◆ Missing Citations
43
+ ◆ Unapproved Claims
31
44
 
32
- That means your AI is catching real issues humans miss — but also generating some noise.
45
+ ──────────────────────────────────────────────────
46
+ Share: https://gravito.ai/try/report/a1b2c3d4
47
+
48
+ Analyzed in 8.2s · Gravito Engine · 10 issues found
49
+ ```
50
+
51
+ Every scan produces a shareable link.
33
52
 
34
53
  ---
35
54
 
36
- ## Install
55
+ ## Try It
37
56
 
38
57
  ```bash
39
- npm install gravito-eval
58
+ npx gravito-eval scan https://stripe.com
59
+ npx gravito-eval scan https://openai.com
60
+ npx gravito-eval scan https://your-site.com
40
61
  ```
41
62
 
42
- Or run directly:
63
+ No install. No API keys. No setup.
64
+
65
+ ---
66
+
67
+ ## Demo Mode
68
+
69
+ See a walkthrough with explanations:
43
70
 
44
71
  ```bash
45
- npx gravito-eval run ./your-data.json
72
+ npx gravito-eval demo
46
73
  ```
47
74
 
48
75
  ---
49
76
 
50
- ## Input format
77
+ ## What This Does
78
+
79
+ Gravito Eval analyzes a real website and shows:
80
+
81
+ - How closely it matches human-quality governance judgment
82
+ - Where the gaps are (unsubstantiated claims, missing disclaimers, banned vocabulary)
83
+ - What improvements a human reviewer would miss
84
+
85
+ It runs the same engine that powers [Gravito](https://gravito.ai) — a governance layer for AI outputs and digital surfaces.
86
+
87
+ ---
88
+
89
+ ## Why This Is Different
90
+
91
+ Most tools tell you **what** is wrong.
92
+
93
+ Gravito Eval tells you:
94
+
95
+ - **How aligned** your content is with governance best practices
96
+ - **Where it disagrees** with what a human reviewer would flag
97
+ - **Whether those disagreements are valuable** — sometimes the AI catches things humans miss
98
+
99
+ ---
100
+
101
+ ## Use Cases
102
+
103
+ | Use Case | What You Get |
104
+ |---|---|
105
+ | **Scan your landing page** | Governance score, issues, fixes, industry benchmark |
106
+ | **Evaluate LLM outputs** | Alignment metrics, novel signal detection |
107
+ | **Compare prompts** | Run the same content through different prompts, compare scores |
108
+ | **QA AI features** | Check if your AI-generated content meets governance standards |
109
+ | **Audit competitor pages** | See how your site compares to competitors in your industry |
110
+
111
+ ---
112
+
113
+ ## Local Evaluation Mode
114
+
115
+ Already have findings from your own AI system? Compare them against a human baseline:
116
+
117
+ ```bash
118
+ npx gravito-eval run ./my-findings.json
119
+ ```
120
+
121
+ Input format:
51
122
 
52
123
  ```json
53
124
  {
54
125
  "aiFindings": [
55
- { "id": "ai-1", "description": "Missing CTA", "category": "conversion", "severity": "high" }
126
+ {
127
+ "id": "ai-1",
128
+ "description": "Hero section uses unsubstantiated claim",
129
+ "category": "trust",
130
+ "severity": "high"
131
+ }
56
132
  ],
57
133
  "humanFindings": [
58
- { "id": "h-1", "description": "No clear action", "category": "conversion", "severity": "high" }
134
+ {
135
+ "id": "human-1",
136
+ "description": "Misleading statistic in hero",
137
+ "category": "trust",
138
+ "severity": "high"
139
+ }
59
140
  ]
60
141
  }
61
142
  ```
62
143
 
63
- Save as `input.json` in a directory, then run:
144
+ Output:
64
145
 
65
- ```bash
66
- gravito-eval run ./my-directory
67
146
  ```
147
+ Recall: 75%
148
+ Precision: 50%
149
+ F1: 60%
150
+ Top-3 Agreement: 100%
151
+ Novel Signal: 67% (validated)
152
+
153
+ ✓ Strong alignment with human judgment
154
+ ◆ AI found significant issues humans missed
155
+ Verdict: PASS
156
+ ```
157
+
158
+ Add `--explain` for detailed match reasoning. Add `--json` for raw output.
68
159
 
69
160
  ---
70
161
 
71
- ## Flags
162
+ ## How It Works
72
163
 
73
- ```bash
74
- gravito-eval run <path> --explain # Show why each match was made
75
- gravito-eval run <path> --json # Raw JSON output
76
- gravito-eval run <path> --no-telemetry
164
+ ```
165
+ URL Fetch Content Governance Analysis Industry Benchmark → Score + Issues + Fixes
166
+
167
+ 5 analysis frameworks:
168
+ • Claim verification
169
+ • Vocabulary compliance
170
+ • Disclosure detection
171
+ • Pattern recognition
172
+ • Brand governance
77
173
  ```
78
174
 
79
- ---
80
-
81
- ## Programmatic API
175
+ The analysis runs server-side on the Gravito engine. No local LLM required.
82
176
 
83
- ```typescript
84
- import { evaluate } from "gravito-eval";
177
+ ---
85
178
 
86
- const result = evaluate(aiFindings, humanFindings);
179
+ ## CLI Reference
87
180
 
88
- result.detection.recall // How much of what humans find does the AI catch?
89
- result.detection.precision // How much of what the AI finds is actually relevant?
90
- result.detection.f1 // Harmonic mean
91
- result.novelSignal // What did the AI find that humans missed?
92
- result.verdict // PASS | PARTIAL | FAIL | INSUFFICIENT_DATA
181
+ ```
182
+ gravito-eval scan <url> Scan a live URL
183
+ gravito-eval scan <url> --json Output raw JSON
184
+ gravito-eval demo See a demo with explanations
185
+ gravito-eval run <path> Evaluate local findings
186
+ gravito-eval run <path> --explain Show detailed match reasoning
187
+ gravito-eval run <path> --json Output raw JSON
188
+ gravito-eval --help Show help
189
+ gravito-eval --version Show version
93
190
  ```
94
191
 
95
192
  ---
96
193
 
97
- ## What this is for
194
+ ## Requirements
98
195
 
99
- - Evaluating LLM outputs against human baselines
100
- - QA for AI agents (code review, content audit, compliance)
101
- - Measuring whether your AI is useful, not just accurate
196
+ - Node.js 18+
197
+ - Internet connection (for `scan` command)
102
198
 
103
199
  ---
104
200
 
105
- ## What this is NOT
201
+ ## Telemetry
106
202
 
107
- This does not generate outputs, fix issues, or run workflows.
108
- It **measures** and **evaluates**.
203
+ Anonymous usage data (timestamp, version, command name) is collected to improve the tool. No findings, file paths, or PII.
204
+
205
+ Disable: `GRAVITO_TELEMETRY=0 gravito-eval run ./data` or set `DO_NOT_TRACK=1`.
109
206
 
110
207
  ---
111
208
 
112
- ## Telemetry
209
+ ## Programmatic API
113
210
 
114
- Anonymous usage data (timestamp, version, command name) is collected to improve the tool.
115
- No findings, file paths, or PII.
211
+ ```typescript
212
+ import { evaluate } from "gravito-eval";
116
213
 
117
- Disable:
214
+ const result = evaluate(aiFindings, humanFindings);
118
215
 
119
- ```bash
120
- GRAVITO_TELEMETRY=0 gravito-eval run ./data
216
+ result.detection.recall // How much of what humans find does the AI catch?
217
+ result.detection.precision // How much of what the AI finds is actually relevant?
218
+ result.detection.f1 // Harmonic mean
219
+ result.novelSignal // What did the AI find that humans missed?
220
+ result.verdict // PASS | PARTIAL | FAIL | INSUFFICIENT_DATA
121
221
  ```
122
222
 
123
- Respects `DO_NOT_TRACK=1`.
124
-
125
223
  ---
126
224
 
127
- ## Gravito
128
-
129
- This is the open-source evaluation layer behind [Gravito](https://gravito.ai) — continuous AI governance that scans, calibrates, and self-corrects.
225
+ ## Continuous Monitoring
130
226
 
131
- **Want this running continuously on your system?**
227
+ Want this running continuously on your site?
132
228
 
133
- [Request a pilot →](https://gravito.ai/pilot)
229
+ [Gravito](https://gravito.ai) provides always-on governance monitoring, automated alerts, and team dashboards.
134
230
 
135
231
  ---
136
232
 
@@ -3,12 +3,14 @@
3
3
  * Gravito Eval CLI
4
4
  *
5
5
  * Usage:
6
- * gravito-eval run <path> Run evaluation
7
- * gravito-eval run <path> --explain Show detailed match reasoning
8
- * gravito-eval run <path> --json Output raw JSON
9
- * gravito-eval run <path> --no-telemetry Disable anonymous usage tracking
10
- * gravito-eval --help Show help
11
- * gravito-eval --version Show version
6
+ * gravito-eval scan <url> Scan a live URL
7
+ * gravito-eval demo Run a preloaded demo
8
+ * gravito-eval run <path> Evaluate local findings
9
+ * gravito-eval run <path> --explain Show detailed match reasoning
10
+ * gravito-eval run <path> --json Output raw JSON
11
+ * gravito-eval run <path> --no-telemetry Disable anonymous tracking
12
+ * gravito-eval --help Show help
13
+ * gravito-eval --version Show version
12
14
  */
13
15
  export {};
14
16
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../cli/index.ts"],"names":[],"mappings":";AAEA;;;;;;;;;;GAUG"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../cli/index.ts"],"names":[],"mappings":";AAEA;;;;;;;;;;;;GAYG"}
package/dist/cli/index.js CHANGED
@@ -4,12 +4,14 @@
4
4
  * Gravito Eval CLI
5
5
  *
6
6
  * Usage:
7
- * gravito-eval run <path> Run evaluation
8
- * gravito-eval run <path> --explain Show detailed match reasoning
9
- * gravito-eval run <path> --json Output raw JSON
10
- * gravito-eval run <path> --no-telemetry Disable anonymous usage tracking
11
- * gravito-eval --help Show help
12
- * gravito-eval --version Show version
7
+ * gravito-eval scan <url> Scan a live URL
8
+ * gravito-eval demo Run a preloaded demo
9
+ * gravito-eval run <path> Evaluate local findings
10
+ * gravito-eval run <path> --explain Show detailed match reasoning
11
+ * gravito-eval run <path> --json Output raw JSON
12
+ * gravito-eval run <path> --no-telemetry Disable anonymous tracking
13
+ * gravito-eval --help Show help
14
+ * gravito-eval --version Show version
13
15
  */
14
16
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
15
17
  if (k2 === undefined) k2 = k;
@@ -47,87 +49,456 @@ var __importStar = (this && this.__importStar) || (function () {
47
49
  Object.defineProperty(exports, "__esModule", { value: true });
48
50
  const fs = __importStar(require("fs"));
49
51
  const path = __importStar(require("path"));
52
+ const https = __importStar(require("https"));
53
+ const http = __importStar(require("http"));
50
54
  const calibration_1 = require("../src/calibration");
51
55
  const telemetry_1 = require("../src/telemetry");
52
- // ─── Helpers ──────────────────────────────────────────────────────────────
56
+ // ─── Constants ───────────────────────────────────────────────────────────
57
+ const API_BASE = process.env.GRAVITO_API_URL || "https://empathiq-api-hbjrlavx.manus.space";
58
+ const SHARE_BASE = "https://gravito.ai/try/report";
59
+ // ─── Color Helpers ───────────────────────────────────────────────────────
60
+ const isColorSupported = process.stdout.isTTY && !process.env.NO_COLOR;
61
+ const c = {
62
+ bold: (s) => (isColorSupported ? `\x1b[1m${s}\x1b[0m` : s),
63
+ dim: (s) => (isColorSupported ? `\x1b[2m${s}\x1b[0m` : s),
64
+ green: (s) => (isColorSupported ? `\x1b[32m${s}\x1b[0m` : s),
65
+ red: (s) => (isColorSupported ? `\x1b[31m${s}\x1b[0m` : s),
66
+ yellow: (s) => (isColorSupported ? `\x1b[33m${s}\x1b[0m` : s),
67
+ cyan: (s) => (isColorSupported ? `\x1b[36m${s}\x1b[0m` : s),
68
+ magenta: (s) => (isColorSupported ? `\x1b[35m${s}\x1b[0m` : s),
69
+ gray: (s) => (isColorSupported ? `\x1b[90m${s}\x1b[0m` : s),
70
+ white: (s) => (isColorSupported ? `\x1b[37m${s}\x1b[0m` : s),
71
+ bgRed: (s) => (isColorSupported ? `\x1b[41m\x1b[37m${s}\x1b[0m` : s),
72
+ bgYellow: (s) => isColorSupported ? `\x1b[43m\x1b[30m${s}\x1b[0m` : s,
73
+ bgGreen: (s) => isColorSupported ? `\x1b[42m\x1b[30m${s}\x1b[0m` : s,
74
+ bgCyan: (s) => isColorSupported ? `\x1b[46m\x1b[30m${s}\x1b[0m` : s,
75
+ };
76
+ // ─── Spinner ─────────────────────────────────────────────────────────────
77
+ class Spinner {
78
+ interval = null;
79
+ start(message) {
80
+ process.stdout.write(` ${message}`);
81
+ this.interval = setInterval(() => {
82
+ process.stdout.write(`.`);
83
+ }, 2000);
84
+ }
85
+ stop(message) {
86
+ if (this.interval) {
87
+ clearInterval(this.interval);
88
+ this.interval = null;
89
+ }
90
+ console.log();
91
+ if (message) {
92
+ console.log(message);
93
+ }
94
+ }
95
+ }
96
+ // ─── Helpers ─────────────────────────────────────────────────────────────
53
97
  function pct(n) {
54
98
  return `${Math.round(n * 100)}%`;
55
99
  }
56
- // ─── Output Formatting ────────────────────────────────────────────────────
100
+ function severityBadge(severity) {
101
+ switch (severity) {
102
+ case "critical":
103
+ return c.bgRed(" CRITICAL ");
104
+ case "high":
105
+ return c.red("HIGH");
106
+ case "medium":
107
+ return c.yellow("MEDIUM");
108
+ case "low":
109
+ return c.dim("LOW");
110
+ default:
111
+ return severity;
112
+ }
113
+ }
114
+ function scoreColor(score) {
115
+ if (score >= 80)
116
+ return c.green;
117
+ if (score >= 60)
118
+ return c.yellow;
119
+ if (score >= 40)
120
+ return c.yellow;
121
+ return c.red;
122
+ }
123
+ function gradeEmoji(grade) {
124
+ switch (grade) {
125
+ case "A":
126
+ return "🟢";
127
+ case "B":
128
+ return "🟡";
129
+ case "C":
130
+ return "🟠";
131
+ case "D":
132
+ return "🔴";
133
+ case "F":
134
+ return "🔴";
135
+ default:
136
+ return "⚪";
137
+ }
138
+ }
139
+ function bar(value, width = 20) {
140
+ const filled = Math.round((value / 100) * width);
141
+ const empty = width - filled;
142
+ const color = scoreColor(value);
143
+ return color("█".repeat(filled)) + c.dim("░".repeat(empty));
144
+ }
145
+ function httpPost(url, data) {
146
+ return new Promise((resolve, reject) => {
147
+ const payload = JSON.stringify(data);
148
+ const parsed = new URL(url);
149
+ const lib = parsed.protocol === "https:" ? https : http;
150
+ const req = lib.request({
151
+ hostname: parsed.hostname,
152
+ port: parsed.port || (parsed.protocol === "https:" ? 443 : 80),
153
+ path: parsed.pathname + parsed.search,
154
+ method: "POST",
155
+ headers: {
156
+ "Content-Type": "application/json",
157
+ "Content-Length": Buffer.byteLength(payload),
158
+ "User-Agent": "gravito-eval-cli",
159
+ },
160
+ timeout: 120000, // 2 min — scans take time
161
+ }, (res) => {
162
+ let body = "";
163
+ res.on("data", (chunk) => (body += chunk.toString()));
164
+ res.on("end", () => resolve({ status: res.statusCode || 0, body }));
165
+ });
166
+ req.on("error", reject);
167
+ req.on("timeout", () => {
168
+ req.destroy();
169
+ reject(new Error("Request timed out (120s)"));
170
+ });
171
+ req.write(payload);
172
+ req.end();
173
+ });
174
+ }
175
+ function printScanResult(result) {
176
+ const sc = scoreColor(result.overallScore);
177
+ console.log();
178
+ console.log(c.bold(" Gravito Eval Results"));
179
+ console.log(c.dim(" " + "─".repeat(50)));
180
+ console.log();
181
+ // Score + Grade
182
+ console.log(` ${c.dim("Score:")} ${sc(c.bold(String(result.overallScore)))}${c.dim("/100")} ${gradeEmoji(result.grade)} ${c.bold(result.grade)} Grade`);
183
+ console.log(` ${c.dim("Site:")} ${c.cyan(result.url)}`);
184
+ if (result.pageTitle) {
185
+ console.log(` ${c.dim("Title:")} ${result.pageTitle}`);
186
+ }
187
+ console.log();
188
+ // Score bar
189
+ console.log(` ${bar(result.overallScore, 30)} ${sc(String(result.overallScore) + "%")}`);
190
+ console.log();
191
+ // Benchmark
192
+ if (result.benchmark) {
193
+ const b = result.benchmark;
194
+ console.log(` ${c.dim("vs")} ${b.industryLabel}: ${c.bold("top " + (100 - b.percentileRank) + "%")} ${c.dim("(avg: " + b.industryAvg + ")")}`);
195
+ console.log();
196
+ }
197
+ // Key Issues
198
+ if (result.issues.length > 0) {
199
+ console.log(c.bold(" Key Issues"));
200
+ console.log(c.dim(" " + "─".repeat(50)));
201
+ const topIssues = result.issues.slice(0, 6);
202
+ for (const issue of topIssues) {
203
+ console.log();
204
+ console.log(` ${severityBadge(issue.severity)} ${c.bold(issue.title)}`);
205
+ console.log(` ${c.dim("→")} ${issue.description}`);
206
+ console.log(` ${c.green("Fix:")} ${issue.fix}`);
207
+ }
208
+ if (result.issues.length > 6) {
209
+ console.log();
210
+ console.log(c.dim(` + ${result.issues.length - 6} more issues in full report`));
211
+ }
212
+ console.log();
213
+ }
214
+ // Novel Insights (patterns)
215
+ if (result.patternsDetected.length > 0) {
216
+ console.log(c.bold(" Additional Insights Gravito Found"));
217
+ console.log(c.dim(" " + "─".repeat(50)));
218
+ for (const pattern of result.patternsDetected) {
219
+ console.log(` ${c.magenta("◆")} ${pattern.replace(/_/g, " ").replace(/\b\w/g, (ch) => ch.toUpperCase())}`);
220
+ }
221
+ console.log();
222
+ }
223
+ // Projection
224
+ if (result.projection) {
225
+ console.log(c.bold(" What This Means"));
226
+ console.log(c.dim(" " + "─".repeat(50)));
227
+ console.log(` ${result.projection.summary}`);
228
+ console.log(` ${c.dim("Time to fix:")} ${result.projection.timeToFix}`);
229
+ console.log();
230
+ }
231
+ // Shareable link
232
+ console.log(c.dim(" " + "─".repeat(50)));
233
+ console.log(` ${c.bold("Share:")} ${c.cyan(`${SHARE_BASE}/${result.reportId}`)}`);
234
+ console.log();
235
+ // Next step — subtle, not salesy
236
+ console.log(c.dim(" Try another site:"));
237
+ console.log(c.dim(" npx gravito-eval scan https://your-site.com"));
238
+ console.log();
239
+ // Analysis meta
240
+ console.log(c.dim(` Analyzed in ${(result.analysisTimeMs / 1000).toFixed(1)}s · ${result.engineUsed} · ${result.issues.length} issues found`));
241
+ console.log();
242
+ }
243
+ async function runScan(url, jsonOutput) {
244
+ // Normalize URL
245
+ let targetUrl = url.trim();
246
+ if (!targetUrl.startsWith("http")) {
247
+ targetUrl = `https://${targetUrl}`;
248
+ }
249
+ // Validate URL
250
+ try {
251
+ new URL(targetUrl);
252
+ }
253
+ catch {
254
+ console.error(`Invalid URL: ${url}`);
255
+ console.error(`Usage: gravito-eval scan https://example.com`);
256
+ process.exit(1);
257
+ }
258
+ const spinner = new Spinner();
259
+ spinner.start(`Scanning ${c.cyan(targetUrl)}`);
260
+ try {
261
+ const response = await httpPost(`${API_BASE}/api/trpc/try.analyzeUrl`, { json: { url: targetUrl } });
262
+ spinner.stop();
263
+ if (response.status !== 200) {
264
+ let errorMsg = "Analysis failed";
265
+ try {
266
+ const err = JSON.parse(response.body);
267
+ if (err?.error?.json?.message)
268
+ errorMsg = err.error.json.message;
269
+ else if (err?.error?.message)
270
+ errorMsg = err.error.message;
271
+ }
272
+ catch { }
273
+ console.error(`Error: ${errorMsg}`);
274
+ console.error();
275
+ console.error(`This can happen if:`);
276
+ console.error(` • The URL is not publicly accessible`);
277
+ console.error(` • The site blocks automated requests`);
278
+ console.error(` • The Gravito API is temporarily unavailable`);
279
+ console.error();
280
+ console.error(`Try: gravito-eval scan https://stripe.com`);
281
+ process.exit(1);
282
+ }
283
+ const parsed = JSON.parse(response.body);
284
+ const result = parsed.result?.data?.json || parsed.result?.data || parsed;
285
+ if (!result.overallScore && result.overallScore !== 0) {
286
+ console.error("Unexpected response format from Gravito API");
287
+ if (jsonOutput) {
288
+ console.log(JSON.stringify(parsed, null, 2));
289
+ }
290
+ process.exit(1);
291
+ }
292
+ if (jsonOutput) {
293
+ console.log(JSON.stringify(result, null, 2));
294
+ }
295
+ else {
296
+ printScanResult(result);
297
+ }
298
+ }
299
+ catch (err) {
300
+ spinner.stop();
301
+ console.error(`Error: ${err.message}`);
302
+ console.error();
303
+ console.error(`Check your internet connection and try again.`);
304
+ process.exit(1);
305
+ }
306
+ }
307
+ // ─── Demo Command ────────────────────────────────────────────────────────
308
+ function runDemo() {
309
+ console.log();
310
+ console.log(c.bold(" Gravito Eval — Demo"));
311
+ console.log(c.dim(" " + "─".repeat(50)));
312
+ console.log();
313
+ console.log(` Gravito evaluates any website or AI output and tells you:`);
314
+ console.log(` ${c.cyan("1.")} How closely it matches human-quality judgment`);
315
+ console.log(` ${c.cyan("2.")} Where the gaps are`);
316
+ console.log(` ${c.cyan("3.")} What improvements a human reviewer would miss`);
317
+ console.log();
318
+ console.log(c.dim(" " + "─".repeat(50)));
319
+ console.log();
320
+ console.log(c.bold(" Example: Scanning a SaaS landing page"));
321
+ console.log();
322
+ // Simulated output
323
+ const demoResult = {
324
+ url: "https://example-saas.com",
325
+ pageTitle: "Example SaaS — Project Management for Teams",
326
+ overallScore: 64,
327
+ grade: "D",
328
+ riskLevel: "medium",
329
+ summary: "This page has 4 high-priority issues that weaken trust and conversion. Fixing them would meaningfully improve both compliance posture and user confidence.",
330
+ issues: [
331
+ {
332
+ category: "unsubstantiated_claim",
333
+ severity: "high",
334
+ title: "Unsubstantiated Performance Claim",
335
+ description: '"Trusted by 10,000+ teams" — no source, no verification, no link to evidence',
336
+ fix: "Add a source link or replace with verifiable metric",
337
+ location: "Hero section",
338
+ },
339
+ {
340
+ category: "missing_disclosure",
341
+ severity: "high",
342
+ title: "Missing AI Disclosure",
343
+ description: 'Uses "AI-powered" in headline but no transparency about how AI is used or what data it processes',
344
+ fix: "Add an AI transparency section or link to AI usage policy",
345
+ location: "Above the fold",
346
+ },
347
+ {
348
+ category: "content_safety",
349
+ severity: "medium",
350
+ title: "Absolute Language Without Qualification",
351
+ description: '"The fastest project management tool" — superlative claim without comparative data',
352
+ fix: 'Qualify with "one of the fastest" or add benchmark data',
353
+ location: "Features section",
354
+ },
355
+ {
356
+ category: "trust_transparency",
357
+ severity: "medium",
358
+ title: "Cookie Consent Missing",
359
+ description: "No cookie consent banner detected. Required under GDPR/ePrivacy for EU visitors.",
360
+ fix: "Implement a cookie consent mechanism before tracking scripts load",
361
+ location: "Global",
362
+ },
363
+ {
364
+ category: "brand_governance",
365
+ severity: "low",
366
+ title: "Inconsistent Messaging Tone",
367
+ description: "Hero uses casual tone, pricing page uses formal/legal tone — creates cognitive dissonance",
368
+ fix: "Align tone across all pages to match brand voice guidelines",
369
+ location: "Multiple pages",
370
+ },
371
+ ],
372
+ projection: {
373
+ riskLevel: "medium",
374
+ summary: "This page is functional but has 4 issues that weaken its effectiveness. Fixing them would meaningfully improve trust and conversion.",
375
+ potentialImpacts: [
376
+ "Customer trust erosion from unsubstantiated claims",
377
+ "Transparency gaps that erode user confidence",
378
+ ],
379
+ timeToFix: "30–60 minutes",
380
+ },
381
+ rewrittenExcerpt: "",
382
+ claimsDetected: 6,
383
+ claimsVerified: 2,
384
+ patternsDetected: [
385
+ "overclaiming",
386
+ "missing_disclaimers",
387
+ "unsubstantiated_claims",
388
+ ],
389
+ analysisTimeMs: 4200,
390
+ engineUsed: "Gravito Engine (Demo)",
391
+ reportId: "demo",
392
+ benchmark: {
393
+ percentileRank: 42,
394
+ industryCategory: "saas_marketing",
395
+ industryLabel: "SaaS Marketing Pages",
396
+ industryAvg: 62,
397
+ insight: "This page falls below the median for SaaS marketing pages. Competitors with better governance scores are building more trust with the same audience.",
398
+ },
399
+ };
400
+ printScanResult(demoResult);
401
+ console.log(c.dim(" " + "═".repeat(50)));
402
+ console.log();
403
+ console.log(c.bold(" How it works"));
404
+ console.log();
405
+ console.log(` ${c.cyan("→")} Gravito fetches the page and extracts content`);
406
+ console.log(` ${c.cyan("→")} Runs governance analysis across 5 frameworks`);
407
+ console.log(` ${c.cyan("→")} Compares against industry benchmarks`);
408
+ console.log(` ${c.cyan("→")} Identifies issues a human reviewer would flag`);
409
+ console.log(` ${c.cyan("→")} Finds additional issues humans typically miss`);
410
+ console.log();
411
+ console.log(c.dim(" " + "═".repeat(50)));
412
+ console.log();
413
+ console.log(c.bold(" Try it on a real site:"));
414
+ console.log();
415
+ console.log(` ${c.cyan("npx gravito-eval scan https://stripe.com")}`);
416
+ console.log(` ${c.cyan("npx gravito-eval scan https://openai.com")}`);
417
+ console.log(` ${c.cyan("npx gravito-eval scan https://your-site.com")}`);
418
+ console.log();
419
+ }
420
+ // ─── Run Command (existing) ──────────────────────────────────────────────
57
421
  function printResult(result) {
58
422
  const d = result.detection;
59
423
  const r = result.ranking;
60
424
  console.log();
61
- console.log("Gravito Eval Results");
425
+ console.log(c.bold(" Gravito Eval Results"));
426
+ console.log(c.dim(" " + "─".repeat(50)));
62
427
  console.log();
63
- console.log(`Recall: ${pct(d.recall)}`);
64
- console.log(`Precision: ${pct(d.precision)}`);
65
- console.log(`F1: ${pct(d.f1)}`);
428
+ console.log(` ${c.dim("Recall:")} ${scoreColor(d.recall * 100)(pct(d.recall))}`);
429
+ console.log(` ${c.dim("Precision:")} ${scoreColor(d.precision * 100)(pct(d.precision))}`);
430
+ console.log(` ${c.dim("F1:")} ${scoreColor(d.f1 * 100)(pct(d.f1))}`);
66
431
  console.log();
67
- console.log(`Top-3 Agreement: ${pct(r.top3Overlap)}`);
432
+ console.log(` ${c.dim("Top-3 Agreement:")} ${scoreColor(r.top3Overlap * 100)(pct(r.top3Overlap))}`);
68
433
  if (result.novelSignal) {
69
- console.log(`Novel Signal: ${pct(result.novelSignal.validatedNovelRate)} (validated)`);
434
+ console.log(` ${c.dim("Novel Signal:")} ${c.magenta(pct(result.novelSignal.validatedNovelRate))} ${c.dim("(validated)")}`);
70
435
  }
71
436
  console.log();
72
- console.log("Interpretation:");
437
+ console.log(c.bold(" Interpretation"));
438
+ console.log(c.dim(" " + "─".repeat(50)));
73
439
  printInterpretation(result);
74
440
  console.log();
75
- console.log("Next Step:");
76
- console.log("Want this running continuously and fixing issues automatically?");
77
- console.log();
78
- console.log(" Try Gravito: https://gravito.ai/pilot");
441
+ // Subtle next step
442
+ console.log(c.dim(" " + "─".repeat(50)));
443
+ console.log(c.dim(" Try scanning a live site:"));
444
+ console.log(c.dim(" npx gravito-eval scan https://your-site.com"));
79
445
  console.log();
80
446
  }
81
447
  function printInterpretation(result) {
82
448
  const d = result.detection;
83
449
  if (d.recall >= 0.7) {
84
- console.log("- Strong alignment with human judgment");
450
+ console.log(` ${c.green("✓")} Strong alignment with human judgment`);
85
451
  }
86
452
  else if (d.recall >= 0.5) {
87
- console.log("- Moderate alignment — some human findings missed");
453
+ console.log(` ${c.yellow("~")} Moderate alignment — some human findings missed`);
88
454
  }
89
455
  else {
90
- console.log("- Low alignment — many human findings missed");
456
+ console.log(` ${c.red("✗")} Low alignment — many human findings missed`);
91
457
  }
92
458
  if (result.novelSignal) {
93
459
  const rate = result.novelSignal.validatedNovelRate;
94
460
  if (rate >= 0.4) {
95
- console.log("- AI found significant issues humans missed");
461
+ console.log(` ${c.magenta("◆")} AI found significant issues humans missed`);
96
462
  }
97
463
  else if (rate >= 0.2) {
98
- console.log("- AI found some issues humans missed");
464
+ console.log(` ${c.magenta("◆")} AI found some issues humans missed`);
99
465
  }
100
466
  }
467
+ // Verdict
468
+ const verdictMap = {
469
+ PASS: c.green("PASS"),
470
+ PARTIAL: c.yellow("PARTIAL"),
471
+ FAIL: c.red("FAIL"),
472
+ INSUFFICIENT_DATA: c.dim("INSUFFICIENT DATA"),
473
+ };
474
+ console.log(` ${c.dim("Verdict:")} ${verdictMap[result.verdict] || result.verdict}`);
101
475
  }
102
- // ─── Explain Mode ─────────────────────────────────────────────────────────
476
+ // ─── Explain Mode ────────────────────────────────────────────────────────
103
477
  function printExplain(result) {
104
- console.log("─── Detailed Reasoning ───");
478
+ console.log(c.bold(" Detailed Reasoning"));
479
+ console.log(c.dim(" " + "─".repeat(50)));
105
480
  console.log();
106
- // Matched pairs
107
481
  if (result.matches.length > 0) {
108
- console.log("Matched (AI ↔ Human):");
482
+ console.log(c.bold(" Matched (AI ↔ Human):"));
109
483
  for (const m of result.matches) {
110
484
  console.log();
111
- console.log(` AI: "${m.aiIssue.description}"`);
112
- console.log(` Human: "${m.humanIssue.description}"`);
113
- console.log(` Why: ${m.matchType} match (${Math.round(m.similarity * 100)}% similar)`);
485
+ console.log(` ${c.cyan("AI:")} "${m.aiIssue.description}"`);
486
+ console.log(` ${c.green("Human:")} "${m.humanIssue.description}"`);
487
+ console.log(` ${c.dim("Why:")} ${m.matchType} match (${Math.round(m.similarity * 100)}% similar)`);
114
488
  }
115
489
  console.log();
116
490
  }
117
- // Novel findings
118
491
  if (result.aiOnly.length > 0) {
119
- console.log("Novel (AI found, humans didn't):");
492
+ console.log(c.bold(" Novel (AI found, humans didn't):"));
120
493
  for (const f of result.aiOnly) {
121
- console.log(` → "${f.description}"`);
122
- console.log(` Why novel: No similar human finding found`);
494
+ console.log(` ${c.magenta("")} "${f.description}"`);
123
495
  }
124
496
  console.log();
125
497
  }
126
- // Missed findings
127
498
  if (result.humanOnly.length > 0) {
128
- console.log("Missed (humans found, AI didn't):");
499
+ console.log(c.bold(" Missed (humans found, AI didn't):"));
129
500
  for (const f of result.humanOnly) {
130
- console.log(` ✗ "${f.description}"`);
501
+ console.log(` ${c.red("")} "${f.description}"`);
131
502
  }
132
503
  console.log();
133
504
  }
@@ -197,27 +568,32 @@ function loadData(inputPath) {
197
568
  const raw = JSON.parse(fs.readFileSync(resolved, "utf-8"));
198
569
  return validateData(raw);
199
570
  }
200
- // ─── Main ─────────────────────────────────────────────────────────────────
571
+ // ─── Main ────────────────────────────────────────────────────────────────
201
572
  function showHelp() {
202
573
  console.log(`
203
- Gravito Eval — Measure AI-human alignment
574
+ ${c.bold("Gravito Eval")}Evaluate any website or AI output in seconds
575
+
576
+ ${c.bold("Usage:")}
577
+ gravito-eval scan <url> ${c.dim("Scan a live URL")}
578
+ gravito-eval demo ${c.dim("See a demo with explanations")}
579
+ gravito-eval run <path> ${c.dim("Evaluate local findings")}
204
580
 
205
- Usage:
206
- gravito-eval run <path> Evaluate findings
207
- gravito-eval run <path> --explain Show detailed match reasoning
208
- gravito-eval run <path> --json Output raw JSON
209
- gravito-eval run <path> --no-telemetry Disable anonymous tracking
581
+ ${c.bold("Scan flags:")}
582
+ --json ${c.dim("Output raw JSON")}
210
583
 
211
- Input:
212
- <path> can be a .json file or a directory containing input.json
584
+ ${c.bold("Run flags:")}
585
+ --explain ${c.dim("Show detailed match reasoning")}
586
+ --json ${c.dim("Output raw JSON")}
587
+ --no-telemetry ${c.dim("Disable anonymous tracking")}
213
588
 
214
- Examples:
215
- gravito-eval run ./examples/basic
216
- gravito-eval run ./my-audit.json
217
- gravito-eval run ./examples/basic --explain
589
+ ${c.bold("Examples:")}
590
+ ${c.cyan("gravito-eval scan https://stripe.com")} ${c.dim("Scan Stripe's homepage")}
591
+ ${c.cyan("gravito-eval scan https://your-site.com")} ${c.dim("Scan your own site")}
592
+ ${c.cyan("gravito-eval demo")} ${c.dim("See what the output looks like")}
593
+ ${c.cyan("gravito-eval run ./examples/basic")} ${c.dim("Evaluate local data")}
218
594
  `);
219
595
  }
220
- function main() {
596
+ async function main() {
221
597
  const args = process.argv.slice(2);
222
598
  if (args.length === 0 || args.includes("--help") || args.includes("-h")) {
223
599
  showHelp();
@@ -235,42 +611,68 @@ function main() {
235
611
  console.log(pkg.version);
236
612
  process.exit(0);
237
613
  }
238
- if (args[0] !== "run") {
239
- console.error(`Unknown command: ${args[0]}`);
240
- console.error(`Run: gravito-eval --help`);
241
- process.exit(1);
614
+ const command = args[0];
615
+ // ── scan <url> ──
616
+ if (command === "scan") {
617
+ if (!args[1]) {
618
+ console.error(`Missing URL.`);
619
+ console.error(`Usage: gravito-eval scan https://example.com`);
620
+ process.exit(1);
621
+ }
622
+ (0, telemetry_1.trackRun)("scan");
623
+ const jsonOutput = args.includes("--json");
624
+ await runScan(args[1], jsonOutput);
625
+ setTimeout(() => process.exit(0), 100);
626
+ return;
242
627
  }
243
- if (!args[1]) {
244
- console.error(`Missing path.`);
245
- console.error(`Usage: gravito-eval run <path>`);
246
- process.exit(1);
628
+ // ── demo ──
629
+ if (command === "demo") {
630
+ (0, telemetry_1.trackRun)("demo");
631
+ runDemo();
632
+ setTimeout(() => process.exit(0), 100);
633
+ return;
247
634
  }
248
- const jsonOutput = args.includes("--json");
249
- const explainMode = args.includes("--explain");
250
- // Fire-and-forget telemetry (non-blocking)
251
- (0, telemetry_1.trackRun)("run");
252
- try {
253
- const data = loadData(args[1]);
254
- const result = (0, calibration_1.evaluate)(data.aiFindings, data.humanFindings, {
255
- adjudications: data.adjudications,
256
- autoAdjudicate: !data.adjudications,
257
- });
258
- if (jsonOutput) {
259
- console.log(JSON.stringify(result, null, 2));
635
+ // ── run <path> ──
636
+ if (command === "run") {
637
+ if (!args[1]) {
638
+ console.error(`Missing path.`);
639
+ console.error(`Usage: gravito-eval run <path>`);
640
+ process.exit(1);
260
641
  }
261
- else {
262
- printResult(result);
263
- if (explainMode) {
264
- printExplain(result);
642
+ const jsonOutput = args.includes("--json");
643
+ const explainMode = args.includes("--explain");
644
+ (0, telemetry_1.trackRun)("run");
645
+ try {
646
+ const data = loadData(args[1]);
647
+ const result = (0, calibration_1.evaluate)(data.aiFindings, data.humanFindings, {
648
+ adjudications: data.adjudications,
649
+ autoAdjudicate: !data.adjudications,
650
+ });
651
+ if (jsonOutput) {
652
+ console.log(JSON.stringify(result, null, 2));
653
+ }
654
+ else {
655
+ printResult(result);
656
+ if (explainMode) {
657
+ printExplain(result);
658
+ }
265
659
  }
266
660
  }
661
+ catch (err) {
662
+ console.error(`Error: ${err.message}`);
663
+ process.exit(1);
664
+ }
665
+ setTimeout(() => process.exit(0), 100);
666
+ return;
267
667
  }
268
- catch (err) {
269
- console.error(`Error: ${err.message}`);
270
- process.exit(1);
271
- }
272
- // Force exit — telemetry HTTP should not keep process alive
273
- setTimeout(() => process.exit(0), 100);
668
+ // Unknown command
669
+ console.error(`Unknown command: ${command}`);
670
+ console.error();
671
+ console.error(`Run: gravito-eval --help`);
672
+ process.exit(1);
274
673
  }
275
- main();
674
+ main().catch((err) => {
675
+ console.error(`Fatal: ${err.message}`);
676
+ process.exit(1);
677
+ });
276
678
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../cli/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../cli/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "gravito-eval",
3
- "version": "0.1.0",
4
- "description": "Measure how closely AI decisions match human judgment and where they add new signal.",
3
+ "version": "0.2.0",
4
+ "description": "Scan any website in seconds see what's wrong, what's missing, and what humans would miss.",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
7
7
  "bin": {
@@ -21,16 +21,16 @@
21
21
  "prepublishOnly": "npm run clean && npm run build"
22
22
  },
23
23
  "keywords": [
24
+ "website-scanner",
24
25
  "ai-evaluation",
26
+ "governance",
25
27
  "alignment",
26
- "calibration",
27
- "precision",
28
- "recall",
29
- "f1-score",
30
- "semantic-matching",
31
- "novel-signal",
32
- "human-ai-comparison",
33
- "evaluation-framework"
28
+ "content-audit",
29
+ "compliance",
30
+ "llm-evaluation",
31
+ "prompt-testing",
32
+ "ai-qa",
33
+ "website-analysis"
34
34
  ],
35
35
  "author": "Gravito <hello@gravitoai.com>",
36
36
  "license": "MIT",