dialectical-framework 1.7.2__tar.gz → 1.8.1__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 (225) hide show
  1. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/PKG-INFO +14 -5
  2. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/README.md +13 -5
  3. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/pyproject.toml +1 -1
  4. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/agents/advisor/advisor.py +300 -148
  5. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/agents/advisor/system_prompts.py +73 -1
  6. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/agents/advisor/tools/anchor.py +47 -0
  7. dialectical_framework-1.8.1/src/dialectical_framework/agents/advisor/tools/deepen.py +152 -0
  8. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/agents/advisor/tools/explore.py +26 -0
  9. dialectical_framework-1.8.1/src/dialectical_framework/agents/advisor/tools/ingest.py +129 -0
  10. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/agents/advisor/tools/record_decision.py +37 -12
  11. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/agents/advisor/tools/scoped.py +86 -2
  12. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/agents/analyst/analyst.py +169 -30
  13. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/agents/analyst/skills/anchor_theses.py +58 -6
  14. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/agents/analyst/skills/edit_perspective.py +160 -4
  15. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/agents/analyst/skills/expand_polarities.py +45 -1
  16. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/agents/analyst/skills/find_polarities.py +76 -3
  17. dialectical_framework-1.8.1/src/dialectical_framework/agents/analyst/skills/introduce_polarity.py +381 -0
  18. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/agents/analyst/skills/surface_theses.py +273 -18
  19. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/agents/analyst/system_prompts.py +15 -4
  20. dialectical_framework-1.8.1/src/dialectical_framework/agents/conversation_facilitator.py +1224 -0
  21. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/agents/explorer/explorer.py +16 -4
  22. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/agents/explorer/skills/explore_transformations.py +396 -84
  23. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/agents/explorer/skills/generate_synthesis.py +69 -7
  24. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/agents/explorer/system_prompts.py +11 -4
  25. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/agents/explorer/tools/present_exploration.py +17 -0
  26. dialectical_framework-1.8.1/src/dialectical_framework/agents/orchestrator/tools/add_input.py +47 -0
  27. dialectical_framework-1.8.1/src/dialectical_framework/agents/orchestrator/tools/audit_feasibility.py +287 -0
  28. dialectical_framework-1.8.1/src/dialectical_framework/agents/orchestrator/tools/digest_input.py +44 -0
  29. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/agents/orchestrator/tools/get_schema.py +1 -1
  30. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/agents/orchestrator/tools/inspect_node.py +34 -3
  31. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/agents/orchestrator/tools/present_analysis.py +12 -4
  32. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/agents/stream_events.py +33 -2
  33. dialectical_framework-1.8.1/src/dialectical_framework/agents/turn_timing.py +206 -0
  34. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/concerns/ac_re_taxonomy.py +90 -0
  35. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/concerns/action_extraction.py +21 -26
  36. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/concerns/add_input.py +9 -8
  37. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/concerns/antithesis_extraction.py +92 -3
  38. dialectical_framework-1.8.1/src/dialectical_framework/concerns/build_status.py +362 -0
  39. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/concerns/causality/causality_estimator_balanced.py +24 -9
  40. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/concerns/create_dx_input.py +1 -3
  41. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/concerns/dialectical_context.py +142 -6
  42. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/concerns/positive_ac_re_apex_derivation.py +69 -29
  43. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/concerns/record_decision.py +15 -0
  44. dialectical_framework-1.8.1/src/dialectical_framework/concerns/source_digest.py +528 -0
  45. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/concerns/statement_deduplication.py +22 -2
  46. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/concerns/synthesis_generation.py +37 -18
  47. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/concerns/thesis_extraction.py +111 -19
  48. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/concerns/transformation_audit.py +94 -8
  49. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/concerns/transformation_generation.py +21 -0
  50. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/dialectical_reasoning.py +4 -0
  51. dialectical_framework-1.8.1/src/dialectical_framework/events/graph_event_bus.py +107 -0
  52. dialectical_framework-1.8.1/src/dialectical_framework/events/progress_event.py +131 -0
  53. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/graph/nodes/rationale.py +19 -0
  54. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/graph/nodes/synthesis.py +13 -1
  55. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/graph/nodes/transformation.py +27 -0
  56. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/graph/nodes/wheel.py +3 -4
  57. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/graph/rendering.py +255 -0
  58. dialectical_framework-1.8.1/src/dialectical_framework/graph/repositories/case_repository.py +101 -0
  59. dialectical_framework-1.8.1/src/dialectical_framework/graph/repositories/input_repository.py +185 -0
  60. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/graph/repositories/node_repository.py +60 -19
  61. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/graph/repositories/transformation_repository.py +42 -2
  62. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/graph/repositories/wheel_repository.py +47 -0
  63. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/settings.py +30 -0
  64. dialectical_framework-1.8.1/src/dialectical_framework/utils/async_drain.py +134 -0
  65. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/utils/bedrock_provider.py +159 -0
  66. dialectical_framework-1.8.1/src/dialectical_framework/utils/call_census.py +409 -0
  67. dialectical_framework-1.8.1/src/dialectical_framework/utils/chunking.py +138 -0
  68. dialectical_framework-1.8.1/src/dialectical_framework/utils/input_context.py +168 -0
  69. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/utils/order_transitions.py +25 -0
  70. dialectical_framework-1.8.1/src/dialectical_framework/utils/progress.py +419 -0
  71. dialectical_framework-1.8.1/src/dialectical_framework/utils/retry_accounting.py +137 -0
  72. dialectical_framework-1.8.1/src/dialectical_framework/utils/use_brain.py +928 -0
  73. dialectical_framework-1.7.2/src/dialectical_framework/agents/advisor/tools/deepen.py +0 -84
  74. dialectical_framework-1.7.2/src/dialectical_framework/agents/advisor/tools/ingest.py +0 -58
  75. dialectical_framework-1.7.2/src/dialectical_framework/agents/analyst/skills/introduce_polarity.py +0 -243
  76. dialectical_framework-1.7.2/src/dialectical_framework/agents/conversation_facilitator.py +0 -551
  77. dialectical_framework-1.7.2/src/dialectical_framework/agents/orchestrator/tools/add_input.py +0 -27
  78. dialectical_framework-1.7.2/src/dialectical_framework/agents/orchestrator/tools/digest_input.py +0 -28
  79. dialectical_framework-1.7.2/src/dialectical_framework/concerns/source_digest.py +0 -195
  80. dialectical_framework-1.7.2/src/dialectical_framework/events/graph_event_bus.py +0 -55
  81. dialectical_framework-1.7.2/src/dialectical_framework/graph/repositories/case_repository.py +0 -52
  82. dialectical_framework-1.7.2/src/dialectical_framework/graph/repositories/input_repository.py +0 -52
  83. dialectical_framework-1.7.2/src/dialectical_framework/utils/input_context.py +0 -51
  84. dialectical_framework-1.7.2/src/dialectical_framework/utils/use_brain.py +0 -433
  85. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/LICENSE +0 -0
  86. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/PATENTS +0 -0
  87. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/__init__.py +0 -0
  88. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/agents/__init__.py +0 -0
  89. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/agents/advisor/__init__.py +0 -0
  90. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/agents/advisor/tools/__init__.py +0 -0
  91. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/agents/advisor/tools/sync.py +0 -0
  92. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/agents/agent_context.py +0 -0
  93. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/agents/analyst/__init__.py +0 -0
  94. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/agents/analyst/skills/__init__.py +0 -0
  95. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/agents/analyst/tools/__init__.py +0 -0
  96. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/agents/analyst/tools/place_statement.py +0 -0
  97. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/agents/app_spec.py +0 -0
  98. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/agents/apps.py +0 -0
  99. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/agents/execution_report.py +0 -0
  100. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/agents/explorer/__init__.py +0 -0
  101. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/agents/explorer/skills/__init__.py +0 -0
  102. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/agents/explorer/skills/build_wheels.py +0 -0
  103. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/agents/explorer/tools/__init__.py +0 -0
  104. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/agents/explorer/tools/create_nexus.py +0 -0
  105. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/agents/explorer/tools/expand_nexus.py +0 -0
  106. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/agents/explorer/tools/generate_synthesis.py +0 -0
  107. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/agents/orchestrator/__init__.py +0 -0
  108. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/agents/orchestrator/tools/__init__.py +0 -0
  109. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/agents/orchestrator/tools/create_dx_input.py +0 -0
  110. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/agents/orchestrator/tools/discard.py +0 -0
  111. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/agents/orchestrator/tools/query_graph.py +0 -0
  112. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/agents/orchestrator/tools/read_digest.py +0 -0
  113. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/agents/orchestrator/tools/read_input.py +0 -0
  114. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/agents/reasonable_concern.py +0 -0
  115. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/agents/toolsets.py +0 -0
  116. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/concerns/__init__.py +0 -0
  117. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/concerns/ai_dto/__init__.py +0 -0
  118. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/concerns/ai_dto/statement_dto.py +0 -0
  119. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/concerns/ai_dto/statements_deck_dto.py +0 -0
  120. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/concerns/antithesis_classification.py +0 -0
  121. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/concerns/antithetical_thesis_detection.py +0 -0
  122. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/concerns/aspect_classification.py +0 -0
  123. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/concerns/aspect_generation.py +0 -0
  124. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/concerns/causality/__init__.py +0 -0
  125. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/concerns/causality/causality_estimator.py +0 -0
  126. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/concerns/causality/causality_estimator_criteria.py +0 -0
  127. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/concerns/causality/causality_estimator_desirable.py +0 -0
  128. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/concerns/causality/causality_estimator_feasible.py +0 -0
  129. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/concerns/causality/causality_estimator_realistic.py +0 -0
  130. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/concerns/causality/causality_normalizer.py +0 -0
  131. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/concerns/causality/estimator_resolver.py +0 -0
  132. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/concerns/causality_estimation.py +0 -0
  133. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/concerns/control_statements_check.py +0 -0
  134. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/concerns/create_nexus.py +0 -0
  135. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/concerns/decision_coherence_check.py +0 -0
  136. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/concerns/decision_confirmation_check.py +0 -0
  137. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/concerns/diagonal_oppositions_check.py +0 -0
  138. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/concerns/discard.py +0 -0
  139. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/concerns/display_text_edit.py +0 -0
  140. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/concerns/expand_nexus.py +0 -0
  141. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/concerns/perspective_combination.py +0 -0
  142. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/concerns/perspective_validation.py +0 -0
  143. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/concerns/scoring_scales.py +0 -0
  144. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/concerns/statement_classification.py +0 -0
  145. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/concerns/statement_headline.py +0 -0
  146. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/concerns/statement_placement.py +0 -0
  147. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/concerns/tetrad_grounding.py +0 -0
  148. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/enums/__init__.py +0 -0
  149. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/enums/causality_preset.py +0 -0
  150. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/enums/di.py +0 -0
  151. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/events/__init__.py +0 -0
  152. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/events/graph_event.py +0 -0
  153. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/exceptions/__init__.py +0 -0
  154. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/exceptions/node_errors.py +0 -0
  155. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/exceptions/resolver_errors.py +0 -0
  156. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/graph/__init__.py +0 -0
  157. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/graph/composite_input_resolver.py +0 -0
  158. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/graph/dialexity_input_resolver.py +0 -0
  159. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/graph/estimation_manager.py +0 -0
  160. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/graph/mixins/__init__.py +0 -0
  161. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/graph/mixins/incremental_build_mixin.py +0 -0
  162. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/graph/mixins/intent_mixin.py +0 -0
  163. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/graph/mixins/persistable_mixin.py +0 -0
  164. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/graph/nodes/__init__.py +0 -0
  165. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/graph/nodes/assessable_entity.py +0 -0
  166. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/graph/nodes/base_node.py +0 -0
  167. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/graph/nodes/case.py +0 -0
  168. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/graph/nodes/cycle.py +0 -0
  169. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/graph/nodes/decision.py +0 -0
  170. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/graph/nodes/estimation.py +0 -0
  171. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/graph/nodes/ideas.py +0 -0
  172. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/graph/nodes/input.py +0 -0
  173. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/graph/nodes/nexus.py +0 -0
  174. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/graph/nodes/perspective.py +0 -0
  175. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/graph/nodes/polarity.py +0 -0
  176. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/graph/nodes/statement.py +0 -0
  177. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/graph/nodes/transition.py +0 -0
  178. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/graph/relationship_manager.py +0 -0
  179. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/graph/relationships/__init__.py +0 -0
  180. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/graph/relationships/action_reflection_relationship.py +0 -0
  181. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/graph/relationships/belongs_to_cycle_relationship.py +0 -0
  182. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/graph/relationships/belongs_to_nexus_relationship.py +0 -0
  183. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/graph/relationships/changed_to_relationship.py +0 -0
  184. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/graph/relationships/contradiction_of_relationship.py +0 -0
  185. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/graph/relationships/critiques_relationship.py +0 -0
  186. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/graph/relationships/distilled_to_relationship.py +0 -0
  187. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/graph/relationships/estimates_relationship.py +0 -0
  188. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/graph/relationships/explains_relationship.py +0 -0
  189. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/graph/relationships/grounded_in_relationship.py +0 -0
  190. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/graph/relationships/has_input_relationship.py +0 -0
  191. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/graph/relationships/has_statement_relationship.py +0 -0
  192. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/graph/relationships/has_wheel_relationship.py +0 -0
  193. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/graph/relationships/immutable_structure.py +0 -0
  194. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/graph/relationships/is_source_of_relationship.py +0 -0
  195. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/graph/relationships/is_target_of_relationship.py +0 -0
  196. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/graph/relationships/negative_side_of_relationship.py +0 -0
  197. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/graph/relationships/opposite_direction_relationship.py +0 -0
  198. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/graph/relationships/opposite_of_relationship.py +0 -0
  199. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/graph/relationships/polarity_relationship.py +0 -0
  200. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/graph/relationships/positive_side_of_relationship.py +0 -0
  201. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/graph/relationships/provides_relationship.py +0 -0
  202. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/graph/relationships/synthesis_of_relationship.py +0 -0
  203. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/graph/repositories/__init__.py +0 -0
  204. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/graph/repositories/cycle_repository.py +0 -0
  205. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/graph/repositories/decision_repository.py +0 -0
  206. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/graph/repositories/nexus_repository.py +0 -0
  207. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/graph/repositories/perspective_repository.py +0 -0
  208. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/graph/repositories/polarity_repository.py +0 -0
  209. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/graph/repositories/schema_repository.py +0 -0
  210. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/graph/repositories/statement_repository.py +0 -0
  211. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/graph/scope_context.py +0 -0
  212. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/graph/verbatim_input_resolver.py +0 -0
  213. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/graph/wheel_segment.py +0 -0
  214. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/graph/wheel_segment_polar_pair.py +0 -0
  215. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/protocols/__init__.py +0 -0
  216. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/protocols/has_config.py +0 -0
  217. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/protocols/input_resolver.py +0 -0
  218. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/utils/__init__.py +0 -0
  219. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/utils/concurrency.py +0 -0
  220. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/utils/dc_replace.py +0 -0
  221. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/utils/decompose_probability_uniformly.py +0 -0
  222. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/utils/edge_context.py +0 -0
  223. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/utils/effect_logger.py +0 -0
  224. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/utils/sequence_generation.py +0 -0
  225. {dialectical_framework-1.7.2 → dialectical_framework-1.8.1}/src/dialectical_framework/utils/thinking_compat.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: dialectical-framework
