thumbgate 1.34.3 → 1.37.1

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.
Files changed (200) hide show
  1. package/.agents/skills/cyberstrike-compare-not-clone/SKILL.md +36 -0
  2. package/.agents/skills/gitlab-sandbox-allowlist-not-trust/SKILL.md +77 -0
  3. package/.agents/skills/jit-harness-compare-not-clone/SKILL.md +34 -0
  4. package/.agents/skills/openui-catalog-compose-honesty/SKILL.md +64 -0
  5. package/.agents/skills/zvec-grep-compare-not-clone/SKILL.md +34 -0
  6. package/.claude-plugin/plugin.json +1 -1
  7. package/.well-known/llms.txt +1 -0
  8. package/.well-known/mcp/server-card.json +1 -1
  9. package/CONTRIBUTING.md +95 -0
  10. package/README.md +195 -632
  11. package/THIRD_PARTY_NOTICES.md +89 -0
  12. package/adapters/claude/.mcp.json +2 -2
  13. package/adapters/forge/forge.yaml +3 -3
  14. package/adapters/future-agi/.mcp.json +8 -0
  15. package/adapters/future-agi/FUTURE_AGI.md +23 -0
  16. package/adapters/future-agi/config.toml +3 -0
  17. package/adapters/future-agi/future-agi-bridge.js +9 -0
  18. package/adapters/future-agi/opencode.json +8 -0
  19. package/adapters/herdr/herdr-plugin.toml +18 -0
  20. package/adapters/mcp/server-stdio.js +238 -25
  21. package/adapters/opencode/opencode.json +1 -1
  22. package/adapters/workos/WORKOS.md +52 -0
  23. package/bin/cli.js +373 -5
  24. package/bin/futureagi-bridge +9 -0
  25. package/config/gate-templates.json +653 -4
  26. package/config/gates/actor-critic-audit.json +34 -0
  27. package/config/gates/default.json +21 -2
  28. package/config/gates/five-walls-governance.json +34 -0
  29. package/config/gates/future-agi-guardrails.json +34 -0
  30. package/config/gates/radware-threat-defense-2026.json +61 -0
  31. package/config/gates/simatree-data-governance.json +33 -0
  32. package/config/mcp-allowlists.json +4 -0
  33. package/config/merge-quality-checks.json +10 -1
  34. package/config/model-candidates.json +382 -24
  35. package/config/model-tiers.json +18 -0
  36. package/config/post-deploy-marketing-pages.json +10 -0
  37. package/config/progressive/01-wire-only.json +11 -0
  38. package/config/progressive/02-dashboard-empty-ok.json +10 -0
  39. package/config/progressive/03-one-lesson.json +10 -0
  40. package/config/progressive/04-warn-fires.json +11 -0
  41. package/config/progressive/05-strict-optional.json +11 -0
  42. package/config/progressive/README.md +15 -0
  43. package/config/schemas/broker-execution-receipt.schema.json +139 -0
  44. package/config/schemas/provider-execution-attestation-v1.schema.json +58 -0
  45. package/conformance/provider-attestation/vectors.json +320 -0
  46. package/docs/specs/provider-execution-attestation-v1.md +69 -0
  47. package/openapi/openapi.yaml +15 -0
  48. package/package.json +401 -147
  49. package/public/about.html +2 -2
  50. package/public/ai-malpractice-prevention.html +7 -7
  51. package/public/blog/a-10-dollar-vps-is-not-a-computer.html +143 -0
  52. package/public/blog/a-receipt-is-not-world-state.html +388 -0
  53. package/public/blog/git-at-agent-scale.html +374 -0
  54. package/public/blog/no-llm-in-the-gate.html +133 -0
  55. package/public/blog.html +80 -0
  56. package/public/case-studies.html +16 -1
  57. package/public/compare.html +28 -0
  58. package/public/diagnostic.html +216 -7
  59. package/public/docs/connectors.html +39 -0
  60. package/public/federal.html +2 -2
  61. package/public/founders.html +639 -0
  62. package/public/index.html +87 -9
  63. package/public/install.html +8 -8
  64. package/public/learn.html +39 -0
  65. package/public/numbers.html +2 -2
  66. package/public/peter.html +310 -0
  67. package/public/platform-partners.html +119 -0
  68. package/public/pricing.html +24 -3
  69. package/public/privacy.html +117 -0
  70. package/public/pro.html +17 -0
  71. package/public/support.html +62 -0
  72. package/public/terms.html +130 -0
  73. package/public/third-party-notices.html +95 -0
  74. package/public/yt.html +351 -0
  75. package/scripts/action-receipts.js +133 -3
  76. package/scripts/adaptive-governance-arena.js +349 -0
  77. package/scripts/admin-override.js +205 -0
  78. package/scripts/agent-action-inventory.js +869 -0
  79. package/scripts/agent-audit-trace.js +42 -2
  80. package/scripts/agent-egress-policy.js +1117 -0
  81. package/scripts/agent-memory-lifecycle.js +141 -2
  82. package/scripts/agent-operations-planner.js +441 -1
  83. package/scripts/agent-readiness.js +68 -0
  84. package/scripts/agent-security-central.js +647 -0
  85. package/scripts/allowlist-bridge-honesty.js +417 -0
  86. package/scripts/async-job-runner.js +102 -11
  87. package/scripts/audit-trail.js +212 -0
  88. package/scripts/auto-promote-gates.js +178 -27
  89. package/scripts/billing.js +1 -1
  90. package/scripts/broker-execution-receipts.js +719 -0
  91. package/scripts/budget-aware-gates-proof.js +423 -0
  92. package/scripts/claude-feedback-sync.js +29 -3
  93. package/scripts/claw-harness-production.js +237 -0
  94. package/scripts/cli-progress.js +111 -0
  95. package/scripts/cli-schema.js +163 -1
  96. package/scripts/codex-runbook-flywheel.js +318 -0
  97. package/scripts/context-footprint.js +186 -0
  98. package/scripts/contextfs.js +143 -61
  99. package/scripts/dashboard-limits.js +27 -0
  100. package/scripts/dashboard.js +279 -9
  101. package/scripts/deepseek-v4-runtime-guardrails.js +72 -6
  102. package/scripts/docker-sandbox-planner.js +18 -0
  103. package/scripts/double-blind-eval-protocol.js +252 -0
  104. package/scripts/edotenv-rl-gateway.js +259 -0
  105. package/scripts/ensure-production-search-corpus.js +162 -0
  106. package/scripts/eval-holdout.js +311 -0
  107. package/scripts/feedback-aggregate.js +21 -2
  108. package/scripts/feedback-loop.js +87 -5
  109. package/scripts/feedback-quality.js +9 -0
  110. package/scripts/file-ledger-lock.js +4 -1
  111. package/scripts/financial-control-plane.js +41 -1
  112. package/scripts/find-dormant-requires.js +118 -0
  113. package/scripts/fs-utils.js +84 -8
  114. package/scripts/gate-stats.js +2 -2
  115. package/scripts/gates-engine.js +859 -58
  116. package/scripts/generate-case-study-outreach.js +24 -15
  117. package/scripts/git-at-scale.js +628 -0
  118. package/scripts/governance-conflict-audit.js +1650 -0
  119. package/scripts/governance-difficulty-curriculum.js +328 -0
  120. package/scripts/graphrag-retrieval.js +275 -0
  121. package/scripts/gurobi-optimizer.js +324 -0
  122. package/scripts/gurobi_optimizer.py +485 -0
  123. package/scripts/harness-selector.js +82 -1
  124. package/scripts/hidden-entry-points.js +284 -0
  125. package/scripts/human-escalation.js +199 -1
  126. package/scripts/hybrid-feedback-context.js +152 -19
  127. package/scripts/intent-governed-execution.js +602 -0
  128. package/scripts/intervention-policy.js +123 -20
  129. package/scripts/jit-harness-compose.js +628 -0
  130. package/scripts/jsonl-watcher.js +10 -0
  131. package/scripts/lesson-embedding-index.js +95 -12
  132. package/scripts/lesson-retrieval.js +105 -19
  133. package/scripts/local-model-profile.js +19 -2
  134. package/scripts/mailer/resend-mailer.js +1 -1
  135. package/scripts/matryoshka-embedding.js +235 -0
  136. package/scripts/mcp-oauth.js +42 -4
  137. package/scripts/mcp-session-handles.js +1016 -0
  138. package/scripts/mcp-wiring-doctor.js +314 -0
  139. package/scripts/memory-firewall.js +115 -2
  140. package/scripts/memory-scope-readiness.js +299 -0
  141. package/scripts/memory-vs-rag-route.js +161 -0
  142. package/scripts/model-tier-router.js +148 -21
  143. package/scripts/nvidia-specdecode-al-doctor.js +536 -0
  144. package/scripts/openui-catalog-compose-honesty.js +593 -0
  145. package/scripts/operational-integrity.js +19 -1
  146. package/scripts/override-audit.js +213 -0
  147. package/scripts/package-manager-honesty-doctor.js +458 -0
  148. package/scripts/pr-manager.js +63 -1
  149. package/scripts/prove-herdr-adapter.js +52 -0
  150. package/scripts/prove-memory-pyramid-and-symbolic-canvas.js +95 -0
  151. package/scripts/prove-workos.js +73 -0
  152. package/scripts/provider-attestation-conformance.js +192 -0
  153. package/scripts/provider-receipt-contract.js +136 -0
  154. package/scripts/qwen38-max-cost-optimizer.js +401 -0
  155. package/scripts/radware-threat-defense.js +280 -0
  156. package/scripts/rag-embedding-identity.js +221 -0
  157. package/scripts/rag-precision-guardrails.js +112 -2
  158. package/scripts/remote-feedback-capture.js +159 -0
  159. package/scripts/research-agent-harness.js +256 -0
  160. package/scripts/rsi-safety-hillclimb.js +200 -0
  161. package/scripts/rule-sprawl.js +188 -0
  162. package/scripts/schedule-manager.js +147 -0
  163. package/scripts/self-heal.js +8 -0
  164. package/scripts/session-lease.js +415 -0
  165. package/scripts/simatree-data-governance.js +347 -0
  166. package/scripts/slo-alert-engine.js +172 -7
  167. package/scripts/solver-parity.js +539 -0
  168. package/scripts/stealth-memory-injection-gate.js +333 -0
  169. package/scripts/switchyard-router.js +366 -0
  170. package/scripts/telemetry-analytics.js +84 -27
  171. package/scripts/temporal-decay-weighting.js +138 -0
  172. package/scripts/test-all.js +165 -0
  173. package/scripts/token-savings.js +42 -0
  174. package/scripts/tool-kpi-tracker.js +108 -5
  175. package/scripts/tool-registry.js +193 -5
  176. package/scripts/universal-claim-evaluator.js +14 -2
  177. package/scripts/vector-store.js +279 -9
  178. package/scripts/workflow-notebook.js +391 -0
  179. package/scripts/workflow-sentinel.js +111 -12
  180. package/scripts/workos-production-guard.js +260 -0
  181. package/scripts/workspace-search-route.js +515 -0
  182. package/server.json +2 -2
  183. package/src/agent-identity-boundary.js +76 -0
  184. package/src/agent-retrieval-cache.js +155 -0
  185. package/src/alert-noise-ledger.js +502 -0
  186. package/src/api/server.js +802 -185
  187. package/src/git-fast-cache.js +220 -0
  188. package/src/git-wal-sync.js +156 -0
  189. package/src/hash-anchored-edit.js +82 -0
  190. package/src/hermes-platform-protocol.js +475 -0
  191. package/src/hermes-sync-plane.js +241 -0
  192. package/src/index.js +30 -1
  193. package/src/iso42001-compliance-guard.js +97 -0
  194. package/src/latency-budget.js +244 -0
  195. package/src/mcp-writeguard.js +316 -0
  196. package/src/miminions-adapter.js +106 -0
  197. package/src/pipeline-compass.js +104 -0
  198. package/src/ppl-alert-pipeline.js +284 -0
  199. package/src/rendezvous-router.js +90 -0
  200. package/src/security-questionnaire.js +195 -0
