execweave 0.6.4__tar.gz → 0.6.5__tar.gz

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 (398) hide show
  1. execweave-0.6.5/PKG-INFO +358 -0
  2. execweave-0.6.5/README.de.md +298 -0
  3. execweave-0.6.5/README.fr.md +298 -0
  4. execweave-0.6.5/README.ja.md +298 -0
  5. execweave-0.6.5/README.ko.md +298 -0
  6. execweave-0.6.5/README.md +302 -0
  7. execweave-0.6.5/README.ru.md +298 -0
  8. execweave-0.6.5/README.zh-CN.md +302 -0
  9. execweave-0.6.5/README.zh-TW.md +302 -0
  10. execweave-0.6.5/docs/claude-code-hooks.de.md +157 -0
  11. execweave-0.6.5/docs/claude-code-hooks.fr.md +157 -0
  12. execweave-0.6.5/docs/claude-code-hooks.ja.md +157 -0
  13. execweave-0.6.5/docs/claude-code-hooks.ko.md +157 -0
  14. execweave-0.6.5/docs/claude-code-hooks.md +157 -0
  15. execweave-0.6.5/docs/claude-code-hooks.ru.md +157 -0
  16. execweave-0.6.5/docs/claude-code-hooks.zh-CN.md +157 -0
  17. execweave-0.6.5/docs/claude-code-hooks.zh-TW.md +157 -0
  18. execweave-0.6.5/docs/codex-hooks.de.md +71 -0
  19. execweave-0.6.5/docs/codex-hooks.fr.md +71 -0
  20. execweave-0.6.5/docs/codex-hooks.ja.md +71 -0
  21. execweave-0.6.5/docs/codex-hooks.ko.md +71 -0
  22. execweave-0.6.5/docs/codex-hooks.md +71 -0
  23. execweave-0.6.5/docs/codex-hooks.ru.md +71 -0
  24. execweave-0.6.5/docs/codex-hooks.zh-CN.md +71 -0
  25. execweave-0.6.5/docs/codex-hooks.zh-TW.md +71 -0
  26. execweave-0.6.5/docs/cursor-hooks.de.md +58 -0
  27. execweave-0.6.5/docs/cursor-hooks.fr.md +58 -0
  28. execweave-0.6.5/docs/cursor-hooks.ja.md +58 -0
  29. execweave-0.6.5/docs/cursor-hooks.ko.md +58 -0
  30. execweave-0.6.5/docs/cursor-hooks.md +58 -0
  31. execweave-0.6.5/docs/cursor-hooks.ru.md +58 -0
  32. execweave-0.6.5/docs/cursor-hooks.zh-CN.md +58 -0
  33. execweave-0.6.5/docs/cursor-hooks.zh-TW.md +58 -0
  34. execweave-0.6.5/docs/evidence-grades.de.md +61 -0
  35. execweave-0.6.5/docs/evidence-grades.fr.md +61 -0
  36. execweave-0.6.5/docs/evidence-grades.ja.md +61 -0
  37. execweave-0.6.5/docs/evidence-grades.ko.md +61 -0
  38. execweave-0.6.5/docs/evidence-grades.md +61 -0
  39. execweave-0.6.5/docs/evidence-grades.ru.md +61 -0
  40. execweave-0.6.5/docs/evidence-grades.zh-CN.md +61 -0
  41. execweave-0.6.5/docs/evidence-grades.zh-TW.md +61 -0
  42. execweave-0.6.5/docs/gemini-hooks.de.md +68 -0
  43. execweave-0.6.5/docs/gemini-hooks.fr.md +68 -0
  44. execweave-0.6.5/docs/gemini-hooks.ja.md +68 -0
  45. execweave-0.6.5/docs/gemini-hooks.ko.md +68 -0
  46. execweave-0.6.5/docs/gemini-hooks.md +68 -0
  47. execweave-0.6.5/docs/gemini-hooks.ru.md +68 -0
  48. execweave-0.6.5/docs/gemini-hooks.zh-CN.md +68 -0
  49. execweave-0.6.5/docs/gemini-hooks.zh-TW.md +68 -0
  50. execweave-0.6.5/docs/inference-gateway.de.md +74 -0
  51. execweave-0.6.5/docs/inference-gateway.fr.md +74 -0
  52. execweave-0.6.5/docs/inference-gateway.ja.md +74 -0
  53. execweave-0.6.5/docs/inference-gateway.ko.md +74 -0
  54. execweave-0.6.5/docs/inference-gateway.md +74 -0
  55. execweave-0.6.5/docs/inference-gateway.ru.md +74 -0
  56. execweave-0.6.5/docs/inference-gateway.zh-CN.md +74 -0
  57. execweave-0.6.5/docs/inference-gateway.zh-TW.md +74 -0
  58. execweave-0.6.5/docs/model-runtime.de.md +61 -0
  59. execweave-0.6.5/docs/model-runtime.fr.md +61 -0
  60. execweave-0.6.5/docs/model-runtime.ja.md +61 -0
  61. execweave-0.6.5/docs/model-runtime.ko.md +61 -0
  62. execweave-0.6.5/docs/model-runtime.md +61 -0
  63. execweave-0.6.5/docs/model-runtime.ru.md +61 -0
  64. execweave-0.6.5/docs/model-runtime.zh-CN.md +61 -0
  65. execweave-0.6.5/docs/model-runtime.zh-TW.md +61 -0
  66. execweave-0.6.5/docs/opencode-plugin.de.md +54 -0
  67. execweave-0.6.5/docs/opencode-plugin.fr.md +54 -0
  68. execweave-0.6.5/docs/opencode-plugin.ja.md +54 -0
  69. execweave-0.6.5/docs/opencode-plugin.ko.md +54 -0
  70. execweave-0.6.5/docs/opencode-plugin.md +54 -0
  71. execweave-0.6.5/docs/opencode-plugin.ru.md +54 -0
  72. execweave-0.6.5/docs/opencode-plugin.zh-CN.md +54 -0
  73. execweave-0.6.5/docs/opencode-plugin.zh-TW.md +54 -0
  74. execweave-0.6.5/docs/rule-packs.de.md +77 -0
  75. execweave-0.6.5/docs/rule-packs.fr.md +77 -0
  76. execweave-0.6.5/docs/rule-packs.ja.md +77 -0
  77. execweave-0.6.5/docs/rule-packs.ko.md +77 -0
  78. execweave-0.6.5/docs/rule-packs.md +77 -0
  79. execweave-0.6.5/docs/rule-packs.ru.md +77 -0
  80. execweave-0.6.5/docs/rule-packs.zh-CN.md +77 -0
  81. execweave-0.6.5/docs/rule-packs.zh-TW.md +77 -0
  82. execweave-0.6.5/docs/run-integrity.de.md +52 -0
  83. execweave-0.6.5/docs/run-integrity.fr.md +52 -0
  84. execweave-0.6.5/docs/run-integrity.ja.md +52 -0
  85. execweave-0.6.5/docs/run-integrity.ko.md +52 -0
  86. execweave-0.6.5/docs/run-integrity.md +52 -0
  87. execweave-0.6.5/docs/run-integrity.ru.md +52 -0
  88. execweave-0.6.5/docs/run-integrity.zh-CN.md +52 -0
  89. execweave-0.6.5/docs/run-integrity.zh-TW.md +52 -0
  90. execweave-0.6.5/docs/runtime-threat-model.de.md +60 -0
  91. execweave-0.6.5/docs/runtime-threat-model.fr.md +60 -0
  92. execweave-0.6.5/docs/runtime-threat-model.ja.md +60 -0
  93. execweave-0.6.5/docs/runtime-threat-model.ko.md +60 -0
  94. execweave-0.6.5/docs/runtime-threat-model.md +60 -0
  95. execweave-0.6.5/docs/runtime-threat-model.ru.md +60 -0
  96. execweave-0.6.5/docs/runtime-threat-model.zh-CN.md +60 -0
  97. execweave-0.6.5/docs/runtime-threat-model.zh-TW.md +60 -0
  98. execweave-0.6.5/docs/semantic-telemetry.de.md +63 -0
  99. execweave-0.6.5/docs/semantic-telemetry.fr.md +63 -0
  100. execweave-0.6.5/docs/semantic-telemetry.ja.md +63 -0
  101. execweave-0.6.5/docs/semantic-telemetry.ko.md +63 -0
  102. execweave-0.6.5/docs/semantic-telemetry.md +63 -0
  103. execweave-0.6.5/docs/semantic-telemetry.ru.md +63 -0
  104. execweave-0.6.5/docs/semantic-telemetry.zh-CN.md +63 -0
  105. execweave-0.6.5/docs/semantic-telemetry.zh-TW.md +63 -0
  106. execweave-0.6.5/docs/v0.6.5-hardening-decisions.md +47 -0
  107. {execweave-0.6.4 → execweave-0.6.5}/pyproject.toml +7 -2
  108. {execweave-0.6.4 → execweave-0.6.5}/scripts/audit_i18n_parity.py +9 -1
  109. {execweave-0.6.4 → execweave-0.6.5}/scripts/check_claude_hook.py +20 -3
  110. execweave-0.6.5/scripts/check_codex_hook.py +93 -0
  111. {execweave-0.6.4 → execweave-0.6.5}/scripts/check_correlation_graph.py +29 -5
  112. {execweave-0.6.4 → execweave-0.6.5}/scripts/check_inference_gateway_cli.py +6 -1
  113. {execweave-0.6.4 → execweave-0.6.5}/scripts/check_model_runtime_cli.py +31 -5
  114. execweave-0.6.5/scripts/check_openai_compatible_cli.py +152 -0
  115. {execweave-0.6.4 → execweave-0.6.5}/scripts/check_wheel_install.py +3 -0
  116. {execweave-0.6.4 → execweave-0.6.5}/scripts/sync_i18n_nav.py +3 -0
  117. {execweave-0.6.4 → execweave-0.6.5}/src/execweave/__init__.py +1 -1
  118. {execweave-0.6.4 → execweave-0.6.5}/src/execweave/analysis.py +23 -2
  119. execweave-0.6.5/src/execweave/anthropic.py +204 -0
  120. execweave-0.6.5/src/execweave/anthropic_cli.py +168 -0
  121. execweave-0.6.5/src/execweave/anthropic_full_fidelity.py +382 -0
  122. {execweave-0.6.4 → execweave-0.6.5}/src/execweave/backends.py +35 -3
  123. execweave-0.6.5/src/execweave/claude_full_fidelity.py +387 -0
  124. {execweave-0.6.4 → execweave-0.6.5}/src/execweave/claude_hook_cli.py +24 -2
  125. execweave-0.6.5/src/execweave/codex_full_fidelity.py +252 -0
  126. {execweave-0.6.4 → execweave-0.6.5}/src/execweave/codex_hook_cli.py +36 -6
  127. execweave-0.6.5/src/execweave/content_evidence.py +101 -0
  128. execweave-0.6.5/src/execweave/content_store.py +150 -0
  129. execweave-0.6.5/src/execweave/cursor_full_fidelity.py +203 -0
  130. {execweave-0.6.4 → execweave-0.6.5}/src/execweave/cursor_hook_cli.py +37 -22
  131. execweave-0.6.5/src/execweave/evidence_grade.py +138 -0
  132. execweave-0.6.5/src/execweave/fidelity.py +289 -0
  133. execweave-0.6.5/src/execweave/gemini_full_fidelity.py +313 -0
  134. {execweave-0.6.4 → execweave-0.6.5}/src/execweave/gemini_hook_cli.py +49 -8
  135. {execweave-0.6.4 → execweave-0.6.5}/src/execweave/graph.py +8 -1
  136. execweave-0.6.5/src/execweave/http_proxy.py +437 -0
  137. execweave-0.6.5/src/execweave/http_proxy_cli.py +84 -0
  138. execweave-0.6.5/src/execweave/inference_gateway_cli.py +208 -0
  139. execweave-0.6.5/src/execweave/inference_gateway_full_fidelity.py +613 -0
  140. execweave-0.6.5/src/execweave/integrity.py +253 -0
  141. execweave-0.6.5/src/execweave/integrity_cli.py +52 -0
  142. {execweave-0.6.4 → execweave-0.6.5}/src/execweave/litellm_callback.py +40 -15
  143. {execweave-0.6.4 → execweave-0.6.5}/src/execweave/live.py +49 -7
  144. {execweave-0.6.4 → execweave-0.6.5}/src/execweave/model_runtime_cli.py +119 -11
  145. execweave-0.6.5/src/execweave/model_runtime_full_fidelity.py +516 -0
  146. execweave-0.6.5/src/execweave/openai_compatible.py +212 -0
  147. execweave-0.6.5/src/execweave/openai_compatible_cli.py +186 -0
  148. execweave-0.6.5/src/execweave/openai_compatible_full_fidelity.py +437 -0
  149. execweave-0.6.5/src/execweave/opencode_full_fidelity.py +187 -0
  150. {execweave-0.6.4 → execweave-0.6.5}/src/execweave/opencode_hook_cli.py +22 -13
  151. execweave-0.6.5/src/execweave/opencode_plugin_cli.py +147 -0
  152. execweave-0.6.5/src/execweave/rule_pack.py +359 -0
  153. execweave-0.6.5/src/execweave/rule_pack_cli.py +57 -0
  154. {execweave-0.6.4 → execweave-0.6.5}/src/execweave/top.py +82 -5
  155. {execweave-0.6.4 → execweave-0.6.5}/src/execweave/top_cli.py +6 -1
  156. {execweave-0.6.4 → execweave-0.6.5}/src/execweave/workflow.py +7 -1
  157. execweave-0.6.5/tests/fixtures/hooks/README.md +33 -0
  158. execweave-0.6.5/tests/fixtures/hooks/claude.json +35 -0
  159. execweave-0.6.5/tests/fixtures/hooks/codex.json +40 -0
  160. execweave-0.6.5/tests/fixtures/hooks/cursor.json +51 -0
  161. execweave-0.6.5/tests/fixtures/hooks/gemini.json +33 -0
  162. execweave-0.6.5/tests/fixtures/hooks/manifest.json +57 -0
  163. execweave-0.6.5/tests/fixtures/hooks/opencode.json +30 -0
  164. {execweave-0.6.4 → execweave-0.6.5}/tests/test_analysis.py +25 -1
  165. execweave-0.6.5/tests/test_anthropic.py +248 -0
  166. {execweave-0.6.4 → execweave-0.6.5}/tests/test_claude_adapter.py +15 -0
  167. execweave-0.6.5/tests/test_claude_full_fidelity.py +163 -0
  168. {execweave-0.6.4 → execweave-0.6.5}/tests/test_codex_adapter.py +20 -5
  169. execweave-0.6.5/tests/test_codex_full_fidelity.py +193 -0
  170. execweave-0.6.5/tests/test_correlation_checker.py +75 -0
  171. {execweave-0.6.4 → execweave-0.6.5}/tests/test_cursor_adapter.py +16 -0
  172. execweave-0.6.5/tests/test_cursor_full_fidelity.py +136 -0
  173. execweave-0.6.5/tests/test_evidence_grade.py +72 -0
  174. execweave-0.6.5/tests/test_fidelity.py +335 -0
  175. execweave-0.6.5/tests/test_full_fidelity.py +91 -0
  176. {execweave-0.6.4 → execweave-0.6.5}/tests/test_gemini_adapter.py +62 -12
  177. execweave-0.6.5/tests/test_gemini_full_fidelity.py +182 -0
  178. {execweave-0.6.4 → execweave-0.6.5}/tests/test_graph.py +1 -1
  179. execweave-0.6.5/tests/test_hook_fixture_corpus.py +156 -0
  180. execweave-0.6.5/tests/test_http_proxy.py +261 -0
  181. execweave-0.6.5/tests/test_inference_gateway_full_fidelity.py +411 -0
  182. execweave-0.6.5/tests/test_integrity.py +112 -0
  183. {execweave-0.6.4 → execweave-0.6.5}/tests/test_live.py +13 -3
  184. execweave-0.6.5/tests/test_live_auth.py +121 -0
  185. execweave-0.6.5/tests/test_model_runtime_full_fidelity.py +218 -0
  186. execweave-0.6.5/tests/test_openai_compatible.py +307 -0
  187. execweave-0.6.5/tests/test_opencode_full_fidelity.py +137 -0
  188. execweave-0.6.5/tests/test_opencode_plugin.py +41 -0
  189. execweave-0.6.5/tests/test_rule_pack.py +153 -0
  190. execweave-0.6.5/tests/test_threat_model.py +200 -0
  191. {execweave-0.6.4 → execweave-0.6.5}/tests/test_top_detached.py +82 -6
  192. {execweave-0.6.4 → execweave-0.6.5}/tests/test_workflow.py +15 -0
  193. execweave-0.6.4/PKG-INFO +0 -463
  194. execweave-0.6.4/README.de.md +0 -410
  195. execweave-0.6.4/README.fr.md +0 -410
  196. execweave-0.6.4/README.ja.md +0 -260
  197. execweave-0.6.4/README.ko.md +0 -260
  198. execweave-0.6.4/README.md +0 -407
  199. execweave-0.6.4/README.ru.md +0 -410
  200. execweave-0.6.4/README.zh-CN.md +0 -260
  201. execweave-0.6.4/README.zh-TW.md +0 -314
  202. execweave-0.6.4/docs/claude-code-hooks.de.md +0 -275
  203. execweave-0.6.4/docs/claude-code-hooks.fr.md +0 -275
  204. execweave-0.6.4/docs/claude-code-hooks.ja.md +0 -107
  205. execweave-0.6.4/docs/claude-code-hooks.ko.md +0 -107
  206. execweave-0.6.4/docs/claude-code-hooks.md +0 -275
  207. execweave-0.6.4/docs/claude-code-hooks.ru.md +0 -275
  208. execweave-0.6.4/docs/claude-code-hooks.zh-CN.md +0 -221
  209. execweave-0.6.4/docs/claude-code-hooks.zh-TW.md +0 -273
  210. execweave-0.6.4/docs/codex-hooks.de.md +0 -182
  211. execweave-0.6.4/docs/codex-hooks.fr.md +0 -182
  212. execweave-0.6.4/docs/codex-hooks.ja.md +0 -182
  213. execweave-0.6.4/docs/codex-hooks.ko.md +0 -180
  214. execweave-0.6.4/docs/codex-hooks.md +0 -182
  215. execweave-0.6.4/docs/codex-hooks.ru.md +0 -182
  216. execweave-0.6.4/docs/codex-hooks.zh-CN.md +0 -178
  217. execweave-0.6.4/docs/codex-hooks.zh-TW.md +0 -178
  218. execweave-0.6.4/docs/cursor-hooks.de.md +0 -85
  219. execweave-0.6.4/docs/cursor-hooks.fr.md +0 -85
  220. execweave-0.6.4/docs/cursor-hooks.ja.md +0 -85
  221. execweave-0.6.4/docs/cursor-hooks.ko.md +0 -85
  222. execweave-0.6.4/docs/cursor-hooks.md +0 -85
  223. execweave-0.6.4/docs/cursor-hooks.ru.md +0 -85
  224. execweave-0.6.4/docs/cursor-hooks.zh-CN.md +0 -85
  225. execweave-0.6.4/docs/cursor-hooks.zh-TW.md +0 -85
  226. execweave-0.6.4/docs/gemini-hooks.de.md +0 -189
  227. execweave-0.6.4/docs/gemini-hooks.fr.md +0 -189
  228. execweave-0.6.4/docs/gemini-hooks.ja.md +0 -164
  229. execweave-0.6.4/docs/gemini-hooks.ko.md +0 -164
  230. execweave-0.6.4/docs/gemini-hooks.md +0 -189
  231. execweave-0.6.4/docs/gemini-hooks.ru.md +0 -189
  232. execweave-0.6.4/docs/gemini-hooks.zh-CN.md +0 -166
  233. execweave-0.6.4/docs/gemini-hooks.zh-TW.md +0 -187
  234. execweave-0.6.4/docs/inference-gateway.de.md +0 -152
  235. execweave-0.6.4/docs/inference-gateway.fr.md +0 -152
  236. execweave-0.6.4/docs/inference-gateway.ja.md +0 -152
  237. execweave-0.6.4/docs/inference-gateway.ko.md +0 -152
  238. execweave-0.6.4/docs/inference-gateway.md +0 -152
  239. execweave-0.6.4/docs/inference-gateway.ru.md +0 -152
  240. execweave-0.6.4/docs/inference-gateway.zh-CN.md +0 -152
  241. execweave-0.6.4/docs/inference-gateway.zh-TW.md +0 -152
  242. execweave-0.6.4/docs/model-runtime.de.md +0 -109
  243. execweave-0.6.4/docs/model-runtime.fr.md +0 -109
  244. execweave-0.6.4/docs/model-runtime.ja.md +0 -105
  245. execweave-0.6.4/docs/model-runtime.ko.md +0 -105
  246. execweave-0.6.4/docs/model-runtime.md +0 -109
  247. execweave-0.6.4/docs/model-runtime.ru.md +0 -109
  248. execweave-0.6.4/docs/model-runtime.zh-CN.md +0 -105
  249. execweave-0.6.4/docs/model-runtime.zh-TW.md +0 -105
  250. execweave-0.6.4/docs/opencode-plugin.de.md +0 -81
  251. execweave-0.6.4/docs/opencode-plugin.fr.md +0 -81
  252. execweave-0.6.4/docs/opencode-plugin.ja.md +0 -81
  253. execweave-0.6.4/docs/opencode-plugin.ko.md +0 -81
  254. execweave-0.6.4/docs/opencode-plugin.md +0 -81
  255. execweave-0.6.4/docs/opencode-plugin.ru.md +0 -81
  256. execweave-0.6.4/docs/opencode-plugin.zh-CN.md +0 -81
  257. execweave-0.6.4/docs/opencode-plugin.zh-TW.md +0 -81
  258. execweave-0.6.4/docs/semantic-telemetry.de.md +0 -160
  259. execweave-0.6.4/docs/semantic-telemetry.fr.md +0 -160
  260. execweave-0.6.4/docs/semantic-telemetry.ja.md +0 -160
  261. execweave-0.6.4/docs/semantic-telemetry.ko.md +0 -160
  262. execweave-0.6.4/docs/semantic-telemetry.md +0 -160
  263. execweave-0.6.4/docs/semantic-telemetry.ru.md +0 -160
  264. execweave-0.6.4/docs/semantic-telemetry.zh-CN.md +0 -177
  265. execweave-0.6.4/docs/semantic-telemetry.zh-TW.md +0 -177
  266. execweave-0.6.4/src/execweave/inference_gateway_cli.py +0 -106
  267. execweave-0.6.4/src/execweave/opencode_plugin_cli.py +0 -110
  268. execweave-0.6.4/tests/test_opencode_plugin.py +0 -27
  269. {execweave-0.6.4 → execweave-0.6.5}/.github/workflows/ci.yml +0 -0
  270. {execweave-0.6.4 → execweave-0.6.5}/.github/workflows/i18n.yml +0 -0
  271. {execweave-0.6.4 → execweave-0.6.5}/.github/workflows/package-benchmark.yml +0 -0
  272. {execweave-0.6.4 → execweave-0.6.5}/.github/workflows/package-smoke.yml +0 -0
  273. {execweave-0.6.4 → execweave-0.6.5}/.github/workflows/publish.yml +0 -0
  274. {execweave-0.6.4 → execweave-0.6.5}/.github/workflows/scalability.yml +0 -0
  275. {execweave-0.6.4 → execweave-0.6.5}/.github/workflows/wheel-smoke.yml +0 -0
  276. {execweave-0.6.4 → execweave-0.6.5}/.github/workflows/windows-launcher.yml +0 -0
  277. {execweave-0.6.4 → execweave-0.6.5}/.gitignore +0 -0
  278. {execweave-0.6.4 → execweave-0.6.5}/LICENSE +0 -0
  279. {execweave-0.6.4 → execweave-0.6.5}/benchmarks/phase1_overhead.py +0 -0
  280. {execweave-0.6.4 → execweave-0.6.5}/docs/assets/execweave-launch-demo-v5-x.gif +0 -0
  281. {execweave-0.6.4 → execweave-0.6.5}/docs/benchmarks/README.md +0 -0
  282. {execweave-0.6.4 → execweave-0.6.5}/docs/benchmarks/v0.6.0-github-actions.json +0 -0
  283. {execweave-0.6.4 → execweave-0.6.5}/docs/benchmarks/v0.6.0-github-actions.svg +0 -0
  284. {execweave-0.6.4 → execweave-0.6.5}/docs/live-graph.de.md +0 -0
  285. {execweave-0.6.4 → execweave-0.6.5}/docs/live-graph.fr.md +0 -0
  286. {execweave-0.6.4 → execweave-0.6.5}/docs/live-graph.ja.md +0 -0
  287. {execweave-0.6.4 → execweave-0.6.5}/docs/live-graph.ko.md +0 -0
  288. {execweave-0.6.4 → execweave-0.6.5}/docs/live-graph.md +0 -0
  289. {execweave-0.6.4 → execweave-0.6.5}/docs/live-graph.ru.md +0 -0
  290. {execweave-0.6.4 → execweave-0.6.5}/docs/live-graph.zh-CN.md +0 -0
  291. {execweave-0.6.4 → execweave-0.6.5}/docs/live-graph.zh-TW.md +0 -0
  292. {execweave-0.6.4 → execweave-0.6.5}/docs/phase-1-runtime-collection.de.md +0 -0
  293. {execweave-0.6.4 → execweave-0.6.5}/docs/phase-1-runtime-collection.fr.md +0 -0
  294. {execweave-0.6.4 → execweave-0.6.5}/docs/phase-1-runtime-collection.ja.md +0 -0
  295. {execweave-0.6.4 → execweave-0.6.5}/docs/phase-1-runtime-collection.ko.md +0 -0
  296. {execweave-0.6.4 → execweave-0.6.5}/docs/phase-1-runtime-collection.md +0 -0
  297. {execweave-0.6.4 → execweave-0.6.5}/docs/phase-1-runtime-collection.ru.md +0 -0
  298. {execweave-0.6.4 → execweave-0.6.5}/docs/phase-1-runtime-collection.zh-CN.md +0 -0
  299. {execweave-0.6.4 → execweave-0.6.5}/docs/phase-1-runtime-collection.zh-TW.md +0 -0
  300. {execweave-0.6.4 → execweave-0.6.5}/docs/phase-2-execution-graph.de.md +0 -0
  301. {execweave-0.6.4 → execweave-0.6.5}/docs/phase-2-execution-graph.fr.md +0 -0
  302. {execweave-0.6.4 → execweave-0.6.5}/docs/phase-2-execution-graph.ja.md +0 -0
  303. {execweave-0.6.4 → execweave-0.6.5}/docs/phase-2-execution-graph.ko.md +0 -0
  304. {execweave-0.6.4 → execweave-0.6.5}/docs/phase-2-execution-graph.md +0 -0
  305. {execweave-0.6.4 → execweave-0.6.5}/docs/phase-2-execution-graph.ru.md +0 -0
  306. {execweave-0.6.4 → execweave-0.6.5}/docs/phase-2-execution-graph.zh-CN.md +0 -0
  307. {execweave-0.6.4 → execweave-0.6.5}/docs/phase-2-execution-graph.zh-TW.md +0 -0
  308. {execweave-0.6.4 → execweave-0.6.5}/docs/security-analysis.de.md +0 -0
  309. {execweave-0.6.4 → execweave-0.6.5}/docs/security-analysis.fr.md +0 -0
  310. {execweave-0.6.4 → execweave-0.6.5}/docs/security-analysis.ja.md +0 -0
  311. {execweave-0.6.4 → execweave-0.6.5}/docs/security-analysis.ko.md +0 -0
  312. {execweave-0.6.4 → execweave-0.6.5}/docs/security-analysis.md +0 -0
  313. {execweave-0.6.4 → execweave-0.6.5}/docs/security-analysis.ru.md +0 -0
  314. {execweave-0.6.4 → execweave-0.6.5}/docs/security-analysis.zh-CN.md +0 -0
  315. {execweave-0.6.4 → execweave-0.6.5}/docs/security-analysis.zh-TW.md +0 -0
  316. {execweave-0.6.4 → execweave-0.6.5}/scripts/check_claude_record_graph.py +0 -0
  317. {execweave-0.6.4 → execweave-0.6.5}/scripts/check_semantic_graph.py +0 -0
  318. {execweave-0.6.4 → execweave-0.6.5}/scripts/check_viewer_js.py +0 -0
  319. {execweave-0.6.4 → execweave-0.6.5}/scripts/check_windows_launchers.py +0 -0
  320. {execweave-0.6.4 → execweave-0.6.5}/scripts/emit_claude_hook_smoke.py +0 -0
  321. {execweave-0.6.4 → execweave-0.6.5}/scripts/emit_cursor_hook_smoke.py +0 -0
  322. {execweave-0.6.4 → execweave-0.6.5}/scripts/emit_gemini_hook_smoke.py +0 -0
  323. {execweave-0.6.4 → execweave-0.6.5}/scripts/emit_opencode_plugin_smoke.py +0 -0
  324. {execweave-0.6.4 → execweave-0.6.5}/scripts/make_semantic_smoke.py +0 -0
  325. {execweave-0.6.4 → execweave-0.6.5}/src/execweave/__main__.py +0 -0
  326. {execweave-0.6.4 → execweave-0.6.5}/src/execweave/auto_specialized.py +0 -0
  327. {execweave-0.6.4 → execweave-0.6.5}/src/execweave/benchmark.py +0 -0
  328. {execweave-0.6.4 → execweave-0.6.5}/src/execweave/claude_adapter.py +0 -0
  329. {execweave-0.6.4 → execweave-0.6.5}/src/execweave/claude_record.py +0 -0
  330. {execweave-0.6.4 → execweave-0.6.5}/src/execweave/cli.py +0 -0
  331. {execweave-0.6.4 → execweave-0.6.5}/src/execweave/codex_adapter.py +0 -0
  332. {execweave-0.6.4 → execweave-0.6.5}/src/execweave/codex_record.py +0 -0
  333. {execweave-0.6.4 → execweave-0.6.5}/src/execweave/collector.py +0 -0
  334. {execweave-0.6.4 → execweave-0.6.5}/src/execweave/command.py +0 -0
  335. {execweave-0.6.4 → execweave-0.6.5}/src/execweave/correlation.py +0 -0
  336. {execweave-0.6.4 → execweave-0.6.5}/src/execweave/cursor_adapter.py +0 -0
  337. {execweave-0.6.4 → execweave-0.6.5}/src/execweave/cursor_record.py +0 -0
  338. {execweave-0.6.4 → execweave-0.6.5}/src/execweave/entry.py +0 -0
  339. {execweave-0.6.4 → execweave-0.6.5}/src/execweave/filesystem.py +0 -0
  340. {execweave-0.6.4 → execweave-0.6.5}/src/execweave/focus.py +0 -0
  341. {execweave-0.6.4 → execweave-0.6.5}/src/execweave/gemini_adapter.py +0 -0
  342. {execweave-0.6.4 → execweave-0.6.5}/src/execweave/gemini_record.py +0 -0
  343. {execweave-0.6.4 → execweave-0.6.5}/src/execweave/graph_ops.py +0 -0
  344. {execweave-0.6.4 → execweave-0.6.5}/src/execweave/inference_gateway.py +0 -0
  345. {execweave-0.6.4 → execweave-0.6.5}/src/execweave/inference_identity.py +0 -0
  346. {execweave-0.6.4 → execweave-0.6.5}/src/execweave/inference_identity_cli.py +0 -0
  347. {execweave-0.6.4 → execweave-0.6.5}/src/execweave/litellm_callback_cli.py +0 -0
  348. {execweave-0.6.4 → execweave-0.6.5}/src/execweave/live_view.py +0 -0
  349. {execweave-0.6.4 → execweave-0.6.5}/src/execweave/model_runtime.py +0 -0
  350. {execweave-0.6.4 → execweave-0.6.5}/src/execweave/opencode_adapter.py +0 -0
  351. {execweave-0.6.4 → execweave-0.6.5}/src/execweave/opencode_record.py +0 -0
  352. {execweave-0.6.4 → execweave-0.6.5}/src/execweave/overhead_benchmark.py +0 -0
  353. {execweave-0.6.4 → execweave-0.6.5}/src/execweave/provider_record.py +0 -0
  354. {execweave-0.6.4 → execweave-0.6.5}/src/execweave/scalability_benchmark.py +0 -0
  355. {execweave-0.6.4 → execweave-0.6.5}/src/execweave/schema.py +0 -0
  356. {execweave-0.6.4 → execweave-0.6.5}/src/execweave/scope.py +0 -0
  357. {execweave-0.6.4 → execweave-0.6.5}/src/execweave/semantic.py +0 -0
  358. {execweave-0.6.4 → execweave-0.6.5}/src/execweave/sink.py +0 -0
  359. {execweave-0.6.4 → execweave-0.6.5}/src/execweave/strace_backend.py +0 -0
  360. {execweave-0.6.4 → execweave-0.6.5}/src/execweave/theme.py +0 -0
  361. {execweave-0.6.4 → execweave-0.6.5}/src/execweave/validate.py +0 -0
  362. {execweave-0.6.4 → execweave-0.6.5}/src/execweave/view_cli.py +0 -0
  363. {execweave-0.6.4 → execweave-0.6.5}/src/execweave/viewer.py +0 -0
  364. {execweave-0.6.4 → execweave-0.6.5}/tests/test_auto_specialized.py +0 -0
  365. {execweave-0.6.4 → execweave-0.6.5}/tests/test_backends.py +0 -0
  366. {execweave-0.6.4 → execweave-0.6.5}/tests/test_claude_record.py +0 -0
  367. {execweave-0.6.4 → execweave-0.6.5}/tests/test_codex_record.py +0 -0
  368. {execweave-0.6.4 → execweave-0.6.5}/tests/test_collector.py +0 -0
  369. {execweave-0.6.4 → execweave-0.6.5}/tests/test_command.py +0 -0
  370. {execweave-0.6.4 → execweave-0.6.5}/tests/test_condense.py +0 -0
  371. {execweave-0.6.4 → execweave-0.6.5}/tests/test_correlation.py +0 -0
  372. {execweave-0.6.4 → execweave-0.6.5}/tests/test_correlation_canonical_path.py +0 -0
  373. {execweave-0.6.4 → execweave-0.6.5}/tests/test_correlation_process_exe.py +0 -0
  374. {execweave-0.6.4 → execweave-0.6.5}/tests/test_cursor_record.py +0 -0
  375. {execweave-0.6.4 → execweave-0.6.5}/tests/test_filesystem_resilience.py +0 -0
  376. {execweave-0.6.4 → execweave-0.6.5}/tests/test_focus.py +0 -0
  377. {execweave-0.6.4 → execweave-0.6.5}/tests/test_gemini_record.py +0 -0
  378. {execweave-0.6.4 → execweave-0.6.5}/tests/test_graph_ops.py +0 -0
  379. {execweave-0.6.4 → execweave-0.6.5}/tests/test_inference_gateway.py +0 -0
  380. {execweave-0.6.4 → execweave-0.6.5}/tests/test_inference_identity.py +0 -0
  381. {execweave-0.6.4 → execweave-0.6.5}/tests/test_litellm_callback.py +0 -0
  382. {execweave-0.6.4 → execweave-0.6.5}/tests/test_live_delta.py +0 -0
  383. {execweave-0.6.4 → execweave-0.6.5}/tests/test_live_theme.py +0 -0
  384. {execweave-0.6.4 → execweave-0.6.5}/tests/test_lmstudio_auto_specialized.py +0 -0
  385. {execweave-0.6.4 → execweave-0.6.5}/tests/test_model_runtime.py +0 -0
  386. {execweave-0.6.4 → execweave-0.6.5}/tests/test_opencode_adapter.py +0 -0
  387. {execweave-0.6.4 → execweave-0.6.5}/tests/test_opencode_record.py +0 -0
  388. {execweave-0.6.4 → execweave-0.6.5}/tests/test_overhead_benchmark.py +0 -0
  389. {execweave-0.6.4 → execweave-0.6.5}/tests/test_schema.py +0 -0
  390. {execweave-0.6.4 → execweave-0.6.5}/tests/test_scope.py +0 -0
  391. {execweave-0.6.4 → execweave-0.6.5}/tests/test_semantic.py +0 -0
  392. {execweave-0.6.4 → execweave-0.6.5}/tests/test_strace_backend.py +0 -0
  393. {execweave-0.6.4 → execweave-0.6.5}/tests/test_v063_features.py +0 -0
  394. {execweave-0.6.4 → execweave-0.6.5}/tests/test_v064_live_auto_integrations.py +0 -0
  395. {execweave-0.6.4 → execweave-0.6.5}/tests/test_v064_live_evidence.py +0 -0
  396. {execweave-0.6.4 → execweave-0.6.5}/tests/test_validate.py +0 -0
  397. {execweave-0.6.4 → execweave-0.6.5}/tests/test_version.py +0 -0
  398. {execweave-0.6.4 → execweave-0.6.5}/tests/test_viewer.py +0 -0
