-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathverify_summary.json
More file actions
156 lines (156 loc) · 18.3 KB
/
verify_summary.json
File metadata and controls
156 lines (156 loc) · 18.3 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
{
"generated_at": "2026-05-08T20:21:23.032950+00:00",
"overall_status": "passed",
"command_count": 9,
"passed_count": 9,
"failed_count": 0,
"total_duration_seconds": 219.918,
"benchmark_context": {
"available": true,
"path": "docs/benchmarks/latest/benchmark_summary.json",
"build_id": "build-20260425085620",
"model_version": "baseline-v1-build-20260425085620",
"sample_count": 101,
"configured_policy_mode": "bseo-live",
"resolved_policy_mode": "bseo-live",
"recommended_policy_mode": "bseo-live"
},
"outputs": {
"json": "docs/benchmarks/latest/verify_summary.json",
"markdown": "docs/benchmarks/latest/verify_summary.md"
},
"commands": [
{
"name": "pytest",
"command": [
"<repo>\\.venv\\Scripts\\python.exe",
"-m",
"pytest",
"-q"
],
"exit_code": 0,
"status": "passed",
"duration_seconds": 108.664,
"output_excerpt": "........................................................................ [ 50%]\n........................................................................ [100%]\n144 passed in 106.03s (0:01:46)"
},
{
"name": "ruff",
"command": [
"<repo>\\.venv\\Scripts\\python.exe",
"-m",
"ruff",
"check",
"."
],
"exit_code": 0,
"status": "passed",
"duration_seconds": 0.199,
"output_excerpt": "All checks passed!"
},
{
"name": "mypy",
"command": [
"<repo>\\.venv\\Scripts\\python.exe",
"-m",
"mypy",
"."
],
"exit_code": 0,
"status": "passed",
"duration_seconds": 17.066,
"output_excerpt": "Success: no issues found in 71 source files"
},
{
"name": "pnpm-typecheck",
"command": [
"powershell",
"-NoLogo",
"-NoProfile",
"-ExecutionPolicy",
"Bypass",
"-Command",
"pnpm typecheck"
],
"exit_code": 0,
"status": "passed",
"duration_seconds": 9.283,
"output_excerpt": "> truthlens@0.1.0 typecheck <repo>\n> pnpm --filter @truthlens/shared-schemas typecheck && pnpm --filter @truthlens/extension typecheck && pnpm --filter @truthlens/labeling-ui typecheck\n\n\n> @truthlens/shared-schemas@0.1.0 typecheck <repo>\\libs\\shared-schemas\n> tsc --noEmit -p tsconfig.json\n\n\n> @truthlens/extension@0.1.0 typecheck <repo>\\apps\\extension\n> tsc --noEmit -p tsconfig.json\n\n\n> @truthlens/labeling-ui@0.1.0 typecheck <repo>\\apps\\labeling-ui\n> tsc --noEmit -p tsconfig.json"
},
{
"name": "pnpm-test",
"command": [
"powershell",
"-NoLogo",
"-NoProfile",
"-ExecutionPolicy",
"Bypass",
"-Command",
"pnpm test"
],
"exit_code": 0,
"status": "passed",
"duration_seconds": 15.405,
"output_excerpt": "> truthlens@0.1.0 test <repo>\n> pnpm --filter @truthlens/shared-schemas test && pnpm --filter @truthlens/extension test && pnpm --filter @truthlens/labeling-ui test\n\n\n> @truthlens/shared-schemas@0.1.0 test <repo>\\libs\\shared-schemas\n> vitest run\n\n\n\u001b[1m\u001b[46m RUN \u001b[49m\u001b[22m \u001b[36mv3.2.4 \u001b[39m\u001b[90m<repo>/libs/shared-schemas\u001b[39m\n\n \u001b[32m\u2713\u001b[39m src/index.test.ts \u001b[2m(\u001b[22m\u001b[2m8 tests\u001b[22m\u001b[2m)\u001b[22m\u001b[32m 8\u001b[2mms\u001b[22m\u001b[39m\n\n\u001b[2m Test Files \u001b[22m \u001b[1m\u001b[32m1 passed\u001b[39m\u001b[22m\u001b[90m (1)\u001b[39m\n\u001b[2m Tests \u001b[22m \u001b[1m\u001b[32m8 passed\u001b[39m\u001b[22m\u001b[90m (8)\u001b[39m\n\u001b[2m Start at \u001b[22m 22:19:59\n\u001b[2m Duration \u001b[22m 532ms\u001b[2m (transform 92ms, setup 0ms, collect 121ms, tests 8ms, environment 0ms, prepare 156ms)\u001b[22m\n\n\n> @truthlens/extension@0.1.0 test <repo>\\apps\\extension\n> vitest run\n\n\n\u001b[1m\u001b[46m RUN \u001b[49m\u001b[22m \u001b[36mv3.2.4 \u001b[39m\u001b[90m<repo>/apps/extension\u001b[39m\n\n \u001b[32m\u2713\u001b[39m src/lib/userPreferences.test.ts \u001b[2m(\u001b[22m\u001b[2m4 tests\u001b[22m\u001b[2m)\u001b[22m\u001b[32m 9\u001b[2mms\u001b[22m\u001b[39m\n \u001b[32m\u2713\u001b[39m src/lib/domMutationFilter.test.ts \u001b[2m(\u001b[22m\u001b[2m4 tests\u001b[22m\u001b[2m)\u001b[22m\u001b[32m 56\u001b[2mms\u001b[22m\u001b[39m\n \u001b[32m\u2713\u001b[39m src/lib/feedCardEligibility.test.ts \u001b[2m(\u001b[22m\u001b[2m5 tests\u001b[22m\u001b[2m)\u001b[22m\u001b[32m 62\u001b[2mms\u001b[22m\u001b[39m\n \u001b[32m\u2713\u001b[39m src/lib/mockScore.test.ts \u001b[2m(\u001b[22m\u001b[2m6 tests\u001b[22m\u001b[2m)\u001b[22m\u001b[32m 12\u001b[2mms\u001b[22m\u001b[39m\n\u001b[90mstdout\u001b[2m | src/lib/api.test.ts\u001b[2m > \u001b[22m\u001b[2mscoreFeedItem\u001b[2m > \u001b[22m\u001b[2mfalls back to bootstrap batch scoring when the API hangs\n\u001b[22m\u001b[39m[truthlens:homepage] bootstrap fallback used for /batch-score {\n itemCount: \u001b[33m1\u001b[39m,\n reason: \u001b[32m'TruthLens API request timed out after 12000ms.'\u001b[39m\n}\n\n \u001b[32m\u2713\u001b[39m src/background.test.ts \u001b[2m(\u001b[22m\u001b[2m5 tests\u001b[22m\u001b[2m)\u001b[22m\u001b[32m 14\u001b[2mms\u001b[22m\u001b[39m\n\u001b[90mstdout\u001b[2m | src/lib/api.test.ts\u001b[2m > \u001b[22m\u001b[2mscoreFeedItem\u001b[2m > \u001b[22m\u001b[2mfalls back to bootstrap scoring when the API is unavailable\n\u001b[22m\u001b[39m[truthlens:homepage] bootstrap fallback used for /score-item { itemId: \u001b[32m'card-2'\u001b[39m, reason: \u001b[32m'offline'\u001b[39m }\n\n\u001b[90mstdout\u001b[2m | src/lib/api.test.ts\u001b[2m > \u001b[22m\u001b[2mscoreFeedItem\u001b[2m > \u001b[22m\u001b[2mfalls back to bootstrap batch scoring when the API is unavailable\n\u001b[22m\u001b[39m[truthlens:homepage] bootstrap fallback used for /batch-score { itemCount: \u001b[33m2\u001b[39m, reason: \u001b[32m'offline'\u001b[39m }\n\n\u001b[90mstdout\u001b[2m | src/lib/api.test.ts\u001b[2m > \u001b[22m\u001b[2mscoreFeedItem\u001b[2m > \u001b[22m\u001b[2mdoes not cache bootstrap fallback after a batch timeout\n\u001b[22m\u001b[39m[truthlens:homepage] bootstrap fallback used for /batch-score {\n itemCount: \u001b[33m1\u001b[39m,\n reason: \u001b[32m'TruthLens API request timed out after 12000ms.'\u001b[39m\n}\n\n \u001b[32m\u2713\u001b[39m src/lib/api.test.ts \u001b[2m(\u001b[22m\u001b[2m16 tests\u001b[22m\u001b[2m)\u001b[22m\u001b[32m 37\u001b[2mms\u001b[22m\u001b[39m\n \u001b[32m\u2713\u001b[39m src/overlay/App.test.tsx \u001b[2m(\u001b[22m\u001b[2m8 tests\u001b[22m\u001b[2m)\u001b[22m\u001b[33m 666\u001b[2mms\u001b[22m\u001b[39m\n \u001b[32m\u2713\u001b[39m src/lib/youtubeWatchMetadata.test.ts \u001b[2m(\u001b[22m\u001b[2m4 tests\u001b[22m\u001b[2m)\u001b[22m\u001b[32m 10\u001b[2mms\u001b[22m\u001b[39m\n \u001b[32m\u2713\u001b[39m src/lib/feedReranking.test.ts \u001b[2m(\u001b[22m\u001b[2m6 tests\u001b[22m\u001b[2m)\u001b[22m\u001b[32m 10\u001b[2mms\u001b[22m\u001b[39m\n \u001b[32m\u2713\u001b[39m src/lib/reviewPrompts.test.ts \u001b[2m(\u001b[22m\u001b[2m5 tests\u001b[22m\u001b[2m)\u001b[22m\u001b[32m 9\u001b[2mms\u001b[22m\u001b[39m\n \u001b[32m\u2713\u001b[39m src/overlay/store.test.ts \u001b[2m(\u001b[22m\u001b[2m2 tests\u001b[22m\u001b[2m)\u001b[22m\u001b[32m 8\u001b[2mms\u001b[22m\u001b[39m\n \u001b[32m\u2713\u001b[39m src/lib/sessionStats.test.ts \u001b[2m(\u001b[22m\u001b[2m2 tests\u001b[22m\u001b[2m)\u001b[22m\u001b[32m 10\u001b[2mms\u001b[22m\u001b[39m\n \u001b[32m\u2713\u001b[39m src/lib/channelTrustCache.test.ts \u001b[2m(\u001b[22m\u001b[2m2 tests\u001b[22m\u001b[2m)\u001b[22m\u001b[32m 7\u001b[2mms\u001b[22m\u001b[39m\n \u001b[32m\u2713\u001b[39m src/lib/personalization.test.ts \u001b[2m(\u001b[22m\u001b[2m3 tests\u001b[22m\u001b[2m)\u001b[22m\u001b[32m 8\u001b[2mms\u001b[22m\u001b[39m\n \u001b[32m\u2713\u001b[39m src/lib/feedScoreTruth.test.ts \u001b[2m(\u001b[22m\u001b[2m5 tests\u001b[22m\u001b[2m)\u001b[22m\u001b[32m 5\u001b[2mms\u001b[22m\u001b[39m\n \u001b[32m\u2713\u001b[39m src/lib/homepageSco\n... [truncated]"
},
{
"name": "pnpm-build",
"command": [
"powershell",
"-NoLogo",
"-NoProfile",
"-ExecutionPolicy",
"Bypass",
"-Command",
"pnpm build"
],
"exit_code": 0,
"status": "passed",
"duration_seconds": 8.487,
"output_excerpt": "> truthlens@0.1.0 build <repo>\n> pnpm --filter @truthlens/shared-schemas build && pnpm --filter @truthlens/extension build && pnpm --filter @truthlens/labeling-ui build\n\n\n> @truthlens/shared-schemas@0.1.0 build <repo>\\libs\\shared-schemas\n> tsc -p tsconfig.json\n\n\n> @truthlens/extension@0.1.0 build <repo>\\apps\\extension\n> vite build && vite build --config vite.content.config.ts && node scripts/verify-build.mjs\n\n\u001b[36mvite v6.4.1 \u001b[32mbuilding for production...\u001b[36m\u001b[39m\ntransforming...\n\u001b[32m\u2713\u001b[39m 45 modules transformed.\nrendering chunks...\ncomputing gzip size...\n\u001b[2mdist/\u001b[22m\u001b[32mpopup.html \u001b[39m\u001b[1m\u001b[2m 0.39 kB\u001b[22m\u001b[1m\u001b[22m\u001b[2m \u2502 gzip: 0.26 kB\u001b[22m\n\u001b[2mdist/\u001b[22m\u001b[36mbackground.js \u001b[39m\u001b[1m\u001b[2m 2.60 kB\u001b[22m\u001b[1m\u001b[22m\u001b[2m \u2502 gzip: 1.16 kB\u001b[22m\n\u001b[2mdist/\u001b[22m\u001b[36mchunks/runtimeConfig.js \u001b[39m\u001b[1m\u001b[2m 70.05 kB\u001b[22m\u001b[1m\u001b[22m\u001b[2m \u2502 gzip: 15.96 kB\u001b[22m\n\u001b[2mdist/\u001b[22m\u001b[36mpopup.js \u001b[39m\u001b[1m\u001b[2m204.16 kB\u001b[22m\u001b[1m\u001b[22m\u001b[2m \u2502 gzip: 63.41 kB\u001b[22m\n\u001b[32m\u2713 built in 1.07s\u001b[39m\n\u001b[36mvite v6.4.1 \u001b[32mbuilding for production...\u001b[36m\u001b[39m\ntransforming...\n\u001b[32m\u2713\u001b[39m 62 modules transformed.\nrendering chunks...\ncomputing gzip size...\n\u001b[2mdist/\u001b[22m\u001b[35massets/content.css \u001b[39m\u001b[1m\u001b[2m 7.12 kB\u001b[22m\u001b[1m\u001b[22m\u001b[2m \u2502 gzip: 1.87 kB\u001b[22m\n\u001b[2mdist/\u001b[22m\u001b[36mcontent.js \u001b[39m\u001b[1m\u001b[2m368.24 kB\u001b[22m\u001b[1m\u001b[22m\u001b[2m \u2502 gzip: 107.95 kB\u001b[22m\n\u001b[32m\u2713 built in 1.33s\u001b[39m\nExtension build verified.\n\n> @truthlens/labeling-ui@0.1.0 build <repo>\\apps\\labeling-ui\n> vite build\n\n\u001b[36mvite v6.4.1 \u001b[32mbuilding for production...\u001b[36m\u001b[39m\ntransforming...\n\u001b[32m\u2713\u001b[39m 41 modules transformed.\nrendering chunks...\ncomputing gzip size...\n\u001b[2mdist/\u001b[22m\u001b[32mindex.html \u001b[39m\u001b[1m\u001b[2m 0.42 kB\u001b[22m\u001b[1m\u001b[22m\u001b[2m \u2502 gzip: 0.28 kB\u001b[22m\n\u001b[2mdist/\u001b[22m\u001b[32mannotation-batch.data.json \u001b[39m\u001b[1m\u001b[2m287.13 kB\u001b[22m\u001b[1m\u001b[22m\u001b[2m \u2502 gzip: 11.64 kB\u001b[22m\n\u001b[2mdist/\u001b[22m\u001b[35massets/index-KaTrgatk.css \u001b[39m\u001b[1m\u001b[2m 3.61 kB\u001b[22m\u001b[1m\u001b[22m\u001b[2m \u2502 gzip: 1.15 kB\u001b[22m\n\u001b[2mdist/\u001b[22m\u001b[36massets/index-D1nJvnxU.js \u001b[39m\u001b[1m\u001b[2m279.30 kB\u001b[22m\u001b[1m\u001b[22m\u001b[2m \u2502 gzip: 80.09 kB\u001b[22m\n\u001b[32m\u2713 built in 1.09s\u001b[39m"
},
{
"name": "docs-render-architecture",
"command": [
"powershell",
"-NoLogo",
"-NoProfile",
"-ExecutionPolicy",
"Bypass",
"-Command",
"pnpm docs:render-architecture"
],
"exit_code": 0,
"status": "passed",
"duration_seconds": 7.725,
"output_excerpt": "> truthlens@0.1.0 docs:render-architecture <repo>\n> node scripts/render_architecture_diagram.mjs"
},
{
"name": "docs-render-benchmarks",
"command": [
"<repo>\\.venv\\Scripts\\python.exe",
"scripts/render_benchmark_visualizations.py"
],
"exit_code": 0,
"status": "passed",
"duration_seconds": 13.177,
"output_excerpt": "{\n \"generated_at\": \"2026-05-08T20:20:42.107491+00:00\",\n \"build_id\": \"build-20260425085620\",\n \"model_version\": \"baseline-v1-build-20260425085620\",\n \"trained_at\": \"2026-05-03T06:31:35.873484+00:00\",\n \"sample_count\": 101,\n \"artifact_paths\": {\n \"model_info\": \"artifacts/trained_models/latest/model_info.json\",\n \"eval_report\": \"docs/benchmarks/latest/artifacts/build-20260425085620.json\",\n \"simulation\": \"docs/benchmarks/latest/artifacts/build-20260425085620-simulation.json\",\n \"training_history\": \"docs/benchmarks/latest/artifacts/build-20260425085620-training-history.json\",\n \"semantic_routing_eval\": \"docs/benchmarks/latest/artifacts/build-20260425085620-semantic-routing-eval.json\",\n \"semantic_routing_baseline_eval\": \"docs/benchmarks/latest/artifacts/build-20260425085620-semantic-routing-baseline-eval.json\",\n \"calibration_decision\": \"docs/benchmarks/latest/artifacts/build-20260425085620-calibration-decision.json\",\n \"creative_fpr_before_eval\": \"docs/benchmarks/latest/artifacts/build-20260425085620-creative-fpr-before-eval.json\",\n \"creative_fpr_diagnostic\": \"docs/benchmarks/latest/artifacts/build-20260425085620-creative-fpr-diagnostic.json\",\n \"no_retrain_decision\": null,\n \"no_promotion_decision\": null,\n \"bseo_report\": \"docs/benchmarks/latest/artifacts/build-20260425085620-bseo-report.json\",\n \"mutation_atlas\": \"docs/benchmarks/latest/artifacts/build-20260425085620-mutation-bias-atlas.json\",\n \"lineage\": \"docs/benchmarks/latest/artifacts/build-20260425085620-bseo-lineage.json\",\n \"drift_report\": \"docs/benchmarks/latest/artifacts/drift-build-20260425085620.json\",\n \"runtime_policy\": \"configs/thresholds/runtime-policy.json\",\n \"thresholds\": \"configs/thresholds/default.json\",\n \"bseo_policy\": \"configs/thresholds/bseo-policy.json\",\n \"runtime_governance\": \"artifacts/reports/runtime-governance-latest.json\",\n \"supplemental_candidates\": null,\n \"supplemental_adjudication\": null,\n \"supplemental_gold\": null,\n \"operator_feedback_manifest\": \"datasets/manifests/operator_feedback/latest.json\",\n \"operator_ingestion_manifest\": \"datasets/manifests/operator_feedback/build-20260425085620-ingestion.json\",\n \"operator_adjudication\": \"datasets/manifests/operator_feedback/adjudication/discovery-20260425085618-operator-feedback.json\",\n \"operator_gold\": \"datasets/manifests/operator_feedback/gold/discovery-20260425085618-operator-feedback.jsonl\",\n \"build_manifest\": \"datasets/manifests/builds/latest.json\"\n },\n \"artifact_timestamps\": {\n \"model_info\": \"2026-05-03T06:31:40.494885+00:00\",\n \"eval_report\": \"2026-05-03T06:31:40.494885+00:00\",\n \"simulation\": \"2026-05-03T06:32:16.473381+00:00\",\n \"training_history\": \"2026-05-03T06:31:40.494885+00:00\",\n \"semantic_routing_eval\": \"2026-05-03T16:02:54.700788+00:00\",\n \"semantic_routing_baseline_eval\": \"2026-05-03T06:28:20.239580+00:00\",\n \"calibration_decision\": \"2026-05-03T16:02:54.708800+00:00\",\n \"creative_fpr_before_eval\": \"2026-05-03T15:58:40.439097+00:00\",\n \"creative_fpr_diagnostic\": \"2026-05-03T16:02:54.704796+00:00\",\n \"no_retrain_decision\": null,\n \"no_promotion_decision\": null,\n \"bseo_report\": \"2026-05-03T06:32:16.475385+00:00\",\n \"mutation_atlas\": \"2026-05-03T06:32:16.497432+00:00\",\n \"lineage\": \"2026-05-03T06:32:16.495427+00:00\",\n \"drift_report\": \"2026-05-03T06:32:16.498947+00:00\",\n \"runtime_policy\": \"2026-05-03T15:59:29.250315+00:00\",\n \"thresholds\": \"2026-05-03T06:32:16.498947+00:00\",\n \"bseo_policy\": \"2026-05-03T06:32:16.501009+00:00\",\n \"runtime_governance\": \"2026-05-08T20:20:42.024036+00:00\",\n \"supplemental_candidates\": null,\n \"supplemental_adjudication\": null,\n \"supplemental_gold\": null,\n \"operator_feedback_manifest\": \"2026-04-25T08:56:20.303763+00:00\",\n \"operator_ingestion_manifest\": \"2026-04-25T08:56:20.586240+00:00\",\n \"operator_adjudication\": \"2026-04-25T08:56:20.336170+00:00\",\n \"operator_gold\": \"2026-04-25T08:56:20.339904+00:00\",\n \"build_manifest\": \"2026-04-2\n... [truncated]"
},
{
"name": "pnpm-test-e2e",
"command": [
"powershell",
"-NoLogo",
"-NoProfile",
"-ExecutionPolicy",
"Bypass",
"-Command",
"pnpm test:e2e"
],
"exit_code": 0,
"status": "passed",
"duration_seconds": 39.912,
"output_excerpt": "> truthlens@0.1.0 test:e2e <repo>\n> pnpm --filter @truthlens/extension build && node tests/e2e/extension-fixture.mjs\n\n\n> @truthlens/extension@0.1.0 build <repo>\\apps\\extension\n> vite build && vite build --config vite.content.config.ts && node scripts/verify-build.mjs\n\n\u001b[36mvite v6.4.1 \u001b[32mbuilding for production...\u001b[36m\u001b[39m\ntransforming...\n\u001b[32m\u2713\u001b[39m 45 modules transformed.\nrendering chunks...\ncomputing gzip size...\n\u001b[2mdist/\u001b[22m\u001b[32mpopup.html \u001b[39m\u001b[1m\u001b[2m 0.39 kB\u001b[22m\u001b[1m\u001b[22m\u001b[2m \u2502 gzip: 0.26 kB\u001b[22m\n\u001b[2mdist/\u001b[22m\u001b[36mbackground.js \u001b[39m\u001b[1m\u001b[2m 2.60 kB\u001b[22m\u001b[1m\u001b[22m\u001b[2m \u2502 gzip: 1.16 kB\u001b[22m\n\u001b[2mdist/\u001b[22m\u001b[36mchunks/runtimeConfig.js \u001b[39m\u001b[1m\u001b[2m 70.05 kB\u001b[22m\u001b[1m\u001b[22m\u001b[2m \u2502 gzip: 15.96 kB\u001b[22m\n\u001b[2mdist/\u001b[22m\u001b[36mpopup.js \u001b[39m\u001b[1m\u001b[2m204.16 kB\u001b[22m\u001b[1m\u001b[22m\u001b[2m \u2502 gzip: 63.41 kB\u001b[22m\n\u001b[32m\u2713 built in 1.08s\u001b[39m\n\u001b[36mvite v6.4.1 \u001b[32mbuilding for production...\u001b[36m\u001b[39m\ntransforming...\n\u001b[32m\u2713\u001b[39m 62 modules transformed.\nrendering chunks...\ncomputing gzip size...\n\u001b[2mdist/\u001b[22m\u001b[35massets/content.css \u001b[39m\u001b[1m\u001b[2m 7.12 kB\u001b[22m\u001b[1m\u001b[22m\u001b[2m \u2502 gzip: 1.87 kB\u001b[22m\n\u001b[2mdist/\u001b[22m\u001b[36mcontent.js \u001b[39m\u001b[1m\u001b[2m368.24 kB\u001b[22m\u001b[1m\u001b[22m\u001b[2m \u2502 gzip: 107.95 kB\u001b[22m\n\u001b[32m\u2713 built in 1.31s\u001b[39m\nExtension build verified.\n{\n \"batchRequests\": 6,\n \"browserObservations\": 11,\n \"feedbackEvents\": 1,\n \"optimizationRequests\": 1,\n \"overlayRoots\": 1,\n \"processedCards\": 3\n}"
}
],
"caveats": []
}