htmlgraph 0.26.11__tar.gz → 0.26.12__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 (496) hide show
  1. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/PKG-INFO +1 -1
  2. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/packages/gemini-extension/gemini-extension.json +1 -1
  3. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/pyproject.toml +1 -1
  4. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/__init__.py +1 -1
  5. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/cli/.htmlgraph/.session-warning-state.json +1 -1
  6. htmlgraph-0.26.12/src/python/htmlgraph/cli/.htmlgraph/htmlgraph.db +0 -0
  7. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/integration/test_codex_spawner.py +17 -13
  8. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/integration/test_copilot_spawner_tracking.py +57 -47
  9. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/integration/test_gemini_spawner_diagnosis.py +2 -2
  10. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/python/test_pretooluse_event_hierarchy.py +115 -23
  11. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/.gitignore +0 -0
  12. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/README.md +0 -0
  13. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/examples/agent-coordination/README.md +0 -0
  14. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/examples/agent-coordination/demo.py +0 -0
  15. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/examples/create_auth_track_demo.py +0 -0
  16. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/examples/create_htmlgraph_dev_track.py +0 -0
  17. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/examples/demo_agent_planning.py +0 -0
  18. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/examples/demo_real_project_analytics.py +0 -0
  19. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/examples/demo_sdk_operations.py +0 -0
  20. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/examples/documentation-site/README.md +0 -0
  21. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/examples/documentation-site/agents.json +0 -0
  22. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/examples/documentation-site/demo.py +0 -0
  23. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/examples/documentation-site/features/doc-api-graph.html +0 -0
  24. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/examples/documentation-site/features/doc-api-overview.html +0 -0
  25. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/examples/documentation-site/features/doc-api-sdk.html +0 -0
  26. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/examples/documentation-site/features/doc-example-advanced.html +0 -0
  27. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/examples/documentation-site/features/doc-example-basic.html +0 -0
  28. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/examples/documentation-site/features/doc-index.html +0 -0
  29. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/examples/documentation-site/features/doc-installation.html +0 -0
  30. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/examples/documentation-site/features/doc-quickstart.html +0 -0
  31. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/examples/example_query_compilation.py +0 -0
  32. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/examples/handoff-demo.py +0 -0
  33. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/examples/knowledge-base/README.md +0 -0
  34. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/examples/knowledge-base/agents.json +0 -0
  35. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/examples/knowledge-base/demo.py +0 -0
  36. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/examples/knowledge-base/features/feat-276c615f.html +0 -0
  37. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/examples/knowledge-base/features/feat-7a6f797d.html +0 -0
  38. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/examples/knowledge-base/features/note-ai-agents.html +0 -0
  39. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/examples/knowledge-base/features/note-graph-db.html +0 -0
  40. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/examples/knowledge-base/features/note-htmlgraph.html +0 -0
  41. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/examples/knowledge-base/features/note-web-standards.html +0 -0
  42. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/examples/parallel_task_coordination.py +0 -0
  43. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/examples/routing-demo.py +0 -0
  44. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/examples/sdk_demo.py +0 -0
  45. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/examples/todo-list/README.md +0 -0
  46. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/examples/todo-list/demo.py +0 -0
  47. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/examples/todo-list/index.html +0 -0
  48. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/examples/todo-list/styles.css +0 -0
  49. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/examples/todo-list/task-001.html +0 -0
  50. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/examples/todo-list/task-002.html +0 -0
  51. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/examples/todo-list/task-003.html +0 -0
  52. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/examples/todo-list/task-004.html +0 -0
  53. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/examples/todo-list/task-005.html +0 -0
  54. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/examples/todo-list/task-006.html +0 -0
  55. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/packages/gemini-extension/GEMINI.md +0 -0
  56. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/packages/gemini-extension/README.md +0 -0
  57. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/packages/gemini-extension/command_deploy.md +0 -0
  58. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/packages/gemini-extension/command_end.md +0 -0
  59. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/packages/gemini-extension/command_feature-add.md +0 -0
  60. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/packages/gemini-extension/command_feature-complete.md +0 -0
  61. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/packages/gemini-extension/command_feature-primary.md +0 -0
  62. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/packages/gemini-extension/command_feature-start.md +0 -0
  63. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/packages/gemini-extension/command_git-commit.md +0 -0
  64. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/packages/gemini-extension/command_help.md +0 -0
  65. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/packages/gemini-extension/command_init.md +0 -0
  66. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/packages/gemini-extension/command_plan.md +0 -0
  67. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/packages/gemini-extension/command_recommend.md +0 -0
  68. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/packages/gemini-extension/command_serve.md +0 -0
  69. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/packages/gemini-extension/command_spike.md +0 -0
  70. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/packages/gemini-extension/command_start.md +0 -0
  71. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/packages/gemini-extension/command_status.md +0 -0
  72. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/packages/gemini-extension/command_track.md +0 -0
  73. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/packages/gemini-extension/hooks/hooks.json +0 -0
  74. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/packages/gemini-extension/hooks/scripts/post-tool.sh +0 -0
  75. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/packages/gemini-extension/hooks/scripts/session-end.sh +0 -0
  76. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/packages/gemini-extension/hooks/scripts/session-start.sh +0 -0
  77. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/js/htmlgraph.js +0 -0
  78. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/.htmlgraph/.session-warning-state.json +0 -0
  79. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/.htmlgraph/agents.json +0 -0
  80. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/.htmlgraph/htmlgraph.db +0 -0
  81. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/agent_detection.py +0 -0
  82. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/agent_registry.py +0 -0
  83. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/agents.py +0 -0
  84. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/analytics/__init__.py +0 -0
  85. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/analytics/cli.py +0 -0
  86. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/analytics/cross_session.py +0 -0
  87. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/analytics/dependency.py +0 -0
  88. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/analytics/work_type.py +0 -0
  89. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/analytics_index.py +0 -0
  90. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/api/__init__.py +0 -0
  91. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/api/main.py +0 -0
  92. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/api/static/htmx.min.js +0 -0
  93. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/api/static/style-redesign.css +0 -0
  94. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/api/static/style.css +0 -0
  95. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/api/templates/dashboard-redesign.html +0 -0
  96. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/api/templates/dashboard.html +0 -0
  97. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/api/templates/partials/activity-feed-hierarchical.html +0 -0
  98. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/api/templates/partials/activity-feed.html +0 -0
  99. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/api/templates/partials/agents-redesign.html +0 -0
  100. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/api/templates/partials/agents.html +0 -0
  101. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/api/templates/partials/event-traces.html +0 -0
  102. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/api/templates/partials/features-kanban-redesign.html +0 -0
  103. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/api/templates/partials/features.html +0 -0
  104. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/api/templates/partials/metrics-redesign.html +0 -0
  105. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/api/templates/partials/metrics.html +0 -0
  106. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/api/templates/partials/orchestration-redesign.html +0 -0
  107. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/api/templates/partials/orchestration.html +0 -0
  108. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/api/templates/partials/spawners.html +0 -0
  109. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/archive/__init__.py +0 -0
  110. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/archive/bloom.py +0 -0
  111. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/archive/fts.py +0 -0
  112. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/archive/manager.py +0 -0
  113. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/archive/search.py +0 -0
  114. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/atomic_ops.py +0 -0
  115. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/attribute_index.py +0 -0
  116. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/builders/__init__.py +0 -0
  117. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/builders/base.py +0 -0
  118. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/builders/bug.py +0 -0
  119. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/builders/chore.py +0 -0
  120. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/builders/epic.py +0 -0
  121. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/builders/feature.py +0 -0
  122. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/builders/insight.py +0 -0
  123. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/builders/metric.py +0 -0
  124. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/builders/pattern.py +0 -0
  125. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/builders/phase.py +0 -0
  126. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/builders/spike.py +0 -0
  127. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/builders/track.py +0 -0
  128. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/cigs/__init__.py +0 -0
  129. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/cigs/autonomy.py +0 -0
  130. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/cigs/cost.py +0 -0
  131. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/cigs/messages_basic.py +0 -0
  132. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/cigs/messaging.py +0 -0
  133. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/cigs/models.py +0 -0
  134. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/cigs/pattern_storage.py +0 -0
  135. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/cigs/patterns.py +0 -0
  136. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/cigs/posttool_analyzer.py +0 -0
  137. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/cigs/reporter.py +0 -0
  138. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/cigs/tracker.py +0 -0
  139. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/cli/.htmlgraph/agents.json +0 -0
  140. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/cli/__init__.py +0 -0
  141. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/cli/__main__.py +0 -0
  142. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/cli/analytics.py +0 -0
  143. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/cli/base.py +0 -0
  144. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/cli/constants.py +0 -0
  145. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/cli/core.py +0 -0
  146. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/cli/main.py +0 -0
  147. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/cli/models.py +0 -0
  148. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/cli/templates/__init__.py +0 -0
  149. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/cli/templates/cost_dashboard.py +0 -0
  150. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/cli/work/__init__.py +0 -0
  151. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/cli/work/features.py +0 -0
  152. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/cli/work/orchestration.py +0 -0
  153. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/cli/work/sessions.py +0 -0
  154. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/cli/work/tracks.py +0 -0
  155. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/cli_commands/__init__.py +0 -0
  156. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/cli_commands/feature.py +0 -0
  157. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/cli_framework.py +0 -0
  158. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/collections/__init__.py +0 -0
  159. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/collections/base.py +0 -0
  160. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/collections/bug.py +0 -0
  161. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/collections/chore.py +0 -0
  162. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/collections/epic.py +0 -0
  163. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/collections/feature.py +0 -0
  164. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/collections/insight.py +0 -0
  165. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/collections/metric.py +0 -0
  166. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/collections/pattern.py +0 -0
  167. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/collections/phase.py +0 -0
  168. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/collections/session.py +0 -0
  169. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/collections/spike.py +0 -0
  170. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/collections/task_delegation.py +0 -0
  171. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/collections/todo.py +0 -0
  172. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/collections/traces.py +0 -0
  173. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/config.py +0 -0
  174. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/context_analytics.py +0 -0
  175. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/converter.py +0 -0
  176. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/cost_analysis/__init__.py +0 -0
  177. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/cost_analysis/analyzer.py +0 -0
  178. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/dashboard.html +0 -0
  179. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/dashboard.html.backup +0 -0
  180. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/dashboard.html.bak +0 -0
  181. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/dashboard.html.bak2 +0 -0
  182. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/dashboard.html.bak3 +0 -0
  183. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/db/__init__.py +0 -0
  184. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/db/queries.py +0 -0
  185. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/db/schema.py +0 -0
  186. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/dependency_models.py +0 -0
  187. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/deploy.py +0 -0
  188. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/deployment_models.py +0 -0
  189. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/docs/API_REFERENCE.md +0 -0
  190. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/docs/HTTP_API.md +0 -0
  191. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/docs/INTEGRATION_GUIDE.md +0 -0
  192. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/docs/ORCHESTRATION_PATTERNS.md +0 -0
  193. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/docs/README.md +0 -0
  194. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/docs/__init__.py +0 -0
  195. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/docs/docs_version.py +0 -0
  196. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/docs/metadata.py +0 -0
  197. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/docs/migrations.py +0 -0
  198. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/docs/template_engine.py +0 -0
  199. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/docs/templates/_sections/cli_reference.md.j2 +0 -0
  200. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/docs/templates/_sections/core_concepts.md.j2 +0 -0
  201. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/docs/templates/_sections/sdk_basics.md.j2 +0 -0
  202. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/docs/templates/base_agents.md.j2 +0 -0
  203. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/docs/templates/example_user_override.md.j2 +0 -0
  204. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/docs/version_check.py +0 -0
  205. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/edge_index.py +0 -0
  206. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/error_handler.py +0 -0
  207. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/event_log.py +0 -0
  208. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/event_migration.py +0 -0
  209. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/exceptions.py +0 -0
  210. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/extensions/gemini/GEMINI.md +0 -0
  211. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/extensions/gemini/README.md +0 -0
  212. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/extensions/gemini/gemini-extension.json +0 -0
  213. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/extensions/gemini/hooks/hooks.json +0 -0
  214. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/extensions/gemini/hooks/scripts/post-tool.sh +0 -0
  215. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/extensions/gemini/hooks/scripts/session-end.sh +0 -0
  216. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/extensions/gemini/hooks/scripts/session-start.sh +0 -0
  217. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/file_watcher.py +0 -0
  218. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/find_api.py +0 -0
  219. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/git_events.py +0 -0
  220. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/graph.py +0 -0
  221. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/hooks/.htmlgraph/.session-warning-state.json +0 -0
  222. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/hooks/.htmlgraph/agents.json +0 -0
  223. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/hooks/.htmlgraph/index.sqlite +0 -0
  224. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/hooks/__init__.py +0 -0
  225. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/hooks/bootstrap.py +0 -0
  226. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/hooks/cigs_pretool_enforcer.py +0 -0
  227. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/hooks/concurrent_sessions.py +0 -0
  228. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/hooks/context.py +0 -0
  229. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/hooks/drift_handler.py +0 -0
  230. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/hooks/event_tracker.py +0 -0
  231. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/hooks/git_commands.py +0 -0
  232. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/hooks/hooks-config.example.json +0 -0
  233. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/hooks/installer.py +0 -0
  234. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/hooks/orchestrator.py +0 -0
  235. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/hooks/orchestrator_reflector.py +0 -0
  236. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/hooks/post-checkout.sh +0 -0
  237. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/hooks/post-commit.sh +0 -0
  238. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/hooks/post-merge.sh +0 -0
  239. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/hooks/post_tool_use_failure.py +0 -0
  240. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/hooks/post_tool_use_handler.py +0 -0
  241. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/hooks/posttooluse.py +0 -0
  242. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/hooks/pre-commit.sh +0 -0
  243. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/hooks/pre-push.sh +0 -0
  244. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/hooks/pretooluse.py +0 -0
  245. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/hooks/prompt_analyzer.py +0 -0
  246. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/hooks/session_handler.py +0 -0
  247. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/hooks/session_summary.py +0 -0
  248. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/hooks/state_manager.py +0 -0
  249. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/hooks/subagent_detection.py +0 -0
  250. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/hooks/subagent_stop.py +0 -0
  251. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/hooks/task_enforcer.py +0 -0
  252. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/hooks/task_validator.py +0 -0
  253. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/hooks/validator.py +0 -0
  254. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/ids.py +0 -0
  255. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/index.d.ts +0 -0
  256. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/learning.py +0 -0
  257. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/mcp_server.py +0 -0
  258. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/models.py +0 -0
  259. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/operations/README.md +0 -0
  260. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/operations/__init__.py +0 -0
  261. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/operations/analytics.py +0 -0
  262. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/operations/events.py +0 -0
  263. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/operations/fastapi_server.py +0 -0
  264. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/operations/hooks.py +0 -0
  265. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/operations/initialization.py +0 -0
  266. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/operations/initialization.py.backup +0 -0
  267. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/operations/server.py +0 -0
  268. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/orchestration/__init__.py +0 -0
  269. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/orchestration/claude_launcher.py +0 -0
  270. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/orchestration/command_builder.py +0 -0
  271. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/orchestration/headless_spawner.py +0 -0
  272. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/orchestration/live_events.py +0 -0
  273. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/orchestration/model_selection.py +0 -0
  274. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/orchestration/plugin_manager.py +0 -0
  275. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/orchestration/prompts.py +0 -0
  276. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/orchestration/spawners/__init__.py +0 -0
  277. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/orchestration/spawners/base.py +0 -0
  278. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/orchestration/spawners/claude.py +0 -0
  279. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/orchestration/spawners/codex.py +0 -0
  280. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/orchestration/spawners/copilot.py +0 -0
  281. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/orchestration/spawners/gemini.py +0 -0
  282. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/orchestration/subprocess_runner.py +0 -0
  283. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/orchestration/task_coordination.py +0 -0
  284. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/orchestration.md +0 -0
  285. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/orchestrator-system-prompt-optimized.txt +0 -0
  286. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/orchestrator.py +0 -0
  287. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/orchestrator_config.py +0 -0
  288. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/orchestrator_mode.py +0 -0
  289. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/orchestrator_validator.py +0 -0
  290. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/parallel.py +0 -0
  291. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/parser.py +0 -0
  292. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/planning.py +0 -0
  293. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/pydantic_models.py +0 -0
  294. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/quality_gates.py +0 -0
  295. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/query_builder.py +0 -0
  296. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/reflection.py +0 -0
  297. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/repo_hash.py +0 -0
  298. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/routing.py +0 -0
  299. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/scripts/__init__.py +0 -0
  300. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/scripts/deploy.py +0 -0
  301. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/sdk.py +0 -0
  302. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/server.py +0 -0
  303. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/services/__init__.py +0 -0
  304. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/services/claiming.py +0 -0
  305. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/session_hooks.py +0 -0
  306. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/session_manager.py +0 -0
  307. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/session_registry.py +0 -0
  308. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/session_state.py +0 -0
  309. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/session_warning.py +0 -0
  310. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/setup.py +0 -0
  311. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/spike_index.py +0 -0
  312. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/styles.css +0 -0
  313. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/sync_docs.py +0 -0
  314. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/system_prompts.py +0 -0
  315. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/templates/AGENTS.md.template +0 -0
  316. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/templates/CLAUDE.md.template +0 -0
  317. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/templates/GEMINI.md.template +0 -0
  318. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/templates/orchestration-view.html +0 -0
  319. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/track_builder.py +0 -0
  320. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/track_manager.py +0 -0
  321. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/transcript.py +0 -0
  322. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/transcript_analytics.py +0 -0
  323. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/types.py +0 -0
  324. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/validation.py +0 -0
  325. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/watch.py +0 -0
  326. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/src/python/htmlgraph/work_type_utils.py +0 -0
  327. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/benchmarks/README.md +0 -0
  328. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/benchmarks/__init__.py +0 -0
  329. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/benchmarks/bench_graph.py +0 -0
  330. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/benchmarks/conftest.py +0 -0
  331. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/hooks/__init__.py +0 -0
  332. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/hooks/test_bootstrap.py +0 -0
  333. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/hooks/test_concurrent_sessions.py +0 -0
  334. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/hooks/test_context.py +0 -0
  335. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/hooks/test_event_tracker.py +0 -0
  336. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/hooks/test_git_commands.py +0 -0
  337. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/hooks/test_hybrid_event_capture.py +0 -0
  338. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/hooks/test_prompt_analyzer.py +0 -0
  339. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/hooks/test_session_handler.py +0 -0
  340. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/hooks/test_state_manager.py +0 -0
  341. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/hooks/test_system_prompt_persistence.py +0 -0
  342. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/hooks/test_system_prompt_persistence_integration.py +0 -0
  343. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/integration/multi_agent/README.md +0 -0
  344. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/integration/multi_agent/__init__.py +0 -0
  345. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/integration/multi_agent/test_agent_quirks.py +0 -0
  346. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/integration/multi_agent/test_git_continuity_spine.py +0 -0
  347. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/integration/test_cigs_hook_flow.py +0 -0
  348. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/integration/test_cigs_integration.py +0 -0
  349. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/integration/test_cigs_learning.py +0 -0
  350. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/integration/test_complexity_assessment.py +0 -0
  351. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/integration/test_dashboard_spawner_display.py +0 -0
  352. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/integration/test_delegation_events.py +0 -0
  353. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/integration/test_deployment_workflow.py +0 -0
  354. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/integration/test_discoverability.py +0 -0
  355. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/integration/test_edge_index_bug.py +0 -0
  356. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/integration/test_features.py +0 -0
  357. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/integration/test_handoff_routing.py +0 -0
  358. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/integration/test_multi_agent_coordination.py +0 -0
  359. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/integration/test_new_features.py +0 -0
  360. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/integration/test_orchestration_tab.py +0 -0
  361. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/integration/test_orchestration_with_playwright.py +0 -0
  362. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/integration/test_orchestrator_pattern.py +0 -0
  363. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/integration/test_orchestrator_spawner_delegation.py +0 -0
  364. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/integration/test_phase1_userquery.py +0 -0
  365. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/integration/test_phase4_delegation_events.py +0 -0
  366. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/integration/test_post_compact_delegation.py +0 -0
  367. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/integration/test_real_workitem_integration.py +0 -0
  368. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/integration/test_redesigned_dashboard.py +0 -0
  369. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/integration/test_spawner_integration.py +0 -0
  370. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/integration/test_spawner_live_events.py +0 -0
  371. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/integration/test_spawner_observability_e2e.py +0 -0
  372. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/integration/test_spawner_routing_live.py +0 -0
  373. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/integration/test_spawner_tool_tracking.py +0 -0
  374. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/integration/test_task_delegation.py +0 -0
  375. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/integration/test_user_query_events.py +0 -0
  376. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/integration/test_websocket_realtime.py +0 -0
  377. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/integration/test_websocket_streaming.py +0 -0
  378. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/js/README.md +0 -0
  379. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/js/test_htmlgraph.html +0 -0
  380. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/manual/test-hook-input.py +0 -0
  381. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/operations/__init__.py +0 -0
  382. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/operations/test_hooks.py +0 -0
  383. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/operations/test_server.py +0 -0
  384. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/python/__init__.py +0 -0
  385. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/python/conftest.py +0 -0
  386. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/python/test_activity_feed_ui.py +0 -0
  387. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/python/test_agent_attribution.py +0 -0
  388. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/python/test_agent_detection.py +0 -0
  389. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/python/test_analytics.py +0 -0
  390. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/python/test_archive_manager.py +0 -0
  391. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/python/test_archive_search.py +0 -0
  392. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/python/test_atomic_ops.py +0 -0
  393. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/python/test_auto_spike.py +0 -0
  394. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/python/test_cigs_pretool_enforcer.py +0 -0
  395. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/python/test_claiming.py +0 -0
  396. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/python/test_cli_commands.py +0 -0
  397. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/python/test_cli_pydantic_models.py +0 -0
  398. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/python/test_cli_rich_output.py +0 -0
  399. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/python/test_collection_filter.py +0 -0
  400. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/python/test_cost_analyzer.py +0 -0
  401. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/python/test_cross_agent_attribution.py +0 -0
  402. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/python/test_cross_session_analytics.py +0 -0
  403. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/python/test_dashboard_attribution.py +0 -0
  404. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/python/test_dashboard_ui.py +0 -0
  405. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/python/test_delegation_fk_fix.py +0 -0
  406. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/python/test_delete.py +0 -0
  407. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/python/test_deploy.py +0 -0
  408. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/python/test_drift_parent_activity.py +0 -0
  409. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/python/test_drift_queue_cleanup.py +0 -0
  410. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/python/test_edge_index.py +0 -0
  411. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/python/test_error_handling.py +0 -0
  412. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/python/test_event_index.py +0 -0
  413. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/python/test_event_query.py +0 -0
  414. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/python/test_event_tracing.py +0 -0
  415. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/python/test_feature_track_linkage_phase1.py +0 -0
  416. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/python/test_find_api.py +0 -0
  417. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/python/test_git_events.py +0 -0
  418. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/python/test_graph_traversal.py +0 -0
  419. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/python/test_handoff.py +0 -0
  420. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/python/test_headless_spawner.py +0 -0
  421. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/python/test_headless_spawner_parent_session.py +0 -0
  422. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/python/test_ids.py +0 -0
  423. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/python/test_install_hooks.py +0 -0
  424. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/python/test_lifecycle.py +0 -0
  425. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/python/test_mcp_server.py +0 -0
  426. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/python/test_mcp_stdio_transport.py +0 -0
  427. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/python/test_models.py +0 -0
  428. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/python/test_orchestration.py +0 -0
  429. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/python/test_orchestrator_circuit_breaker.py +0 -0
  430. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/python/test_orchestrator_cli.py +0 -0
  431. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/python/test_orchestrator_enforce_hook.py +0 -0
  432. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/python/test_orchestrator_mode.py +0 -0
  433. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/python/test_parent_child_event_linking.py +0 -0
  434. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/python/test_parent_child_linking.py +0 -0
  435. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/python/test_parent_linking_integration.py +0 -0
  436. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/python/test_pattern_storage.py +0 -0
  437. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/python/test_plugin_update_preservation.py +0 -0
  438. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/python/test_post_tool_use_failure.py +0 -0
  439. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/python/test_post_tool_use_handler.py +0 -0
  440. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/python/test_posttooluse_cigs.py +0 -0
  441. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/python/test_pre_commit_hooks.py +0 -0
  442. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/python/test_pre_work_validation_integration.py +0 -0
  443. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/python/test_quality_gates.py +0 -0
  444. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/python/test_query_builder.py +0 -0
  445. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/python/test_query_cache.py +0 -0
  446. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/python/test_query_compilation.py +0 -0
  447. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/python/test_reflection.py +0 -0
  448. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/python/test_repo_hash.py +0 -0
  449. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/python/test_routing.py +0 -0
  450. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/python/test_sdk_discoverability.py +0 -0
  451. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/python/test_sdk_get_active_work_item.py +0 -0
  452. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/python/test_sdk_parent_session.py +0 -0
  453. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/python/test_sdk_sqlite_integration.py +0 -0
  454. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/python/test_session_cleanup.py +0 -0
  455. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/python/test_session_continuity.py +0 -0
  456. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/python/test_session_integration.py +0 -0
  457. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/python/test_session_registry.py +0 -0
  458. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/python/test_session_start_cigs.py +0 -0
  459. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/python/test_session_start_info_validation.py +0 -0
  460. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/python/test_session_state_manager.py +0 -0
  461. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/python/test_spawner_agents.py +0 -0
  462. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/python/test_spawner_routing.py +0 -0
  463. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/python/test_sqlite_schema.py +0 -0
  464. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/python/test_stop_cigs.py +0 -0
  465. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/python/test_system_overhead_drift.py +0 -0
  466. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/python/test_template_system.py +0 -0
  467. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/python/test_todo_collection.py +0 -0
  468. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/python/test_traces_collection.py +0 -0
  469. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/python/test_track_loading.py +0 -0
  470. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/python/test_transcript_linking.py +0 -0
  471. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/python/test_update_preserves_incoming_edges.py +0 -0
  472. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/python/test_user_prompt_submit_cigs.py +0 -0
  473. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/python/test_validate_work_hook.py +0 -0
  474. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/python/test_version_migration.py +0 -0
  475. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/python/test_violation_tracker.py +0 -0
  476. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/python/test_work_queue.py +0 -0
  477. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/python/test_work_type.py +0 -0
  478. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/test_agent_routing.py +0 -0
  479. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/test_autonomy_recommender.py +0 -0
  480. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/test_cigs_cli.py +0 -0
  481. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/test_cigs_cost_calculator.py +0 -0
  482. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/test_cigs_cost_reporter.py +0 -0
  483. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/test_cigs_imperative_messages.py +0 -0
  484. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/test_cigs_messages_basic.py +0 -0
  485. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/test_cli_output_snapshots.py +0 -0
  486. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/test_cli_sdk_parity.py +0 -0
  487. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/test_deployment_models.py +0 -0
  488. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/test_event_log.py +0 -0
  489. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/test_hybrid_event_capture.py +0 -0
  490. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/test_orchestrator_config.py +0 -0
  491. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/test_orchestrator_validator.py +0 -0
  492. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/test_pattern_detector.py +0 -0
  493. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/test_sdk_api_surface.py +0 -0
  494. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/test_sdk_operations.py +0 -0
  495. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/test_transaction_snapshot.py +0 -0
  496. {htmlgraph-0.26.11 → htmlgraph-0.26.12}/tests/test_transcript.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: htmlgraph