@@ -0,0 +1,358 @@
1
+ Metadata-Version: 2.5
2
+ Name: execweave
3
+ Version: 0.6.5
4
+ Summary: Turn AI-agent runtime behavior into a local interactive execution graph.
5
+ Project-URL: Homepage, https://github.com/Irish-kw/ExecWeave
6
+ Project-URL: Repository, https://github.com/Irish-kw/ExecWeave
7
+ Project-URL: Documentation, https://github.com/Irish-kw/ExecWeave#documentation
8
+ Project-URL: Issues, https://github.com/Irish-kw/ExecWeave/issues
9
+ Author: ExecWeave contributors
10
+ License: MIT License
11
+
12
+ Copyright (c) 2026 GWW
13
+
14
+ Permission is hereby granted, free of charge, to any person obtaining a copy
15
+ of this software and associated documentation files (the "Software"), to deal
16
+ in the Software without restriction, including without limitation the rights
17
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
18
+ copies of the Software, and to permit persons to whom the Software is
19
+ furnished to do so, subject to the following conditions:
20
+
21
+ The above copyright notice and this permission notice shall be included in all
22
+ copies or substantial portions of the Software.
23
+
24
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
25
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
26
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
27
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
28
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
29
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
30
+ SOFTWARE.
31
+ License-File: LICENSE
32
+ Keywords: ai-agents,execution-graph,observability,provenance,runtime,security
33
+ Classifier: Development Status :: 4 - Beta
34
+ Classifier: Environment :: Console
35
+ Classifier: Intended Audience :: Developers
36
+ Classifier: Intended Audience :: Information Technology
37
+ Classifier: License :: OSI Approved :: MIT License
38
+ Classifier: Operating System :: OS Independent
39
+ Classifier: Programming Language :: Python :: 3
40
+ Classifier: Programming Language :: Python :: 3.10
41
+ Classifier: Programming Language :: Python :: 3.11
42
+ Classifier: Programming Language :: Python :: 3.12
43
+ Classifier: Programming Language :: Python :: 3.13
44
+ Classifier: Topic :: Software Development :: Debuggers
45
+ Classifier: Topic :: System :: Monitoring
46
+ Requires-Python: >=3.10
47
+ Requires-Dist: psutil>=5.9
48
+ Requires-Dist: watchdog>=4.0
49
+ Provides-Extra: dev
50
+ Requires-Dist: pytest>=8.0; extra == 'dev'
51
+ Requires-Dist: ruff<0.17,>=0.16; extra == 'dev'
52
+ Provides-Extra: release
53
+ Requires-Dist: build>=1.2; extra == 'release'
54
+ Requires-Dist: twine>=6.0; extra == 'release'
55
+ Description-Content-Type: text/markdown
56
+
57
+ # ExecWeave
58
+
59
+ <!-- i18n-nav:start -->
60
+ <p align="center">
61
+ <strong>English</strong> |
62
+ <a href="README.zh-TW.md">繁體中文</a> |
63
+ <a href="README.zh-CN.md">简体中文</a> |
64
+ <a href="README.ja.md">日本語</a> |
65
+ <a href="README.ko.md">한국어</a> |
66
+ <a href="README.fr.md">Français</a> |
67
+ <a href="README.de.md">Deutsch</a> |
68
+ <a href="README.ru.md">Русский</a>
69
+ </p>
70
+ <!-- i18n-nav:end -->
71
+
72
+ **See what AI agents actually do on your machine.**
73
+
74
+ ExecWeave is an open-source, local-first observability project that turns AI-agent activity into an interactive execution graph while keeping observed evidence, provider content, and derived inference explicitly separated.
75
+
76
+ > **Event is ground truth. The graph is a materialized view.**
77
+
78
+ <p align="center">
79
+ <img src="docs/assets/execweave-launch-demo-v5-x.gif" alt="ExecWeave animated live demo" width="100%">
80
+ </p>
81
+
82
+ ## Install
83
+
84
+ Install the latest published wheel/sdist from PyPI:
85
+
86
+ ```bash
87
+ python -m pip install -U execweave
88
+ ```
89
+
90
+ The package version on `main` is currently **v0.6.5**. The published release may lag main; test the exact mainline build with:
91
+
92
+ ```bash
93
+ python -m pip install --upgrade --force-reinstall "execweave @ git+https://github.com/Irish-kw/ExecWeave.git@main"
94
+ ```
95
+
96
+ For development:
97
+
98
+ ```bash
99
+ git clone https://github.com/Irish-kw/ExecWeave.git
100
+ cd ExecWeave
101
+ python -m pip install -e ".[dev]"
102
+ ```
103
+
104
+ ## Quick start
105
+
106
+ Live OS-runtime telemetry works with **any local command**. Agent/runtime names are examples, not a whitelist.
107
+
108
+ ```bash
109
+ execweave live --open -- claude
110
+ execweave live --open -- codex
111
+ execweave live --open -- gemini
112
+ execweave live --open -- cursor
113
+ execweave live --open -- opencode
114
+ execweave live --open -- ollama serve
115
+ execweave live --open -- python my_agent.py
116
+ ```
117
+
118
+ Or build the finalized artifact pipeline:
119
+
120
+ ```bash
121
+ execweave record --open -- python my_agent.py
122
+ ```
123
+
124
+ `execweave top -- codex` keeps the Agent interactive in the launch terminal while opening/attaching the detached Top dashboard according to the host environment.
125
+
126
+ ## v0.6.5: full-fidelity observability with explicit evidence boundaries
127
+
128
+ v0.6.5 extends provider/runtime observability beyond compact metadata. When a supported integration point explicitly supplies content, ExecWeave can preserve the **complete supplied value** in a local SHA-256 content-addressed store while keeping only a reference in the semantic event stream.
129
+
130
+ ```text
131
+ <run-root>/content/sha256/<sha256>.<json|txt|bin>
132
+ ```
133
+
134
+ Depending on the adapter and upstream hook/API surface, preserved content can include prompts/messages, model request/response objects, tool inputs/results, assistant responses, reasoning/thinking text when explicitly exposed, shell/MCP output, and file content supplied by provider hooks.
135
+
136
+ `complete_from_source: true` means ExecWeave stored the complete value delivered by that integration point. It does **not** mean ExecWeave observed hidden model state, provider-side stages that were never exposed, an unseen final wire request, or bytes it did not intercept.
137
+
138
+ Full fidelity also changes the privacy boundary: application-level secrets embedded inside content are preserved. Known transport credentials are filtered from selected provider-metadata projections where the adapter defines that behavior, but ExecWeave is **not** a general secret scanner or content redactor.
139
+
140
+ ### Supported semantic / inference surfaces
141
+
142
+ | Integration | OS-runtime observation when launched under ExecWeave | Specialized evidence |
143
+ | --- | --- | --- |
144
+ | Claude Code | Yes | native hooks + full-fidelity supplied hook content |
145
+ | OpenAI Codex | Yes | lifecycle hooks + full-fidelity supplied hook content |
146
+ | Gemini CLI | Yes | native hooks + full-fidelity supplied hook content |
147
+ | Cursor | Yes | native hooks + full-fidelity supplied hook content |
148
+ | OpenCode | Yes | project plugin + full-fidelity supplied plugin content |
149
+ | Ollama | Yes | `execweave-model-runtime event/exchange/probe --runtime ollama` |
150
+ | llama.cpp | Yes | `execweave-model-runtime event/exchange/probe --runtime llamacpp` |
151
+ | vLLM | Yes | `execweave-model-runtime event/exchange/probe --runtime vllm` |
152
+ | LM Studio | Only when the local process is launched under ExecWeave | `execweave-model-runtime event/exchange/probe --runtime lmstudio` |
153
+ | LiteLLM Proxy | Yes when the configured proxy is launched under ExecWeave | metadata-oriented gateway callback/event integration |
154
+ | OpenRouter | Observe the local client, not the remote service process | `execweave-inference-gateway event/exchange/generation --gateway openrouter` |
155
+
156
+ OpenRouter `exchange` is caller-supplied request+response evidence, not transparent wire interception. LiteLLM Proxy remains a narrower metadata-oriented integration in the current baseline.
157
+
158
+ ## Evidence layers
159
+
160
+ ExecWeave keeps evidence layers separate instead of flattening them into one trace:
161
+
162
+ ```text
163
+ Agent / IDE semantic + supplied content evidence
164
+
165
+ Inference gateway / routing evidence
166
+
167
+ Model runtime / inference-server evidence
168
+
169
+ OS runtime evidence: process / file / network
170
+ ```
171
+
172
+ A relationship is causal only when the underlying telemetry supports that claim. Tool → Process bridges remain conservative derived evidence:
173
+
174
+ ```text
175
+ inferred: true
176
+ causal: false
177
+ ```
178
+
179
+ Ambiguity produces no edge. Exact shared request identity across Gateway and Model Runtime remains identity evidence rather than causal evidence:
180
+
181
+ ```text
182
+ identity_exact: true
183
+ inferred: false
184
+ causal: false
185
+ ```
186
+
187
+ ## Agent / IDE integrations
188
+
189
+ ```bash
190
+ execweave-claude-hook --print-config
191
+ execweave-claude-record --open -- claude
192
+
193
+ execweave-codex-hook --print-config
194
+ execweave-codex-record --open -- codex
195
+
196
+ execweave-gemini-hook --print-config
197
+ execweave-gemini-record --open -- gemini
198
+
199
+ execweave-cursor-hook --print-config
200
+ execweave-cursor-record --open -- cursor
201
+
202
+ execweave-opencode-plugin --install
203
+ execweave-opencode-record --open -- opencode
204
+ ```
205
+
206
+ Provider-integrated recorders keep raw runtime, semantic, and correlated artifacts separate. Stable provider identifiers such as Cursor `tool_use_id` or OpenCode `sessionID + callID` prove logical provider identity; they are not OS PIDs.
207
+
208
+ ## Inference gateways and model runtimes
209
+
210
+ Capture OpenRouter or LiteLLM gateway evidence:
211
+
212
+ ```bash
213
+ execweave-inference-gateway event --gateway openrouter --sidecar gateway.jsonl
214
+ execweave-inference-gateway event --gateway litellm --sidecar gateway.jsonl
215
+ execweave-inference-gateway exchange --gateway openrouter --sidecar gateway.jsonl
216
+ ```
217
+
218
+ Capture model-runtime evidence for Ollama, llama.cpp, vLLM, or LM Studio:
219
+
220
+ ```bash
221
+ execweave-model-runtime event --runtime ollama --sidecar model-runtime.jsonl
222
+ execweave-model-runtime exchange --runtime ollama --sidecar model-runtime.jsonl
223
+ execweave-model-runtime probe --runtime ollama --sidecar model-runtime.jsonl
224
+ ```
225
+
226
+ `event` is response-only evidence; `exchange` stores a caller-supplied request+response object and does not assert transparent interception. Runtime catalog relations retain their source-specific meaning: `LOADED_MODEL`, `SERVES_MODEL`, and `ADVERTISES_MODEL` are not interchangeable. LM Studio catalog visibility remains `ADVERTISES_MODEL`, not proof that weights were resident in memory.
227
+
228
+ ## Security analysis, evidence grades, and bounded rule packs
229
+
230
+ Run the built-in analysis:
231
+
232
+ ```bash
233
+ execweave analyze run.graph.json --output analysis.json
234
+ ```
235
+
236
+ Findings expose an evidence grade independent from severity. Current grades are `A`, `B`, `C`, `D`, and `U`, from direct syscall attribution through inferred/unknown provenance. Grades are evidence-strength categories, **not probabilities or trust scores**.
237
+
238
+ Local rule packs add bounded, explainable **single-edge observation** policies without executing third-party code:
239
+
240
+ ```bash
241
+ execweave-rule-pack graph.json --rule-pack local-policy.json --output report.json
242
+ ```
243
+
244
+ Rule packs cannot execute code, define regex/path programs, or assert byte-level data flow/exfiltration. Rule-pack findings remain observation-only.
245
+
246
+ Security findings continue to make stronger non-claims explicit:
247
+
248
+ ```json
249
+ {
250
+ "data_flow_proven": false,
251
+ "exfiltration_proven": false
252
+ }
253
+ ```
254
+
255
+ ## Run integrity
256
+
257
+ Seal a completed run and later verify that its regular-file inventory has not changed relative to the seal:
258
+
259
+ ```text
260
+ execweave-integrity seal .execweave/runs/<run-id>
261
+ execweave-integrity verify .execweave/runs/<run-id>
262
+ ```
263
+
264
+ The deterministic manifest records file size/SHA-256 and rejects symbolic links. It detects missing, modified, replaced, or newly added regular files after sealing.
265
+
266
+ This local seal is deliberately **not** described as adversary-resistant tamper evidence when both evidence and manifest remain inside the same writable trust boundary. The manifest records `malicious_writer_resistance: false` and `external_trust_anchor: false`; copy/protect the manifest digest outside that boundary when a stronger trust anchor is required.
267
+
268
+ ## Runtime evidence and graph operations
269
+
270
+ The portable collector runs on Linux, macOS, and Windows. Linux also has a syscall-backed `strace` reference backend.
271
+
272
+ ```bash
273
+ execweave doctor
274
+ execweave run --backend portable -- your-command
275
+ execweave run --backend strace -- your-command
276
+ execweave graph-summary run.graph.json
277
+ execweave graph-focus run.graph.json NODE_ID --hops 2 --output focused.graph.json
278
+ execweave path run.graph.json SOURCE TARGET --causal-only
279
+ ```
280
+
281
+ Portable filesystem observation is session-correlated rather than process-causal, and polling can miss sufficiently short-lived activity. Linux `strace` provides stronger process-attributed syscall evidence for supported executions. Future native collectors remain planned for Linux eBPF, Windows ETW, and macOS Endpoint Security.
282
+
283
+ ## Performance and large-run safety
284
+
285
+ v0.6.3 added bounded filesystem/viewer protections, incremental Live JSONL tailing, and large-graph safety guards. v0.6.4 added detached Top and unified provisional live sidecars for configured provider integrations. These remain in v0.6.5; the project has **not** migrated Live to SSE, artifact storage to SQLite, the renderer to Canvas/WebGL, or collectors to Rust solely for this release.
286
+
287
+ The reproducible incremental `GraphAccumulator` reference result reaches **164,273 ev/s** at 1M synthetic events on the documented GitHub Actions workload. This is a graph-accumulation benchmark, not end-to-end collector/browser throughput.
288
+
289
+ Run the package-level overhead benchmark on a representative host/workload:
290
+
291
+ ```bash
292
+ execweave-overhead --iterations 7 --strace auto --output-json benchmark-results.json
293
+ execweave-scalability
294
+ ```
295
+
296
+ See [`docs/benchmarks/`](docs/benchmarks/) for reference data and methodology.
297
+
298
+ ## Layered artifacts
299
+
300
+ A provider-integrated run may contain:
301
+
302
+ ```text
303
+ .execweave/runs/<run-id>/
304
+ ├── events.jsonl
305
+ ├── graph.json
306
+ ├── viewer.html
307
+ ├── semantic.jsonl
308
+ ├── content/sha256/...
309
+ ├── events.semantic.jsonl
310
+ ├── graph.semantic.json
311
+ ├── viewer.semantic.html
312
+ ├── events.correlated.jsonl
313
+ ├── graph.correlated.json
314
+ ├── viewer.correlated.html
315
+ └── integrity.json # after an explicit seal
316
+ ```
317
+
318
+ Derived correlation never rewrites the raw runtime or provider sidecar evidence.
319
+
320
+ ## Privacy
321
+
322
+ ExecWeave is local-first: captures, content blobs, graphs, reports, and viewers remain local by default. The **OS runtime collector** does not intentionally capture file contents or raw read/write byte buffers. That boundary must not be confused with the v0.6.5 **provider full-fidelity content store**: supported hooks/APIs can explicitly supply prompts, tool arguments/results, model responses, reasoning/thinking text, shell output, file content, or other sensitive values, and ExecWeave can preserve those values completely.
323
+
324
+ Do not assume content has been secret-redacted. Commands, paths, endpoint metadata, identifiers, model metadata, prompts, tool values, and content blobs can all be sensitive. Review the entire run directory before sharing it.
325
+
326
+ ## Current status
327
+
328
+ ExecWeave `main` is currently **v0.6.5** and under active release hardening. The latest published package/release can lag main until a GitHub Release is explicitly published; the publish workflow verifies that the release tag exactly matches the package version before PyPI upload.
329
+
330
+ v0.6.5 combines cross-platform runtime collection, materialized execution graphs, standalone/live viewing, conservative provider↔runtime correlation, full-fidelity content-addressed provider evidence, evidence grades, bounded rule packs, an explicit runtime threat/fidelity contract, and honest local run-integrity sealing. Observed evidence and inference remain separate by design.
331
+
332
+ ## Documentation
333
+
334
+ - [`Phase 1 — Runtime Collection`](docs/phase-1-runtime-collection.md)
335
+ - [`Phase 2 — Execution Graph`](docs/phase-2-execution-graph.md)
336
+ - [`Live Graph`](docs/live-graph.md)
337
+ - [`Semantic Telemetry`](docs/semantic-telemetry.md)
338
+ - [`Claude Code Hooks`](docs/claude-code-hooks.md)
339
+ - [`OpenAI Codex Hooks`](docs/codex-hooks.md)
340
+ - [`Gemini CLI Hooks`](docs/gemini-hooks.md)
341
+ - [`Cursor Hooks`](docs/cursor-hooks.md)
342
+ - [`OpenCode Plugin`](docs/opencode-plugin.md)
343
+ - [`Inference Gateway / OpenRouter / LiteLLM`](docs/inference-gateway.md)
344
+ - [`Model Runtime / Ollama / llama.cpp / vLLM / LM Studio`](docs/model-runtime.md)
345
+ - [`Runtime Threat Model`](docs/runtime-threat-model.md)
346
+ - [`Evidence Grades`](docs/evidence-grades.md)
347
+ - [`Rule Packs`](docs/rule-packs.md)
348
+ - [`Run Integrity`](docs/run-integrity.md)
349
+ - [`Security Analysis`](docs/security-analysis.md)
350
+ - [`Performance Benchmarks`](docs/benchmarks/README.md)
351
+
352
+ ## Contributing
353
+
354
+ Contributions are welcome, especially around native OS collectors, Agent/IDE adapters, inference gateways, model runtimes, evidence/correlation methods, privacy/redaction, graph UX, and performance evaluation.
355
+
356
+ ## License
357
+
358
+ See [`LICENSE`](LICENSE).
@@ -0,0 +1,298 @@
1
+ # ExecWeave
2
+
3
+ <!-- i18n-nav:start -->
4
+ <p align="center">
5
+ <a href="README.md">English</a> |
6
+ <a href="README.zh-TW.md">繁體中文</a> |
7
+ <a href="README.zh-CN.md">简体中文</a> |
8
+ <a href="README.ja.md">日本語</a> |
9
+ <a href="README.ko.md">한국어</a> |
10
+ <a href="README.fr.md">Français</a> |
11
+ <strong>Deutsch</strong> |
12
+ <a href="README.ru.md">Русский</a>
13
+ </p>
14
+ <!-- i18n-nav:end -->
15
+
16
+ **Sehen Sie, was KI-Agenten auf Ihrem Rechner tatsächlich tun.**
17
+
18
+ ExecWeave ist ein Open-Source-, local-first-Observability-Projekt, das Aktivitäten von KI-Agenten in einen interaktiven Execution Graph überführt und dabei observed evidence, provider content und derived inference ausdrücklich getrennt hält.
19
+
20
+ > **Das Event ist die Ground Truth. Der Graph ist eine materialized view.**
21
+
22
+ <p align="center">
23
+ <img src="docs/assets/execweave-launch-demo-v5-x.gif" alt="ExecWeave animated live demo" width="100%">
24
+ </p>
25
+
26
+ ## Installation
27
+
28
+ Installieren Sie das neueste veröffentlichte wheel/sdist von PyPI:
29
+
30
+ ```bash
31
+ python -m pip install -U execweave
32
+ ```
33
+
34
+ Die Package-Version auf `main` ist derzeit **v0.6.5**. Die veröffentlichte Release kann hinter main zurückliegen. Um exakt den aktuellen Mainline-Build zu testen:
35
+
36
+ ```bash
37
+ python -m pip install --upgrade --force-reinstall "execweave @ git+https://github.com/Irish-kw/ExecWeave.git@main"
38
+ ```
39
+
40
+ Für die Entwicklung:
41
+
42
+ ```bash
43
+ git clone https://github.com/Irish-kw/ExecWeave.git
44
+ cd ExecWeave
45
+ python -m pip install -e ".[dev]"
46
+ ```
47
+
48
+ ## Schnellstart
49
+
50
+ Live OS-runtime telemetry funktioniert mit **jedem lokalen Befehl**. Die unten genannten Agent-/Runtime-Namen sind Beispiele, keine Whitelist.
51
+
52
+ ```bash
53
+ execweave live --open -- claude
54
+ execweave live --open -- codex
55
+ execweave live --open -- gemini
56
+ execweave live --open -- cursor
57
+ execweave live --open -- opencode
58
+ execweave live --open -- ollama serve
59
+ execweave live --open -- python my_agent.py
60
+ ```
61
+
62
+ Oder erstellen Sie die finalisierte Artifact-Pipeline:
63
+
64
+ ```bash
65
+ execweave record --open -- python my_agent.py
66
+ ```
67
+
68
+ `execweave top -- codex` hält den Agent im Startterminal interaktiv und öffnet beziehungsweise verbindet das detached Top dashboard entsprechend der Host-Umgebung.
69
+
70
+ ## v0.6.5: Full-fidelity observability mit expliziten Evidence Boundaries
71
+
72
+ v0.6.5 erweitert die Observability über kompakte Metadaten hinaus. Wenn ein unterstützter Integration Point Inhalte ausdrücklich liefert, kann ExecWeave **den vollständigen von dieser Quelle gelieferten Wert** in einem lokalen SHA-256 content-addressed store bewahren und im semantic event stream nur eine Referenz ablegen.
73
+
74
+ ```text
75
+ <run-root>/content/sha256/<sha256>.<json|txt|bin>
76
+ ```
77
+
78
+ Je nach Adapter und Upstream-Hook/API-Surface können unter anderem Prompts/ messages, Model-request/response-Objekte, Tool-input/result, explizit exponierter reasoning/thinking text, Shell/MCP-output sowie durch Provider-Hooks gelieferter File Content erhalten bleiben.
79
+
80
+ `complete_from_source: true` bedeutet nur, dass ExecWeave den vollständigen Wert gespeichert hat, den dieser Integration Point geliefert hat. Es bedeutet **nicht**, dass ExecWeave hidden model state, nie exponierte Provider-Stufen, einen ungesehenen finalen Wire Request oder Bytes beobachtet hat, die nicht interceptet wurden.
81
+
82
+ Full fidelity verändert auch die Privacy Boundary: Application-level secrets, die im Content eingebettet sind, werden mitgespeichert. Bekannte transport credentials werden nur aus ausgewählten provider-metadata projections gefiltert, wenn der jeweilige Adapter dieses Verhalten definiert. ExecWeave ist **kein** allgemeiner Secret Scanner oder Content Redactor.
83
+
84
+ ### Unterstützte Semantic-/Inference-Surfaces
85
+
86
+ | Integration | OS-runtime observation bei Start unter ExecWeave | Specialized evidence |
87
+ | --- | --- | --- |
88
+ | Claude Code | Yes | native hooks + vom Hook gelieferter full-fidelity content |
89
+ | OpenAI Codex | Yes | lifecycle hooks + vom Hook gelieferter full-fidelity content |
90
+ | Gemini CLI | Yes | native hooks + vom Hook gelieferter full-fidelity content |
91
+ | Cursor | Yes | native hooks + vom Hook gelieferter full-fidelity content |
92
+ | OpenCode | Yes | project plugin + vom Plugin gelieferter full-fidelity content |
93
+ | Ollama | Yes | `execweave-model-runtime event/exchange/probe --runtime ollama` |
94
+ | llama.cpp | Yes | `execweave-model-runtime event/exchange/probe --runtime llamacpp` |
95
+ | vLLM | Yes | `execweave-model-runtime event/exchange/probe --runtime vllm` |
96
+ | LM Studio | nur wenn der lokale Process durch ExecWeave gestartet wird | `execweave-model-runtime event/exchange/probe --runtime lmstudio` |
97
+ | LiteLLM Proxy | Yes, wenn der konfigurierte Proxy unter ExecWeave läuft | derzeit metadata-oriented gateway callback/event integration |
98
+ | OpenRouter | beobachtet den lokalen Client, nicht den Remote-Service-Process | `execweave-inference-gateway event/exchange/generation --gateway openrouter` |
99
+
100
+ OpenRouter `exchange` ist caller-supplied request+response evidence und keine transparente Wire Interception. LiteLLM Proxy bleibt in der aktuellen Baseline eine schmalere, metadata-orientierte Integration.
101
+
102
+ ## Evidence Layers
103
+
104
+ ExecWeave hält Evidence Layers getrennt, statt alle Signale in eine einzelne Trace zu glätten:
105
+
106
+ ```text
107
+ Agent / IDE semantic + supplied content evidence
108
+
109
+ Inference gateway / routing evidence
110
+
111
+ Model runtime / inference-server evidence
112
+
113
+ OS runtime evidence: process / file / network
114
+ ```
115
+
116
+ Eine Relationship ist nur dann causal, wenn die zugrunde liegende Telemetrie diesen Claim unterstützt. Tool → Process Bridges bleiben konservative derived evidence:
117
+
118
+ ```text
119
+ inferred: true
120
+ causal: false
121
+ ```
122
+
123
+ Bei Ambiguität wird kein Edge erzeugt. Exakte shared request identity zwischen Gateway und Model Runtime bleibt Identity Evidence und keine causal evidence:
124
+
125
+ ```text
126
+ identity_exact: true
127
+ inferred: false
128
+ causal: false
129
+ ```
130
+
131
+ ## Agent-/IDE-Integrationen
132
+
133
+ ```bash
134
+ execweave-claude-hook --print-config
135
+ execweave-claude-record --open -- claude
136
+
137
+ execweave-codex-hook --print-config
138
+ execweave-codex-record --open -- codex
139
+
140
+ execweave-gemini-hook --print-config
141
+ execweave-gemini-record --open -- gemini
142
+
143
+ execweave-cursor-hook --print-config
144
+ execweave-cursor-record --open -- cursor
145
+
146
+ execweave-opencode-plugin --install
147
+ execweave-opencode-record --open -- opencode
148
+ ```
149
+
150
+ Provider-integrierte Recorder halten raw runtime, semantic und correlated artifacts getrennt. Stabile Provider-Identifier wie Cursor `tool_use_id` oder OpenCode `sessionID + callID` belegen logische Identität innerhalb des Providers, sind aber keine OS-PIDs.
151
+
152
+ ## Inference Gateways und Model Runtimes
153
+
154
+ Erfassen Sie OpenRouter- oder LiteLLM-Gateway-Evidence:
155
+
156
+ ```bash
157
+ execweave-inference-gateway event --gateway openrouter --sidecar gateway.jsonl
158
+ execweave-inference-gateway event --gateway litellm --sidecar gateway.jsonl
159
+ execweave-inference-gateway exchange --gateway openrouter --sidecar gateway.jsonl
160
+ ```
161
+
162
+ Erfassen Sie Model-runtime Evidence für Ollama, llama.cpp, vLLM oder LM Studio:
163
+
164
+ ```bash
165
+ execweave-model-runtime event --runtime ollama --sidecar model-runtime.jsonl
166
+ execweave-model-runtime exchange --runtime ollama --sidecar model-runtime.jsonl
167
+ execweave-model-runtime probe --runtime ollama --sidecar model-runtime.jsonl
168
+ ```
169
+
170
+ `event` ist response-only evidence. `exchange` speichert ein caller-supplied request+response object und behauptet keine transparente Interception. Runtime-Catalog-Relations behalten ihre source-spezifische Bedeutung: `LOADED_MODEL`, `SERVES_MODEL` und `ADVERTISES_MODEL` sind nicht austauschbar. LM-Studio-Catalog-Visibility bleibt `ADVERTISES_MODEL` und beweist nicht, dass Weights resident im Speicher sind.
171
+
172
+ ## Security Analysis, Evidence Grades und begrenzte Rule Packs
173
+
174
+ Führen Sie die eingebaute Analyse aus:
175
+
176
+ ```bash
177
+ execweave analyze run.graph.json --output analysis.json
178
+ ```
179
+
180
+ Findings zeigen einen Evidence Grade unabhängig von der Severity. Die aktuellen Grade sind `A`, `B`, `C`, `D` und `U`, von direkter Syscall-Attribution bis zu inferred/unknown provenance. Diese Grade sind Kategorien der Evidenzstärke, **keine Wahrscheinlichkeiten oder Trust Scores**.
181
+
182
+ Lokale Rule Packs ergänzen begrenzte, erklärbare **Single-edge observation** Policies, ohne Third-party Code auszuführen:
183
+
184
+ ```bash
185
+ execweave-rule-pack graph.json --rule-pack local-policy.json --output report.json
186
+ ```
187
+
188
+ Rule Packs können keinen Code ausführen, keine Regex-/Path-Programme definieren und keinen byte-level data flow oder Exfiltration behaupten. Rule-pack Findings bleiben observation-only.
189
+
190
+ ```json
191
+ {
192
+ "data_flow_proven": false,
193
+ "exfiltration_proven": false
194
+ }
195
+ ```
196
+
197
+ ## Run Integrity
198
+
199
+ Versiegeln Sie einen abgeschlossenen Run und prüfen Sie später, ob sich sein Regular-file Inventory gegenüber dem Seal verändert hat:
200
+
201
+ ```text
202
+ execweave-integrity seal .execweave/runs/<run-id>
203
+ execweave-integrity verify .execweave/runs/<run-id>
204
+ ```
205
+
206
+ Das deterministische Manifest speichert File Size/SHA-256 und lehnt symbolische Links ab. Fehlende, veränderte, ersetzte oder neu hinzugekommene reguläre Dateien nach dem Seal führen zu einem Verification Failure.
207
+
208
+ Dieses lokale Seal wird bewusst **nicht** als adversary-resistant tamper evidence beschrieben, wenn Evidence und Manifest innerhalb derselben writable trust boundary liegen. Das Manifest enthält `malicious_writer_resistance: false` und `external_trust_anchor: false`. Für eine stärkere Garantie muss der Manifest-Digest außerhalb dieser Boundary kopiert oder geschützt werden.
209
+
210
+ ## Runtime Evidence und Graph Operations
211
+
212
+ Der portable Collector läuft unter Linux, macOS und Windows. Linux bietet zusätzlich einen syscall-basierten `strace` reference backend.
213
+
214
+ ```bash
215
+ execweave doctor
216
+ execweave run --backend portable -- your-command
217
+ execweave run --backend strace -- your-command
218
+ execweave graph-summary run.graph.json
219
+ execweave graph-focus run.graph.json NODE_ID --hops 2 --output focused.graph.json
220
+ execweave path run.graph.json SOURCE TARGET --causal-only
221
+ ```
222
+
223
+ Portable Filesystem Observation ist session-correlated und nicht process-causal; Polling kann ausreichend kurzlebige Aktivität verpassen. Linux `strace` liefert für unterstützte Ausführungen stärkere process-attributed syscall evidence. Native Collectors für Linux eBPF, Windows ETW und macOS Endpoint Security bleiben geplant.
224
+
225
+ ## Performance und Large-run Safety
226
+
227
+ v0.6.3 brachte begrenzte Filesystem-/Viewer-Schutzmaßnahmen, inkrementelles Live-JSONL-Tailing und Large-graph Safety Guards. v0.6.4 ergänzte detached Top sowie einen gemeinsamen provisional live sidecar für konfigurierte Provider-Integrationen. Diese Fähigkeiten bleiben in v0.6.5 erhalten. Für diese Release wurde Live **nicht** allein aus Architekturgründen auf SSE, Artifact Storage auf SQLite, der Renderer auf Canvas/WebGL oder die Collectors auf Rust migriert.
228
+
229
+ Das reproduzierbare inkrementelle `GraphAccumulator`-Referenzergebnis erreicht bei 1M synthetischen Events auf dem dokumentierten GitHub-Actions-Workload **164,273 ev/s**. Dies ist ein Graph-Accumulation-Benchmark und kein End-to-end Collector-/Browser-Throughput.
230
+
231
+ ```bash
232
+ execweave-overhead --iterations 7 --strace auto --output-json benchmark-results.json
233
+ execweave-scalability
234
+ ```
235
+
236
+ Referenzdaten und Methodik: [`docs/benchmarks/`](docs/benchmarks/).
237
+
238
+ ## Layered Artifacts
239
+
240
+ Ein provider-integrierter Run kann enthalten:
241
+
242
+ ```text
243
+ .execweave/runs/<run-id>/
244
+ ├── events.jsonl
245
+ ├── graph.json
246
+ ├── viewer.html
247
+ ├── semantic.jsonl
248
+ ├── content/sha256/...
249
+ ├── events.semantic.jsonl
250
+ ├── graph.semantic.json
251
+ ├── viewer.semantic.html
252
+ ├── events.correlated.jsonl
253
+ ├── graph.correlated.json
254
+ ├── viewer.correlated.html
255
+ └── integrity.json # nach einem expliziten Seal
256
+ ```
257
+
258
+ Derived correlation schreibt die rohe Runtime- oder Provider-Sidecar-Evidence niemals um.
259
+
260
+ ## Privacy
261
+
262
+ ExecWeave ist local-first: Captures, Content Blobs, Graphen, Reports und Viewer bleiben standardmäßig lokal. Der **OS runtime collector** erfasst File Content oder rohe Read/write Byte Buffers nicht absichtlich. Diese Boundary darf nicht mit dem **provider full-fidelity content store** aus v0.6.5 verwechselt werden: Wenn ein unterstützter Hook/API ausdrücklich Prompt, Tool-Argumente/-Ergebnisse, Model Response, reasoning/thinking text, Shell Output, File Content oder andere sensitive Werte liefert, kann ExecWeave diese vollständig bewahren.
263
+
264
+ Gehen Sie nicht davon aus, dass Content secret-redacted ist. Commands, Paths, Endpoint Metadata, Identifier, Model Metadata, Prompts, Tool Values und Content Blobs können alle sensitiv sein. Prüfen Sie das gesamte Run Directory vor dem Teilen.
265
+
266
+ ## Aktueller Status
267
+
268
+ ExecWeave `main` ist derzeit **v0.6.5** und befindet sich im Release Hardening. Das neueste öffentliche Package/Release kann hinter main liegen, bis eine GitHub Release ausdrücklich veröffentlicht wird. Der Publish Workflow prüft vor dem PyPI Upload, dass Release Tag und Package Version exakt übereinstimmen.
269
+
270
+ v0.6.5 kombiniert cross-platform runtime collection, materialisierte Execution Graphs, standalone/live Viewing, konservative Provider↔Runtime-Korrelation, content-addressed full-fidelity Provider Evidence, Evidence Grades, begrenzte Rule Packs, einen expliziten Runtime Threat/Fidelity Contract und ehrliches lokales Run-integrity Sealing. Observed evidence und inference bleiben per Design getrennt.
271
+
272
+ ## Dokumentation
273
+
274
+ - [`Phase 1 — Runtime Collection`](docs/phase-1-runtime-collection.de.md)
275
+ - [`Phase 2 — Execution Graph`](docs/phase-2-execution-graph.de.md)
276
+ - [`Live Graph`](docs/live-graph.de.md)
277
+ - [`Semantic Telemetry`](docs/semantic-telemetry.de.md)
278
+ - [`Claude Code Hooks`](docs/claude-code-hooks.de.md)
279
+ - [`OpenAI Codex Hooks`](docs/codex-hooks.de.md)
280
+ - [`Gemini CLI Hooks`](docs/gemini-hooks.de.md)
281
+ - [`Cursor Hooks`](docs/cursor-hooks.de.md)
282
+ - [`OpenCode Plugin`](docs/opencode-plugin.de.md)
283
+ - [`Inference Gateway / OpenRouter / LiteLLM`](docs/inference-gateway.de.md)
284
+ - [`Model Runtime / Ollama / llama.cpp / vLLM / LM Studio`](docs/model-runtime.de.md)
285
+ - [`Runtime Threat Model`](docs/runtime-threat-model.de.md)
286
+ - [`Evidence Grades`](docs/evidence-grades.de.md)
287
+ - [`Rule Packs`](docs/rule-packs.de.md)
288
+ - [`Run Integrity`](docs/run-integrity.de.md)
289
+ - [`Security Analysis`](docs/security-analysis.de.md)
290
+ - [`Performance Benchmarks`](docs/benchmarks/README.md)
291
+
292
+ ## Mitwirken
293
+
294
+ Beiträge sind willkommen, besonders zu nativen OS Collectors, Agent-/IDE-Adaptern, Inference Gateways, Model Runtimes, Evidence-/Correlation-Methoden, Privacy/Redaction, Graph UX und Performance Evaluation.
295
+
296
+ ## License
297
+
298
+ Siehe [`LICENSE`](LICENSE).