3
- Version: 1.7.2
3
+ Version: 1.8.1
4
4
  Summary: A dialectical framework for augmented intelligence. AI reasoning powered with dialectics supports humans in: system optimization (psychology, engineering, business, politics, etc.); dispute resolution (mediation, conflicts, negotiations, etc.); decision-making (dilemmas, challenging situations, win-win, etc.).
5
5
  License: MIT
6
6
  Keywords: dialectics,dialectical-reasoning,synthesis,thesis-antithesis,ai,artificial-intelligence,llm,reasoning-framework,philosophy,logic,argumentation,conflict-resolution,decision-making,critical-thinking,semantic-graph,mirascope,pydantic,perspectives,polarity-reasoning
@@ -41,7 +41,7 @@ Description-Content-Type: text/markdown
41
41
 
42
42
  # Dialectical Framework
43
43
 
44
- **Make an LLM reason in oppositions, not averages.**
44
+ **Dialectical AI: Achieving Objectivity and Synthesis in LLM Reasoning via Structured Tension Graphs**
45
45
 
46
46
  Ask a model a hard question and it tends to collapse the tension into one confident answer — or hedge with a bland "on one hand… on the other." This framework does neither. For every thesis it generates a genuine antithesis, maps precisely where each side overreaches (T-, A-) and where it constructively balances the other (T+, A+), and drives the pair toward a **synthesis** — not a compromise, but a new quality that emerges from their circular causality and that neither pole held alone.
