dialectical-framework 2.0.8__tar.gz → 2.0.9__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 (232) hide show
  1. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/PKG-INFO +1 -1
  2. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/pyproject.toml +1 -1
  3. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/concerns/transformation_sketch.py +39 -5
  4. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/utils/format_compat.py +11 -0
  5. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/LICENSE +0 -0
  6. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/PATENTS +0 -0
  7. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/README.md +0 -0
  8. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/__init__.py +0 -0
  9. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/agents/__init__.py +0 -0
  10. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/agents/advisor/__init__.py +0 -0
  11. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/agents/advisor/advisor.py +0 -0
  12. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/agents/advisor/build_policy.py +0 -0
  13. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/agents/advisor/migration.py +0 -0
  14. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/agents/advisor/reply_hygiene.py +0 -0
  15. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/agents/advisor/system_prompts.py +0 -0
  16. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/agents/advisor/tools/__init__.py +0 -0
  17. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/agents/advisor/tools/anchor.py +0 -0
  18. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/agents/advisor/tools/deepen.py +0 -0
  19. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/agents/advisor/tools/explore.py +0 -0
  20. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/agents/advisor/tools/ingest.py +0 -0
  21. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/agents/advisor/tools/note.py +0 -0
  22. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/agents/advisor/tools/record_decision.py +0 -0
  23. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/agents/advisor/tools/scoped.py +0 -0
  24. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/agents/advisor/tools/sync.py +0 -0
  25. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/agents/agent_context.py +0 -0
  26. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/agents/analyst/__init__.py +0 -0
  27. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/agents/analyst/analyst.py +0 -0
  28. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/agents/analyst/skills/__init__.py +0 -0
  29. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/agents/analyst/skills/anchor_theses.py +0 -0
  30. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/agents/analyst/skills/edit_perspective.py +0 -0
  31. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/agents/analyst/skills/expand_polarities.py +0 -0
  32. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/agents/analyst/skills/find_polarities.py +0 -0
  33. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/agents/analyst/skills/introduce_polarity.py +0 -0
  34. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/agents/analyst/skills/sketch_tetrad.py +0 -0
  35. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/agents/analyst/skills/surface_theses.py +0 -0
  36. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/agents/analyst/system_prompts.py +0 -0
  37. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/agents/analyst/tools/__init__.py +0 -0
  38. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/agents/analyst/tools/place_statement.py +0 -0
  39. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/agents/app_spec.py +0 -0
  40. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/agents/apps.py +0 -0
  41. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/agents/consultant/__init__.py +0 -0
  42. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/agents/consultant/consultant.py +0 -0
  43. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/agents/conversation_facilitator.py +0 -0
  44. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/agents/execution_report.py +0 -0
  45. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/agents/explorer/__init__.py +0 -0
  46. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/agents/explorer/explorer.py +0 -0
  47. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/agents/explorer/skills/__init__.py +0 -0
  48. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/agents/explorer/skills/build_wheels.py +0 -0
  49. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/agents/explorer/skills/explore_transformations.py +0 -0
  50. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/agents/explorer/skills/generate_synthesis.py +0 -0
  51. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/agents/explorer/system_prompts.py +0 -0
  52. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/agents/explorer/tools/__init__.py +0 -0
  53. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/agents/explorer/tools/create_nexus.py +0 -0
  54. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/agents/explorer/tools/expand_nexus.py +0 -0
  55. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/agents/explorer/tools/generate_synthesis.py +0 -0
  56. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/agents/explorer/tools/present_exploration.py +0 -0
  57. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/agents/orchestrator/__init__.py +0 -0
  58. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/agents/orchestrator/tools/__init__.py +0 -0
  59. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/agents/orchestrator/tools/add_input.py +0 -0
  60. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/agents/orchestrator/tools/audit_feasibility.py +0 -0
  61. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/agents/orchestrator/tools/create_dx_input.py +0 -0
  62. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/agents/orchestrator/tools/digest_input.py +0 -0
  63. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/agents/orchestrator/tools/discard.py +0 -0
  64. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/agents/orchestrator/tools/get_schema.py +0 -0
  65. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/agents/orchestrator/tools/inspect_node.py +0 -0
  66. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/agents/orchestrator/tools/present_analysis.py +0 -0
  67. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/agents/orchestrator/tools/query_graph.py +0 -0
  68. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/agents/orchestrator/tools/read_digest.py +0 -0
  69. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/agents/orchestrator/tools/read_input.py +0 -0
  70. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/agents/reasonable_concern.py +0 -0
  71. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/agents/stream_events.py +0 -0
  72. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/agents/toolsets.py +0 -0
  73. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/agents/turn_timing.py +0 -0
  74. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/concerns/__init__.py +0 -0
  75. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/concerns/ac_re_taxonomy.py +0 -0
  76. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/concerns/action_extraction.py +0 -0
  77. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/concerns/add_input.py +0 -0
  78. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/concerns/ai_dto/__init__.py +0 -0
  79. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/concerns/ai_dto/statement_dto.py +0 -0
  80. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/concerns/ai_dto/statements_deck_dto.py +0 -0
  81. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/concerns/antithesis_classification.py +0 -0
  82. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/concerns/antithesis_extraction.py +0 -0
  83. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/concerns/antithetical_thesis_detection.py +0 -0
  84. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/concerns/aspect_classification.py +0 -0
  85. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/concerns/aspect_generation.py +0 -0
  86. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/concerns/build_status.py +0 -0
  87. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/concerns/causality/__init__.py +0 -0
  88. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/concerns/causality/causality_estimator.py +0 -0
  89. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/concerns/causality/causality_estimator_balanced.py +0 -0
  90. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/concerns/causality/causality_estimator_criteria.py +0 -0
  91. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/concerns/causality/causality_estimator_desirable.py +0 -0
  92. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/concerns/causality/causality_estimator_feasible.py +0 -0
  93. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/concerns/causality/causality_estimator_realistic.py +0 -0
  94. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/concerns/causality/causality_normalizer.py +0 -0
  95. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/concerns/causality/estimator_resolver.py +0 -0
  96. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/concerns/causality_estimation.py +0 -0
  97. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/concerns/control_statements_check.py +0 -0
  98. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/concerns/create_dx_input.py +0 -0
  99. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/concerns/create_nexus.py +0 -0
  100. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/concerns/decision_coherence_check.py +0 -0
  101. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/concerns/decision_confirmation_check.py +0 -0
  102. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/concerns/diagonal_oppositions_check.py +0 -0
  103. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/concerns/dialectical_context.py +0 -0
  104. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/concerns/discard.py +0 -0
  105. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/concerns/display_text_edit.py +0 -0
  106. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/concerns/expand_nexus.py +0 -0
  107. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/concerns/perspective_combination.py +0 -0
  108. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/concerns/perspective_validation.py +0 -0
  109. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/concerns/positive_ac_re_apex_derivation.py +0 -0
  110. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/concerns/record_decision.py +0 -0
  111. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/concerns/scoring_scales.py +0 -0
  112. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/concerns/source_digest.py +0 -0
  113. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/concerns/statement_classification.py +0 -0
  114. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/concerns/statement_deduplication.py +0 -0
  115. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/concerns/statement_headline.py +0 -0
  116. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/concerns/statement_placement.py +0 -0
  117. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/concerns/synthesis_generation.py +0 -0
  118. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/concerns/tetrad_candidates.py +0 -0
  119. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/concerns/tetrad_grounding.py +0 -0
  120. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/concerns/tetrad_sketch.py +0 -0
  121. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/concerns/thesis_extraction.py +0 -0
  122. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/concerns/transformation_audit.py +0 -0
  123. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/concerns/transformation_generation.py +0 -0
  124. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/concerns/view_sketch.py +0 -0
  125. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/dialectical_reasoning.py +0 -0
  126. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/enums/__init__.py +0 -0
  127. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/enums/causality_preset.py +0 -0
  128. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/enums/di.py +0 -0
  129. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/events/__init__.py +0 -0
  130. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/events/graph_event.py +0 -0
  131. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/events/graph_event_bus.py +0 -0
  132. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/events/progress_event.py +0 -0
  133. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/exceptions/__init__.py +0 -0
  134. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/exceptions/node_errors.py +0 -0
  135. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/exceptions/provider_errors.py +0 -0
  136. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/exceptions/resolver_errors.py +0 -0
  137. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/graph/__init__.py +0 -0
  138. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/graph/composite_input_resolver.py +0 -0
  139. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/graph/dialexity_input_resolver.py +0 -0
  140. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/graph/estimation_manager.py +0 -0
  141. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/graph/mixins/__init__.py +0 -0
  142. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/graph/mixins/incremental_build_mixin.py +0 -0
  143. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/graph/mixins/intent_mixin.py +0 -0
  144. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/graph/mixins/persistable_mixin.py +0 -0
  145. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/graph/nodes/__init__.py +0 -0
  146. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/graph/nodes/assessable_entity.py +0 -0
  147. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/graph/nodes/base_node.py +0 -0
  148. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/graph/nodes/case.py +0 -0
  149. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/graph/nodes/cycle.py +0 -0
  150. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/graph/nodes/decision.py +0 -0
  151. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/graph/nodes/estimation.py +0 -0
  152. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/graph/nodes/ideas.py +0 -0
  153. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/graph/nodes/input.py +0 -0
  154. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/graph/nodes/nexus.py +0 -0
  155. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/graph/nodes/note.py +0 -0
  156. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/graph/nodes/perspective.py +0 -0
  157. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/graph/nodes/polarity.py +0 -0
  158. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/graph/nodes/rationale.py +0 -0
  159. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/graph/nodes/statement.py +0 -0
  160. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/graph/nodes/synthesis.py +0 -0
  161. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/graph/nodes/transformation.py +0 -0
  162. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/graph/nodes/transition.py +0 -0
  163. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/graph/nodes/wheel.py +0 -0
  164. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/graph/relationship_manager.py +0 -0
  165. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/graph/relationships/__init__.py +0 -0
  166. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/graph/relationships/action_reflection_relationship.py +0 -0
  167. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/graph/relationships/belongs_to_cycle_relationship.py +0 -0
  168. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/graph/relationships/belongs_to_nexus_relationship.py +0 -0
  169. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/graph/relationships/changed_to_relationship.py +0 -0
  170. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/graph/relationships/contradiction_of_relationship.py +0 -0
  171. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/graph/relationships/critiques_relationship.py +0 -0
  172. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/graph/relationships/distilled_to_relationship.py +0 -0
  173. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/graph/relationships/estimates_relationship.py +0 -0
  174. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/graph/relationships/explains_relationship.py +0 -0
  175. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/graph/relationships/grounded_in_relationship.py +0 -0
  176. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/graph/relationships/has_input_relationship.py +0 -0
  177. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/graph/relationships/has_statement_relationship.py +0 -0
  178. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/graph/relationships/has_wheel_relationship.py +0 -0
  179. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/graph/relationships/immutable_structure.py +0 -0
  180. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/graph/relationships/is_source_of_relationship.py +0 -0
  181. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/graph/relationships/is_target_of_relationship.py +0 -0
  182. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/graph/relationships/negative_side_of_relationship.py +0 -0
  183. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/graph/relationships/opposite_direction_relationship.py +0 -0
  184. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/graph/relationships/opposite_of_relationship.py +0 -0
  185. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/graph/relationships/polarity_relationship.py +0 -0
  186. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/graph/relationships/positive_side_of_relationship.py +0 -0
  187. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/graph/relationships/provides_relationship.py +0 -0
  188. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/graph/relationships/synthesis_of_relationship.py +0 -0
  189. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/graph/rendering.py +0 -0
  190. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/graph/repositories/__init__.py +0 -0
  191. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/graph/repositories/case_repository.py +0 -0
  192. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/graph/repositories/cycle_repository.py +0 -0
  193. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/graph/repositories/decision_repository.py +0 -0
  194. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/graph/repositories/input_repository.py +0 -0
  195. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/graph/repositories/nexus_repository.py +0 -0
  196. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/graph/repositories/node_repository.py +0 -0
  197. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/graph/repositories/note_repository.py +0 -0
  198. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/graph/repositories/perspective_repository.py +0 -0
  199. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/graph/repositories/polarity_repository.py +0 -0
  200. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/graph/repositories/schema_repository.py +0 -0
  201. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/graph/repositories/statement_repository.py +0 -0
  202. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/graph/repositories/transformation_repository.py +0 -0
  203. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/graph/repositories/wheel_repository.py +0 -0
  204. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/graph/scope_context.py +0 -0
  205. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/graph/verbatim_input_resolver.py +0 -0
  206. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/graph/views.py +0 -0
  207. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/graph/wheel_segment.py +0 -0
  208. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/graph/wheel_segment_polar_pair.py +0 -0
  209. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/protocols/__init__.py +0 -0
  210. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/protocols/has_config.py +0 -0
  211. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/protocols/input_resolver.py +0 -0
  212. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/py.typed +0 -0
  213. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/settings.py +0 -0
  214. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/settings_context.py +0 -0
  215. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/utils/__init__.py +0 -0
  216. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/utils/async_drain.py +0 -0
  217. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/utils/bedrock_provider.py +0 -0
  218. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/utils/call_census.py +0 -0
  219. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/utils/chunking.py +0 -0
  220. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/utils/concurrency.py +0 -0
  221. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/utils/dc_replace.py +0 -0
  222. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/utils/decompose_probability_uniformly.py +0 -0
  223. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/utils/edge_context.py +0 -0
  224. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/utils/effect_logger.py +0 -0
  225. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/utils/input_context.py +0 -0
  226. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/utils/order_transitions.py +0 -0
  227. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/utils/progress.py +0 -0
  228. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/utils/retry_accounting.py +0 -0
  229. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/utils/sequence_generation.py +0 -0
  230. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/utils/thinking_compat.py +0 -0
  231. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/utils/use_brain.py +0 -0
  232. {dialectical_framework-2.0.8 → dialectical_framework-2.0.9}/src/dialectical_framework/utils/utterance.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: dialectical-framework