3
- Version: 0.26.11
3
+ Version: 0.26.12
4
4
  Summary: HTML is All You Need - Graph database on web standards
5
5
  Project-URL: Homepage, https://github.com/Shakes-tzd/htmlgraph
6
6
  Project-URL: Documentation, https://github.com/Shakes-tzd/htmlgraph#readme
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "htmlgraph",
3
- "version": "0.26.11",
3
+ "version": "0.26.12",
4
4
  "description": "HtmlGraph session tracking and documentation for Gemini CLI. Ensures proper activity attribution, feature awareness, and continuous work tracking.",
5
5
  "author": "Shakes",
6
6
  "license": "MIT",
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "htmlgraph"
3
- version = "0.26.11"
3
+ version = "0.26.12"
4
4
  description = "HTML is All You Need - Graph database on web standards"
5
5
  authors = [{name = "Shakes", email = "shakestzd@gmail.com"}]
6
6
  readme = "README.md"
@@ -95,7 +95,7 @@ from htmlgraph.types import (
95
95
  )
96
96
  from htmlgraph.work_type_utils import infer_work_type, infer_work_type_from_id
97
97
 
98
- __version__ = "0.26.11"
98
+ __version__ = "0.26.12"
99
99
  __all__ = [
100
100
  # Exceptions
101
101
  "HtmlGraphError",
@@ -2,5 +2,5 @@
2
2
  "dismissed_at": null,
3
3
  "dismissed_by": null,
4
4
  "session_id": null,
5
- "show_count": 6
5
+ "show_count": 104
6
6
  }
