agentdebugx 0.3.0__tar.gz → 0.4.0__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 (377) hide show
  1. agentdebugx-0.4.0/PKG-INFO +791 -0
  2. agentdebugx-0.4.0/README.md +727 -0
  3. agentdebugx-0.3.0/docs/DEEPDEBUG_DESIGN.md → agentdebugx-0.4.0/docs/ARCHITECTURE.md +45 -10
  4. agentdebugx-0.4.0/docs/GUI_RCA_COMMANDS.md +113 -0
  5. agentdebugx-0.4.0/docs/TRACE_SCHEMA.md +289 -0
  6. agentdebugx-0.4.0/docs/assets/UI.png +0 -0
  7. agentdebugx-0.4.0/docs/assets/logo-dark.svg +43 -0
  8. agentdebugx-0.4.0/docs/assets/logo.png +0 -0
  9. agentdebugx-0.4.0/docs/assets/logo.svg +43 -0
  10. agentdebugx-0.4.0/docs/assets/overview.pdf +0 -0
  11. agentdebugx-0.4.0/docs/assets/overview.png +0 -0
  12. agentdebugx-0.4.0/docs/assets/stylesheets/extra.css +757 -0
  13. agentdebugx-0.4.0/docs/concepts/workflow.md +60 -0
  14. agentdebugx-0.4.0/docs/getting-started/installation.md +59 -0
  15. agentdebugx-0.4.0/docs/getting-started/quickstart.md +116 -0
  16. agentdebugx-0.4.0/docs/guides/diagnose.md +122 -0
  17. agentdebugx-0.4.0/docs/guides/gui-rca.md +80 -0
  18. agentdebugx-0.4.0/docs/guides/ingest.md +100 -0
  19. agentdebugx-0.4.0/docs/guides/local-ui.md +70 -0
  20. agentdebugx-0.4.0/docs/guides/rerun.md +107 -0
  21. agentdebugx-0.4.0/docs/help/build-docs.md +49 -0
  22. agentdebugx-0.4.0/docs/help/troubleshooting.md +94 -0
  23. agentdebugx-0.4.0/docs/index.md +67 -0
  24. agentdebugx-0.4.0/docs/reference/cli.md +108 -0
  25. agentdebugx-0.4.0/docs/reference/diagnostic-report.md +84 -0
  26. agentdebugx-0.4.0/docs/reference/python-api.md +106 -0
  27. {agentdebugx-0.3.0 → agentdebugx-0.4.0}/pyproject.toml +60 -25
  28. {agentdebugx-0.3.0 → agentdebugx-0.4.0}/src/agentdebug/__init__.py +64 -39
  29. agentdebugx-0.4.0/src/agentdebug/batch/README.md +30 -0
  30. agentdebugx-0.4.0/src/agentdebug/batch/__init__.py +17 -0
  31. agentdebugx-0.4.0/src/agentdebug/batch/workflow.py +285 -0
  32. agentdebugx-0.4.0/src/agentdebug/capture/README.md +91 -0
  33. agentdebugx-0.4.0/src/agentdebug/capture/__init__.py +5 -0
  34. agentdebugx-0.4.0/src/agentdebug/capture/config.py +114 -0
  35. agentdebugx-0.4.0/src/agentdebug/capture/context.py +140 -0
  36. agentdebugx-0.4.0/src/agentdebug/capture/contracts.py +111 -0
  37. agentdebugx-0.4.0/src/agentdebug/capture/filtering.py +194 -0
  38. agentdebugx-0.4.0/src/agentdebug/capture/hosts/CODEX_SUPPORT.md +20 -0
  39. agentdebugx-0.4.0/src/agentdebug/capture/hosts/README.md +9 -0
  40. agentdebugx-0.4.0/src/agentdebug/capture/hosts/__init__.py +6 -0
  41. agentdebugx-0.4.0/src/agentdebug/capture/hosts/base.py +54 -0
  42. agentdebugx-0.4.0/src/agentdebug/capture/hosts/claude_code.py +263 -0
  43. agentdebugx-0.4.0/src/agentdebug/capture/hosts/codex.py +228 -0
  44. agentdebugx-0.4.0/src/agentdebug/capture/hosts/registry.py +74 -0
  45. agentdebugx-0.4.0/src/agentdebug/capture/identity.py +76 -0
  46. agentdebugx-0.4.0/src/agentdebug/capture/repository.py +505 -0
  47. agentdebugx-0.4.0/src/agentdebug/capture/service.py +351 -0
  48. agentdebugx-0.4.0/src/agentdebug/capture/snapshot.py +51 -0
  49. agentdebugx-0.4.0/src/agentdebug/cli/README.md +114 -0
  50. agentdebugx-0.4.0/src/agentdebug/cli/__init__.py +13 -0
  51. agentdebugx-0.4.0/src/agentdebug/cli/__main__.py +5 -0
  52. agentdebugx-0.4.0/src/agentdebug/cli/commands/__init__.py +1 -0
  53. agentdebugx-0.4.0/src/agentdebug/cli/commands/batch.py +87 -0
  54. agentdebugx-0.4.0/src/agentdebug/cli/commands/capture.py +183 -0
  55. agentdebugx-0.4.0/src/agentdebug/cli/commands/config.py +5 -0
  56. agentdebugx-0.4.0/src/agentdebug/cli/commands/diagnose.py +5 -0
  57. agentdebugx-0.4.0/src/agentdebug/cli/commands/doctor.py +5 -0
  58. agentdebugx-0.4.0/src/agentdebug/cli/commands/hub.py +5 -0
  59. agentdebugx-0.4.0/src/agentdebug/cli/commands/ingest.py +5 -0
  60. agentdebugx-0.4.0/src/agentdebug/cli/commands/integrations.py +5 -0
  61. agentdebugx-0.4.0/src/agentdebug/cli/commands/rerun.py +5 -0
  62. agentdebugx-0.4.0/src/agentdebug/cli/commands/run.py +91 -0
  63. agentdebugx-0.4.0/src/agentdebug/cli/commands/runner.py +42 -0
  64. agentdebugx-0.4.0/src/agentdebug/cli/commands/serve.py +5 -0
  65. agentdebugx-0.4.0/src/agentdebug/cli/commands/store.py +6 -0
  66. agentdebugx-0.4.0/src/agentdebug/cli/commands/ui.py +25 -0
  67. agentdebugx-0.3.0/src/agentdebug/cli.py → agentdebugx-0.4.0/src/agentdebug/cli/legacy.py +698 -114
  68. agentdebugx-0.4.0/src/agentdebug/cli/main.py +248 -0
  69. {agentdebugx-0.3.0 → agentdebugx-0.4.0}/src/agentdebug/core/__init__.py +11 -5
  70. agentdebugx-0.4.0/src/agentdebug/core/events.py +3 -0
  71. agentdebugx-0.4.0/src/agentdebug/core/gui_taxonomy.py +3 -0
  72. agentdebugx-0.4.0/src/agentdebug/core/llm.py +3 -0
  73. agentdebugx-0.4.0/src/agentdebug/core/llm_channel.py +3 -0
  74. agentdebugx-0.4.0/src/agentdebug/core/models.py +3 -0
  75. agentdebugx-0.4.0/src/agentdebug/core/plugins/__init__.py +3 -0
  76. agentdebugx-0.4.0/src/agentdebug/core/plugins/registry.py +3 -0
  77. agentdebugx-0.4.0/src/agentdebug/core/plugins/types.py +3 -0
  78. agentdebugx-0.4.0/src/agentdebug/core/storage.py +3 -0
  79. agentdebugx-0.4.0/src/agentdebug/core/taxonomy.py +3 -0
  80. agentdebugx-0.4.0/src/agentdebug/diagnose/README.md +67 -0
  81. {agentdebugx-0.3.0 → agentdebugx-0.4.0}/src/agentdebug/diagnose/__init__.py +21 -5
  82. {agentdebugx-0.3.0 → agentdebugx-0.4.0}/src/agentdebug/diagnose/actions/__init__.py +8 -4
  83. agentdebugx-0.4.0/src/agentdebug/diagnose/actions/attribution.py +3 -0
  84. agentdebugx-0.4.0/src/agentdebug/diagnose/actions/hub/__init__.py +3 -0
  85. agentdebugx-0.4.0/src/agentdebug/diagnose/actions/hub/backend_base.py +3 -0
  86. agentdebugx-0.4.0/src/agentdebug/diagnose/actions/hub/backends.py +3 -0
  87. agentdebugx-0.4.0/src/agentdebug/diagnose/actions/hub/bundle.py +3 -0
  88. agentdebugx-0.4.0/src/agentdebug/diagnose/actions/hub/scrub.py +3 -0
  89. agentdebugx-0.4.0/src/agentdebug/diagnose/actions/integrations/__init__.py +3 -0
  90. agentdebugx-0.4.0/src/agentdebug/diagnose/actions/integrations/_templates.py +3 -0
  91. agentdebugx-0.4.0/src/agentdebug/diagnose/actions/integrations/claude_skill.py +3 -0
  92. agentdebugx-0.4.0/src/agentdebug/diagnose/actions/integrations/debug_skill.py +3 -0
  93. agentdebugx-0.4.0/src/agentdebug/diagnose/actions/integrations/openhands.py +3 -0
  94. agentdebugx-0.4.0/src/agentdebug/diagnose/actions/moe.py +3 -0
  95. agentdebugx-0.4.0/src/agentdebug/diagnose/actions/recovery.py +3 -0
  96. agentdebugx-0.4.0/src/agentdebug/diagnose/analyzers.py +3 -0
  97. agentdebugx-0.4.0/src/agentdebug/diagnose/attribute/README.md +109 -0
  98. agentdebugx-0.4.0/src/agentdebug/diagnose/attribute/__init__.py +52 -0
  99. agentdebugx-0.4.0/src/agentdebug/diagnose/attribute/async_api.py +119 -0
  100. {agentdebugx-0.3.0/src/agentdebug/diagnose/actions → agentdebugx-0.4.0/src/agentdebug/diagnose/attribute}/attribution.py +702 -26
  101. {agentdebugx-0.3.0/src/agentdebug/diagnose → agentdebugx-0.4.0/src/agentdebug/diagnose/attribute}/deep_memory.py +3 -3
  102. agentdebugx-0.4.0/src/agentdebug/diagnose/attribute/deepdebug.py +21 -0
  103. agentdebugx-0.4.0/src/agentdebug/diagnose/attribute/moe.py +785 -0
  104. agentdebugx-0.4.0/src/agentdebug/diagnose/attribute/reference.py +189 -0
  105. agentdebugx-0.4.0/src/agentdebug/diagnose/attribute/trajdebug.py +359 -0
  106. agentdebugx-0.4.0/src/agentdebug/diagnose/component_manifests/__init__.py +0 -0
  107. agentdebugx-0.4.0/src/agentdebug/diagnose/component_manifests/attribute/__init__.py +0 -0
  108. agentdebugx-0.4.0/src/agentdebug/diagnose/component_manifests/attribute/all_at_once.json +11 -0
  109. agentdebugx-0.4.0/src/agentdebug/diagnose/component_manifests/attribute/binary_search.json +11 -0
  110. agentdebugx-0.4.0/src/agentdebug/diagnose/component_manifests/attribute/counterfactual.json +11 -0
  111. agentdebugx-0.4.0/src/agentdebug/diagnose/component_manifests/attribute/deepdebug.json +11 -0
  112. agentdebugx-0.4.0/src/agentdebug/diagnose/component_manifests/attribute/heuristic.json +11 -0
  113. agentdebugx-0.4.0/src/agentdebug/diagnose/component_manifests/attribute/step_by_step.json +11 -0
  114. agentdebugx-0.4.0/src/agentdebug/diagnose/component_manifests/attribute/trajdebug.json +11 -0
  115. agentdebugx-0.4.0/src/agentdebug/diagnose/component_manifests/detect/__init__.py +0 -0
  116. agentdebugx-0.4.0/src/agentdebug/diagnose/component_manifests/detect/heuristic.json +11 -0
  117. agentdebugx-0.4.0/src/agentdebug/diagnose/component_manifests/detect/llm_judge.json +11 -0
  118. agentdebugx-0.4.0/src/agentdebug/diagnose/component_manifests/detect/perstep.json +19 -0
  119. agentdebugx-0.4.0/src/agentdebug/diagnose/component_manifests/detect/stage_a.json +11 -0
  120. agentdebugx-0.4.0/src/agentdebug/diagnose/component_manifests/detect/trajdebug.json +11 -0
  121. agentdebugx-0.4.0/src/agentdebug/diagnose/component_manifests/recover/__init__.py +0 -0
  122. agentdebugx-0.4.0/src/agentdebug/diagnose/component_manifests/recover/auto_manual.json +11 -0
  123. agentdebugx-0.4.0/src/agentdebug/diagnose/component_manifests/recover/critic.json +11 -0
  124. agentdebugx-0.4.0/src/agentdebug/diagnose/component_manifests/recover/deepdebug.json +11 -0
  125. agentdebugx-0.4.0/src/agentdebug/diagnose/component_manifests/recover/reflexion.json +11 -0
  126. agentdebugx-0.4.0/src/agentdebug/diagnose/component_manifests/recover/saga_rollback.json +11 -0
  127. agentdebugx-0.4.0/src/agentdebug/diagnose/component_manifests/recover/self_refine.json +11 -0
  128. agentdebugx-0.4.0/src/agentdebug/diagnose/context.py +227 -0
  129. agentdebugx-0.4.0/src/agentdebug/diagnose/deep.py +3 -0
  130. agentdebugx-0.4.0/src/agentdebug/diagnose/deep_memory.py +3 -0
  131. agentdebugx-0.4.0/src/agentdebug/diagnose/detect/README.md +119 -0
  132. agentdebugx-0.4.0/src/agentdebug/diagnose/detect/__init__.py +66 -0
  133. {agentdebugx-0.3.0/src/agentdebug/diagnose → agentdebugx-0.4.0/src/agentdebug/diagnose/detect}/analyzers.py +11 -10
  134. agentdebugx-0.4.0/src/agentdebug/diagnose/detect/compression.py +612 -0
  135. {agentdebugx-0.3.0/src/agentdebug/diagnose → agentdebugx-0.4.0/src/agentdebug/diagnose/detect}/detectors.py +4 -4
  136. agentdebugx-0.4.0/src/agentdebug/diagnose/detect/evidence.py +360 -0
  137. agentdebugx-0.3.0/src/agentdebug/diagnose/judges.py → agentdebugx-0.4.0/src/agentdebug/diagnose/detect/judge.py +40 -19
  138. agentdebugx-0.4.0/src/agentdebug/diagnose/detect/perstep.py +416 -0
  139. {agentdebugx-0.3.0/src/agentdebug/diagnose → agentdebugx-0.4.0/src/agentdebug/diagnose/detect}/rules/__init__.py +16 -6
  140. agentdebugx-0.4.0/src/agentdebug/diagnose/detect/rules/agenterrorbench.py +3 -0
  141. {agentdebugx-0.3.0/src/agentdebug/diagnose → agentdebugx-0.4.0/src/agentdebug/diagnose/detect}/rules/base.py +16 -1
  142. agentdebugx-0.4.0/src/agentdebug/diagnose/detect/rules/core.py +3 -0
  143. agentdebugx-0.4.0/src/agentdebug/diagnose/detect/rules/gui.py +3 -0
  144. agentdebugx-0.4.0/src/agentdebug/diagnose/detect/rules/packs/__init__.py +1 -0
  145. agentdebugx-0.4.0/src/agentdebug/diagnose/detect/rules/packs/agenterrorbench/__init__.py +3 -0
  146. agentdebugx-0.4.0/src/agentdebug/diagnose/detect/rules/packs/agenterrorbench/manifest.json +15 -0
  147. agentdebugx-0.3.0/src/agentdebug/diagnose/rules/agenterrorbench.py → agentdebugx-0.4.0/src/agentdebug/diagnose/detect/rules/packs/agenterrorbench/rules.py +2 -2
  148. agentdebugx-0.4.0/src/agentdebug/diagnose/detect/rules/packs/core/__init__.py +3 -0
  149. agentdebugx-0.4.0/src/agentdebug/diagnose/detect/rules/packs/core/manifest.json +16 -0
  150. agentdebugx-0.3.0/src/agentdebug/diagnose/rules/core.py → agentdebugx-0.4.0/src/agentdebug/diagnose/detect/rules/packs/core/rules.py +40 -4
  151. agentdebugx-0.4.0/src/agentdebug/diagnose/detect/rules/packs/gui/__init__.py +3 -0
  152. agentdebugx-0.4.0/src/agentdebug/diagnose/detect/rules/packs/gui/manifest.json +15 -0
  153. agentdebugx-0.3.0/src/agentdebug/diagnose/rules/gui.py → agentdebugx-0.4.0/src/agentdebug/diagnose/detect/rules/packs/gui/rules.py +9 -5
  154. agentdebugx-0.4.0/src/agentdebug/diagnose/detect/rules/registry.py +134 -0
  155. agentdebugx-0.4.0/src/agentdebug/diagnose/detect/rules.py +3 -0
  156. agentdebugx-0.4.0/src/agentdebug/diagnose/detect/selection.py +98 -0
  157. {agentdebugx-0.3.0/src/agentdebug/diagnose → agentdebugx-0.4.0/src/agentdebug/diagnose/detect}/taxonomy_induction.py +6 -5
  158. agentdebugx-0.4.0/src/agentdebug/diagnose/detect/trajdebug.py +386 -0
  159. agentdebugx-0.4.0/src/agentdebug/diagnose/detectors.py +3 -0
  160. {agentdebugx-0.3.0 → agentdebugx-0.4.0}/src/agentdebug/diagnose/deterministic.py +3 -3
  161. {agentdebugx-0.3.0 → agentdebugx-0.4.0}/src/agentdebug/diagnose/gui_rca.py +16 -25
  162. {agentdebugx-0.3.0 → agentdebugx-0.4.0}/src/agentdebug/diagnose/judge.py +1 -1
  163. agentdebugx-0.4.0/src/agentdebug/diagnose/judges.py +3 -0
  164. agentdebugx-0.4.0/src/agentdebug/diagnose/pipeline.py +110 -0
  165. agentdebugx-0.4.0/src/agentdebug/diagnose/profiles/README.md +50 -0
  166. agentdebugx-0.4.0/src/agentdebug/diagnose/profiles/__init__.py +17 -0
  167. agentdebugx-0.4.0/src/agentdebug/diagnose/profiles/deepdebug.py +542 -0
  168. agentdebugx-0.4.0/src/agentdebug/diagnose/recover/README.md +54 -0
  169. agentdebugx-0.4.0/src/agentdebug/diagnose/recover/__init__.py +36 -0
  170. {agentdebugx-0.3.0/src/agentdebug/diagnose/actions → agentdebugx-0.4.0/src/agentdebug/diagnose/recover}/recovery.py +130 -18
  171. agentdebugx-0.4.0/src/agentdebug/diagnose/registry.py +154 -0
  172. agentdebugx-0.4.0/src/agentdebug/diagnose/rules/__init__.py +3 -0
  173. agentdebugx-0.4.0/src/agentdebug/diagnose/rules/agenterrorbench.py +3 -0
  174. agentdebugx-0.4.0/src/agentdebug/diagnose/rules/base.py +3 -0
  175. agentdebugx-0.4.0/src/agentdebug/diagnose/rules/core.py +3 -0
  176. agentdebugx-0.4.0/src/agentdebug/diagnose/rules/gui.py +3 -0
  177. agentdebugx-0.4.0/src/agentdebug/diagnose/rules/registry.py +3 -0
  178. agentdebugx-0.4.0/src/agentdebug/diagnose/taxonomy_induction.py +3 -0
  179. agentdebugx-0.4.0/src/agentdebug/gui/__init__.py +70 -0
  180. agentdebugx-0.4.0/src/agentdebug/gui/__main__.py +981 -0
  181. agentdebugx-0.4.0/src/agentdebug/gui/agent.py +342 -0
  182. agentdebugx-0.4.0/src/agentdebug/gui/config/debugger.example.json +13 -0
  183. agentdebugx-0.4.0/src/agentdebug/gui/config.py +150 -0
  184. agentdebugx-0.4.0/src/agentdebug/gui/discuss.py +292 -0
  185. agentdebugx-0.4.0/src/agentdebug/gui/dispatch.py +239 -0
  186. agentdebugx-0.4.0/src/agentdebug/gui/eval/__init__.py +29 -0
  187. agentdebugx-0.4.0/src/agentdebug/gui/eval/accuracy.py +335 -0
  188. agentdebugx-0.4.0/src/agentdebug/gui/evolving/__init__.py +13 -0
  189. agentdebugx-0.4.0/src/agentdebug/gui/evolving/alignment.py +243 -0
  190. agentdebugx-0.4.0/src/agentdebug/gui/evolving/case_loader.py +78 -0
  191. agentdebugx-0.4.0/src/agentdebug/gui/evolving/prompts.py +87 -0
  192. agentdebugx-0.4.0/src/agentdebug/gui/evolving/protocol.py +29 -0
  193. agentdebugx-0.4.0/src/agentdebug/gui/evolving/runner.py +330 -0
  194. agentdebugx-0.4.0/src/agentdebug/gui/evolving/state.py +82 -0
  195. agentdebugx-0.4.0/src/agentdebug/gui/evolving/tools.py +104 -0
  196. agentdebugx-0.4.0/src/agentdebug/gui/ingester.py +155 -0
  197. agentdebugx-0.4.0/src/agentdebug/gui/memory/__init__.py +104 -0
  198. agentdebugx-0.4.0/src/agentdebug/gui/memory/annotation_loader.py +148 -0
  199. agentdebugx-0.4.0/src/agentdebug/gui/memory/distill.py +340 -0
  200. agentdebugx-0.4.0/src/agentdebug/gui/memory/episode_memory.py +253 -0
  201. agentdebugx-0.4.0/src/agentdebug/gui/memory/intention.py +101 -0
  202. agentdebugx-0.4.0/src/agentdebug/gui/memory/lesson_injector.py +414 -0
  203. agentdebugx-0.4.0/src/agentdebug/gui/memory/lesson_memory.py +635 -0
  204. agentdebugx-0.4.0/src/agentdebug/gui/memory/semantic_merge.py +582 -0
  205. agentdebugx-0.4.0/src/agentdebug/gui/openai_adapter.py +135 -0
  206. agentdebugx-0.4.0/src/agentdebug/gui/output.py +99 -0
  207. agentdebugx-0.4.0/src/agentdebug/gui/perplexity_adapter.py +371 -0
  208. agentdebugx-0.4.0/src/agentdebug/gui/pipeline/__init__.py +11 -0
  209. agentdebugx-0.4.0/src/agentdebug/gui/pipeline/classify.py +46 -0
  210. agentdebugx-0.4.0/src/agentdebug/gui/pipeline/client_factory.py +45 -0
  211. agentdebugx-0.4.0/src/agentdebug/gui/pipeline/orchestrator.py +132 -0
  212. agentdebugx-0.4.0/src/agentdebug/gui/pipeline/results.py +273 -0
  213. agentdebugx-0.4.0/src/agentdebug/gui/pipeline/runtime.py +40 -0
  214. agentdebugx-0.4.0/src/agentdebug/gui/pipeline/worker.py +185 -0
  215. agentdebugx-0.4.0/src/agentdebug/gui/prompts.py +276 -0
  216. agentdebugx-0.4.0/src/agentdebug/gui/prompts_discuss.py +75 -0
  217. agentdebugx-0.4.0/src/agentdebug/gui/rca.py +405 -0
  218. agentdebugx-0.4.0/src/agentdebug/gui/scripts/__init__.py +11 -0
  219. agentdebugx-0.4.0/src/agentdebug/gui/scripts/download_input_trajectory.py +200 -0
  220. agentdebugx-0.4.0/src/agentdebug/gui/tagger.py +202 -0
  221. agentdebugx-0.4.0/src/agentdebug/gui/taxonomy.py +133 -0
  222. agentdebugx-0.4.0/src/agentdebug/gui/together_adapter.py +284 -0
  223. agentdebugx-0.4.0/src/agentdebug/gui/tools/__init__.py +537 -0
  224. agentdebugx-0.4.0/src/agentdebug/gui/tools/lesson_explorer.py +207 -0
  225. agentdebugx-0.4.0/src/agentdebug/gui/trajectory.py +418 -0
  226. agentdebugx-0.4.0/src/agentdebug/gui/trajectory_normalizer.py +87 -0
  227. agentdebugx-0.4.0/src/agentdebug/gui/utils/__init__.py +9 -0
  228. agentdebugx-0.4.0/src/agentdebug/gui/utils/lock.py +36 -0
  229. agentdebugx-0.4.0/src/agentdebug/gui/utils/logger.py +323 -0
  230. agentdebugx-0.4.0/src/agentdebug/gui/vis/__init__.py +25 -0
  231. agentdebugx-0.4.0/src/agentdebug/gui/vis/debugger_app.py +2159 -0
  232. agentdebugx-0.4.0/src/agentdebug/gui/vis/generate_assignments.py +78 -0
  233. agentdebugx-0.4.0/src/agentdebug/hub/README.md +29 -0
  234. {agentdebugx-0.3.0/src/agentdebug/diagnose/actions → agentdebugx-0.4.0/src/agentdebug}/hub/__init__.py +4 -4
  235. {agentdebugx-0.3.0/src/agentdebug/diagnose/actions → agentdebugx-0.4.0/src/agentdebug}/hub/backend_base.py +1 -1
  236. {agentdebugx-0.3.0/src/agentdebug/diagnose/actions → agentdebugx-0.4.0/src/agentdebug}/hub/backends.py +4 -4
  237. {agentdebugx-0.3.0/src/agentdebug/diagnose/actions → agentdebugx-0.4.0/src/agentdebug}/hub/bundle.py +5 -2
  238. {agentdebugx-0.3.0/src/agentdebug/diagnose/actions → agentdebugx-0.4.0/src/agentdebug}/hub/scrub.py +7 -31
  239. agentdebugx-0.4.0/src/agentdebug/ingest/README.md +43 -0
  240. {agentdebugx-0.3.0 → agentdebugx-0.4.0}/src/agentdebug/ingest/adapters/__init__.py +2 -1
  241. {agentdebugx-0.3.0 → agentdebugx-0.4.0}/src/agentdebug/ingest/adapters/crewai.py +1 -1
  242. {agentdebugx-0.3.0 → agentdebugx-0.4.0}/src/agentdebug/ingest/adapters/gaia_odr.py +1 -1
  243. {agentdebugx-0.3.0 → agentdebugx-0.4.0}/src/agentdebug/ingest/adapters/importers.py +351 -6
  244. {agentdebugx-0.3.0 → agentdebugx-0.4.0}/src/agentdebug/ingest/adapters/langgraph.py +1 -1
  245. {agentdebugx-0.3.0 → agentdebugx-0.4.0}/src/agentdebug/ingest/adapters/openai_agents.py +1 -1
  246. {agentdebugx-0.3.0 → agentdebugx-0.4.0}/src/agentdebug/ingest/adapters/osworld.py +18 -24
  247. {agentdebugx-0.3.0 → agentdebugx-0.4.0}/src/agentdebug/ingest/adapters/otel.py +1 -1
  248. {agentdebugx-0.3.0 → agentdebugx-0.4.0}/src/agentdebug/ingest/adapters/raw.py +3 -2
  249. agentdebugx-0.4.0/src/agentdebug/ingest/adapters/trajdebug.py +210 -0
  250. {agentdebugx-0.3.0 → agentdebugx-0.4.0}/src/agentdebug/ingest/core/__init__.py +4 -4
  251. {agentdebugx-0.3.0 → agentdebugx-0.4.0}/src/agentdebug/ingest/instrumentation.py +3 -2
  252. {agentdebugx-0.3.0 → agentdebugx-0.4.0}/src/agentdebug/ingest/recorder.py +3 -3
  253. agentdebugx-0.4.0/src/agentdebug/inspect/README.md +78 -0
  254. {agentdebugx-0.3.0 → agentdebugx-0.4.0}/src/agentdebug/inspect/__init__.py +1 -1
  255. agentdebugx-0.4.0/src/agentdebug/inspect/discussion.py +765 -0
  256. {agentdebugx-0.3.0 → agentdebugx-0.4.0}/src/agentdebug/inspect/traceback.py +1 -1
  257. {agentdebugx-0.3.0 → agentdebugx-0.4.0}/src/agentdebug/inspect/ui/__init__.py +2 -2
  258. agentdebugx-0.4.0/src/agentdebug/inspect/ui/app.py +36 -0
  259. agentdebugx-0.4.0/src/agentdebug/inspect/ui/assets/robot-avatar.svg +13 -0
  260. agentdebugx-0.4.0/src/agentdebug/inspect/ui/branch_store.py +150 -0
  261. agentdebugx-0.4.0/src/agentdebug/inspect/ui/discussion_store.py +771 -0
  262. agentdebugx-0.4.0/src/agentdebug/inspect/ui/llm_convert.py +319 -0
  263. agentdebugx-0.4.0/src/agentdebug/inspect/ui/manager.py +197 -0
  264. agentdebugx-0.4.0/src/agentdebug/inspect/ui/mcp_rerun.py +356 -0
  265. agentdebugx-0.4.0/src/agentdebug/inspect/ui/routes.py +1407 -0
  266. agentdebugx-0.4.0/src/agentdebug/inspect/ui/server.py +53 -0
  267. agentdebugx-0.4.0/src/agentdebug/inspect/ui/services.py +971 -0
  268. agentdebugx-0.4.0/src/agentdebug/inspect/ui/upload.py +146 -0
  269. agentdebugx-0.3.0/src/agentdebug/inspect/ui/server.py → agentdebugx-0.4.0/src/agentdebug/inspect/ui/views.py +1809 -1632
  270. agentdebugx-0.4.0/src/agentdebug/integrations/README.md +51 -0
  271. {agentdebugx-0.3.0/src/agentdebug/diagnose/actions → agentdebugx-0.4.0/src/agentdebug}/integrations/__init__.py +9 -3
  272. agentdebugx-0.4.0/src/agentdebug/integrations/_templates.py +31 -0
  273. agentdebugx-0.4.0/src/agentdebug/integrations/agentdebug_skill/SKILL.md +110 -0
  274. {agentdebugx-0.3.0/src/agentdebug/diagnose/actions → agentdebugx-0.4.0/src/agentdebug}/integrations/agentdebug_skill/references/analysis.md +2 -1
  275. agentdebugx-0.4.0/src/agentdebug/integrations/agentdebug_skill/references/cli_reference.md +367 -0
  276. {agentdebugx-0.3.0/src/agentdebug/diagnose/actions → agentdebugx-0.4.0/src/agentdebug}/integrations/agentdebug_skill/references/formats.md +6 -5
  277. {agentdebugx-0.3.0/src/agentdebug/diagnose/actions → agentdebugx-0.4.0/src/agentdebug}/integrations/agentdebug_skill/references/recovery.md +17 -9
  278. {agentdebugx-0.3.0/src/agentdebug/diagnose/actions → agentdebugx-0.4.0/src/agentdebug}/integrations/agentdebug_skill/references/safety.md +5 -3
  279. {agentdebugx-0.3.0/src/agentdebug/diagnose/actions → agentdebugx-0.4.0/src/agentdebug}/integrations/agentdebug_skill/references/setup.md +36 -3
  280. agentdebugx-0.4.0/src/agentdebug/integrations/capture_management.py +62 -0
  281. {agentdebugx-0.3.0/src/agentdebug/diagnose/actions → agentdebugx-0.4.0/src/agentdebug}/integrations/claude_skill.py +2 -2
  282. agentdebugx-0.4.0/src/agentdebug/integrations/codex_skill.py +22 -0
  283. {agentdebugx-0.3.0/src/agentdebug/diagnose/actions → agentdebugx-0.4.0/src/agentdebug}/integrations/debug_skill.py +46 -8
  284. agentdebugx-0.4.0/src/agentdebug/integrations/management.py +107 -0
  285. {agentdebugx-0.3.0/src/agentdebug/diagnose/actions → agentdebugx-0.4.0/src/agentdebug}/integrations/openhands.py +2 -2
  286. agentdebugx-0.4.0/src/agentdebug/py.typed +1 -0
  287. agentdebugx-0.4.0/src/agentdebug/rerun/ACTOR_TASK_SPEC.md +92 -0
  288. agentdebugx-0.4.0/src/agentdebug/rerun/README.md +96 -0
  289. agentdebugx-0.4.0/src/agentdebug/rerun/RUNNER_SPEC.md +240 -0
  290. agentdebugx-0.4.0/src/agentdebug/rerun/SIMULATION_SPEC.md +110 -0
  291. agentdebugx-0.4.0/src/agentdebug/rerun/__init__.py +94 -0
  292. agentdebugx-0.4.0/src/agentdebug/rerun/actor_task.py +151 -0
  293. agentdebugx-0.4.0/src/agentdebug/rerun/branch.py +57 -0
  294. agentdebugx-0.4.0/src/agentdebug/rerun/evaluators.py +36 -0
  295. agentdebugx-0.4.0/src/agentdebug/rerun/executors/__init__.py +39 -0
  296. agentdebugx-0.4.0/src/agentdebug/rerun/executors/base.py +43 -0
  297. agentdebugx-0.4.0/src/agentdebug/rerun/executors/http_live.py +284 -0
  298. agentdebugx-0.4.0/src/agentdebug/rerun/executors/llm_continuation.py +397 -0
  299. agentdebugx-0.4.0/src/agentdebug/rerun/executors/process_live.py +123 -0
  300. agentdebugx-0.4.0/src/agentdebug/rerun/http_service.py +339 -0
  301. agentdebugx-0.4.0/src/agentdebug/rerun/live_validation.py +64 -0
  302. agentdebugx-0.4.0/src/agentdebug/rerun/request.py +57 -0
  303. agentdebugx-0.4.0/src/agentdebug/rerun/workflow.py +478 -0
  304. agentdebugx-0.4.0/src/agentdebug/runtime/README.md +26 -0
  305. agentdebugx-0.4.0/src/agentdebug/runtime/__init__.py +28 -0
  306. {agentdebugx-0.3.0/src/agentdebug/core → agentdebugx-0.4.0/src/agentdebug/runtime}/events.py +3 -2
  307. {agentdebugx-0.3.0/src/agentdebug/core → agentdebugx-0.4.0/src/agentdebug/runtime}/gui_taxonomy.py +12 -29
  308. {agentdebugx-0.3.0/src/agentdebug/core → agentdebugx-0.4.0/src/agentdebug/runtime}/llm.py +171 -11
  309. {agentdebugx-0.3.0/src/agentdebug/core → agentdebugx-0.4.0/src/agentdebug/runtime}/llm_channel.py +24 -36
  310. {agentdebugx-0.3.0/src/agentdebug/core → agentdebugx-0.4.0/src/agentdebug/runtime}/plugins/__init__.py +3 -3
  311. {agentdebugx-0.3.0/src/agentdebug/core → agentdebugx-0.4.0/src/agentdebug/runtime}/plugins/registry.py +3 -2
  312. {agentdebugx-0.3.0/src/agentdebug/core → agentdebugx-0.4.0/src/agentdebug/runtime}/storage.py +82 -23
  313. agentdebugx-0.4.0/src/agentdebug/schema/README.md +30 -0
  314. agentdebugx-0.4.0/src/agentdebug/schema/__init__.py +51 -0
  315. {agentdebugx-0.3.0/src/agentdebug/core → agentdebugx-0.4.0/src/agentdebug/schema}/models.py +99 -0
  316. {agentdebugx-0.3.0/src/agentdebug/core → agentdebugx-0.4.0/src/agentdebug/schema}/taxonomy.py +62 -1
  317. agentdebugx-0.4.0/src/agentdebug/workbench/README.md +94 -0
  318. agentdebugx-0.4.0/src/agentdebug/workbench/__init__.py +10 -0
  319. agentdebugx-0.4.0/src/agentdebug/workbench/models.py +141 -0
  320. agentdebugx-0.4.0/src/agentdebug/workbench/profiles.py +70 -0
  321. agentdebugx-0.4.0/src/agentdebug/workbench/registry.py +79 -0
  322. agentdebugx-0.4.0/src/agentdebug/workbench/service.py +382 -0
  323. agentdebugx-0.3.0/PKG-INFO +0 -234
  324. agentdebugx-0.3.0/README.md +0 -174
  325. agentdebugx-0.3.0/docs/00_overview.md +0 -138
  326. agentdebugx-0.3.0/docs/01_literature_survey.md +0 -208
  327. agentdebugx-0.3.0/docs/02_architecture.md +0 -210
  328. agentdebugx-0.3.0/docs/03_taxonomy.md +0 -173
  329. agentdebugx-0.3.0/docs/04_trace_schema.md +0 -235
  330. agentdebugx-0.3.0/docs/05_adapters.md +0 -488
  331. agentdebugx-0.3.0/docs/06_detectors.md +0 -224
  332. agentdebugx-0.3.0/docs/07_attribution.md +0 -218
  333. agentdebugx-0.3.0/docs/08_recovery.md +0 -250
  334. agentdebugx-0.3.0/docs/09_error_database.md +0 -174
  335. agentdebugx-0.3.0/docs/10_taxonomy_induction.md +0 -123
  336. agentdebugx-0.3.0/docs/11_multimodal.md +0 -110
  337. agentdebugx-0.3.0/docs/12_ui_dashboard.md +0 -200
  338. agentdebugx-0.3.0/docs/13_class_design.md +0 -539
  339. agentdebugx-0.3.0/docs/14_api_reference.md +0 -348
  340. agentdebugx-0.3.0/docs/15_roadmap.md +0 -168
  341. agentdebugx-0.3.0/docs/16_governance.md +0 -107
  342. agentdebugx-0.3.0/docs/17_claude_code_design_patterns.md +0 -281
  343. agentdebugx-0.3.0/docs/18_comparison_codex_vs_design.md +0 -101
  344. agentdebugx-0.3.0/docs/19_error_hub.md +0 -148
  345. agentdebugx-0.3.0/docs/20_deep_debug.md +0 -181
  346. agentdebugx-0.3.0/docs/21_integrations.md +0 -196
  347. agentdebugx-0.3.0/docs/22_industry_track_paper_eval_plan.md +0 -260
  348. agentdebugx-0.3.0/docs/23_status_v0_2.md +0 -187
  349. agentdebugx-0.3.0/docs/24_verification_report.md +0 -239
  350. agentdebugx-0.3.0/docs/25_cross_dataset_status.md +0 -72
  351. agentdebugx-0.3.0/docs/26_use_case_playbook.md +0 -111
  352. agentdebugx-0.3.0/docs/ERROR_TAXONOMY.md +0 -69
  353. agentdebugx-0.3.0/docs/OPEN_SOURCE_DEVELOPMENT_PLAN.md +0 -259
  354. agentdebugx-0.3.0/docs/README.md +0 -55
  355. agentdebugx-0.3.0/docs/RESEARCH_SURVEY.md +0 -200
  356. agentdebugx-0.3.0/docs/benchmarks/agenterrorbench_v0_2_12.md +0 -172
  357. agentdebugx-0.3.0/docs/benchmarks/cross_dataset_v0_2_12.md +0 -170
  358. agentdebugx-0.3.0/docs/benchmarks/e2e_v0_2_3.md +0 -373
  359. agentdebugx-0.3.0/docs/benchmarks/e2e_v0_2_4.md +0 -365
  360. agentdebugx-0.3.0/docs/benchmarks/gpt_5_4_mini_round.md +0 -132
  361. agentdebugx-0.3.0/docs/benchmarks/localizer_ablation.md +0 -58
  362. agentdebugx-0.3.0/docs/benchmarks/v0_1_smoke.json +0 -182
  363. agentdebugx-0.3.0/docs/benchmarks/v0_1_smoke.md +0 -58
  364. agentdebugx-0.3.0/docs/benchmarks/who_when_full_rerun.md +0 -59
  365. agentdebugx-0.3.0/docs/benchmarks/who_when_v0_2_12_paper_15.md +0 -83
  366. agentdebugx-0.3.0/docs/benchmarks/who_when_v0_2_6_leaderboard.md +0 -74
  367. agentdebugx-0.3.0/src/agentdebug/diagnose/actions/integrations/_templates.py +0 -404
  368. agentdebugx-0.3.0/src/agentdebug/diagnose/actions/integrations/agentdebug_skill/SKILL.md +0 -85
  369. agentdebugx-0.3.0/src/agentdebug/diagnose/actions/integrations/agentdebug_skill/references/cli_reference.md +0 -227
  370. agentdebugx-0.3.0/src/agentdebug/diagnose/actions/moe.py +0 -429
  371. agentdebugx-0.3.0/src/agentdebug/diagnose/deep.py +0 -322
  372. agentdebugx-0.3.0/src/agentdebug/diagnose/rules/registry.py +0 -100
  373. {agentdebugx-0.3.0 → agentdebugx-0.4.0}/LICENSE +0 -0
  374. {agentdebugx-0.3.0 → agentdebugx-0.4.0}/src/agentdebug/ingest/__init__.py +0 -0
  375. {agentdebugx-0.3.0 → agentdebugx-0.4.0}/src/agentdebug/ingest/adapters/base.py +0 -0
  376. {agentdebugx-0.3.0 → agentdebugx-0.4.0}/src/agentdebug/ingest/importers.py +0 -0
  377. {agentdebugx-0.3.0/src/agentdebug/core → agentdebugx-0.4.0/src/agentdebug/runtime}/plugins/types.py +0 -0