@@ -0,0 +1,34 @@
1
+ {
2
+ "version": 1,
3
+ "harness": "actor-critic-audit",
4
+ "description": "Enforces Actor-Critic process audits (inspired by Netflix oci-agent). Gating high-consequence data mutations, causal reports, or deployment triggers without an approved critic review receipt.",
5
+ "gates": [
6
+ {
7
+ "id": "actor-critic-missing-process-audit",
8
+ "layer": "PreAction",
9
+ "pattern": "^(?!.*(?:critic_rating=(?:fully_satisfactory|satisfactory_with_caveats)|criticReceipt=(?:fully_satisfactory|satisfactory_with_caveats))).*(?:publish_causal_report|deploy_treatment_policy|mutate_production_dataset|dispatch_automated_decision)",
10
+ "toolNames": ["Bash", "Edit", "Write"],
11
+ "action": "block",
12
+ "severity": "critical",
13
+ "message": "Actor-Critic process audit required before high-consequence action. Verify that an approved critic audit receipt (fully_satisfactory or satisfactory_with_caveats) is attached."
14
+ },
15
+ {
16
+ "id": "actor-critic-placebo-test-failure",
17
+ "layer": "PreAction",
18
+ "pattern": "(?:placebo_test_failed|failed_counterfactual_balance|unmeasured_confounder_risk)",
19
+ "toolNames": ["Bash", "Edit", "Write"],
20
+ "action": "block",
21
+ "severity": "high",
22
+ "message": "Critic flagged failed placebo test or counterfactual imbalance. Downstream policy mutation blocked until spec tweaks are applied."
23
+ },
24
+ {
25
+ "id": "actor-critic-early-adopter-bias-warning",
26
+ "layer": "PreAction",
27
+ "pattern": "(?:early_adopter_bias|selection_hazard|imbalanced_propensity)",
28
+ "toolNames": ["Bash", "Edit", "Write"],
29
+ "action": "warn",
30
+ "severity": "medium",
31
+ "message": "Potential selection bias or early-adopter skew detected by critic. Review sensitivity analysis before finalizing recommendations."
32
+ }
33
+ ]
34
+ }
@@ -180,6 +180,25 @@
180
180
  "CWE-863"