47
47
 
@@ -129,6 +129,8 @@ Wherever the answer is a tension rather than a fact, this drops in as the reason
129
129
  Analyst + Explorer are the structure-forward "graph navigator" experience; the Advisor is a chat-only product over the same graph. See [docs/agents.md](docs/agents.md) for full specs, tool lists, and the UX to build around each.
130
130
 
131
131
  ```python
132
+ from contextlib import aclosing
133
+
132
134
  from dialectical_framework.dialectical_reasoning import DialecticalReasoning
133
135
  from dialectical_framework.settings import Settings
134
136
  from dialectical_framework.graph.nodes.case import Case
@@ -143,9 +145,15 @@ case = Case(); case.commit()
143
145
 
144
146
  with scope(case.sid):
145
147
  advisor = Advisor(app_preamble="You are a systems thinking coach...")
146
- async for event in advisor.chat_stream("Analyze the tension between growth and sustainability"):
147
- # ThinkingDelta, TextDelta, ToolStart, ToolResult, ResponseComplete
148
- handle(event)
148
+ # `aclosing` because a host that stops early must CLOSE the generator — that
149
+ # is what releases the provider connection and records the turn's seconds.
150
+ # See docs/agents.md.
151
+ async with aclosing(
152
+ advisor.chat_stream("Analyze the tension between growth and sustainability")
153
+ ) as events:
154
+ async for event in events:
155
+ # ThinkingDelta, TextDelta, ToolStart, ToolResult, ResponseComplete
156
+ handle(event)
149
157
  ```