@@ -50,12 +50,10 @@ def test_codex_cli_availability():
50
50
  print("=" * 80)
51
51
 
52
52
  import subprocess
53
+
53
54
  try:
54
55
  result = subprocess.run(
55
- ["codex", "--version"],
56
- capture_output=True,
57
- text=True,
58
- timeout=5
56
+ ["codex", "--version"], capture_output=True, text=True, timeout=5
59
57
  )
60
58
  print(f"✅ Codex CLI found: {result.stdout.strip()}")
61
59
  return True
@@ -82,10 +80,10 @@ def test_codex_spawner_simple():
82
80
  output_json=True,
83
81
  full_auto=True,
84
82
  track_in_htmlgraph=False, # Disable tracking for simple test
85
- timeout=30
83
+ timeout=30,
86
84
  )
87
85
 
88
- print(f"\nResult:")
86
+ print("\nResult:")
89
87
  print(f" Success: {result.success}")
90
88
  print(f" Response: {result.response[:200] if result.response else 'None'}")
91
89
  print(f" Error: {result.error}")
@@ -116,6 +114,7 @@ def test_database_events():
116
114
  print("=" * 80)
117
115
 
118
116
  import sqlite3
117
+
119
118
  from htmlgraph.config import get_database_path
120
119
 
121
120
  db_path = get_database_path()