181
181
  ]
182
182
  },
183
+ {
184
+ "id": "outbound-email-send",
185
+ "layer": "Execution",
186
+ "trigger": "any:outbound_email_send",
187
+ "pattern": "(?:(?:^|[_.])send[_-]?(?:message|mail|email|now|draft)s?\\b|emailer[_-]?messages?[_-]?send|(?:^|[_.])send_draft\\b|users\\/[^/\\s\"\\']+\\/messages\\/send|\\bmessages\\/send\\b|messages\\s*\\(\\s*\\)\\s*\\.\\s*send\\s*\\(|users\\s*\\(\\s*\\)\\s*\\.\\s*messages\\s*\\(\\s*\\)\\s*\\.\\s*send\\b|(?:^|[\\s;/])sendmail\\b|\\bmsmtp\\b|\\bmailx?\\s+-s\\b|(?:import\\s+smtplib|from\\s+smtplib\\b|\\bsmtplib\\.SMTP\\b)|(?:require\\s*\\(\\s*[\\'\"]nodemailer[\\'\"]\\s*\\)|from\\s+[\\'\"]nodemailer[\\'\"]|nodemailer\\.createTransport)|createTransport\\s*\\()",
188
+ "action": "block",
189
+ "adminOverride": {
190
+ "required": true,
191
+ "digestBound": true,
192
+ "singleUse": true,
193
+ "ttlMs": 900000
194
+ },
195
+ "message": "Outbound email SEND is hard-blocked unless a separately authenticated admin approves this exact action digest. The approval expires after 15 minutes and is consumed once. create_draft / update_draft / list_drafts remain allowed without send approval.",
196
+ "severity": "critical",
197
+ "compliance": [
198
+ "SOC2-CC6.1",
199
+ "CWE-285"
200
+ ]
201
+ },
183
202
  {
184
203
  "id": "git-reset-hard",
185
204
  "layer": "Execution",
@@ -272,7 +291,7 @@
272
291
  "toolNames": [
273
292
  "Bash"
274
293
  ],
275
- "pattern": "(?:\\b(?:curl|wget)\\b[^\\n]{0,600}https?://(?!(?:github\\.com|registry\\.npmjs\\.org|api\\.anthropic\\.com|localhost|127\\.0\\.0\\.1|\\[::1\\]|0\\.0\\.0\\.0)(?:[:/?#]|$))[\\w.-]+|\\b(?:curl|wget)\\b\\s+(?:-\\S+\\s+)*(?!(?:https?://)?(?:github\\.com|registry\\.npmjs\\.org|api\\.anthropic\\.com|localhost|127\\.0\\.0\\.1|\\[::1\\]|0\\.0\\.0\\.0)(?:[:/?#]|$))(?:[\\w.-]+\\.)+[a-z]{2,}(?:[:/?#]|\\s|$)|\\bopen\\b[^\\n]{0,240}https?://(?!(?:github\\.com|registry\\.npmjs\\.org|api\\.anthropic\\.com|localhost|127\\.0\\.0\\.1|\\[::1\\]|0\\.0\\.0\\.0)(?:[:/?#]|$))[\\w.-]+|\\bnode\\b[^\\n]{0,240}\\bfetch\\s*\\(|\\bpython3?\\b[^\\n]{0,240}\\b(?:requests\\.(?:get|post)|urllib\\.request))",
294
+ "pattern": "(?:\\b(?:curl|wget)\\b[^\\n]{0,600}--connect-to\\b|\\b(?:curl|wget)\\b[^\\n]{0,600}https?://[^/\\s\"\\']*@[\\w.-]+)|(?:\\b(?:curl|wget)\\b[^\\n]{0,600}https?://(?!(?:github\\.com|registry\\.npmjs\\.org|api\\.anthropic\\.com|thumbgate\\.ai|thumbgate-production\\.up\\.railway\\.app|localhost|127\\.0\\.0\\.1|\\[::1\\]|0\\.0\\.0\\.0)(?:[:/?#]|$))[\\w.-]+|\\b(?:curl|wget)\\b\\s+(?:-\\S+\\s+)*(?!(?:https?://)?(?:github\\.com|registry\\.npmjs\\.org|api\\.anthropic\\.com|thumbgate\\.ai|thumbgate-production\\.up\\.railway\\.app|localhost|127\\.0\\.0\\.1|\\[::1\\]|0\\.0\\.0\\.0)(?:[:/?#]|$))(?:[\\w.-]+\\.)+[a-z]{2,}(?:[:/?#]|\\s|$)|\\bopen\\b[^\\n]{0,240}https?://(?!(?:github\\.com|registry\\.npmjs\\.org|api\\.anthropic\\.com|thumbgate\\.ai|thumbgate-production\\.up\\.railway\\.app|localhost|127\\.0\\.0\\.1|\\[::1\\]|0\\.0\\.0\\.0)(?:[:/?#]|$))[\\w.-]+|\\bnode\\b[^\\n]{0,240}\\bfetch\\s*\\(|\\bpython3?\\b[^\\n]{0,240}\\b(?:requests\\.(?:get|post)|urllib\\.request))",
276
295
  "action": "warn",
277
296
  "unless": "egress_approved",
278
297
  "message": "Potential unauthorized network egress detected.",
@@ -490,7 +509,7 @@
490
509
  "toolNames": [
491
510
  "Bash"
492
511
  ],
493
- "pattern": "(?:kill|pkill|killall)\\s+.*(?:thumbgate|gates-engine|budget-enforcer)",
512
+ "pattern": "(?:^|[^A-Za-z0-9_])(?:kill|pkill|killall)\\s+.*(?:thumbgate|gates-engine|budget-enforcer)",
494
513
  "action": "block",
495
514
  "message": "Self-protection: agent cannot terminate ThumbGate processes.",
496
515
  "severity": "critical",
@@ -0,0 +1,34 @@
1
+ {
2
+ "version": 1,
3
+ "harness": "five-walls-governance",
4
+ "description": "Enforces the 4-layer action safety cascade from InfoWorld: Visibility, Hard Deny, Policy Cascade, and Preconditions.",
5
+ "gates": [
6
+ {
7
+ "id": "five-walls-hard-deny-guardrail-tampering",
8
+ "layer": "PreAction",
9
+ "pattern": "(?:config/gates/|\\.thumbgate/rules|\\.github/workflows/main-branch-ruleset)",
10
+ "toolNames": ["Edit", "Write", "Bash"],
11
+ "action": "block",
12
+ "severity": "critical",
13
+ "message": "Direct tampering with guardrail policies or branch protection configuration is blocked by hard deny-list."
14
+ },
15
+ {
16
+ "id": "five-walls-precondition-prior-read",
17
+ "layer": "PreAction",
18
+ "pattern": "^(?!.*(?:read_receipt=verified|schema_introspected=true)).*(?:mutate_database_schema|drop_table|truncate_table)",
19
+ "toolNames": ["Bash", "Edit", "Write"],
20
+ "action": "block",
21
+ "severity": "high",
22
+ "message": "Destructive database mutations require verified prior schema introspection receipt (schema_introspected=true)."
23
+ },
24
+ {
25
+ "id": "five-walls-unverified-credentials-egress",
26
+ "layer": "PreAction",
27
+ "pattern": "(?:cat\\s+.*\\.env|printenv|security\\s+find-generic-password.*-w)",
28
+ "toolNames": ["Bash"],
29
+ "action": "block",
30
+ "severity": "critical",
31
+ "message": "Raw credential extraction is prohibited by the authentication boundary."
32
+ }
33
+ ]
34
+ }
@@ -0,0 +1,34 @@
1
+ {
2
+ "version": 1,
3
+ "harness": "future-agi-guardrails",
4
+ "description": "Enforces Future AGI-inspired self-healing guardrails, adversarial simulation checks, and prompt-injection defense at the pre-action tool call boundary.",
5
+ "gates": [
6
+ {
7
+ "id": "future-agi-unmeasured-prompt-injection",
8
+ "layer": "PreAction",
9
+ "pattern": "(?:IGNORE ALL PREVIOUS INSTRUCTIONS|SYSTEM OVERRIDE|DAN MODE|JAILBREAK|bypass_safety_checks|eval\\(atob|unfiltered_developer_mode)",
10
+ "toolNames": ["Bash", "Edit", "Write"],
11
+ "action": "block",
12
+ "severity": "critical",
13
+ "message": "Prompt injection or safety override detected in payload. Action blocked by Future AGI pre-action guardrails."
14
+ },
15
+ {
16
+ "id": "future-agi-failing-simulation-block",
17
+ "layer": "PreAction",
18
+ "pattern": "^(?!.*(?:simulation_passed=true|simulationReceipt=approved)).*(?:dispatch_autonomous_agent|deploy_agent_workflow|execute_production_mutation)",
19
+ "toolNames": ["Bash", "Edit", "Write"],
20
+ "action": "block",
21
+ "severity": "high",
22
+ "message": "Autonomous workflow dispatch requires an approved Future AGI adversarial simulation receipt (simulation_passed=true)."
23
+ },
24
+ {
25
+ "id": "future-agi-ungrounded-hallucination-warning",
26
+ "layer": "PreAction",
27
+ "pattern": "(?:unverified_citation|hallucinated_schema_column|zero_confidence_retrieval)",
28
+ "toolNames": ["Bash", "Edit", "Write"],
29
+ "action": "warn",
30
+ "severity": "medium",
31
+ "message": "Potential ungrounded generation or retrieval discrepancy detected by evaluation rubric. Verify citations before persisting changes."
32
+ }
33
+ ]
34
+ }
@@ -0,0 +1,61 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "harness": "radware-threat-defense-2026",
4
+ "version": "1.1.0",
5
+ "description": "Radware/Bot-Manager-inspired PreAction defense: ShadowLeak + ZombieAgent blocks and suspicious-bot challenge. Rate-burst circuit breaker is enforced in gates-engine via persisted call history (not a catch-all pattern gate).",
6
+ "gates": [
7
+ {
8
+ "id": "shadowleak-exfiltration-firewall",
9
+ "layer": "PreAction",
10
+ "action": "block",
11
+ "severity": "critical",
12
+ "description": "Blocks AI agent data exfiltration via secondary tool calls, hidden markdown images, tracking pixels, or URL parameter stuffing carrying sensitive context.",
13
+ "toolNames": [
14
+ "Bash",
15
+ "Edit",
16
+ "Write",
17
+ "Http",
18
+ "Browser",
19
+ "Send",
20
+ "MultiEdit"
21
+ ],
22
+ "pattern": "!\\[.*?\\]\\(https?:\\/\\/[^)\\s]+\\?(?:data|token|key|cookie|leak|mem|secret)=[^)\\s]+\\)|curl\\s+[^|\\r\\n]*?(?:-d|--data|-F)\\s+[^|\\r\\n]*?(?:token|secret|password|credential|env|auth)|(?:fetch|axios|request)\\s*\\(\\s*[`'\\\"]https?:\\/\\/[^`'\\\"]*?(?:exfil|leak|webhook|collect)",
23
+ "message": "Action blocked: ShadowLeak data exfiltration vector detected. Secondary egress channel prohibited."
24
+ },
25
+ {
26
+ "id": "zombieagent-loop-interdiction",
27
+ "layer": "PreAction",
28
+ "action": "block",
29
+ "severity": "critical",
30
+ "description": "Interdicts Indirect Prompt Injection (IPI) vectors embedded in external web/email/ticket payloads attempting to hijack agent control loops.",
31
+ "toolNames": [
32
+ "Bash",
33
+ "Edit",
34
+ "Write",
35
+ "Eval",
36
+ "Dispatch",
37
+ "MultiEdit"
38
+ ],
39
+ "pattern": "\\b(?:system\\s*override|act\\s*as\\s*zombie|unrestricted\\s*agent|drop\\s*prior\\s*instructions|ignore\\s*all\\s*guardrails)\\b|\\b(?:execute\\s*without\\s*approval|silently\\s*forward\\s*to|covert\\s*execution|bypass\\s*firewall)\\b",
40
+ "message": "Action blocked: ZombieAgent indirect prompt injection hijacking attempt detected. Execution loop halted."
41
+ },
42
+ {
43
+ "id": "suspicious-bot-challenge",
44
+ "layer": "PreAction",
45
+ "action": "warn",
46
+ "severity": "medium",
47
+ "description": "Bot Manager\u2013style challenge tier: flag suspicious automation / scrape / ATO spray language for human review without hard-deny of safe work.",
48
+ "toolNames": [
49
+ "Bash",
50
+ "Edit",
51
+ "Write",
52
+ "Http",
53
+ "Browser",
54
+ "Send",
55
+ "MultiEdit"
56
+ ],
57
+ "pattern": "\\b(?:scrape\\s+all|mass[- ]scrape|credential\\s*stuff|ato\\s*attack|account\\s*takeover\\s*spray)\\b|\\b(?:headless\\s+flood|burst\\s+tool\\s+calls|token\\s*drain\\s*loop)\\b",
58
+ "message": "Challenge: suspicious automation pattern detected (Bot Manager detect\u2192challenge ladder). Confirm intent before continuing."
59
+ }
60
+ ]
61
+ }
@@ -0,0 +1,33 @@
1
+ {
2
+ "version": 1,
3
+ "harness": "simatree-data-governance",
4
+ "name": "Simatree Enterprise Data Lifecycle & BI Governance",
5
+ "description": "Enforces 'Why Before How' intent validation, destructive SQL interdiction, Bayesian confidence thresholds, and PMO transformation stage audit receipts for enterprise data workflows. Schema note: scripts/gates-engine.js loadGatesConfig() reads ONLY a top-level `gates` array whose rules carry a `pattern` string, and compiles it with new RegExp(pattern) with no flags. A `patterns`/`regex` shape loads zero rules, and an inline (?i) flag throws and is swallowed by the matcher's catch, leaving the gate silently inert. Case-insensitivity is therefore written out as character classes.",
6
+ "gates": [
7
+ {
8
+ "id": "simatree-destructive-sql",
9
+ "layer": "PreAction",
10
+ "pattern": "(?:[Dd][Rr][Oo][Pp]\\s+(?:[Tt][Aa][Bb][Ll][Ee]|[Dd][Aa][Tt][Aa][Bb][Aa][Ss][Ee]|[Ss][Cc][Hh][Ee][Mm][Aa])|[Tt][Rr][Uu][Nn][Cc][Aa][Tt][Ee]\\s+[Tt][Aa][Bb][Ll][Ee]|[Aa][Ll][Tt][Ee][Rr]\\s+[Tt][Aa][Bb][Ll][Ee]\\s+.*[Dd][Rr][Oo][Pp]\\s+[Cc][Oo][Ll][Uu][Mm][Nn]|[Dd][Ee][Ll][Ee][Tt][Ee]\\s+[Ff][Rr][Oo][Mm]\\s+(?:[\\w$]+|\"[^\"]+\"|`[^`]+`|\\[[^\\]]+\\])(?:\\s*\\.\\s*(?:[\\w$]+|\"[^\"]+\"|`[^`]+`|\\[[^\\]]+\\]))*\\s*;)",
11
+ "toolNames": ["Bash", "Edit", "Write"],
12
+ "action": "block",
13
+ "severity": "critical",
14
+ "message": "Destructive data operations require validated business intent and an explicit snapshotId rollback plan. The table matcher accepts schema-, project- and quote-qualified names (analytics.customers, `proj.ds.tbl`, \"s\".\"t\", [dbo].[T]) because those are the forms Snowflake, BigQuery, Databricks and Postgres actually emit; a bare \\w+ matcher let every one of them through."
15
+ },
16
+ {
17
+ "id": "simatree-missing-intent",
18
+ "layer": "PreAction",
19
+ "pattern": "[Ii][Nn][Tt][Ee][Nn][Tt]\\s*[:=]\\s*[\"']?(?:[Tt][Ee][Ss][Tt]|[Tt][Ee][Mm][Pp]|[Ff][Ii][Xx]|[Aa][Ss][Aa][Pp]|[Uu][Pp][Dd][Aa][Tt][Ee]|[Mm][Ii][Ss][Cc]|[Tt][Oo][Dd][Oo])[\"']?\\s*(?:$|[,;])",
20
+ "toolNames": ["Bash", "Edit", "Write"],
21
+ "action": "block",
22
+ "severity": "high",
23
+ "message": "Data modifications require context-grounded business intent of at least 15 characters. Placeholder intents (test, temp, fix, asap, update, misc, todo) do not record why the change is being made."
24
+ }
25
+ ],
26
+ "author": "ThumbGate Security & Simatree Enterprise Systems",
27
+ "metadata": {
28
+ "framework": "Simatree Data Lifecycle Architecture",
29
+ "advisor": "Wesley Flores (Managing Partner, Simatree)",
30
+ "category": "Enterprise Data & Analytics Governance",
31
+ "enforcementMode": "ENFORCE"
32
+ }
33
+ }
@@ -62,8 +62,12 @@
62
62
  "prevention_rules",
63
63
  "recall",
64
64
  "record_action_receipt",
65
+ "record_broker_execution_receipt",
65
66
  "record_task_outcome",
67
+ "reconcile_broker_receipt_chain",
66
68
  "reconcile_purchase_ledger",
69
+ "get_broker_execution_receipts",
70
+ "verify_broker_execution_receipt",
67
71
  "reflect_on_feedback",
68
72
  "register_claim_gate",
69
73
  "report_product_issue",
@@ -20,6 +20,15 @@
20
20
  "cancel"
21
21
  ],
22
22
  "selfReferentialChecks": [
23
- "Trunk Merge Queue (main)"
23
+ "Trunk Merge Queue (main)",
24
+ "SonarCloud Code Analysis",
25
+ "SonarCloud",
26
+ "Merge blob reports"
27
+ ],
28
+ "optionalChecks": [
29
+ "Vercel",
30
+ "Vercel Preview Comments",
31
+ "Gitar",
32
+ "Gitar AI"
24
33
  ]
25
34
  }