@@ -0,0 +1,791 @@
1
+ Metadata-Version: 2.4
2
+ Name: agentdebugx
3
+ Version: 0.4.0
4
+ Summary: Portable error analysis, tracing, and recovery framework for agentic AI systems. Import as `agentdebug`.
5
+ License: MIT
6
+ License-File: LICENSE
7
+ Keywords: llm,agents,debugging,observability,failure-analysis,agent-debugging,agentic-ai,tracing,evaluation
8
+ Author: ULab @ UIUC
9
+ Author-email: ulab@illinois.edu
10
+ Requires-Python: >=3.9,<4.0
11
+ Classifier: Development Status :: 4 - Beta
12
+ Classifier: Intended Audience :: Developers
13
+ Classifier: Intended Audience :: Science/Research
14
+ Classifier: License :: OSI Approved :: MIT License
15
+ Classifier: Operating System :: OS Independent
16
+ Classifier: Programming Language :: Python :: 3
17
+ Classifier: Programming Language :: Python :: 3.9
18
+ Classifier: Programming Language :: Python :: 3.10
19
+ Classifier: Programming Language :: Python :: 3.11
20
+ Classifier: Programming Language :: Python :: 3.12
21
+ Classifier: Programming Language :: Python :: 3.13
22
+ Classifier: Programming Language :: Python :: 3.14
23
+ Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
24
+ Classifier: Topic :: Software Development :: Debuggers
25
+ Classifier: Topic :: Software Development :: Quality Assurance
26
+ Classifier: Topic :: System :: Monitoring
27
+ Classifier: Typing :: Typed
28
+ Provides-Extra: all
29
+ Provides-Extra: crewai
30
+ Provides-Extra: gui
31
+ Provides-Extra: gui-app
32
+ Provides-Extra: gui-memory
33
+ Provides-Extra: hub-hf
34
+ Provides-Extra: langgraph
35
+ Provides-Extra: openai-agents
36
+ Provides-Extra: otel
37
+ Provides-Extra: ui
38
+ Requires-Dist: anthropic ; extra == "gui-app" or extra == "all"
39
+ Requires-Dist: chromadb ; extra == "gui-memory" or extra == "all"
40
+ Requires-Dist: crewai ; extra == "crewai" or extra == "all"
41
+ Requires-Dist: fastapi ; extra == "ui" or extra == "all"
42
+ Requires-Dist: httpx (>=0.24,<1.0)
43
+ Requires-Dist: huggingface_hub ; extra == "hub-hf" or extra == "all"
44
+ Requires-Dist: langchain-chroma ; extra == "gui-memory" or extra == "all"
45
+ Requires-Dist: langchain-core ; extra == "langgraph" or extra == "gui-memory" or extra == "all"
46
+ Requires-Dist: langchain-openai ; extra == "gui-memory" or extra == "all"
47
+ Requires-Dist: openai ; extra == "gui-app" or extra == "all"
48
+ Requires-Dist: openai-agents ; extra == "openai-agents" or extra == "all"
49
+ Requires-Dist: opentelemetry-api ; extra == "otel" or extra == "all"
50
+ Requires-Dist: opentelemetry-sdk ; extra == "otel" or extra == "all"
51
+ Requires-Dist: pandas ; extra == "gui-app" or extra == "all"
52
+ Requires-Dist: pillow ; extra == "gui" or extra == "gui-app" or extra == "all"
53
+ Requires-Dist: pydantic (>=1.10,<3.0)
54
+ Requires-Dist: scikit-learn ; extra == "gui-memory" or extra == "all"
55
+ Requires-Dist: streamlit ; extra == "gui-app" or extra == "all"
56
+ Requires-Dist: streamlit-adjustable-columns ; extra == "gui-app" or extra == "all"
57
+ Requires-Dist: together ; extra == "gui-app" or extra == "all"
58
+ Requires-Dist: uvicorn ; extra == "ui" or extra == "all"
59
+ Project-URL: Documentation, https://github.com/AgentDebugX/AgentDebugX
60
+ Project-URL: Homepage, https://www.agentdebugx.com
61
+ Project-URL: Repository, https://github.com/AgentDebugX/AgentDebugX
62
+ Description-Content-Type: text/markdown
63
+
64
+ <div align="center">
65
+
66
+ <img src="docs/assets/logo.png" alt="AgentDebugX logo" width="360">
67
+
68
+ # AgentDebugX
69
+
70
+ **A local-first debugging framework for agentic AI systems: diagnose failures, attribute root causes, recover with evidence, and validate fixes through reruns.**
71
+
72
+ <a href="https://www.agentdebugx.com"><img src="https://img.shields.io/badge/WEBSITE-208B57?style=for-the-badge&logo=googlechrome&logoColor=white" alt="AgentDebugX website"></a>
73
+ <a href="https://docs.agentdebugx.com/"><img src="https://img.shields.io/badge/DOCS-176B45?style=for-the-badge&logo=materialformkdocs&logoColor=white" alt="AgentDebugX documentation"></a>
74
+ <a href="https://github.com/AgentDebugX/AgentDebugX"><img src="https://img.shields.io/badge/GITHUB-24292F?style=for-the-badge&logo=github&logoColor=white" alt="AgentDebugX GitHub repository"></a>
75
+ <a href="https://youtu.be/ztni6w0o_l8"><img src="https://img.shields.io/badge/DEMO_VIDEO-EA4335?style=for-the-badge&logo=youtube&logoColor=white" alt="AgentDebugX demo video"></a>
76
+
77
+ [![PyPI](https://img.shields.io/badge/pip-agentdebugx-3775A9)](https://pypi.org/project/agentdebugx/)
78
+ [![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](LICENSE)
79
+ [![Python](https://img.shields.io/badge/python-3.9%2B-blue)](pyproject.toml)
80
+ [![GitHub Stars](https://img.shields.io/github/stars/AgentDebugX/AgentDebugX?style=flat&logo=github&label=Stars)](https://github.com/AgentDebugX/AgentDebugX/stargazers)
81
+ [![GitHub Forks](https://img.shields.io/github/forks/AgentDebugX/AgentDebugX?style=flat&logo=github&label=Forks)](https://github.com/AgentDebugX/AgentDebugX/forks)
82
+
83
+
84
+ </div>
85
+
86
+ ---
87
+
88
+ AgentDebugX turns failed agent runs into structured, auditable debugging
89
+ artifacts. It ingests a live or exported trajectory, detects visible failure
90
+ signals, attributes them to responsible steps or agents, proposes recovery
91
+ actions, and prepares controlled reruns so fixes can be validated instead of
92
+ guessed.
93
+
94
+ The project is designed for researchers and engineers building complex LLM
95
+ agents: multi-agent systems, tool-using agents, computer-use agents, benchmark
96
+ runners, and local agent development workflows. AgentDebugX is local-first by
97
+ default: traces stay on your machine, sharing is opt-in, and recovery proposals
98
+ carry explicit policy and approval metadata into the Rerun boundary.
99
+
100
+ ## 📰 News
101
+
102
+ - 🔌 **2026-08-25** — Released
103
+ [`dsh-agentdebugx` v0.1.0](https://www.npmjs.com/package/dsh-agentdebugx),
104
+ the AgentDebugX plugin for DeepSeek Harness.
105
+ - 📄 **2026-07-31** — Released
106
+ [CUADebug](https://arxiv.org/abs/2608.02643), our framework for diagnosing
107
+ and repairing computer-use agent failures.
108
+ - 📄 **2026-07-21** — Released the
109
+ [AgentDebugX paper](https://arxiv.org/abs/2607.18754), presenting our
110
+ open-source toolkit for failure observability, attribution, recovery, and
111
+ rerun in LLM agents.
112
+ - 📦 **2026-05-16** — Released AgentDebugX on
113
+ [PyPI](https://pypi.org/project/agentdebugx/).
114
+ - 📄 **2025-09-29** — Released
115
+ [Where LLM Agents Fail and How They Can Learn From Failures](https://arxiv.org/abs/2509.25370),
116
+ introducing AgentErrorTaxonomy, AgentErrorBench, and AgentDebug.
117
+
118
+ ## System Overview
119
+
120
+ <p align="center">
121
+ <img src="docs/assets/overview.png" alt="AgentDebugX system overview" width="900">
122
+ </p>
123
+
124
+ AgentDebugX follows the two-stage loop used by the project paper:
125
+
126
+ ```text
127
+ Diagnose = Detect -> Attribute -> Recover
128
+ Rerun = checkpoint -> retry directive -> branch execution -> evaluation
129
+ ```
130
+
131
+ `Diagnose` explains what failed and why. `Rerun` tests whether the proposed
132
+ recovery actually improves the agent behavior.
133
+
134
+ ## Why AgentDebugX
135
+
136
+ Tracing tools show what happened. AgentDebugX focuses on the debugging step that
137
+ usually comes next:
138
+
139
+ - Which earlier decision caused the visible failure?
140
+ - Which agent, tool call, memory read, handoff, or GUI action was responsible?
141
+ - What evidence supports that diagnosis?
142
+ - What concrete recovery should be tried?
143
+ - Did the rerun branch improve the outcome?
144
+
145
+ The output is a portable diagnostic report that can be inspected in a local UI,
146
+ used by a CLI workflow, stored in an Error Hub bundle, or invoked from an
147
+ agentic skill.
148
+
149
+ ## Core Capabilities
150
+
151
+ - **Portable trace schema**: framework-agnostic trajectory, event, finding, and
152
+ diagnostic report models.
153
+ - **Ingest adapters**: normalize raw JSON, LangGraph, CrewAI, OpenAI Agents SDK,
154
+ OpenTelemetry, GAIA/Open Deep Research, OSWorld, and other exported traces.
155
+ - **Detect**: deterministic analyzers, manifest-backed rule packs, LLM judge
156
+ mode, GUI-aware signals, and taxonomy induction support.
157
+ - **Attribute**: heuristic attribution, all-at-once analysis, step-by-step
158
+ localization, binary search, counterfactual attribution, MOE localization,
159
+ and DeepDebug.
160
+ - **Recover**: Reflexion, CRITIC, Self-Refine, AutoManual, DeepDebug recovery,
161
+ and saga rollback style strategies.
162
+ - **Rerun**: three explicit modes for plan/export only, labeled simulation, or
163
+ observed execution in an application-owned process or persistent HTTP runner.
164
+ - **Local inspection UI**: no-build FastAPI dashboard for traces, reports,
165
+ before/after CUA visuals, debugger discussions, saved cases, debug branches,
166
+ and rerun-from-event workflows.
167
+ - **Error Hub**: scrubbed, shareable failure bundles for regression tests,
168
+ benchmark corpora, and team debugging memory.
169
+ - **Agent integrations**: generate host-runtime assets such as debugging skills
170
+ for external agent tools.
171
+
172
+ ## Install
173
+
174
+ ```bash
175
+ pip install agentdebugx
176
+ ```
177
+
178
+ Optional extras:
179
+
180
+ ```bash
181
+ pip install "agentdebugx[ui]" # local FastAPI dashboard
182
+ pip install "agentdebugx[langgraph]" # LangGraph adapter
183
+ pip install "agentdebugx[crewai]" # CrewAI adapter
184
+ pip install "agentdebugx[openai-agents]" # OpenAI Agents SDK adapter
185
+ pip install "agentdebugx[otel]" # OpenTelemetry ingest
186
+ pip install "agentdebugx[gui]" # screenshot decoding for GUI RCA
187
+ pip install "agentdebugx[all]" # all optional integrations
188
+ ```
189
+
190
+ Computer-use / OSWorld GUI root-cause analysis (`agentdebug.gui`) ships with the
191
+ core install and needs no extra. The `gui` extra only adds `pillow`, which the
192
+ RCA tools use to decode screenshots. Two heavier layers of the same package sit
193
+ behind their own extras: `gui-memory` for the lesson/episodic memory stack, and
194
+ `gui-app` for the provider adapters, the batch pipeline (`python -m
195
+ agentdebug.gui`) and the Streamlit annotation app.
196
+
197
+ The package is installed as `agentdebugx` and imported as `agentdebug`:
198
+
199
+ ```python
200
+ import agentdebug
201
+ ```
202
+
203
+ ## Claude Code and Codex Plugins
204
+
205
+ AgentDebugX ships native plugins for Claude Code and Codex so an agent can
206
+ debug its own session. The plugin bundles capture hooks and the AgentDebug
207
+ skill, which keeps two boundaries explicit:
208
+
209
+ - **Capture is automatic** once a project opts in. Sessions are normalized into
210
+ AgentDebugX trajectories locally and silently.
211
+ - **Diagnosis is explicit.** Ask AgentDebug in-session and the skill diagnoses
212
+ that exact captured trajectory with `agentdebug run --current --profile deep`.
213
+ Re-running or repairing the agent's work stays a separately authorized step.
214
+
215
+ Follow the [capture quickstart](CAPTURE_QUICKSTART.md) to install a plugin,
216
+ enable project capture, diagnose a session, and turn capture off again.
217
+
218
+ The plugin bundles live in this repository:
219
+
220
+ | Plugin | Bundle | Documentation |
221
+ | --- | --- | --- |
222
+ | Claude Code | `integrations/claude-code/plugins/agentdebug` | [Claude Code plugin](integrations/claude-code/README.md) |
223
+ | Codex | `integrations/codex/plugins/agentdebug` | [Codex plugin](integrations/codex/README.md) |
224
+
225
+ Each plugin's documentation covers its hooks, install scope, the capture
226
+ consent step, and lazy session creation. See
227
+ [`src/agentdebug/capture/README.md`](src/agentdebug/capture/README.md) for the
228
+ stored `.agentdebug/` layout and
229
+ [`src/agentdebug/workbench/README.md`](src/agentdebug/workbench/README.md) for
230
+ `agentdebug run` profiles and run manifests.
231
+
232
+ ## DeepSeek Harness Plugin
233
+
234
+ AgentDebugX is also available as the
235
+ [`dsh-agentdebugx`](https://www.npmjs.com/package/dsh-agentdebugx) plugin for
236
+ DeepSeek Harness. It diagnoses current and saved Harness trajectories and
237
+ starts the Python bridge and local dashboard only when they are needed.
238
+
239
+ ```bash
240
+ pip install "agentdebugx[ui]>=0.3.1,<0.4"
241
+ dsh plugin --profile web add dsh-agentdebugx
242
+ ```
243
+
244
+ See the [plugin documentation](integrations/dsh-agentdebugx/README.md) for
245
+ configuration, commands, saved-session discovery, and deep diagnosis.
246
+
247
+ ## Quick Start: Python API
248
+
249
+ Record a trajectory and analyze it locally:
250
+
251
+ ```python
252
+ from agentdebug import AgentDebug, EventType
253
+
254
+ debugger = AgentDebug()
255
+
256
+ with debugger.trace(
257
+ goal="Book a refundable NYC to SFO flight",
258
+ framework="my-agent",
259
+ ) as trace:
260
+ trace.record(
261
+ EventType.PLAN,
262
+ agent_name="planner",
263
+ step_index=1,
264
+ output="Search for the cheapest fares.",
265
+ )
266
+ trace.record(
267
+ EventType.TOOL_RESULT,
268
+ agent_name="browser",
269
+ step_index=3,
270
+ error="Checkout failed: refund_policy is required.",
271
+ )
272
+
273
+ report = trace.analyze()
274
+
275
+ print(report.summary)
276
+ for finding in report.findings:
277
+ print(finding.failure_mode.mode_id, finding.step_index, finding.evidence)
278
+ ```
279
+
280
+ The report localizes the responsible upstream step rather than only reporting
281
+ the final visible error.
282
+
283
+ ## Quick Start: CLI
284
+
285
+ The CLI supports the complete Diagnose -> Rerun workflow. The web console is
286
+ optional and is not required for trace conversion, diagnosis, attribution,
287
+ recovery planning, or rerun preparation.
288
+
289
+ ### 1. Normalize an external trace
290
+
291
+ AgentDebugX can auto-detect common JSON and JSONL exports:
292
+
293
+ ```bash
294
+ agentdebug ingest raw_trace.json --format auto --out trace.json
295
+ ```
296
+
297
+ Use `--format` when the source is known, for example `messages`,
298
+ `openai_agents_spans`, `crewai_events`, `langgraph_callbacks`, `claude_code`,
299
+ `codex`, or `osworld`.
300
+
301
+ Process a directory of independent JSON files or every non-empty line in a
302
+ JSONL dataset:
303
+
304
+ ```bash
305
+ agentdebug batch ingest AgentProcessBench/gaia_dev/test.jsonl \
306
+ --out-dir data/agentprocessbench/gaia_dev
307
+ ```
308
+
309
+ Batch diagnosis normalizes each record and writes independently rerunnable
310
+ trajectories and reports:
311
+
312
+ ```bash
313
+ agentdebug batch diagnose AgentProcessBench/gaia_dev/test.jsonl \
314
+ --mode judge \
315
+ --attributor all-at-once \
316
+ --recovery self-refine \
317
+ --out-dir runs/agentprocessbench/gaia_dev
318
+ ```
319
+
320
+ Every batch writes `batch-summary.json`. Invalid records are isolated and do
321
+ not discard successful outputs; a partially failed CLI batch exits with code
322
+ `3`.
323
+
324
+ ### 2. Run a fully local diagnosis
325
+
326
+ The deterministic pipeline does not require an API key:
327
+
328
+ ```bash
329
+ agentdebug diagnose trace.json \
330
+ --mode heuristic \
331
+ --attributor heuristic \
332
+ --recovery reflexion \
333
+ --out report.json
334
+ ```
335
+
336
+ Render the same diagnosis as a cascade-oriented traceback:
337
+
338
+ ```bash
339
+ agentdebug diagnose trace.json \
340
+ --mode heuristic \
341
+ --attributor heuristic \
342
+ --recovery reflexion \
343
+ --traceback
344
+ ```
345
+
346
+ ### 3. Enable LLM-backed diagnosis
347
+
348
+ Save an OpenAI-compatible endpoint once:
349
+
350
+ ```bash
351
+ agentdebug config set-llm \
352
+ --base-url "https://<openai-compatible-host>/v1" \
353
+ --api-key "<secret>" \
354
+ --model "<model>"
355
+ ```
356
+
357
+ Then select the diagnosis, attribution, and recovery implementations
358
+ explicitly:
359
+
360
+ ```bash
361
+ agentdebug diagnose trace.json \
362
+ --mode judge \
363
+ --attributor all-at-once \
364
+ --recovery self-refine \
365
+ --out report.json
366
+ ```
367
+
368
+ For difficult multi-step or ambiguous failures, DeepDebug runs the complete
369
+ diagnosis workflow and automatically packages its evidence-backed fix as a
370
+ standard retry directive:
371
+
372
+ ```bash
373
+ agentdebug diagnose trace.json \
374
+ --mode deepdebug \
375
+ --out report.json
376
+ ```
377
+
378
+ `--recovery deepdebug` can select this packaging explicitly. Existing scripts
379
+ that use `--attributor none --recovery none` remain compatible; explicit
380
+ `--recovery none` disables the standard recovery payload.
381
+
382
+ Environment variables can be used instead of saved configuration:
383
+
384
+ ```bash
385
+ export AGENTDEBUG_LLM_BASE_URL="https://<openai-compatible-host>/v1"
386
+ export AGENTDEBUG_LLM_API_KEY="<secret>"
387
+ export AGENTDEBUG_LLM_MODEL="<model>"
388
+ ```
389
+
390
+ Use `agentdebug config show` to inspect masked configuration and
391
+ `agentdebug config doctor` to test the configured endpoint.
392
+
393
+ ### 4. Execute the Rerun stage
394
+
395
+ For repeated, Docker, or remote reruns, keep the application's complete Agent
396
+ environment running as an HTTP runner service. Implement a project callback,
397
+ then start and configure it once:
398
+
399
+ ```bash
400
+ agentdebug runner serve my_project.runner:run_agent \
401
+ --name my-agent \
402
+ --framework langgraph \
403
+ --host 0.0.0.0 \
404
+ --port 8765 \
405
+ --token-env MY_RUNNER_TOKEN
406
+
407
+ agentdebug config set-runner my-agent \
408
+ --url http://127.0.0.1:8765 \
409
+ --token-env MY_RUNNER_TOKEN \
410
+ --default
411
+
412
+ agentdebug config doctor-runner my-agent
413
+ ```
414
+
415
+ Then run the original agent framework from the beginning of the task:
416
+
417
+ ```bash
418
+ agentdebug rerun report.json \
419
+ --trajectory trace.json \
420
+ --out rerun.live.json
421
+ ```
422
+
423
+ To branch from a specific trajectory event, pass its 1-based event number:
424
+
425
+ ```bash
426
+ agentdebug rerun report.json \
427
+ --trajectory trace.json \
428
+ --start-event 4 \
429
+ --out rerun.from-event.json
430
+ ```
431
+
432
+ `--start-event N` resolves the Nth event to its stable event ID and sends a
433
+ `from_event` checkpoint to plan, simulation, and live runner modes. The selected
434
+ runner must support restoring or continuing from event checkpoints.
435
+
436
+ The service owns the framework, real model, tools, credentials, environment,
437
+ job lifecycle, and trajectory recorder. A chat-completions URL alone is not an
438
+ Agent environment. Submissions are idempotent, transient failures use bounded
439
+ retries, and unfinished remote jobs are cancelled best-effort. See
440
+ [the runner specification](src/agentdebug/rerun/RUNNER_SPEC.md).
441
+
442
+ For local scripts and CI, the process compatibility transport remains available:
443
+
444
+ ```bash
445
+ agentdebug rerun report.json \
446
+ --trajectory trace.json \
447
+ --runner-command "python path/to/project_rerun_runner.py" \
448
+ --out rerun.json
449
+ ```
450
+
451
+ Use `--plan-only` for trajectory-only uploads; the plan reports why real
452
+ execution is unavailable and which runtime capabilities are missing.
453
+
454
+ Export the same request as a pending actor task dataset when another system
455
+ will perform the rollout:
456
+
457
+ ```bash
458
+ agentdebug rerun report.json \
459
+ --trajectory trace.json \
460
+ --plan-only \
461
+ --actor-task-format jsonl \
462
+ --out rerun-tasks.jsonl
463
+ ```
464
+
465
+ Parquet is also supported with `--actor-task-format parquet` after installing
466
+ `pyarrow`. These rows contain actor inputs and provenance, not responses or
467
+ training labels. See
468
+ [the actor task specification](src/agentdebug/rerun/ACTOR_TASK_SPEC.md).
469
+
470
+ For prompt experiments only, `--simulate` enables the previous LLM-generated
471
+ trajectory flow. It returns a workflow JSON with `status=simulated`, a validated
472
+ `hypothetical_trajectory`, and model-generated events explicitly marked as
473
+ simulated. It executes no tools and is not evidence that the recovery fixed the
474
+ task. See
475
+ [the simulation specification](src/agentdebug/rerun/SIMULATION_SPEC.md).
476
+
477
+ ### 5. Work with stored traces
478
+
479
+ The CLI can query SQLite or JSONL stores created by instrumented runs or the
480
+ local console:
481
+
482
+ ```bash
483
+ agentdebug list --store-sqlite .agentdebug/traces.sqlite
484
+ agentdebug show <trace-id> --store-sqlite .agentdebug/traces.sqlite
485
+ agentdebug diagnose <trace-id> \
486
+ --store-sqlite .agentdebug/traces.sqlite \
487
+ --mode heuristic \
488
+ --attributor heuristic \
489
+ --recovery reflexion
490
+ ```
491
+
492
+ ### 6. Package and integrate debugging workflows
493
+
494
+ Publish a scrubbed failure bundle to a local Error Hub:
495
+
496
+ ```bash
497
+ agentdebug hub push <trace-id> \
498
+ --store-sqlite .agentdebug/traces.sqlite \
499
+ --to local:./agentdebug-hub
500
+ ```
501
+
502
+ Generate a debugging skill for a supported host runtime:
503
+
504
+ ```bash
505
+ agentdebug integrations install --platform claude
506
+ agentdebug integrations install --platform codex
507
+ agentdebug integrations status --platform codex --json
508
+ ```
509
+
510
+ Generated Hermes and OpenClaw skills remain available through
511
+ `agentdebug integrations skill --platform hermes|openclaw`. Refresh generated
512
+ skills after upgrading so they use the shared `agentdebug run` contract.
513
+
514
+ ### Optional: launch the local console
515
+
516
+ Install the UI extra only when a visual inspection workflow is useful:
517
+
518
+ ```bash
519
+ pip install "agentdebugx[ui]"
520
+ agentdebug serve \
521
+ --store-sqlite .agentdebug/traces.sqlite \
522
+ --host 127.0.0.1 \
523
+ --port 7777
524
+ ```
525
+
526
+ For the integrated single-run path, AgentDebugX can manage the loopback server
527
+ and return a readiness-checked deep link without opening a browser:
528
+
529
+ ```bash
530
+ agentdebug run trace.json --profile standard --ui --json
531
+ agentdebug ui ensure --run-id <run-id> --json
532
+ agentdebug ui status --json
533
+ ```
534
+
535
+ For a multi-record AgentErrorBench JSONL collection, either select one record
536
+ or run the same durable workflow for every independent record:
537
+
538
+ ```bash
539
+ agentdebug run trajectories.jsonl --trajectory-id <trajectory-id> --json
540
+ agentdebug run trajectories.jsonl --batch --profile standard --json
541
+ ```
542
+
543
+ `--batch` also accepts directories and recursively discovers independent JSON
544
+ files. Each item receives its own run, trajectory, and report identity.
545
+ Failures are isolated; a partial batch exits with code 3. A directly supplied
546
+ JSONL file is split by row, so use `--batch` only when each row is a complete
547
+ trajectory, not when the file is one event stream.
548
+
549
+ For GUI RCA batches, continue using `python -m agentdebug.gui`; its OSWorld
550
+ classification, failure filtering, parallel workers, memory, and output layout
551
+ are intentionally separate from the generic `run --batch` contract.
552
+
553
+ The run manifest, normalized trajectory, selected report, inline JSON, and
554
+ `/runs/<run-id>` page retain the same `run_id`, `trace_id`, and `report_id`.
555
+ The `deep` and `gui` profiles are explicitly LLM-backed; `quick` and
556
+ `standard` never escalate to an LLM implicitly. UI startup failure is reported
557
+ separately and does not change a completed diagnosis into a failed run.
558
+
559
+ ## CLI Reference
560
+
561
+ | Command | Purpose |
562
+ | --- | --- |
563
+ | `agentdebug run` | Create durable trajectory/report runs for one input or an explicit batch |
564
+ | `agentdebug ui ensure` / `status` | Start, reuse, or inspect the readiness-checked local UI |
565
+ | `agentdebug ingest` | Normalize an external trace export into AgentDebugX schema |
566
+ | `agentdebug diagnose` | Run detection, attribution, and recovery planning |
567
+ | `agentdebug batch ingest` | Normalize every JSON file or independent JSONL record |
568
+ | `agentdebug batch diagnose` | Normalize and diagnose a JSON/JSONL collection |
569
+ | `agentdebug rerun` | Execute a real framework runner or build a capability-aware plan |
570
+ | `agentdebug runner serve` | Expose an application callback through the live runner protocol |
571
+ | `agentdebug list` / `agentdebug show` | Inspect traces in a local store |
572
+ | `agentdebug config` | Manage and test LLM endpoints and persistent HTTP runners |
573
+ | `agentdebug hub` | Package, scrub, push, and pull Error Hub bundles |
574
+ | `agentdebug integrations` | Generate, install, and validate host integration assets |
575
+ | `agentdebug act` | Compatibility namespace for Hub and integration actions |
576
+ | `agentdebug serve` / `agentdebug inspect` | Launch the optional local web console |
577
+ | `agentdebug doctor` | Report optional dependency and configuration status |
578
+ | `agentdebug analyze` | Compatibility entry point for heuristic diagnosis |
579
+ | `agentdebug convert` | Compatibility alias for `agentdebug ingest` |
580
+
581
+ Run `agentdebug <command> --help` for version-specific flags.
582
+
583
+ ## Architecture
584
+
585
+ The repository mirrors the paper-level workflow:
586
+
587
+ ```text
588
+ src/agentdebug/schema/ portable trajectory, event, report, and taxonomy contracts
589
+ src/agentdebug/runtime/ storage, LLM clients, event bus, and plugin registry
590
+ src/agentdebug/ingest/ live capture APIs and offline trace importers
591
+ src/agentdebug/diagnose/ Detect -> Attribute -> Recover pipeline
592
+ src/agentdebug/rerun/ rerun plans, requests, branch comparison, and executors
593
+ src/agentdebug/inspect/ traceback renderer and local inspection UI
594
+ src/agentdebug/hub/ scrubbed failure bundle packaging and backends
595
+ src/agentdebug/integrations/ host skill and runtime integration generators
596
+ src/agentdebug/gui/ computer-use / OSWorld GUI root-cause analysis
597
+ examples/ runnable examples and demo traces
598
+ docs/ architecture, schema, and project assets
599
+ ```
600
+
601
+ Detailed references:
602
+
603
+ - [Architecture](docs/ARCHITECTURE.md)
604
+ - [Trace schema](docs/TRACE_SCHEMA.md)
605
+ - [System overview PDF](docs/assets/overview.pdf)
606
+
607
+ ## Component Model
608
+
609
+ Diagnose components use manifest-backed discovery:
610
+
611
+ - Detect components and rule packs declare metadata under
612
+ `src/agentdebug/diagnose/component_manifests/detect/` and
613
+ `src/agentdebug/diagnose/detect/rules/packs/`.
614
+ - Attribute components declare metadata under
615
+ `src/agentdebug/diagnose/component_manifests/attribute/`.
616
+ - Recover components declare metadata under
617
+ `src/agentdebug/diagnose/component_manifests/recover/`.
618
+
619
+ The shared registry exposes:
620
+
621
+ ```python
622
+ from agentdebug.diagnose import list_components, load_component
623
+
624
+ for component in list_components():
625
+ print(component.id, component.stage, component.capabilities)
626
+ ```
627
+
628
+ This keeps the implementation extensible without turning the CLI or UI into
629
+ business-logic containers.
630
+
631
+ ## Local UI
632
+
633
+ The inspection UI is a local FastAPI application with a no-build HTML/CSS/JS
634
+ frontend. It is intentionally a surface layer:
635
+
636
+ - routes live in `inspect/ui/routes.py`
637
+ - rendering lives in `inspect/ui/views.py`
638
+ - UI-facing services live in `inspect/ui/services.py`
639
+ - local case and branch stores live in `inspect/ui/branch_store.py`
640
+ - `inspect/ui/server.py` remains a compatibility import path
641
+
642
+ ### Launch from the CLI
643
+
644
+ Install the optional UI dependencies, then point the server at an existing
645
+ AgentDebugX trace store:
646
+
647
+ ```bash
648
+ pip install "agentdebugx[ui]"
649
+
650
+ agentdebug serve \
651
+ --store-sqlite .agentdebug/traces.sqlite \
652
+ --host 127.0.0.1 \
653
+ --port 7777
654
+ ```
655
+
656
+ Open [http://127.0.0.1:7777](http://127.0.0.1:7777) in a browser. For a JSONL
657
+ store, replace `--store-sqlite` with
658
+ `--store-jsonl .agentdebug/traces.jsonl`. Keep the default loopback host unless
659
+ the UI is deployed behind appropriate authentication and transport security.
660
+ Place native trajectory and diagnostic-report JSON files under
661
+ `.agentdebug/imports/`, then use **Sync imports** in the workspace to import
662
+ new or changed files. Set `AGENTDEBUG_IMPORT_DIR` to use another server-owned
663
+ directory.
664
+
665
+ ![AgentDebugX local inspection UI](docs/assets/UI.png)
666
+
667
+ The UI can inspect traces, save typical error cases, prepare debug
668
+ continuations, and invoke a server-controlled live runner. Rerun Composer is
669
+ opened from a selected event and uses that event as its checkpoint. Set
670
+ `AGENTDEBUG_RUNNER_URL` for the preferred persistent HTTP transport or
671
+ `AGENTDEBUG_RERUN_COMMAND` for process compatibility. The selected runner must
672
+ advertise or implement `from_event` checkpoint support. The browser does not
673
+ accept or persist runner commands or bearer tokens; LLM API keys configured in
674
+ the local UI are retained only for the current browser tab.
675
+
676
+ OSWorld trajectories with locally available screenshot artifacts open in the
677
+ read-only **Visual** view by default. Use the **Trace / Visual** control to
678
+ switch without changing the selected event; the choice is remembered per trace
679
+ for the current browser tab. Visual compares the selected action's **Before**
680
+ state (an explicit input image or the immediately preceding event result) with
681
+ all **After** images attached to the selected event; it never changes timeline
682
+ selection or guesses across missing steps. Screenshots are served only through
683
+ trace/event artifact IDs, and only when the resolved image remains inside the
684
+ trajectory's recorded `metadata.source_dir`.
685
+
686
+ **Discuss with Debugger** is available for every normalized trace format, not
687
+ only CUA. Discussions are persisted locally, pinned to a report snapshot, cite
688
+ canonical event IDs, and may produce an exportable report-revision draft.
689
+ Discussion tools are read-only and drafts never overwrite stored diagnostic
690
+ reports. The separate Streamlit app remains the tool for annotation,
691
+ multi-reviewer assignment, and accuracy workflows.
692
+
693
+ ## Privacy and Safety
694
+
695
+ AgentDebugX is local-first:
696
+
697
+ - Trace capture and diagnosis run locally unless you explicitly configure an
698
+ external LLM endpoint.
699
+ - Error Hub publishing is opt-in.
700
+ - Bundle scrubbing is available before sharing traces.
701
+ - Recovery is suggest-only. External execution belongs to Rerun and requires an
702
+ explicitly configured executor. Recovery approval fields are auditable
703
+ metadata; deployments must enforce their own authorization policy before
704
+ dispatch.
705
+
706
+ Diagnostic findings are hypotheses with evidence and provenance, not ground
707
+ truth. LLM Judge reports retain the model's self-reported confidence;
708
+ Heuristic and DeepDebug reports omit uncalibrated confidence values. Configure
709
+ retention, access control, and redaction before collecting production traces.
710
+
711
+ ## Examples
712
+
713
+ The `examples/` directory contains runnable scripts and demo artifacts:
714
+
715
+ - `basic_usage.py`
716
+ - `multi_agent_cascade.py`
717
+ - `langgraph/`
718
+ - `crewai/`
719
+ - `autogen_roundrobin_deepdebug.py`
720
+ - `taxonomy_induction_demo.py`
721
+ - `http_agent_runner.py`
722
+ - `live_rerun_runner.py`
723
+ - `claude_skill_integration/`
724
+ - `debug_skills/`
725
+
726
+ ## Development
727
+
728
+ Run the test suite:
729
+
730
+ ```bash
731
+ python -m pytest tests -q
732
+ ```
733
+
734
+ Run the enforced branch-coverage baseline:
735
+
736
+ ```bash
737
+ python -m pytest tests -q --cov=agentdebug --cov-branch --cov-fail-under=40
738
+ ```
739
+
740
+ Compile-check the package:
741
+
742
+ ```bash
743
+ python -m compileall -q src/agentdebug tests
744
+ ```
745
+
746
+ Build artifacts under `dist/` should not be committed. Generate them only for
747
+ release workflows.
748
+
749
+ See [CONTRIBUTING.md](CONTRIBUTING.md) for test organization, the optional GUI
750
+ test suite, quality checks, and pull request expectations.
751
+
752
+ ## Citation
753
+
754
+ ```bibtex
755
+ @article{agentdebug2025,
756
+ title={Where LLM Agents Fail and How They Can Learn From Failures},
757
+ author={Zhu, Kunlun and Liu, Zijia and Li, Bingxuan and Tian, Muxin and Yang Yingxuan and Zhang, Jiaxun and others},
758
+ journal={arXiv preprint arXiv:2509.25370},
759
+ year={2025}
760
+ }
761
+ ```
762
+
763
+ ```bibtex
764
+ @misc{zhu2026agentdebugxopensourcetoolkitfailure,
765
+ title={AgentDebugX: An Open-Source Toolkit for Failure Observability, Attribution, and Recovery in LLM Agents},
766
+ author={Kunlun Zhu and Xuyan Ye and Zhiguang Han and Yuchen Zhao and Bingxuan Li and Weijia Zhang and Muxin Tian and Xiangru Tang and Pan Lu and James Zou and Jiaxuan You and Heng Ji},
767
+ year={2026},
768
+ eprint={2607.18754},
769
+ archivePrefix={arXiv},
770
+ primaryClass={cs.AI},
771
+ url={https://arxiv.org/abs/2607.18754},
772
+ }
773
+ ```
774
+
775
+ ```bibtex
776
+ @misc{zhang2026cuadebugdiagnosingrepairingcomputeruse,
777
+ title={CUADebug: Diagnosing and Repairing Computer-Use Agent Failures},
778
+ author={Weijia Zhang and Kunlun Zhu and Zeyi Liu and Yinting Chen and Tianyi Ma and Jiateng Liu and Jiaxun Zhang and Bingxuan Li and Xiangru Tang and Heng Ji and Jiaxuan You},
779
+ year={2026},
780
+ eprint={2608.02643},
781
+ archivePrefix={arXiv},
782
+ primaryClass={cs.SE},
783
+ url={https://arxiv.org/abs/2608.02643},
784
+ }
785
+ ```
786
+
787
+
788
+ ## License
789
+
790
+ MIT. See [LICENSE](LICENSE).
791
+