3
- Version: 2.0.8
3
+ Version: 2.0.9
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
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "dialectical-framework"
3
- version = "2.0.8"
3
+ version = "2.0.9"
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"
@@ -53,8 +53,30 @@ one-shot can replace it there is a separate, gated measurement
53
53
  (`one-shot-transformation.md`, "Open"). Texts only, nothing persisted, no
54
54
  scores — a number here would be an unchecked guess.
55
55
 
56
- Unthinking, like every concern: nothing measured thinking on this call, and
57
- the measured arm ran without it.
56
+ Unthinking, like every concern. Measured once, on Sonnet 5.5 under the
57
+ structured-output constraint (2026-10-09, `probe_structured_s_minus.py`, 100
58
+ pairs): the same call thinking at `low` (`format_mode="json", thinking="low"`)
59
+ kept Ac- (+4, within noise) where the in-turn wording alone cost it a little
60
+ (−8 / −4 over two runs), at no latency on that model (4.7 s against 4.4 s a
61
+ write); on S- it added nothing beyond the wording (+15 either way). Not wired:
62
+ on a model that keeps forced tool use it would also move this call to JSON
63
+ mode, where no figure for it was taken. The next lever, if Ac- under the
64
+ constraint needs one.
65
+
66
+ THE CONSTRAINT AND S- (2026-10-09)
67
+ =================================
68
+ On a model whose structured calls carry `output_config.format`
69
+ (`format_compat.structured_output_format`; Sonnet 5.5 first), the reply comes
70
+ back as one compact line with terser texts — no prose, no thinking, the same
71
+ request otherwise (`probe_structured_wire.py`) — and S- came back as the two
72
+ traps IN TURN: a distinct third failure in 42% of 100 (four runs: 42/44/41/42)
73
+ against 57% for the same call without the constraint (+15, CI +2..+28), which
74
+ is what the first app measured on its cards (63% → 41% / 33%). Ac-/Re- were
75
+ not hurt; the constraint helps them (96-98% valid against 91-93%). The rule
76
+ now names the in-turn forms (`SYNTHESIS_SHAPE`), which restores S- to the
77
+ unconstrained level under the constraint and is neutral without it. The
78
+ constraint stays: it ended the parse re-asks, and the loss was a shape the
79
+ rule did not name.
58
80
 