150
158
 
151
159
  ## Setup
@@ -185,3 +193,4 @@ The methods for applying dialectical reasoning with AI are patented. The MIT
185
193
  License does not grant patent rights beyond a limited grant for use of this
186
194
  software as distributed — see [PATENTS](https://github.com/dialexity/dialectical-framework/blob/main/PATENTS) for the patent terms and
187
195
  [dialexity.com/patents](https://dialexity.com/patents) for the patent listing.
196
+
@@ -1,6 +1,6 @@
1
1
  # Dialectical Framework
2
2
 
3
- **Make an LLM reason in oppositions, not averages.**
3
+ **Dialectical AI: Achieving Objectivity and Synthesis in LLM Reasoning via Structured Tension Graphs**
4
4
 
5
5
  Ask a model a hard question and it tends to collapse the tension into one confident answer — or hedge with a bland "on one hand… on the other." This framework does neither. For every thesis it generates a genuine antithesis, maps precisely where each side overreaches (T-, A-) and where it constructively balances the other (T+, A+), and drives the pair toward a **synthesis** — not a compromise, but a new quality that emerges from their circular causality and that neither pole held alone.
6
6
 
@@ -88,6 +88,8 @@ Wherever the answer is a tension rather than a fact, this drops in as the reason
88
88
  Analyst + Explorer are the structure-forward "graph navigator" experience; the Advisor is a chat-only product over the same graph. See [docs/agents.md](docs/agents.md) for full specs, tool lists, and the UX to build around each.
89
89
 
90
90
  ```python
91
+ from contextlib import aclosing
92
+
91
93
  from dialectical_framework.dialectical_reasoning import DialecticalReasoning
92
94
  from dialectical_framework.settings import Settings
93
95
  from dialectical_framework.graph.nodes.case import Case
@@ -102,9 +104,15 @@ case = Case(); case.commit()
102
104
 
103
105
  with scope(case.sid):
104
106
  advisor = Advisor(app_preamble="You are a systems thinking coach...")
105
- async for event in advisor.chat_stream("Analyze the tension between growth and sustainability"):
106
- # ThinkingDelta, TextDelta, ToolStart, ToolResult, ResponseComplete
107
- handle(event)
107
+ # `aclosing` because a host that stops early must CLOSE the generator — that
108
+ # is what releases the provider connection and records the turn's seconds.
109
+ # See docs/agents.md.
110
+ async with aclosing(
111
+ advisor.chat_stream("Analyze the tension between growth and sustainability")
112
+ ) as events:
113
+ async for event in events:
114
+ # ThinkingDelta, TextDelta, ToolStart, ToolResult, ResponseComplete
115
+ handle(event)
108
116
  ```
109
117
 
110
118
  ## Setup
@@ -143,4 +151,4 @@ The source code is licensed under the [MIT License](https://github.com/dialexity
143
151
  The methods for applying dialectical reasoning with AI are patented. The MIT
144
152
  License does not grant patent rights beyond a limited grant for use of this
145
153
  software as distributed — see [PATENTS](https://github.com/dialexity/dialectical-framework/blob/main/PATENTS) for the patent terms and
146
- [dialexity.com/patents](https://dialexity.com/patents) for the patent listing.
154
+ [dialexity.com/patents](https://dialexity.com/patents) for the patent listing.
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "dialectical-framework"
3
- version = "1.7.2"
3
+ version = "1.8.1"
4
4
  description = "A dialectical framework for augmented intelligence. AI reasoning powered with dialectics supports humans in: system optimization (psychology, engineering, business, politics, etc.); dispute resolution (mediation, conflicts, negotiations, etc.); decision-making (dilemmas, challenging situations, win-win, etc.)."
5
5
  authors = ["Evaldas Taroza <evaldas@dialexity.com>"]
6
6
  readme = "README.md"