@@ -157,7 +156,9 @@ def test_database_events():
157
156
  """)
158
157
  linked_count = cursor.fetchone()[0]
159
158
 
160
- print(f"✅ Parent event linking: {linked_count} subprocess.codex events have parent_event_id")
159
+ print(
160
+ f"✅ Parent event linking: {linked_count} subprocess.codex events have parent_event_id"
161
+ )
161
162
 
162
163
  conn.close()
163
164
  return True
@@ -174,6 +175,7 @@ def test_error_analysis():
174
175
  print("=" * 80)
175
176
 
176
177
  import sqlite3
178
+
177
179
  from htmlgraph.config import get_database_path
178
180
 
179
181
  try:
@@ -204,17 +206,17 @@ def test_error_analysis():
204
206
  "chatgpt_plan": 0,
205
207
  "model_not_supported": 0,
206
208
  "authentication": 0,
207
- "other": 0
209
+ "other": 0,
208
210
  }
209
211
 
210
212
  for (output,) in errors:
211
- print(f"Error output sample:")
213
+ print("Error output sample:")
212
214
  print(f" {output[:200]}...")
213
215
  print()
214
216
 
215
217
  # Parse JSONL error messages
216
218
  try:
217
- for line in output.split('\n'):
219
+ for line in output.split("\n"):
218
220
  if not line.strip():
219
221
  continue
220
222
  try:
@@ -338,9 +340,11 @@ def main():
338
340
  print("DIAGNOSTIC SUMMARY")
339
341
  print("=" * 80)
340
342
  print(f"Codex CLI Available: {'✅ YES' if cli_available else '❌ NO'}")
341
- print(f"CodexSpawner Working: {'✅ YES' if spawner_works else '❌ NO (API access blocked)'}")
342
- print(f"Event Tracking: ✅ YES (SpawnerEventTracker integration working)")
343
- print(f"Root Cause: ❌ ChatGPT account tier limitation")
343
+ print(
344
+ f"CodexSpawner Working: {'✅ YES' if spawner_works else '❌ NO (API access blocked)'}"
345
+ )
346
+ print("Event Tracking: ✅ YES (SpawnerEventTracker integration working)")
347
+ print("Root Cause: ❌ ChatGPT account tier limitation")
344
348
  print("=" * 80)
345
349
 
346
350
 
@@ -16,10 +16,11 @@ from datetime import datetime, timezone
16
16
  from pathlib import Path
17
17
 
18
18
  # Add plugin agents directory to path for SpawnerEventTracker
19
- PLUGIN_AGENTS_DIR = Path(__file__).parent / "packages/claude-plugin/.claude-plugin/agents"
19
+ PLUGIN_AGENTS_DIR = (
20
+ Path(__file__).parent / "packages/claude-plugin/.claude-plugin/agents"
21
+ )
20
22
  sys.path.insert(0, str(PLUGIN_AGENTS_DIR))
21
23
 
22
- from htmlgraph import SDK
23
24
  from htmlgraph.config import get_database_path
24
25
  from htmlgraph.db.schema import HtmlGraphDB
25
26
  from htmlgraph.orchestration import CopilotSpawner
@@ -41,9 +42,9 @@ def setup_parent_event_context(db: HtmlGraphDB, session_id: str) -> tuple[str, s
41
42
  task_delegation_event_id = f"event-{uuid.uuid4().hex[:8]}"
42
43
  start_time = datetime.now(timezone.utc).strftime("%Y-%m-%d %H:%M:%S")
43
44
 
44
- print(f"\n{'='*80}")
45
+ print(f"\n{'=' * 80}")
45
46
  print("SETUP: Creating parent event context")
46
- print(f"{'='*80}")
47
+ print(f"{'=' * 80}")
47
48
  print(f"Session ID: {session_id}")
48
49
  print(f"UserQuery Event ID: {user_query_event_id}")
49
50
  print(f"Task Delegation Event ID: {task_delegation_event_id}")
@@ -87,7 +88,7 @@ def setup_parent_event_context(db: HtmlGraphDB, session_id: str) -> tuple[str, s
87
88
  )
88
89
  db.connection.commit()
89
90
 
90
- print(f"\n✅ Parent events created in database")
91
+ print("\n✅ Parent events created in database")
91
92
  return user_query_event_id, task_delegation_event_id
92
93
 
93
94
 
@@ -99,9 +100,9 @@ def setup_environment(session_id: str, parent_event_id: str) -> None:
99
100
  session_id: Session ID
100
101
  parent_event_id: Parent event ID (task delegation)
101
102
  """