59
81
  SELECTION: AVAILABLE, OFF BY DEFAULT
60
82
  ====================================
@@ -99,8 +121,19 @@ TRANSFORMATION_POSITIONS = """1. The action (Ac): the concrete move that carries
99
121
 
100
122
  #: What the developments produce together. The S- sentences are the measured
101
123
  #: fix (`one-shot-transformation.md`: third-trap 4/17 → 12/17 on graph-built
102
- #: wheels once the synthesis prompt carried them) and are kept word for word.
103
- SYNTHESIS_SHAPE = """S+ is what emerges only when Ac+ and Re+ run together — a gain in dimension, not a middle: not "both", not the two strengths listed side by side. S- is the ONE named state Ac- and Re- produce together: a single way of failing that is neither trap on its own and not a choice between them. "Either X or Y", "X versus Y" and "X while Y" with X and Y the two traps are the inputs listed, not the collapse named."""
124
+ #: wheels once the synthesis prompt carried them) and are kept word for word,
125
+ #: with the two IN-TURN forms added on 2026-10-09: a writer under a structured-
126
+ #: output constraint (Sonnet 5.5, `format_compat.structured_output_format`)
127
+ #: wrote S- as the two traps in sequence ("X, then Y", "X alternating with Y")
128
+ #: in 13-14 of ~58 failures per 100 against 4 of 43 without the constraint,
129
+ #: and the rule named only the side-by-side forms. With them named: S- as a
130
+ #: distinct third failure 42% → 57% on 100 pairs, twice (+15 / +16, both clear
131
+ #: of noise), back to the unconstrained writer's 57%; neutral on Sonnet 5
132
+ #: (−1, 100 pairs). Price: a pairwise "which S- is more specific" judge
133
+ #: prefers the trap-restating headline (30-48 against this wording; an arm
134
+ #: that asked for particulars won that read 60-19 and lost the whole shape
135
+ #: gain), so that read is not a shape read. `tests/e2e/probe_structured_s_minus.py`.
136
+ SYNTHESIS_SHAPE = """S+ is what emerges only when Ac+ and Re+ run together — a gain in dimension, not a middle: not "both", not the two strengths listed side by side. S- is the ONE named state Ac- and Re- produce together: a single way of failing that is neither trap on its own and not a choice between them. "Either X or Y", "X versus Y", "X while Y", "X, then Y" and "X alternating with Y" with X and Y the two traps are the inputs listed, side by side or in turn, not the collapse named."""
104
137
 
105
138
  #: How a one-shot call builds it: the poles FIRST, because a degraded action
106
139
  #: needs an action to degrade (the measured order), then the developments,
@@ -236,7 +269,8 @@ class TransformationSketchDto(BaseModel):
236
269
  s_minus: str = Field(
237
270
  description=(
238
271
  "S- — what Ac- and Re- running together collapse into: ONE named way of "
239
- "failing that is neither T- nor A- on its own. Never 'either X or Y'."
272
+ "failing that is neither T- nor A- on its own. Never 'either X or Y', "
273
+ "'X then Y' or 'X alternating with Y'."
240
274
  )
241
275
  )
242
276
 
@@ -38,6 +38,17 @@ refuse forced tool use — the ones whose structured calls go in JSON mode in
38
38
  the first place, explicitly (`format_mode="json"`) or by substitution — and
39
39
  to no other: Sonnet 5 / Opus 5 took it too in the probe, but every judged
40
40
  figure there was taken without it, so widening it is a measurement.
41
+
42
+ **The constraint changes what is written, not only how it parses.** Under it
43
+ the reply is one compact line with terser texts (`tests/e2e/
44
+ probe_structured_wire.py`), and `TransformationSketch`'s S- came back as the
45
+ two traps in turn: a distinct third failure 42% against 57% unconstrained on
46
+ Sonnet 5.5 (100 pairs, +15 clear of noise; the first app saw 63% → 33-41%),
47
+ while Ac-/Re- validity rose. The repair was the prompt, not the constraint:
48
+ `SYNTHESIS_SHAPE` names the in-turn forms since 2026-10-09 and S- is back at
49
+ 57% with the constraint on (`tests/e2e/probe_structured_s_minus.py`, the gate
50
+ for this seam on the transformation layer). A judged figure taken on a
51
+ forced-tool model does not transfer to the constrained call by itself.
41
52
  """
42
53
 
43
54
  from __future__ import annotations