thumbgate 1.15.0 → 1.16.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/.claude-plugin/marketplace.json +6 -6
- package/.claude-plugin/plugin.json +3 -3
- package/.well-known/llms.txt +5 -5
- package/.well-known/mcp/server-card.json +1 -1
- package/README.md +59 -35
- package/adapters/chatgpt/openapi.yaml +118 -2
- package/adapters/claude/.mcp.json +2 -2
- package/adapters/mcp/server-stdio.js +210 -84
- package/adapters/opencode/opencode.json +1 -1
- package/bench/prompt-eval-suite.json +5 -1
- package/bin/cli.js +157 -8
- package/config/evals/agent-safety-eval.json +338 -22
- package/config/gates/routine.json +43 -0
- package/config/github-about.json +3 -3
- package/config/model-candidates.json +131 -0
- package/openapi/openapi.yaml +118 -2
- package/package.json +55 -48
- package/public/blog.html +7 -7
- package/public/codex-plugin.html +6 -6
- package/public/compare.html +29 -23
- package/public/dashboard.html +82 -10
- package/public/guide.html +28 -28
- package/public/index.html +216 -98
- package/public/learn.html +50 -22
- package/public/lessons.html +1 -1
- package/public/numbers.html +17 -17
- package/public/pro.html +82 -18
- package/scripts/agent-audit-trace.js +55 -0
- package/scripts/agent-memory-lifecycle.js +96 -0
- package/scripts/agent-readiness-plan.js +118 -0
- package/scripts/agentic-data-pipeline.js +21 -1
- package/scripts/agents-sdk-sandbox-plan.js +57 -0
- package/scripts/ai-org-governance.js +98 -0
- package/scripts/ai-search-distribution.js +43 -0
- package/scripts/artifact-agent-plan.js +81 -0
- package/scripts/billing.js +27 -8
- package/scripts/cli-schema.js +18 -2
- package/scripts/code-mode-mcp-plan.js +71 -0
- package/scripts/context-engine.js +1 -2
- package/scripts/context-manager.js +4 -1
- package/scripts/dashboard-render-spec.js +1 -1
- package/scripts/dashboard.js +275 -9
- package/scripts/decision-journal.js +13 -3
- package/scripts/document-workflow-governance.js +62 -0
- package/scripts/enterprise-agent-rollout.js +34 -0
- package/scripts/experience-replay-governance.js +69 -0
- package/scripts/export-hf-dataset.js +1 -1
- package/scripts/feedback-loop.js +92 -4
- package/scripts/feedback-to-rules.js +17 -23
- package/scripts/gates-engine.js +4 -6
- package/scripts/growth-campaigns.js +49 -0
- package/scripts/harness-selector.js +16 -4
- package/scripts/hybrid-supervisor-agent.js +64 -0
- package/scripts/inference-cache-policy.js +72 -0
- package/scripts/inference-economics.js +53 -0
- package/scripts/internal-agent-bootstrap.js +12 -2
- package/scripts/knowledge-layer-plan.js +108 -0
- package/scripts/lesson-inference.js +183 -44
- package/scripts/lesson-search.js +4 -1
- package/scripts/llm-client.js +157 -26
- package/scripts/mailer/resend-mailer.js +112 -1
- package/scripts/mcp-transport-strategy.js +66 -0
- package/scripts/memory-store-governance.js +60 -0
- package/scripts/meta-agent-loop.js +7 -13
- package/scripts/model-access-eligibility.js +38 -0
- package/scripts/model-migration-readiness.js +55 -0
- package/scripts/operational-integrity.js +96 -3
- package/scripts/otel-declarative-config.js +56 -0
- package/scripts/perplexity-client.js +1 -1
- package/scripts/post-training-governance.js +34 -0
- package/scripts/private-core-boundary.js +72 -0
- package/scripts/production-agent-readiness.js +40 -0
- package/scripts/prompt-eval.js +564 -32
- package/scripts/prompt-programs.js +93 -0
- package/scripts/provider-action-normalizer.js +585 -0
- package/scripts/scaling-law-claims.js +60 -0
- package/scripts/security-scanner.js +1 -1
- package/scripts/self-distill-agent.js +7 -32
- package/scripts/seo-gsd.js +232 -55
- package/scripts/skill-rag-router.js +53 -0
- package/scripts/spec-gate.js +1 -1
- package/scripts/student-consistent-training.js +73 -0
- package/scripts/synthetic-data-provenance.js +98 -0
- package/scripts/task-context-result.js +81 -0
- package/scripts/telemetry-analytics.js +149 -0
- package/scripts/thompson-sampling.js +2 -2
- package/scripts/token-savings.js +7 -6
- package/scripts/token-tco.js +46 -0
- package/scripts/tool-registry.js +63 -3
- package/scripts/verification-loop.js +10 -1
- package/scripts/verifier-scoring.js +71 -0
- package/scripts/workflow-sentinel.js +284 -28
- package/scripts/workspace-agent-routines.js +118 -0
- package/src/api/server.js +381 -120
- package/scripts/analytics-report.js +0 -328
- package/scripts/autonomous-workflow.js +0 -377
- package/scripts/billing-setup.js +0 -109
- package/scripts/creator-campaigns.js +0 -239
- package/scripts/cross-encoder-reranker.js +0 -235
- package/scripts/daemon-manager.js +0 -108
- package/scripts/decision-trace.js +0 -354
- package/scripts/delegation-runtime.js +0 -896
- package/scripts/dispatch-brief.js +0 -159
- package/scripts/distribution-surfaces.js +0 -110
- package/scripts/feedback-history-distiller.js +0 -382
- package/scripts/funnel-analytics.js +0 -35
- package/scripts/history-distiller.js +0 -200
- package/scripts/hosted-job-launcher.js +0 -256
- package/scripts/intent-router.js +0 -392
- package/scripts/lesson-reranker.js +0 -263
- package/scripts/lesson-retrieval.js +0 -148
- package/scripts/managed-lesson-agent.js +0 -183
- package/scripts/operational-dashboard.js +0 -103
- package/scripts/operational-summary.js +0 -129
- package/scripts/operator-artifacts.js +0 -608
- package/scripts/optimize-context.js +0 -17
- package/scripts/org-dashboard.js +0 -206
- package/scripts/partner-orchestration.js +0 -146
- package/scripts/predictive-insights.js +0 -356
- package/scripts/pulse.js +0 -80
- package/scripts/reflector-agent.js +0 -221
- package/scripts/sales-pipeline.js +0 -681
- package/scripts/session-episode-store.js +0 -329
- package/scripts/session-health-sensor.js +0 -242
- package/scripts/session-report.js +0 -120
- package/scripts/swarm-coordinator.js +0 -81
- package/scripts/tool-kpi-tracker.js +0 -12
- package/scripts/webhook-delivery.js +0 -62
- package/scripts/workflow-sprint-intake.js +0 -475
package/openapi/openapi.yaml
CHANGED
|
@@ -751,6 +751,34 @@ paths:
|
|
|
751
751
|
$ref: '#/components/schemas/FunnelAnalyticsResponse'
|
|
752
752
|
'401':
|
|
753
753
|
description: Unauthorized
|
|
754
|
+
/v1/analytics/losses:
|
|
755
|
+
get:
|
|
756
|
+
operationId: getLossAnalytics
|
|
757
|
+
parameters:
|
|
758
|
+
- in: query
|
|
759
|
+
name: window
|
|
760
|
+
schema:
|
|
761
|
+
type: string
|
|
762
|
+
enum: [today, 7d, 30d, lifetime]
|
|
763
|
+
- in: query
|
|
764
|
+
name: timezone
|
|
765
|
+
schema:
|
|
766
|
+
type: string
|
|
767
|
+
- in: query
|
|
768
|
+
name: now
|
|
769
|
+
schema:
|
|
770
|
+
type: string
|
|
771
|
+
format: date-time
|
|
772
|
+
responses:
|
|
773
|
+
'200':
|
|
774
|
+
description: Ranked buyer-loss and revenue-opportunity analysis for the active analytics window
|
|
775
|
+
content:
|
|
776
|
+
application/json:
|
|
777
|
+
schema:
|
|
778
|
+
type: object
|
|
779
|
+
additionalProperties: true
|
|
780
|
+
'401':
|
|
781
|
+
description: Unauthorized
|
|
754
782
|
/v1/dashboard:
|
|
755
783
|
get:
|
|
756
784
|
operationId: getDashboard
|
|
@@ -848,10 +876,79 @@ paths:
|
|
|
848
876
|
application/json:
|
|
849
877
|
schema:
|
|
850
878
|
type: object
|
|
851
|
-
required: [toolName]
|
|
852
879
|
properties:
|
|
853
880
|
toolName:
|
|
854
881
|
type: string
|
|
882
|
+
description: Tool name is optional when provider-native tool call payload is supplied.
|
|
883
|
+
provider:
|
|
884
|
+
type: string
|
|
885
|
+
model:
|
|
886
|
+
type: string
|
|
887
|
+
providerToolCall:
|
|
888
|
+
type: object
|
|
889
|
+
additionalProperties: true
|
|
890
|
+
toolCall:
|
|
891
|
+
type: object
|
|
892
|
+
additionalProperties: true
|
|
893
|
+
toolUse:
|
|
894
|
+
type: object
|
|
895
|
+
additionalProperties: true
|
|
896
|
+
content:
|
|
897
|
+
type: array
|
|
898
|
+
items:
|
|
899
|
+
type: object
|
|
900
|
+
additionalProperties: true
|
|
901
|
+
input:
|
|
902
|
+
type: object
|
|
903
|
+
additionalProperties: true
|
|
904
|
+
arguments:
|
|
905
|
+
type: object
|
|
906
|
+
additionalProperties: true
|
|
907
|
+
method:
|
|
908
|
+
type: string
|
|
909
|
+
params:
|
|
910
|
+
type: object
|
|
911
|
+
additionalProperties: true
|
|
912
|
+
mcp:
|
|
913
|
+
type: object
|
|
914
|
+
additionalProperties: true
|
|
915
|
+
mcpToolCall:
|
|
916
|
+
type: object
|
|
917
|
+
additionalProperties: true
|
|
918
|
+
usage:
|
|
919
|
+
type: object
|
|
920
|
+
additionalProperties: true
|
|
921
|
+
tokenEstimate:
|
|
922
|
+
type: number
|
|
923
|
+
costUsd:
|
|
924
|
+
type: number
|
|
925
|
+
budget:
|
|
926
|
+
type: object
|
|
927
|
+
additionalProperties: true
|
|
928
|
+
workflowPattern:
|
|
929
|
+
type: string
|
|
930
|
+
enum: [single_action, chaining, routing, parallelization, evaluator-optimizer, agent]
|
|
931
|
+
workflow:
|
|
932
|
+
type: object
|
|
933
|
+
additionalProperties: true
|
|
934
|
+
goal:
|
|
935
|
+
type: string
|
|
936
|
+
tools:
|
|
937
|
+
type: array
|
|
938
|
+
items:
|
|
939
|
+
type: string
|
|
940
|
+
branches:
|
|
941
|
+
type: array
|
|
942
|
+
items:
|
|
943
|
+
type: string
|
|
944
|
+
steps:
|
|
945
|
+
type: array
|
|
946
|
+
items:
|
|
947
|
+
type: string
|
|
948
|
+
routes:
|
|
949
|
+
type: array
|
|
950
|
+
items:
|
|
951
|
+
type: string
|
|
855
952
|
command:
|
|
856
953
|
type: string
|
|
857
954
|
filePath:
|
|
@@ -868,6 +965,25 @@ paths:
|
|
|
868
965
|
type: boolean
|
|
869
966
|
requireVersionNotBehindBase:
|
|
870
967
|
type: boolean
|
|
968
|
+
workflowDispatch:
|
|
969
|
+
type: object
|
|
970
|
+
description: Evidence required before running `gh workflow run` or another environment-specific workflow dispatch.
|
|
971
|
+
properties:
|
|
972
|
+
environment:
|
|
973
|
+
type: string
|
|
974
|
+
description: Requested environment such as dev, staging, beta, or release.
|
|
975
|
+
workflow:
|
|
976
|
+
type: string
|
|
977
|
+
description: Expected workflow file or workflow name.
|
|
978
|
+
ref:
|
|
979
|
+
type: string
|
|
980
|
+
description: Expected branch or ref passed to the workflow dispatch command.
|
|
981
|
+
sha:
|
|
982
|
+
type: string
|
|
983
|
+
description: Expected HEAD SHA to verify before and after dispatch.
|
|
984
|
+
job:
|
|
985
|
+
type: string
|
|
986
|
+
description: Expected job name to verify before reporting the workflow URL.
|
|
871
987
|
responses:
|
|
872
988
|
'200':
|
|
873
989
|
description: Persisted workflow-sentinel recommendation with decision-control metadata and actionId
|
|
@@ -1121,7 +1237,7 @@ paths:
|
|
|
1121
1237
|
description: Comma-separated tags that must all be present on a lesson.
|
|
1122
1238
|
responses:
|
|
1123
1239
|
'200':
|
|
1124
|
-
description: Searchable promoted lessons with linked corrective actions, prevention rules, and auto-
|
|
1240
|
+
description: Searchable promoted lessons with linked corrective actions, prevention rules, and auto-promoted checks
|
|
1125
1241
|
'401':
|
|
1126
1242
|
description: Unauthorized
|
|
1127
1243
|
/v1/search:
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "thumbgate",
|
|
3
|
-
"version": "1.
|
|
4
|
-
"description": "Self-improving agent governance: type thumbs-up or thumbs-down on any AI agent action. ThumbGate turns every mistake into a prevention rule and blocks the pattern from repeating. One thumbs-down, never again. 33 pre-action
|
|
3
|
+
"version": "1.16.0",
|
|
4
|
+
"description": "Self-improving agent governance: type thumbs-up or thumbs-down on any AI agent action. ThumbGate turns every mistake into a prevention rule and blocks the pattern from repeating. One thumbs-down, never again. 33 pre-action checks, budget enforcement, and self-protection for Claude Code, Cursor, Codex, Gemini CLI, and Amp.",
|
|
5
5
|
"homepage": "https://thumbgate-production.up.railway.app",
|
|
6
6
|
"repository": {
|
|
7
7
|
"type": "git",
|
|
@@ -44,11 +44,16 @@
|
|
|
44
44
|
"public/numbers.html",
|
|
45
45
|
"public/pro.html",
|
|
46
46
|
"scripts/access-anomaly-detector.js",
|
|
47
|
+
"scripts/agent-audit-trace.js",
|
|
48
|
+
"scripts/agent-memory-lifecycle.js",
|
|
47
49
|
"scripts/agent-readiness.js",
|
|
50
|
+
"scripts/agent-readiness-plan.js",
|
|
48
51
|
"scripts/agentic-data-pipeline.js",
|
|
49
|
-
"scripts/
|
|
52
|
+
"scripts/agents-sdk-sandbox-plan.js",
|
|
53
|
+
"scripts/ai-org-governance.js",
|
|
54
|
+
"scripts/ai-search-distribution.js",
|
|
50
55
|
"scripts/analytics-window.js",
|
|
51
|
-
"scripts/
|
|
56
|
+
"scripts/artifact-agent-plan.js",
|
|
52
57
|
"scripts/autoresearch-runner.js",
|
|
53
58
|
"scripts/async-job-runner.js",
|
|
54
59
|
"scripts/audit-trail.js",
|
|
@@ -56,7 +61,6 @@
|
|
|
56
61
|
"scripts/auto-wire-hooks.js",
|
|
57
62
|
"scripts/bayes-optimal-gate.js",
|
|
58
63
|
"scripts/belief-update.js",
|
|
59
|
-
"scripts/billing-setup.js",
|
|
60
64
|
"scripts/billing.js",
|
|
61
65
|
"scripts/bot-detection.js",
|
|
62
66
|
"scripts/bot-detector.js",
|
|
@@ -68,6 +72,7 @@
|
|
|
68
72
|
"scripts/cli-status.js",
|
|
69
73
|
"scripts/cli-telemetry.js",
|
|
70
74
|
"scripts/cloudflare-dynamic-sandbox.js",
|
|
75
|
+
"scripts/code-mode-mcp-plan.js",
|
|
71
76
|
"scripts/code-reasoning.js",
|
|
72
77
|
"scripts/codegraph-context.js",
|
|
73
78
|
"scripts/commercial-offer.js",
|
|
@@ -75,23 +80,19 @@
|
|
|
75
80
|
"scripts/context-engine.js",
|
|
76
81
|
"scripts/contextfs.js",
|
|
77
82
|
"scripts/conversation-context.js",
|
|
78
|
-
"scripts/creator-campaigns.js",
|
|
79
|
-
"scripts/cross-encoder-reranker.js",
|
|
80
83
|
"scripts/context-footprint.js",
|
|
81
84
|
"scripts/codex-self-heal.js",
|
|
82
|
-
"scripts/daemon-manager.js",
|
|
83
85
|
"scripts/dashboard-render-spec.js",
|
|
84
86
|
"scripts/dashboard.js",
|
|
85
87
|
"scripts/decision-journal.js",
|
|
86
|
-
"scripts/decision-trace.js",
|
|
87
|
-
"scripts/delegation-runtime.js",
|
|
88
88
|
"scripts/durability/step.js",
|
|
89
|
-
"scripts/dispatch-brief.js",
|
|
90
|
-
"scripts/distribution-surfaces.js",
|
|
91
89
|
"scripts/docker-sandbox-planner.js",
|
|
92
90
|
"scripts/document-intake.js",
|
|
91
|
+
"scripts/document-workflow-governance.js",
|
|
92
|
+
"scripts/enterprise-agent-rollout.js",
|
|
93
93
|
"scripts/evolution-state.js",
|
|
94
94
|
"scripts/experiment-tracker.js",
|
|
95
|
+
"scripts/experience-replay-governance.js",
|
|
95
96
|
"scripts/explore-subcommands.js",
|
|
96
97
|
"scripts/explore.js",
|
|
97
98
|
"scripts/export-databricks-bundle.js",
|
|
@@ -99,7 +100,6 @@
|
|
|
99
100
|
"scripts/export-hf-dataset.js",
|
|
100
101
|
"scripts/failure-diagnostics.js",
|
|
101
102
|
"scripts/feedback-attribution.js",
|
|
102
|
-
"scripts/feedback-history-distiller.js",
|
|
103
103
|
"scripts/feedback-loop.js",
|
|
104
104
|
"scripts/feedback-paths.js",
|
|
105
105
|
"scripts/feedback-quality.js",
|
|
@@ -108,82 +108,79 @@
|
|
|
108
108
|
"scripts/feedback-to-rules.js",
|
|
109
109
|
"scripts/filesystem-search.js",
|
|
110
110
|
"scripts/fs-utils.js",
|
|
111
|
-
"scripts/funnel-analytics.js",
|
|
112
111
|
"scripts/gate-stats.js",
|
|
113
112
|
"scripts/gate-templates.js",
|
|
114
113
|
"scripts/gates-engine.js",
|
|
114
|
+
"scripts/growth-campaigns.js",
|
|
115
115
|
"scripts/harness-selector.js",
|
|
116
116
|
"scripts/hf-papers.js",
|
|
117
|
-
"scripts/history-distiller.js",
|
|
118
117
|
"scripts/hook-runtime.js",
|
|
119
118
|
"scripts/hook-thumbgate-cache-updater.js",
|
|
120
119
|
"scripts/hosted-config.js",
|
|
121
|
-
"scripts/hosted-job-launcher.js",
|
|
122
120
|
"scripts/hybrid-feedback-context.js",
|
|
121
|
+
"scripts/hybrid-supervisor-agent.js",
|
|
123
122
|
"scripts/install-mcp.js",
|
|
124
|
-
"scripts/
|
|
123
|
+
"scripts/inference-cache-policy.js",
|
|
124
|
+
"scripts/inference-economics.js",
|
|
125
125
|
"scripts/internal-agent-bootstrap.js",
|
|
126
126
|
"scripts/intervention-policy.js",
|
|
127
127
|
"scripts/jsonl-watcher.js",
|
|
128
128
|
"scripts/lesson-canonical.js",
|
|
129
129
|
"scripts/lesson-db.js",
|
|
130
130
|
"scripts/lesson-inference.js",
|
|
131
|
-
"scripts/lesson-reranker.js",
|
|
132
|
-
"scripts/lesson-retrieval.js",
|
|
133
131
|
"scripts/lesson-rotation.js",
|
|
134
132
|
"scripts/lesson-search.js",
|
|
135
133
|
"scripts/lesson-synthesis.js",
|
|
134
|
+
"scripts/knowledge-layer-plan.js",
|
|
136
135
|
"scripts/rule-validator.js",
|
|
137
136
|
"scripts/license.js",
|
|
138
137
|
"scripts/llm-client.js",
|
|
139
138
|
"scripts/mailer/index.js",
|
|
140
139
|
"scripts/mailer/resend-mailer.js",
|
|
141
140
|
"scripts/local-model-profile.js",
|
|
142
|
-
"scripts/managed-lesson-agent.js",
|
|
143
141
|
"scripts/mcp-config.js",
|
|
144
142
|
"scripts/mcp-policy.js",
|
|
143
|
+
"scripts/mcp-transport-strategy.js",
|
|
144
|
+
"scripts/memory-store-governance.js",
|
|
145
145
|
"scripts/memory-firewall.js",
|
|
146
146
|
"scripts/meta-agent-loop.js",
|
|
147
|
+
"scripts/model-access-eligibility.js",
|
|
148
|
+
"scripts/model-migration-readiness.js",
|
|
147
149
|
"scripts/multimodal-retrieval-plan.js",
|
|
148
150
|
"scripts/native-messaging-audit.js",
|
|
149
151
|
"scripts/natural-language-harness.js",
|
|
150
152
|
"scripts/obsidian-export.js",
|
|
151
|
-
"scripts/
|
|
153
|
+
"scripts/otel-declarative-config.js",
|
|
152
154
|
"scripts/operational-integrity.js",
|
|
153
|
-
"scripts/operational-summary.js",
|
|
154
|
-
"scripts/operator-artifacts.js",
|
|
155
|
-
"scripts/optimize-context.js",
|
|
156
|
-
"scripts/org-dashboard.js",
|
|
157
|
-
"scripts/partner-orchestration.js",
|
|
158
155
|
"scripts/perplexity-client.js",
|
|
159
|
-
"scripts/predictive-insights.js",
|
|
160
156
|
"scripts/pr-manager.js",
|
|
157
|
+
"scripts/private-core-boundary.js",
|
|
161
158
|
"scripts/pro-local-dashboard.js",
|
|
162
159
|
"scripts/problem-detail.js",
|
|
163
160
|
"scripts/product-feedback.js",
|
|
161
|
+
"scripts/provider-action-normalizer.js",
|
|
164
162
|
"scripts/profile-router.js",
|
|
163
|
+
"scripts/prompt-programs.js",
|
|
165
164
|
"scripts/prompt-eval.js",
|
|
166
165
|
"scripts/prompt-guard.js",
|
|
166
|
+
"scripts/post-training-governance.js",
|
|
167
|
+
"scripts/production-agent-readiness.js",
|
|
167
168
|
"scripts/published-cli.js",
|
|
168
|
-
"scripts/pulse.js",
|
|
169
169
|
"scripts/rate-limiter.js",
|
|
170
|
-
"scripts/reflector-agent.js",
|
|
171
170
|
"scripts/risk-scorer.js",
|
|
172
171
|
"scripts/rlaif-self-audit.js",
|
|
173
172
|
"scripts/rubric-engine.js",
|
|
174
|
-
"scripts/sales-pipeline.js",
|
|
175
173
|
"scripts/secret-scanner.js",
|
|
176
174
|
"scripts/security-scanner.js",
|
|
177
175
|
"scripts/self-distill-agent.js",
|
|
178
176
|
"scripts/self-heal.js",
|
|
177
|
+
"scripts/scaling-law-claims.js",
|
|
179
178
|
"scripts/semantic-dedup.js",
|
|
180
179
|
"scripts/semantic-layer.js",
|
|
181
180
|
"scripts/seo-gsd.js",
|
|
182
|
-
"scripts/session-episode-store.js",
|
|
183
|
-
"scripts/session-health-sensor.js",
|
|
184
|
-
"scripts/session-report.js",
|
|
185
181
|
"scripts/settings-hierarchy.js",
|
|
186
182
|
"scripts/skill-generator.js",
|
|
183
|
+
"scripts/skill-rag-router.js",
|
|
187
184
|
"scripts/slo-alert-engine.js",
|
|
188
185
|
"scripts/spec-gate.js",
|
|
189
186
|
"scripts/statusline-cache-path.js",
|
|
@@ -194,21 +191,23 @@
|
|
|
194
191
|
"scripts/statusline-meta.js",
|
|
195
192
|
"scripts/statusline-tower.js",
|
|
196
193
|
"scripts/statusline.sh",
|
|
197
|
-
"scripts/
|
|
194
|
+
"scripts/student-consistent-training.js",
|
|
195
|
+
"scripts/synthetic-data-provenance.js",
|
|
196
|
+
"scripts/task-context-result.js",
|
|
198
197
|
"scripts/telemetry-analytics.js",
|
|
199
198
|
"scripts/thompson-sampling.js",
|
|
200
199
|
"scripts/thumbgate-search.js",
|
|
200
|
+
"scripts/token-tco.js",
|
|
201
201
|
"scripts/token-savings.js",
|
|
202
|
-
"scripts/tool-kpi-tracker.js",
|
|
203
202
|
"scripts/tool-registry.js",
|
|
204
203
|
"scripts/user-profile.js",
|
|
205
204
|
"scripts/validate-workflow-contract.js",
|
|
206
205
|
"scripts/vector-store.js",
|
|
206
|
+
"scripts/verifier-scoring.js",
|
|
207
207
|
"scripts/verification-loop.js",
|
|
208
|
-
"scripts/webhook-delivery.js",
|
|
209
208
|
"scripts/workflow-runs.js",
|
|
210
209
|
"scripts/workflow-sentinel.js",
|
|
211
|
-
"scripts/
|
|
210
|
+
"scripts/workspace-agent-routines.js",
|
|
212
211
|
"scripts/workspace-evolver.js",
|
|
213
212
|
"scripts/xmemory-lite.js",
|
|
214
213
|
"skills/thumbgate/SKILL.md",
|
|
@@ -247,7 +246,6 @@
|
|
|
247
246
|
"social:poll:instagram": "node scripts/social-analytics/pollers/instagram.js",
|
|
248
247
|
"social:poll:tiktok": "node scripts/social-analytics/pollers/tiktok.js",
|
|
249
248
|
"social:poll:linkedin": "node scripts/social-analytics/pollers/linkedin.js",
|
|
250
|
-
"social:poll:x": "node scripts/social-analytics/pollers/x.js",
|
|
251
249
|
"social:poll:reddit": "node scripts/social-analytics/pollers/reddit.js",
|
|
252
250
|
"social:poll:threads": "node scripts/social-analytics/pollers/threads.js",
|
|
253
251
|
"social:poll:youtube": "node scripts/social-analytics/pollers/youtube.js",
|
|
@@ -268,7 +266,7 @@
|
|
|
268
266
|
"trace:eval": "node scripts/decision-trace.js eval",
|
|
269
267
|
"social:reply-monitor": "node scripts/social-reply-monitor.js",
|
|
270
268
|
"social:reply-monitor:dry": "node scripts/social-reply-monitor.js --dry-run",
|
|
271
|
-
"test": "npm run test:schema && npm run test:loop && npm run test:dpo && npm run test:kto && npm run test:api && npm run test:proof && npm run test:e2e && npm run test:rlaif && npm run test:attribution && npm run test:quality && npm run test:intelligence && npm run test:training-export && npm run test:deployment && npm run test:operational-integrity && npm run test:workflow && npm run test:billing && npm run test:cli && npm run test:watcher && npm run test:autoresearch && npm run test:ops && npm run test:session-analyzer && npm run test:tessl && npm run test:gates && npm run test:evoskill && npm run test:gates-hardening && npm run test:workers && npm run test:social-analytics && npm run test:memalign && npm run test:xmemory-lite && npm run test:filesystem-search && npm run test:zernio && npm run test:platform-limits && npm run test:post-video && npm run test:post-everywhere-instagram && npm run test:post-everywhere-channels && npm run test:zernio-canonical-pollers && npm run test:zernio-status && npm run test:obsidian-export && npm run test:lesson-db && npm run test:lesson-rotation && npm run test:memory-dedup && npm run test:feedback-quality && npm run test:sync-version && npm run test:check-congruence && npm run test:tool-registry && npm run test:feedback-to-rules && npm run test:memory-firewall && npm run test:belief-update && npm run test:hosted-config && npm run test:operational-summary && npm run test:operator-artifacts && npm run test:operator-key-auth && npm run test:cloudflare-sandbox && npm run test:mcp-config && npm run test:plan-gate && npm run test:pulse && npm run test:semantic-layer && npm run test:data-pipeline && npm run test:optimize-context && npm run test:principle-extractor && npm run test:analytics-window && npm run test:funnel-analytics && npm run test:experiment-tracker && npm run test:build-metadata && npm run test:context-engine && npm run test:hf-papers && npm run test:marketing-experiment && npm run test:seo-gsd && npm run test:verify-run && npm run test:export-dpo-pairs && npm run test:export-hf-dataset && npm run test:license && npm run test:bot-detector && npm run test:postinstall && npm run test:funnel-invariants && npm run test:cli-telemetry && npm run test:pro-parity && npm run test:model-tier-router && npm run test:computer-use-firewall && npm run test:skill-exporter && npm run test:statusline && npm run test:evolution && npm run test:org-dashboard && npm run test:multi-hop-recall && npm run test:synthetic-dpo && npm run test:thumbgate-skill && npm run test:learn-hub && npm run test:feedback-fallback && npm run test:metaclaw && npm run test:server-lock && npm run test:control-tower && npm run test:pii-scanner && npm run test:data-governance && npm run test:lesson-inference && npm run test:semantic-dedup && npm run test:fs-utils && npm run test:cli-schema && npm run test:explore && npm run test:lesson-reranker && npm run test:lesson-retrieval && npm run test:cross-encoder && npm run test:reflector-agent && npm run test:feedback-session && npm run test:feedback-history-distiller && npm run test:hallucination-detector && npm run test:history-distiller && npm run test:predictive-insights && npm run test:prove-predictive-insights && npm run test:statusbar-cli && npm run test:generate-instagram-card && npm run test:instagram-thumbgate-post && npm run test:publish-instagram-thumbgate && npm run test:lesson-synthesis && npm run test:lesson-canonical && npm run test:background-governance && npm run test:memory-migration && npm run test:prompt-dlp && npm run test:ephemeral-store && npm run test:agent-security && npm run test:skill-progressive && npm run test:per-step-scoring && npm run test:weekly-auto-post && npm run test:social-post-hourly && npm run test:social-quality-gate && npm run test:a2ui-engine && npm run test:gate-satisfy && npm run test:money-watcher && npm run test:budget && npm run test:quick-start && npm run test:utm && npm run test:product-feedback && npm run test:feedback-root-consolidator && npm run test:engagement-audit && npm run test:install-growth-automation && npm run test:publish-thumbgate-launch && npm run test:reconcile-thumbgate-campaign && npm run test:reddit-publisher && npm run test:schedule-thumbgate-campaign && npm run test:social-reply-monitor && npm run test:sync-launch-assets && npm run test:ai-search-visibility && npm run test:perplexity && npm run test:security-scanner && npm run test:llm-client && npm run test:managed-lesson-agent && npm run test:self-distill && npm run test:meta-agent && npm run test:harness-selector && npm run test:thumbgate-bench && npm run test:seo-guides && npm run test:enforcement-loop && npm run test:cli-agent-experience && npm run test:bot-detection && npm run test:checkout-bot-guard && npm run test:session-health && npm run test:session-episodes && npm run test:spec-gate && npm run test:decision-trace && npm run test:dashboard-insights && npm run test:prompt-eval && npm run test:demo-voiceover && npm run test:gate-coherence && npm run test:gate-eval && npm run test:high-roi && npm run test:public-static-assets && npm run test:token-savings && npm run test:numbers-page && npm run test:workflow-gate-checkpoint && npm run test:lesson-export-import && npm run test:landing-page-claims && npm run test:dashboard-deeplink-e2e && npm run test:public-package-parity && npm run test:token-savings-dashboard && npm run test:cursor-wiring && npm run test:pretooluse-injection && npm run test:recent-corrective-context && npm run test:durability-step && npm run test:mailer && npm run test:brand-assets && npm run test:enforcement-teeth && npm run test:bayes-optimal-gate && npm run test:swarm-coordinator && npm run test:session-report && npm run test:require-evidence-gate && npm run test:rule-validator && npm run test:bluesky-atproto && npm run test:social-reply-monitor-bluesky && npm run test:bluesky-delete-replies && npm run test:architect-kit-memory-bridge && npm run test:sonar-review-hotspots",
|
|
269
|
+
"test": "npm run test:schema && npm run test:loop && npm run test:dpo && npm run test:kto && npm run test:api && npm run test:proof && npm run test:e2e && npm run test:rlaif && npm run test:attribution && npm run test:quality && npm run test:intelligence && npm run test:training-export && npm run test:deployment && npm run test:operational-integrity && npm run test:workflow && npm run test:billing && npm run test:cli && npm run test:watcher && npm run test:autoresearch && npm run test:ops && npm run test:session-analyzer && npm run test:tessl && npm run test:gates && npm run test:evoskill && npm run test:gates-hardening && npm run test:workers && npm run test:social-analytics && npm run test:memalign && npm run test:xmemory-lite && npm run test:filesystem-search && npm run test:zernio && npm run test:platform-limits && npm run test:post-video && npm run test:post-everywhere-instagram && npm run test:post-everywhere-channels && npm run test:post-everywhere-zernio-default && npm run test:zernio-canonical-pollers && npm run test:zernio-status && npm run test:obsidian-export && npm run test:lesson-db && npm run test:lesson-rotation && npm run test:memory-dedup && npm run test:feedback-quality && npm run test:sync-version && npm run test:check-congruence && npm run test:tool-registry && npm run test:feedback-to-rules && npm run test:memory-firewall && npm run test:belief-update && npm run test:hosted-config && npm run test:operational-summary && npm run test:operational-dashboard && npm run test:operator-artifacts && npm run test:operator-key-auth && npm run test:cloudflare-sandbox && npm run test:mcp-config && npm run test:plan-gate && npm run test:pulse && npm run test:semantic-layer && npm run test:data-pipeline && npm run test:optimize-context && npm run test:principle-extractor && npm run test:analytics-window && npm run test:funnel-analytics && npm run test:experiment-tracker && npm run test:build-metadata && npm run test:context-engine && npm run test:hf-papers && npm run test:marketing-experiment && npm run test:seo-gsd && npm run test:verify-run && npm run test:export-dpo-pairs && npm run test:export-hf-dataset && npm run test:license && npm run test:bot-detector && npm run test:postinstall && npm run test:funnel-invariants && npm run test:cli-telemetry && npm run test:pro-parity && npm run test:model-tier-router && npm run test:computer-use-firewall && npm run test:skill-exporter && npm run test:statusline && npm run test:evolution && npm run test:org-dashboard && npm run test:multi-hop-recall && npm run test:synthetic-dpo && npm run test:thumbgate-skill && npm run test:learn-hub && npm run test:feedback-fallback && npm run test:metaclaw && npm run test:server-lock && npm run test:control-tower && npm run test:pii-scanner && npm run test:data-governance && npm run test:lesson-inference && npm run test:semantic-dedup && npm run test:fs-utils && npm run test:cli-schema && npm run test:explore && npm run test:lesson-reranker && npm run test:lesson-retrieval && npm run test:cross-encoder && npm run test:reflector-agent && npm run test:feedback-session && npm run test:feedback-history-distiller && npm run test:hallucination-detector && npm run test:history-distiller && npm run test:predictive-insights && npm run test:prove-predictive-insights && npm run test:statusbar-cli && npm run test:generate-instagram-card && npm run test:instagram-thumbgate-post && npm run test:publish-instagram-thumbgate && npm run test:lesson-synthesis && npm run test:lesson-canonical && npm run test:background-governance && npm run test:memory-migration && npm run test:prompt-dlp && npm run test:ephemeral-store && npm run test:agent-security && npm run test:skill-progressive && npm run test:per-step-scoring && npm run test:weekly-auto-post && npm run test:social-post-hourly && npm run test:social-quality-gate && npm run test:a2ui-engine && npm run test:gate-satisfy && npm run test:money-watcher && npm run test:budget && npm run test:quick-start && npm run test:utm && npm run test:product-feedback && npm run test:feedback-root-consolidator && npm run test:engagement-audit && npm run test:install-growth-automation && npm run test:publish-thumbgate-launch && npm run test:reconcile-thumbgate-campaign && npm run test:reddit-publisher && npm run test:schedule-thumbgate-campaign && npm run test:social-reply-monitor && npm run test:sync-launch-assets && npm run test:ai-search-visibility && npm run test:perplexity && npm run test:security-scanner && npm run test:llm-client && npm run test:managed-lesson-agent && npm run test:self-distill && npm run test:meta-agent && npm run test:harness-selector && npm run test:thumbgate-bench && npm run test:seo-guides && npm run test:enforcement-loop && npm run test:cli-agent-experience && npm run test:bot-detection && npm run test:checkout-bot-guard && npm run test:session-health && npm run test:session-episodes && npm run test:spec-gate && npm run test:decision-trace && npm run test:dashboard-insights && npm run test:telemetry-tracked-link-slug && npm run test:prompt-eval && npm run test:demo-voiceover && npm run test:gate-coherence && npm run test:gate-eval && npm run test:high-roi && npm run test:public-static-assets && npm run test:token-savings && npm run test:numbers-page && npm run test:workflow-gate-checkpoint && npm run test:lesson-export-import && npm run test:landing-page-claims && npm run test:competitive-positioning-marketing && npm run test:dashboard-deeplink-e2e && npm run test:public-package-parity && npm run test:token-savings-dashboard && npm run test:cursor-wiring && npm run test:pretooluse-injection && npm run test:recent-corrective-context && npm run test:durability-step && npm run test:mailer && npm run test:brand-assets && npm run test:enforcement-teeth && npm run test:bayes-optimal-gate && npm run test:swarm-coordinator && npm run test:session-report && npm run test:require-evidence-gate && npm run test:rule-validator && npm run test:bluesky-atproto && npm run test:social-reply-monitor-bluesky && npm run test:bluesky-delete-replies && npm run test:architect-kit-memory-bridge && npm run test:sonar-review-hotspots && npm run test:actionable-remediations && npm run test:public-core-boundary",
|
|
272
270
|
"test:swarm-coordinator": "node --test tests/swarm-coordinator.test.js",
|
|
273
271
|
"test:session-report": "node --test tests/session-report.test.js",
|
|
274
272
|
"test:require-evidence-gate": "node --test tests/require-evidence-gate.test.js",
|
|
@@ -277,7 +275,9 @@
|
|
|
277
275
|
"test:session-episodes": "node --test tests/session-episode-store.test.js",
|
|
278
276
|
"test:spec-gate": "node --test tests/spec-gate.test.js",
|
|
279
277
|
"test:dashboard-insights": "node --test tests/dashboard-insights.test.js",
|
|
278
|
+
"test:telemetry-tracked-link-slug": "node --test tests/telemetry-tracked-link-slug.test.js",
|
|
280
279
|
"test:prompt-eval": "node --test tests/prompt-eval.test.js",
|
|
280
|
+
"eval:feedback": "node scripts/prompt-eval.js --from-feedback",
|
|
281
281
|
"test:decision-trace": "node --test tests/decision-trace.test.js",
|
|
282
282
|
"test:feedback-fallback": "node --test tests/feedback-fallback.test.js",
|
|
283
283
|
"test:metaclaw": "node --test tests/metaclaw-features.test.js",
|
|
@@ -300,6 +300,7 @@
|
|
|
300
300
|
"test:belief-update": "node --test tests/belief-update.test.js",
|
|
301
301
|
"test:hosted-config": "node --test tests/hosted-config.test.js",
|
|
302
302
|
"test:operational-summary": "node --test tests/operational-summary.test.js",
|
|
303
|
+
"test:operational-dashboard": "node --test tests/operational-dashboard.test.js",
|
|
303
304
|
"test:operator-artifacts": "node --test tests/operator-artifacts.test.js",
|
|
304
305
|
"test:operator-key-auth": "node --test tests/api-operator-key-auth.test.js",
|
|
305
306
|
"test:cloudflare-sandbox": "node --test tests/cloudflare-dynamic-sandbox.test.js tests/cloudflare-sandbox-api.test.js",
|
|
@@ -332,19 +333,19 @@
|
|
|
332
333
|
"test:loop": "node scripts/feedback-loop.js --test",
|
|
333
334
|
"test:dpo": "node scripts/export-dpo-pairs.js --test",
|
|
334
335
|
"test:kto": "node --test tests/export-kto.test.js",
|
|
335
|
-
"test:api": "node --test --test-concurrency=1 tests/api-server.test.js tests/api-auth-config.test.js tests/mcp-server.test.js tests/adapters.test.js tests/openapi-parity.test.js tests/budget-guard.test.js tests/context-manager.test.js tests/contextfs.test.js tests/job-api.test.js tests/pack-templates.test.js tests/dashboard.test.js tests/dashboard-render-spec.test.js tests/dashboard-html.test.js tests/agent-readiness.test.js tests/mcp-policy.test.js tests/subagent-profiles.test.js tests/intent-router.test.js tests/internal-agent-bootstrap.test.js tests/lesson-search.test.js tests/thumbgate-search.test.js tests/document-intake.test.js tests/rubric-engine.test.js tests/self-healing-check.test.js tests/self-heal.test.js tests/feedback-schema.test.js tests/thompson-sampling.test.js tests/feedback-sequences.test.js tests/diversity-tracking.test.js tests/vector-store.test.js tests/feedback-attribution.test.js tests/hybrid-feedback-context.test.js tests/loop-closure.test.js tests/code-reasoning.test.js tests/feedback-loop.test.js tests/feedback-inbox-read.test.js tests/feedback-to-memory.test.js tests/test-coverage.test.js tests/version-metadata.test.js tests/claude-mcpb.test.js tests/claude-codex-bridge.test.js tests/cursor-plugin.test.js tests/codex-plugin.test.js tests/telemetry-analytics.test.js tests/public-landing.test.js tests/lessons-page.test.js tests/pro-landing.test.js tests/local-model-profile.test.js tests/risk-scorer.test.js tests/context-compaction.test.js tests/reminder-engine.test.js tests/post-to-x.test.js tests/verification-loop.test.js tests/async-job-runner.test.js tests/commerce-quality.test.js tests/recall-limit.test.js tests/problem-detail.test.js tests/natural-language-harness.test.js tests/settings-hierarchy.test.js",
|
|
336
|
-
"test:proof": "node --test tests/prove-adapters.test.js tests/prove-attribution.test.js tests/prove-cloudflare-sandbox.test.js tests/prove-data-quality.test.js tests/prove-intelligence.test.js tests/prove-lancedb.test.js tests/prove-loop-closure.test.js tests/prove-
|
|
336
|
+
"test:api": "node --test --test-concurrency=1 tests/api-server.test.js tests/api-events-sse.test.js tests/api-auth-config.test.js tests/mcp-server.test.js tests/adapters.test.js tests/openapi-parity.test.js tests/budget-guard.test.js tests/context-manager.test.js tests/contextfs.test.js tests/job-api.test.js tests/pack-templates.test.js tests/dashboard.test.js tests/dashboard-render-spec.test.js tests/dashboard-html.test.js tests/agent-readiness.test.js tests/mcp-policy.test.js tests/subagent-profiles.test.js tests/intent-router.test.js tests/internal-agent-bootstrap.test.js tests/lesson-search.test.js tests/thumbgate-search.test.js tests/document-intake.test.js tests/rubric-engine.test.js tests/self-healing-check.test.js tests/self-heal.test.js tests/feedback-schema.test.js tests/thompson-sampling.test.js tests/feedback-sequences.test.js tests/diversity-tracking.test.js tests/vector-store.test.js tests/feedback-attribution.test.js tests/hybrid-feedback-context.test.js tests/loop-closure.test.js tests/code-reasoning.test.js tests/feedback-loop.test.js tests/feedback-inbox-read.test.js tests/feedback-to-memory.test.js tests/test-coverage.test.js tests/version-metadata.test.js tests/claude-mcpb.test.js tests/claude-codex-bridge.test.js tests/cursor-plugin.test.js tests/codex-plugin.test.js tests/telemetry-analytics.test.js tests/public-landing.test.js tests/lessons-page.test.js tests/pro-landing.test.js tests/local-model-profile.test.js tests/risk-scorer.test.js tests/context-compaction.test.js tests/reminder-engine.test.js tests/post-to-x.test.js tests/verification-loop.test.js tests/async-job-runner.test.js tests/commerce-quality.test.js tests/recall-limit.test.js tests/problem-detail.test.js tests/natural-language-harness.test.js tests/settings-hierarchy.test.js",
|
|
337
|
+
"test:proof": "node --test tests/prove-adapters.test.js tests/prove-attribution.test.js tests/prove-cloudflare-sandbox.test.js tests/prove-data-quality.test.js tests/prove-intelligence.test.js tests/prove-lancedb.test.js tests/prove-loop-closure.test.js tests/prove-training-export.test.js tests/prove-local-intelligence.test.js tests/prove-workflow-contract.test.js tests/prove-autoresearch.test.js tests/prove-claim-verification.test.js tests/prove-data-pipeline.test.js tests/prove-evolution.test.js tests/prove-harnesses.test.js tests/prove-packaged-runtime.test.js tests/prove-runtime.test.js tests/prove-seo-gsd.test.js tests/prove-settings.test.js tests/prove-xmemory.test.js && node --test tests/prove-automation.test.js",
|
|
337
338
|
"test:e2e": "node --test tests/e2e-pipeline.test.js tests/e2e-product-flows.test.js tests/e2e-coverage-contract.test.js",
|
|
338
339
|
"test:rlaif": "node --test tests/rlaif-self-audit.test.js tests/dpo-optimizer.test.js tests/meta-policy.test.js",
|
|
339
340
|
"test:attribution": "node --test tests/feedback-attribution.test.js tests/hybrid-feedback-context.test.js",
|
|
340
341
|
"test:quality": "node --test tests/validate-feedback.test.js",
|
|
341
342
|
"test:intelligence": "node --test tests/intelligence.test.js",
|
|
342
343
|
"test:training-export": "node --test tests/training-export.test.js tests/databricks-export.test.js",
|
|
343
|
-
"test:deployment": "node --test tests/deployment.test.js tests/deploy-policy.test.js tests/publish-decision.test.js tests/changeset-check.test.js tests/release-notes.test.js tests/sonarcloud-workflow.test.js tests/package-boundary.test.js tests/revenue-observability-workflow.test.js",
|
|
344
|
+
"test:deployment": "node --test tests/deployment.test.js tests/deploy-policy.test.js tests/publish-decision.test.js tests/changeset-check.test.js tests/release-notes.test.js tests/sonarcloud-workflow.test.js tests/package-boundary.test.js tests/public-package-boundary.test.js tests/revenue-observability-workflow.test.js",
|
|
344
345
|
"test:operational-integrity": "node --test tests/operational-integrity.test.js tests/sync-branch-protection.test.js",
|
|
345
346
|
"test:workflow": "node --test tests/workflow-contract.test.js tests/social-marketing-assets.test.js tests/social-pipeline.test.js tests/positioning-contract.test.js tests/docs-claim-hygiene.test.js tests/thumbgate-scope.test.js tests/workflow-runs.test.js tests/workflow-sprint-intake.test.js tests/gtm-revenue-loop.test.js tests/sales-pipeline.test.js tests/enterprise-story.test.js tests/ralph-loop.test.js tests/ralph-mode-ci.test.js",
|
|
346
347
|
"test:sales-pipeline": "node --test tests/sales-pipeline.test.js",
|
|
347
|
-
"test:billing": "node --test tests/billing.test.js",
|
|
348
|
+
"test:billing": "node --test tests/billing.test.js tests/stripe-sync-product-images.test.js",
|
|
348
349
|
"test:cli": "node --test tests/analytics-report.test.js tests/codex-self-heal.test.js tests/creator-campaigns.test.js tests/cli.test.js tests/codex-bridge-script.test.js tests/dependabot-changeset.test.js tests/dispatch-brief.test.js tests/feedback-normalize.test.js tests/install-mcp.test.js tests/pr-manager.test.js tests/pro-local-dashboard.test.js tests/published-cli.test.js tests/revenue-status.test.js tests/stripe-live-status.test.js",
|
|
349
350
|
"test:evolution": "node --test tests/workspace-evolver.test.js",
|
|
350
351
|
"test:watcher": "node --test tests/jsonl-watcher.test.js",
|
|
@@ -352,7 +353,7 @@
|
|
|
352
353
|
"test:ops": "node --test tests/adk-consolidator.test.js tests/anthropic-partner-strategy.test.js tests/auto-promote-gates.test.js tests/auto-wire-hooks.test.js tests/claude-skill.test.js tests/codegraph-context.test.js tests/commercial-signals.test.js tests/decision-journal.test.js tests/delegation-runtime.test.js tests/disagreement-mining.test.js tests/failure-diagnostics.test.js tests/gate-stats.test.js tests/git-hook-installer.test.js tests/github-billing.test.js tests/intervention-policy.test.js tests/markdown-escape.test.js tests/mcp-tools-gates.test.js tests/native-messaging-audit.test.js tests/project-bayes-e2e.test.js tests/project-bayes.test.js tests/rate-limiter.test.js tests/schedule-manager.test.js tests/session-handoff.test.js tests/skill-generator.test.js tests/smart-learning.test.js tests/spike-and-sink.test.js tests/stripe-revenue.test.js tests/stripe-webhook-route.test.js tests/stripe-webhook-rotation.test.js tests/train-from-feedback.test.js tests/workflow-hardening-sprint.test.js tests/workflow-sentinel.test.js tests/test-suite-parity.test.js tests/a2ui-engine.test.js tests/webhook-delivery.test.js",
|
|
353
354
|
"test:session-analyzer": "node --test tests/session-analyzer.test.js",
|
|
354
355
|
"test:tessl": "node --test tests/tessl-export.test.js",
|
|
355
|
-
"test:gates": "node --test tests/gate-templates.test.js tests/gates-engine.test.js tests/claim-verification.test.js tests/secret-scanner.test.js tests/prompt-guard.test.js tests/audit-trail.test.js tests/profile-router.test.js tests/workflow-sentinel.test.js tests/docker-sandbox-planner.test.js",
|
|
356
|
+
"test:gates": "node --test tests/gate-templates.test.js tests/gates-engine.test.js tests/claim-verification.test.js tests/secret-scanner.test.js tests/secret-fixture-safety.test.js tests/prompt-guard.test.js tests/audit-trail.test.js tests/profile-router.test.js tests/workflow-sentinel.test.js tests/docker-sandbox-planner.test.js",
|
|
356
357
|
"test:budget": "node --test tests/budget-enforcer.test.js",
|
|
357
358
|
"test:workers": "npm --prefix workers ci && npm --prefix workers test",
|
|
358
359
|
"test:evoskill": "node --test tests/evoskill.test.js",
|
|
@@ -411,6 +412,7 @@
|
|
|
411
412
|
"test:post-video": "node --test tests/post-video.test.js",
|
|
412
413
|
"test:post-everywhere-instagram": "node --test tests/post-everywhere-instagram.test.js",
|
|
413
414
|
"test:post-everywhere-channels": "node --test tests/post-everywhere-channels.test.js",
|
|
415
|
+
"test:post-everywhere-zernio-default": "node --test tests/post-everywhere-zernio-default.test.js",
|
|
414
416
|
"test:zernio-canonical-pollers": "node --test tests/zernio-canonical-pollers.test.js",
|
|
415
417
|
"test:zernio-status": "node --test tests/zernio-status.test.js",
|
|
416
418
|
"test:license": "node --test tests/license.test.js",
|
|
@@ -427,10 +429,11 @@
|
|
|
427
429
|
"test:control-tower": "node --test tests/control-tower.test.js",
|
|
428
430
|
"test:pii-scanner": "node --test tests/pii-scanner.test.js",
|
|
429
431
|
"test:data-governance": "node --test tests/data-governance.test.js",
|
|
430
|
-
"test:lesson-inference": "node --test tests/conversation-context.test.js tests/lesson-inference.test.js",
|
|
432
|
+
"test:lesson-inference": "node --test tests/conversation-context.test.js tests/lesson-inference.test.js tests/lesson-prompt-shape.test.js",
|
|
431
433
|
"test:lesson-retrieval": "node --test tests/lesson-retrieval.test.js",
|
|
432
434
|
"test:cross-encoder": "node --test tests/cross-encoder-reranker.test.js",
|
|
433
435
|
"test:reflector-agent": "node --test tests/reflector-agent.test.js",
|
|
436
|
+
"test:public-core-boundary": "node --test tests/public-core-boundary.test.js",
|
|
434
437
|
"test:feedback-session": "node --test tests/feedback-session.test.js",
|
|
435
438
|
"test:feedback-history-distiller": "node --test tests/feedback-history-distiller.test.js",
|
|
436
439
|
"test:hallucination-detector": "node --test tests/hallucination-detector.test.js",
|
|
@@ -485,6 +488,7 @@
|
|
|
485
488
|
"test:ai-search-visibility": "node --test tests/ai-search-visibility.test.js",
|
|
486
489
|
"test:security-scanner": "node --test tests/security-scanner.test.js",
|
|
487
490
|
"test:llm-client": "node --test tests/llm-client.test.js",
|
|
491
|
+
"test:model-candidates": "node --test tests/model-candidates.test.js",
|
|
488
492
|
"test:managed-lesson-agent": "node --test tests/managed-lesson-agent.test.js",
|
|
489
493
|
"agent:run": "node scripts/managed-lesson-agent.js",
|
|
490
494
|
"agent:run:dry": "node scripts/managed-lesson-agent.js --dry-run",
|
|
@@ -516,7 +520,8 @@
|
|
|
516
520
|
"test:demo-voiceover": "node --test tests/demo-voiceover.test.js",
|
|
517
521
|
"test:gate-coherence": "node --test tests/gate-coherence.test.js",
|
|
518
522
|
"test:gate-eval": "node --test tests/gate-eval.test.js",
|
|
519
|
-
"
|
|
523
|
+
"gate-eval:ci": "node scripts/gate-eval.js run",
|
|
524
|
+
"test:high-roi": "node --test tests/high-roi.test.js tests/model-candidates.test.js tests/autonomous-workflow.test.js tests/high-roi-agent-workflows.test.js",
|
|
520
525
|
"test:public-static-assets": "node --test tests/public-static-assets.test.js",
|
|
521
526
|
"test:token-savings": "node --test tests/token-savings.test.js",
|
|
522
527
|
"test:numbers-page": "node --test tests/numbers-page.test.js",
|
|
@@ -524,6 +529,7 @@
|
|
|
524
529
|
"workflow:autonomous": "node scripts/autonomous-workflow.js",
|
|
525
530
|
"test:lesson-export-import": "node --test tests/lesson-export-import.test.js",
|
|
526
531
|
"test:landing-page-claims": "node --test tests/landing-page-claims.test.js",
|
|
532
|
+
"test:competitive-positioning-marketing": "node --test tests/competitive-positioning-marketing.test.js",
|
|
527
533
|
"test:dashboard-deeplink-e2e": "node --test tests/dashboard-deeplink-e2e.test.js",
|
|
528
534
|
"test:public-package-parity": "node --test tests/public-package-parity.test.js",
|
|
529
535
|
"prepare": "bash bin/install-hooks.sh >/dev/null 2>&1 || true",
|
|
@@ -535,7 +541,8 @@
|
|
|
535
541
|
"test:mailer": "node --test tests/mailer.test.js tests/mailer-dns.test.js tests/billing-webhook-email.test.js",
|
|
536
542
|
"test:brand-assets": "node --test tests/brand-assets.test.js",
|
|
537
543
|
"test:enforcement-teeth": "node --test tests/enforcement-teeth.test.js",
|
|
538
|
-
"test:bayes-optimal-gate": "node --test tests/bayes-optimal-gate.test.js"
|
|
544
|
+
"test:bayes-optimal-gate": "node --test tests/bayes-optimal-gate.test.js",
|
|
545
|
+
"test:actionable-remediations": "node --test tests/actionable-remediations.test.js"
|
|
539
546
|
},
|
|
540
547
|
"keywords": [
|
|
541
548
|
"mcp",
|
|
@@ -544,7 +551,7 @@
|
|
|
544
551
|
"agent-skills",
|
|
545
552
|
"skill",
|
|
546
553
|
"context-engineering",
|
|
547
|
-
"pre-action-
|
|
554
|
+
"pre-action-checks",
|
|
548
555
|
"ai-agent-safety",
|
|
549
556
|
"guardrails",
|
|
550
557
|
"feedback-memory",
|
package/public/blog.html
CHANGED
|
@@ -38,13 +38,13 @@
|
|
|
38
38
|
"@type": "BlogPosting",
|
|
39
39
|
"headline": "Your AI agent is a supply chain attack surface. Here's how to gate it.",
|
|
40
40
|
"datePublished": "2026-04-10",
|
|
41
|
-
"keywords": "AI agent security, supply chain attack, pre-action
|
|
41
|
+
"keywords": "AI agent security, supply chain attack, pre-action checks, agent governance, ThumbGate"
|
|
42
42
|
},
|
|
43
43
|
{
|
|
44
44
|
"@type": "BlogPosting",
|
|
45
|
-
"headline": "The Claude Code Leak Proves Why Pre-Action
|
|
45
|
+
"headline": "The Claude Code Leak Proves Why Pre-Action Checks Matter",
|
|
46
46
|
"datePublished": "2026-04-01",
|
|
47
|
-
"keywords": "Claude Code security, Claude Code guardrails, AI agent safety, pre-action
|
|
47
|
+
"keywords": "Claude Code security, Claude Code guardrails, AI agent safety, pre-action checks"
|
|
48
48
|
},
|
|
49
49
|
{
|
|
50
50
|
"@type": "BlogPosting",
|
|
@@ -195,9 +195,9 @@
|
|
|
195
195
|
something that operates on the <em>input</em> — before execution.
|
|
196
196
|
</p>
|
|
197
197
|
|
|
198
|
-
<h3>Pre-Action
|
|
198
|
+
<h3>Pre-Action Checks via PreToolUse hooks</h3>
|
|
199
199
|
<p>
|
|
200
|
-
ThumbGate implements pre-action
|
|
200
|
+
ThumbGate implements pre-action checks via <code>PreToolUse</code> hooks
|
|
201
201
|
— interception points that run before every tool invocation. No
|
|
202
202
|
action reaches execution without passing through the gate. Not Bash
|
|
203
203
|
commands, not file edits, not web fetches.
|
|
@@ -290,7 +290,7 @@
|
|
|
290
290
|
|
|
291
291
|
<article class="post">
|
|
292
292
|
<div class="post-date">April 1, 2026</div>
|
|
293
|
-
<h2>The Claude Code Leak Proves Why Pre-Action
|
|
293
|
+
<h2>The Claude Code Leak Proves Why Pre-Action Checks Matter</h2>
|
|
294
294
|
|
|
295
295
|
<p>
|
|
296
296
|
Anthropic accidentally shipped 512,000 lines of Claude Code source
|
|
@@ -314,7 +314,7 @@
|
|
|
314
314
|
|
|
315
315
|
<p>
|
|
316
316
|
That's exactly what ThumbGate does. Every Claude Code user — and every
|
|
317
|
-
Claw-code user — can add pre-action
|
|
317
|
+
Claw-code user — can add pre-action checks today:
|
|
318
318
|
</p>
|
|
319
319
|
|
|
320
320
|
<ul>
|
package/public/codex-plugin.html
CHANGED
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
6
6
|
<title>ThumbGate for Codex - Auto-Updating MCP Plugin</title>
|
|
7
7
|
<script defer data-domain="thumbgate-production.up.railway.app" src="https://plausible.io/js/script.js"></script>
|
|
8
|
-
<meta name="description" content="Install ThumbGate for Codex with an auto-updating MCP plugin, Pre-Action
|
|
9
|
-
<meta name="keywords" content="ThumbGate Codex plugin, Codex MCP server, Codex pre-action
|
|
8
|
+
<meta name="description" content="Install ThumbGate for Codex with an auto-updating MCP plugin, Pre-Action Checks, thumbs-up/down feedback memory, and a local-first Reliability Gateway.">
|
|
9
|
+
<meta name="keywords" content="ThumbGate Codex plugin, Codex MCP server, Codex pre-action checks, Codex guardrails, thumbgate latest, AI coding agent reliability">
|
|
10
10
|
<meta property="og:title" content="ThumbGate for Codex">
|
|
11
11
|
<meta property="og:description" content="Auto-updating MCP and hook launcher for Codex. One install, then ThumbGate resolves the latest npm runtime when Codex starts.">
|
|
12
12
|
<meta property="og:type" content="website">
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
"name": "ThumbGate for Codex",
|
|
22
22
|
"applicationCategory": "DeveloperApplication",
|
|
23
23
|
"operatingSystem": "macOS, Linux, Windows with Node.js",
|
|
24
|
-
"description": "ThumbGate for Codex installs an MCP server and hook launcher that resolves thumbgate@latest at startup, captures thumbs-up/down feedback, and enforces Pre-Action
|
|
24
|
+
"description": "ThumbGate for Codex installs an MCP server and hook launcher that resolves thumbgate@latest at startup, captures thumbs-up/down feedback, and enforces Pre-Action Checks before risky agent actions run.",
|
|
25
25
|
"url": "https://thumbgate-production.up.railway.app/codex-plugin",
|
|
26
26
|
"downloadUrl": "https://github.com/IgorGanapolsky/ThumbGate/releases/latest/download/thumbgate-codex-plugin.zip",
|
|
27
27
|
"installUrl": "https://thumbgate-production.up.railway.app/codex-plugin",
|
|
@@ -192,7 +192,7 @@
|
|
|
192
192
|
<main>
|
|
193
193
|
<section class="hero">
|
|
194
194
|
<div class="wrap">
|
|
195
|
-
<div class="eyebrow">Codex MCP plugin + Pre-Action
|
|
195
|
+
<div class="eyebrow">Codex MCP plugin + Pre-Action Checks</div>
|
|
196
196
|
<h1>Give Codex a thumbs-down once. Block the repeat before it runs again.</h1>
|
|
197
197
|
<p class="sub" style="font-size:13px;opacity:0.85;">Updated: <time datetime="2026-04-20">2026-04-20</time> · by <a href="https://github.com/IgorGanapolsky" style="color:inherit;">Igor Ganapolsky</a></p>
|
|
198
198
|
<p class="sub">ThumbGate wires Codex into local-first feedback memory, MCP tools, and hook enforcement. The launcher resolves <code>thumbgate@latest</code> when Codex starts, so published npm fixes reach your active MCP server after a restart.</p>
|
|
@@ -218,7 +218,7 @@
|
|
|
218
218
|
</div>
|
|
219
219
|
<div class="tile">
|
|
220
220
|
<h3>Hard stop before action</h3>
|
|
221
|
-
<p>Pre-Action
|
|
221
|
+
<p>Pre-Action Checks evaluate commands, file edits, publishes, merges, and other high-risk actions before execution. Bad repeats get blocked before they burn time or tokens.</p>
|
|
222
222
|
</div>
|
|
223
223
|
</section>
|
|
224
224
|
|
|
@@ -276,7 +276,7 @@
|
|
|
276
276
|
|
|
277
277
|
<footer>
|
|
278
278
|
<div class="wrap">
|
|
279
|
-
ThumbGate MIT License. Pre-Action
|
|
279
|
+
ThumbGate MIT License. Pre-Action Checks, DPO-ready feedback, and local-first Codex enforcement.
|
|
280
280
|
</div>
|
|
281
281
|
</footer>
|
|
282
282
|
</body>
|