102
- print(f"\n{'='*80}")
103
+ print(f"\n{'=' * 80}")
103
104
  print("SETUP: Exporting parent context to environment")
104
- print(f"{'='*80}")
105
+ print(f"{'=' * 80}")
105
106
 
106
107
  os.environ["HTMLGRAPH_PARENT_EVENT"] = parent_event_id
107
108
  os.environ["HTMLGRAPH_PARENT_SESSION"] = session_id
@@ -110,7 +111,7 @@ def setup_environment(session_id: str, parent_event_id: str) -> None:
110
111
 
111
112
  print(f"HTMLGRAPH_PARENT_EVENT: {parent_event_id}")
112
113
  print(f"HTMLGRAPH_PARENT_SESSION: {session_id}")
113
- print(f"✅ Environment configured")
114
+ print("✅ Environment configured")
114
115
 
115
116
 
116
117
  def invoke_copilot_spawner(
@@ -127,9 +128,9 @@ def invoke_copilot_spawner(
127
128
  Returns:
128
129
  Dict with result and metadata
129
130
  """
130
- print(f"\n{'='*80}")
131
+ print(f"\n{'=' * 80}")
131
132
  print("INVOCATION: Spawning Copilot with tracking")
132
- print(f"{'='*80}")
133
+ print(f"{'=' * 80}")
133
134
 
134
135
  spawner = CopilotSpawner()
135
136
 
@@ -148,8 +149,8 @@ Please recommend:
148
149
  print(f"Prompt: {prompt[:100]}...")
149
150
  print(f"Tracker: {tracker}")
150
151
  print(f"Parent Event ID: {parent_event_id}")
151
- print(f"Track in HtmlGraph: True")
152
- print(f"Allow all tools: True")
152
+ print("Track in HtmlGraph: True")
153
+ print("Allow all tools: True")
153
154
 
154
155
  result = spawner.spawn(
155
156
  prompt=prompt,
@@ -186,24 +187,25 @@ def validate_results(
186
187
  Returns:
187
188
  True if validation passed, False otherwise
188
189
  """
189
- print(f"\n{'='*80}")
190
+ print(f"\n{'=' * 80}")
190
191
  print("VALIDATION: Checking event hierarchy in database")
191
- print(f"{'='*80}")
192
+ print(f"{'=' * 80}")
192
193
 
193
194
  result = result_data["result"]
194
- prompt = result_data["prompt"]
195
195
 
196
196
  # Check AIResult structure
197
- print(f"\n1. AIResult Validation:")
197
+ print("\n1. AIResult Validation:")
198
198
  print(f" Success: {result.success}")
199
199
  print(f" Response length: {len(result.response) if result.response else 0}")
200
200
  print(f" Error: {result.error}")
201
- print(f" Tracked events: {len(result.tracked_events) if result.tracked_events else 0}")
201
+ print(
202
+ f" Tracked events: {len(result.tracked_events) if result.tracked_events else 0}"
203
+ )
202
204
 
203
205
  if not result.success:
204
206
  print(f"\n⚠️ Copilot execution failed: {result.error}")
205
- print(f" This is expected if Copilot CLI is not installed")
206
- print(f" Continuing validation of event tracking structure...")
207
+ print(" This is expected if Copilot CLI is not installed")
208
+ print(" Continuing validation of event tracking structure...")
207
209
 
208
210
  # Query all events in this session
209
211
  cursor = db.connection.cursor()
@@ -245,7 +247,7 @@ def validate_results(
245
247
  elif parent_event_id == task_delegation_event_id:
246
248
  indent = " "
247
249
 
248
- print(f"{indent}[{i+1}] {tool_name} ({event_type})")
250
+ print(f"{indent}[{i + 1}] {tool_name} ({event_type})")
249
251
  print(f"{indent} Event ID: {event_id}")
250
252
  print(f"{indent} Agent: {agent_id}")
251
253
  print(f"{indent} Parent: {parent_event_id or 'ROOT'}")
@@ -254,34 +256,38 @@ def validate_results(
254
256
  print(f"{indent} Summary: {input_summary[:60]}...")
255
257
 
256
258
  # Validate hierarchy
257
- print(f"\n3. Hierarchy Validation:")
259
+ print("\n3. Hierarchy Validation:")
258
260
 
259
261
  # Check UserQuery exists
260
262
  user_query = [e for e in events if e[0] == user_query_event_id]
261
263
  if user_query:
262
- print(f" ✅ UserQuery event found (root)")
264
+ print(" ✅ UserQuery event found (root)")
263
265
  else:
264
- print(f" ❌ UserQuery event NOT found")
266
+ print(" ❌ UserQuery event NOT found")
265
267
  validation_passed = False
266
268
 
267
269
  # Check Task delegation exists and is child of UserQuery
268
270
  task_delegation = [e for e in events if e[0] == task_delegation_event_id]
269
271
  if task_delegation and task_delegation[0][5] == user_query_event_id:
270
- print(f" ✅ Task delegation event found (child of UserQuery)")
272
+ print(" ✅ Task delegation event found (child of UserQuery)")
271
273
  else:
272
- print(f" ❌ Task delegation event NOT properly linked")
274
+ print(" ❌ Task delegation event NOT properly linked")
273
275
  validation_passed = False
274
276
 
275
277
  # Check subprocess events exist and are children of Task delegation
276
278
  subprocess_events = [
277
- e for e in events if e[5] == task_delegation_event_id and e[3] == "subprocess.copilot"
279
+ e
280
+ for e in events
281
+ if e[5] == task_delegation_event_id and e[3] == "subprocess.copilot"
278
282
  ]
279
283
  if subprocess_events:
280
284
  print(
281
285
  f" ✅ {len(subprocess_events)} subprocess event(s) found (children of Task delegation)"
282
286
  )
283
287
  else:
284
- print(f" ⚠️ No subprocess events found (expected if Copilot CLI not available)")
288
+ print(
289
+ " ⚠️ No subprocess events found (expected if Copilot CLI not available)"
290
+ )
285
291
 
286
292
  # Check for activity tracking events (copilot_start, copilot_result)
287
293
  activity_events = [
@@ -292,15 +298,19 @@ def validate_results(
292
298
  if activity_events:
293
299
  print(f" ✅ {len(activity_events)} activity tracking event(s) found")
294
300
  else:
295
- print(f" ⚠️ No activity tracking events found")
301
+ print(" ⚠️ No activity tracking events found")
296
302
 
297
303
  # Summary
298
- print(f"\n{'='*80}")
304
+ print(f"\n{'=' * 80}")
299
305
  print("SUMMARY")
300
- print(f"{'='*80}")
306
+ print(f"{'=' * 80}")
301
307
  print(f"Total events in session: {len(events)}")
302
- print(f"UserQuery events: {len([e for e in events if e[2] == 'tool_call' and e[3] == 'UserPromptSubmit'])}")
303
- print(f"Task delegation events: {len([e for e in events if e[2] == 'task_delegation'])}")
308
+ print(
309
+ f"UserQuery events: {len([e for e in events if e[2] == 'tool_call' and e[3] == 'UserPromptSubmit'])}"
310
+ )
311
+ print(
312
+ f"Task delegation events: {len([e for e in events if e[2] == 'task_delegation'])}"
313
+ )
304
314
  print(f"Subprocess events: {len(subprocess_events)}")
305
315
  print(f"Activity events: {len(activity_events)}")
306
316
  print(f"\nValidation: {'✅ PASSED' if validation_passed else '❌ FAILED'}")
@@ -310,9 +320,9 @@ def validate_results(
310
320
 
311
321
  def main() -> int:
312
322
  """Run the complete test workflow."""
313
- print(f"\n{'#'*80}")
323
+ print(f"\n{'#' * 80}")
314
324
  print("# CopilotSpawner Parent Event Context Test")
315
- print(f"{'#'*80}")
325
+ print(f"{'#' * 80}")
316
326
 
317
327
  try:
318
328
  # Initialize database
@@ -321,7 +331,7 @@ def main() -> int:
321
331
 
322
332
  if not db_path.exists():
323
333
  print(f"❌ Database not found at {db_path}")
324
- print(f" Run: htmlgraph init")
334
+ print(" Run: htmlgraph init")
325
335
  return 1
326
336
 
327
337
  db = HtmlGraphDB(str(db_path))
@@ -339,9 +349,9 @@ def main() -> int:
339
349
  setup_environment(session_id, task_delegation_event_id)
340
350
 
341
351
  # Step 3: Create tracker with parent context
342
- print(f"\n{'='*80}")
352
+ print(f"\n{'=' * 80}")
343
353
  print("SETUP: Creating SpawnerEventTracker")
344
- print(f"{'='*80}")
354
+ print(f"{'=' * 80}")
345
355
 
346
356
  tracker = SpawnerEventTracker(
347
357
  delegation_event_id=task_delegation_event_id,
@@ -351,12 +361,12 @@ def main() -> int:
351
361
  )
352
362
  tracker.db = db # Ensure tracker uses the same database
353
363
 
354
- print(f"Tracker created:")
364
+ print("Tracker created:")
355
365
  print(f" Delegation Event ID: {task_delegation_event_id}")
356
- print(f" Parent Agent: claude")
357
- print(f" Spawner Type: copilot")
366
+ print(" Parent Agent: claude")
367
+ print(" Spawner Type: copilot")
358
368
  print(f" Session ID: {session_id}")
359
- print(f"✅ Tracker initialized")
369
+ print("✅ Tracker initialized")
360
370
 
361
371
  # Step 4: Invoke CopilotSpawner
362
372
  result_data = invoke_copilot_spawner(tracker, task_delegation_event_id)
@@ -373,22 +383,22 @@ def main() -> int:
373
383
  # Step 6: Display response (if successful)
374
384
  result = result_data["result"]
375
385
  if result.success and result.response:
376
- print(f"\n{'='*80}")
386
+ print(f"\n{'=' * 80}")
377
387
  print("COPILOT RESPONSE")
378
- print(f"{'='*80}")
388
+ print(f"{'=' * 80}")
379
389
  print(result.response)
380
390
 
381
- print(f"\n{'#'*80}")
391
+ print(f"\n{'#' * 80}")
382
392
  print(f"# Test {'PASSED' if validation_passed else 'FAILED'}")
383
- print(f"{'#'*80}\n")
393
+ print(f"{'#' * 80}\n")
384
394
 
385
395
  return 0 if validation_passed else 1
386
396
 
387
397
  except KeyboardInterrupt:
388
- print(f"\n\n⚠️ Test interrupted by user")
398
+ print("\n\n⚠️ Test interrupted by user")
389
399
  return 130
390
400
  except Exception as e:
391
- print(f"\n\n❌ Test failed with exception:")
401
+ print("\n\n❌ Test failed with exception:")
392
402
  print(f" {type(e).__name__}: {e}")
393
403
  import traceback
394
404
 
@@ -27,7 +27,7 @@ def test_basic_gemini():
27
27
  output_format="json",
28
28
  model="gemini-2.0-flash",
29
29
  track_in_htmlgraph=False,
30
- timeout=30
30
+ timeout=30,
31
31
  )
32
32
 
33
33
  print(f"Success: {result.success}")
@@ -49,7 +49,7 @@ def test_basic_gemini():
49
49
  output_format="stream-json",
50
50
  model="gemini-2.0-flash",
51
51
  track_in_htmlgraph=False,
52
- timeout=30
52
+ timeout=30,
53
53
  )
54
54
 
55
55
  print(f"Success: {result2.success}")