dialectical-framework 1.5.0__tar.gz → 1.5.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.
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/PKG-INFO +1 -1
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/pyproject.toml +1 -1
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/agents/explorer/tools/create_nexus.py +3 -3
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/concerns/create_nexus.py +7 -5
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/concerns/statement_classification.py +12 -10
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/concerns/thesis_extraction.py +8 -7
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/graph/nodes/nexus.py +2 -2
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/settings.py +2 -2
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/LICENSE +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/README.md +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/__init__.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/agents/__init__.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/agents/advisor/__init__.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/agents/advisor/advisor.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/agents/advisor/system_prompts.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/agents/advisor/tools/__init__.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/agents/advisor/tools/anchor.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/agents/advisor/tools/explore.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/agents/advisor/tools/ingest.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/agents/advisor/tools/sync.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/agents/agent_context.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/agents/analyst/__init__.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/agents/analyst/analyst.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/agents/analyst/skills/__init__.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/agents/analyst/skills/anchor_theses.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/agents/analyst/skills/edit_perspective.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/agents/analyst/skills/expand_polarities.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/agents/analyst/skills/find_polarities.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/agents/analyst/skills/introduce_polarity.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/agents/analyst/skills/surface_theses.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/agents/analyst/system_prompts.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/agents/analyst/tools/__init__.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/agents/analyst/tools/create_dx_input.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/agents/analyst/tools/place_statement.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/agents/apps.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/agents/conversation_facilitator.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/agents/execution_report.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/agents/explorer/__init__.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/agents/explorer/explorer.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/agents/explorer/skills/__init__.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/agents/explorer/skills/build_wheels.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/agents/explorer/skills/explore_transformations.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/agents/explorer/skills/generate_synthesis.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/agents/explorer/system_prompts.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/agents/explorer/tools/__init__.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/agents/explorer/tools/expand_nexus.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/agents/explorer/tools/generate_synthesis.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/agents/explorer/tools/present_exploration.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/agents/orchestrator/__init__.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/agents/orchestrator/tools/__init__.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/agents/orchestrator/tools/add_input.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/agents/orchestrator/tools/digest_input.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/agents/orchestrator/tools/discard.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/agents/orchestrator/tools/get_schema.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/agents/orchestrator/tools/inspect_node.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/agents/orchestrator/tools/present_analysis.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/agents/orchestrator/tools/query_graph.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/agents/orchestrator/tools/read_digest.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/agents/orchestrator/tools/read_input.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/agents/reasonable_concern.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/agents/stream_events.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/concerns/__init__.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/concerns/ac_re_taxonomy.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/concerns/action_extraction.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/concerns/add_input.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/concerns/ai_dto/__init__.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/concerns/ai_dto/statement_dto.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/concerns/ai_dto/statements_deck_dto.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/concerns/antithesis_classification.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/concerns/antithesis_extraction.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/concerns/aspect_classification.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/concerns/aspect_generation.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/concerns/causality/__init__.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/concerns/causality/causality_estimator.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/concerns/causality/causality_estimator_balanced.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/concerns/causality/causality_estimator_criteria.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/concerns/causality/causality_estimator_desirable.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/concerns/causality/causality_estimator_feasible.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/concerns/causality/causality_estimator_realistic.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/concerns/causality/causality_normalizer.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/concerns/causality/estimator_resolver.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/concerns/causality_estimation.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/concerns/control_statements_check.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/concerns/create_dx_input.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/concerns/diagonal_oppositions_check.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/concerns/dialectical_context.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/concerns/discard.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/concerns/display_text_edit.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/concerns/expand_nexus.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/concerns/perspective_combination.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/concerns/perspective_validation.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/concerns/positive_ac_re_apex_derivation.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/concerns/source_digest.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/concerns/statement_deduplication.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/concerns/statement_placement.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/concerns/synthesis_generation.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/concerns/transformation_audit.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/concerns/transformation_generation.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/dialectical_reasoning.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/enums/__init__.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/enums/causality_preset.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/enums/di.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/events/__init__.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/events/graph_event.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/events/graph_event_bus.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/exceptions/__init__.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/exceptions/node_errors.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/exceptions/resolver_errors.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/graph/__init__.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/graph/composite_input_resolver.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/graph/dialexity_input_resolver.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/graph/estimation_manager.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/graph/mixins/__init__.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/graph/mixins/incremental_build_mixin.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/graph/mixins/intent_mixin.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/graph/mixins/persistable_mixin.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/graph/nodes/__init__.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/graph/nodes/assessable_entity.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/graph/nodes/base_node.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/graph/nodes/case.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/graph/nodes/cycle.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/graph/nodes/estimation.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/graph/nodes/ideas.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/graph/nodes/input.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/graph/nodes/perspective.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/graph/nodes/polarity.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/graph/nodes/rationale.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/graph/nodes/statement.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/graph/nodes/synthesis.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/graph/nodes/transformation.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/graph/nodes/transition.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/graph/nodes/wheel.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/graph/relationship_manager.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/graph/relationships/__init__.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/graph/relationships/action_reflection_relationship.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/graph/relationships/belongs_to_cycle_relationship.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/graph/relationships/belongs_to_nexus_relationship.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/graph/relationships/changed_to_relationship.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/graph/relationships/contradiction_of_relationship.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/graph/relationships/critiques_relationship.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/graph/relationships/distilled_to_relationship.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/graph/relationships/estimates_relationship.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/graph/relationships/explains_relationship.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/graph/relationships/has_input_relationship.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/graph/relationships/has_statement_relationship.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/graph/relationships/has_wheel_relationship.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/graph/relationships/immutable_structure.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/graph/relationships/is_source_of_relationship.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/graph/relationships/is_target_of_relationship.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/graph/relationships/negative_side_of_relationship.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/graph/relationships/opposite_direction_relationship.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/graph/relationships/opposite_of_relationship.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/graph/relationships/polarity_relationship.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/graph/relationships/positive_side_of_relationship.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/graph/relationships/provides_relationship.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/graph/relationships/synthesis_of_relationship.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/graph/rendering.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/graph/repositories/__init__.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/graph/repositories/case_repository.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/graph/repositories/cycle_repository.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/graph/repositories/input_repository.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/graph/repositories/nexus_repository.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/graph/repositories/node_repository.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/graph/repositories/perspective_repository.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/graph/repositories/polarity_repository.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/graph/repositories/schema_repository.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/graph/repositories/statement_repository.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/graph/repositories/transformation_repository.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/graph/repositories/wheel_repository.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/graph/scope_context.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/graph/verbatim_input_resolver.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/graph/wheel_segment.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/graph/wheel_segment_polar_pair.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/protocols/__init__.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/protocols/has_config.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/protocols/input_resolver.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/utils/__init__.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/utils/bedrock_provider.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/utils/concurrency.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/utils/dc_replace.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/utils/decompose_probability_uniformly.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/utils/edge_context.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/utils/effect_logger.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/utils/input_context.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/utils/order_transitions.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/utils/sequence_generation.py +0 -0
- {dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/utils/use_brain.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: dialectical-framework
|
|
3
|
-
Version: 1.5.
|
|
3
|
+
Version: 1.5.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
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[tool.poetry]
|
|
2
2
|
name = "dialectical-framework"
|
|
3
|
-
version = "1.5.
|
|
3
|
+
version = "1.5.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"
|
|
@@ -27,11 +27,11 @@ async def create_nexus(
|
|
|
27
27
|
),
|
|
28
28
|
] = None,
|
|
29
29
|
preset: Annotated[
|
|
30
|
-
str,
|
|
30
|
+
Optional[str],
|
|
31
31
|
Field(
|
|
32
|
-
description="Estimation strategy: 'preset:auto', 'preset:balanced', 'preset:realistic', 'preset:desirable', 'preset:feasible'"
|
|
32
|
+
description="Estimation strategy: 'preset:auto', 'preset:balanced', 'preset:realistic', 'preset:desirable', 'preset:feasible'. Omit for settings default."
|
|
33
33
|
),
|
|
34
|
-
] =
|
|
34
|
+
] = None,
|
|
35
35
|
) -> str:
|
|
36
36
|
"""Create a Nexus — an exploration container that groups Perspectives for structural combination into Cycles and Wheels. The intent describes what to explore or navigate."""
|
|
37
37
|
concern = CreateNexus()
|
|
@@ -8,11 +8,11 @@ from dataclasses import dataclass
|
|
|
8
8
|
from typing import Optional
|
|
9
9
|
|
|
10
10
|
from dialectical_framework.agents.reasonable_concern import ReasonableConcern
|
|
11
|
-
from dialectical_framework.enums.causality_preset import CausalityPreset
|
|
12
11
|
from dialectical_framework.graph.nodes.nexus import Nexus
|
|
13
12
|
from dialectical_framework.graph.nodes.perspective import Perspective
|
|
14
13
|
from dialectical_framework.graph.repositories.node_repository import \
|
|
15
14
|
NodeRepository
|
|
15
|
+
from dialectical_framework.protocols.has_config import SettingsAware
|
|
16
16
|
|
|
17
17
|
|
|
18
18
|
@dataclass
|
|
@@ -21,7 +21,7 @@ class CreateNexusResult:
|
|
|
21
21
|
perspectives: list[Perspective]
|
|
22
22
|
|
|
23
23
|
|
|
24
|
-
class CreateNexus(ReasonableConcern[CreateNexusResult]):
|
|
24
|
+
class CreateNexus(SettingsAware, ReasonableConcern[CreateNexusResult]):
|
|
25
25
|
"""
|
|
26
26
|
Creates an exploration container (Nexus) and connects Perspectives to it.
|
|
27
27
|
|
|
@@ -38,12 +38,14 @@ class CreateNexus(ReasonableConcern[CreateNexusResult]):
|
|
|
38
38
|
self,
|
|
39
39
|
intent: str,
|
|
40
40
|
perspective_hashes: list[str],
|
|
41
|
-
preset: str =
|
|
41
|
+
preset: Optional[str] = None,
|
|
42
42
|
title: Optional[str] = None,
|
|
43
43
|
) -> CreateNexusResult:
|
|
44
44
|
if not perspective_hashes:
|
|
45
45
|
raise ValueError("At least one Perspective hash is required.")
|
|
46
46
|
|
|
47
|
+
effective_preset = preset if preset is not None else self.settings.cycle_preset
|
|
48
|
+
|
|
47
49
|
repo = NodeRepository()
|
|
48
50
|
perspectives: list[Perspective] = []
|
|
49
51
|
for pp_hash in perspective_hashes:
|
|
@@ -52,7 +54,7 @@ class CreateNexus(ReasonableConcern[CreateNexusResult]):
|
|
|
52
54
|
raise ValueError(f"Perspective not found: {pp_hash}")
|
|
53
55
|
perspectives.append(node)
|
|
54
56
|
|
|
55
|
-
nexus = Nexus(intent=intent, preset=
|
|
57
|
+
nexus = Nexus(intent=intent, preset=effective_preset)
|
|
56
58
|
nexus.commit()
|
|
57
59
|
|
|
58
60
|
if title:
|
|
@@ -71,6 +73,6 @@ class CreateNexus(ReasonableConcern[CreateNexusResult]):
|
|
|
71
73
|
)
|
|
72
74
|
self._report.artifacts["nexus_hash"] = nexus.short_hash
|
|
73
75
|
self._report.artifacts["perspective_count"] = len(perspectives)
|
|
74
|
-
self._report.artifacts["preset"] =
|
|
76
|
+
self._report.artifacts["preset"] = effective_preset
|
|
75
77
|
|
|
76
78
|
return CreateNexusResult(nexus=nexus, perspectives=perspectives)
|
|
@@ -183,17 +183,17 @@ Your task is to classify statements and anchor them in taxonomy.
|
|
|
183
183
|
## Statement Classification
|
|
184
184
|
|
|
185
185
|
**SIMPLE/BINARY** - is_simple = true
|
|
186
|
-
-
|
|
187
|
-
-
|
|
188
|
-
- Examples: "The sky is blue", "Water boils at 100C", "API is stateless"
|
|
186
|
+
- Verifiable by direct observation or logical identity
|
|
187
|
+
- No trade-offs, no systemic dynamics, no causal chains
|
|
188
|
+
- Examples: "The sky is blue", "Water boils at 100C", "API is stateless", "The repository has 3 branches"
|
|
189
189
|
|
|
190
190
|
**COMPLEX/SYSTEMIC** - is_simple = false
|
|
191
|
-
- Involves
|
|
192
|
-
-
|
|
193
|
-
-
|
|
194
|
-
- Examples: "Trust", "Data consistency", "
|
|
191
|
+
- Involves causal dynamics, trade-offs, or systemic relationships
|
|
192
|
+
- Describes how one thing affects another, or how a process shapes outcomes
|
|
193
|
+
- Concerns viability, health, functioning, or governance of systems
|
|
194
|
+
- Examples: "Trust", "Data consistency", "Open markets promote innovation", "Centralization enables coordination", "Distributed systems trade consistency for availability"
|
|
195
195
|
|
|
196
|
-
Heuristic: If statement
|
|
196
|
+
Heuristic: If the statement describes a causal relationship (X causes/enables/prevents Y), a trade-off, or a systemic dynamic → Complex. If it is a bare fact verifiable by inspection → Simple.
|
|
197
197
|
|
|
198
198
|
## Taxonomy for Complex Statements
|
|
199
199
|
|
|
@@ -534,8 +534,10 @@ Use this text to understand the intended meaning of the statement.
|
|
|
534
534
|
Statement: "{self._statement}"
|
|
535
535
|
{text_section}
|
|
536
536
|
Using the classification criteria from the system prompt, classify as:
|
|
537
|
-
- SIMPLE/BINARY (is_simple = true):
|
|
538
|
-
- COMPLEX/SYSTEMIC (is_simple = false):
|
|
537
|
+
- SIMPLE/BINARY (is_simple = true): verifiable by direct observation, no causal dynamics
|
|
538
|
+
- COMPLEX/SYSTEMIC (is_simple = false): describes causal relationships, trade-offs, or systemic dynamics
|
|
539
|
+
|
|
540
|
+
A statement like "X prevents/enables/eliminates Y" describes a causal dynamic and is COMPLEX, even if one could argue the causal claim is "either true or false." The test is whether the statement embeds a systemic relationship, not whether one can assign it a truth value.
|
|
539
541
|
|
|
540
542
|
Provide your reasoning."""
|
|
541
543
|
|
|
@@ -43,17 +43,18 @@ SYSTEM_PROMPT = """You are a dialectical thesis extractor.
|
|
|
43
43
|
Your task is to extract assertable content from source text and identify thesis candidates.
|
|
44
44
|
|
|
45
45
|
Extract content that could be theses:
|
|
46
|
-
-
|
|
46
|
+
- Systemic claims: "Centralization enables X", "Openness promotes Y"
|
|
47
47
|
- Values/Principles: "Security is paramount", "User experience first"
|
|
48
|
-
-
|
|
49
|
-
- Constraints: "Must not exceed...", "Cannot allow..."
|
|
48
|
+
- Causal dynamics: "X leads to Y", "Without X, Y collapses"
|
|
50
49
|
- Design Decisions: Architecture choices, trade-offs made
|
|
51
|
-
-
|
|
50
|
+
- Structural tensions: Opposing forces, dilemmas, governance trade-offs
|
|
51
|
+
|
|
52
|
+
Prefer theses that capture systemic dynamics (how things relate, what enables/prevents what) over isolated factual claims. A thesis about a causal relationship or trade-off is more dialectically productive than a bare assertion of fact.
|
|
52
53
|
|
|
53
54
|
A valid thesis candidate must be:
|
|
54
55
|
- ASSERTABLE: Can be evaluated as true/false, good/bad, present/absent
|
|
55
56
|
- SUBSTANTIVE: Not trivial or tautological
|
|
56
|
-
- ATOMIC: Single concept
|
|
57
|
+
- ATOMIC: Single concept or causal relationship (not multiple unrelated claims joined)
|
|
57
58
|
|
|
58
59
|
Respond with structured output matching the requested format."""
|
|
59
60
|
|
|
@@ -245,9 +246,9 @@ Type: {content_type}
|
|
|
245
246
|
Check if this is a valid thesis candidate:
|
|
246
247
|
1. Is it ASSERTABLE? (Can be evaluated as true/false, good/bad, present/absent)
|
|
247
248
|
2. Is it SUBSTANTIVE? (Not trivial or tautological)
|
|
248
|
-
3. Is it ATOMIC? (Single concept, not
|
|
249
|
+
3. Is it ATOMIC? (Single concept or causal relationship, not multiple unrelated claims joined)
|
|
249
250
|
|
|
250
|
-
If compound (multiple
|
|
251
|
+
If compound (multiple unrelated claims joined), decompose. A single causal relationship ("X enables Y") is atomic — do not split it into "X exists" and "Y exists."
|
|
251
252
|
Each atomic thesis should be 1-{max_words} words.
|
|
252
253
|
|
|
253
254
|
Return:
|
|
@@ -65,7 +65,7 @@ class Nexus(IntentMixin, BaseNode, label="Nexus"):
|
|
|
65
65
|
nexus = Nexus(
|
|
66
66
|
sid=case.sid,
|
|
67
67
|
intent="I want to understand the deep meaning of love",
|
|
68
|
-
preset=CausalityPreset.
|
|
68
|
+
preset=CausalityPreset.AUTO,
|
|
69
69
|
)
|
|
70
70
|
nexus.commit()
|
|
71
71
|
|
|
@@ -74,7 +74,7 @@ class Nexus(IntentMixin, BaseNode, label="Nexus"):
|
|
|
74
74
|
"""
|
|
75
75
|
|
|
76
76
|
# Prompt strategy for causality estimation (preset selector)
|
|
77
|
-
preset: str = CausalityPreset.
|
|
77
|
+
preset: str = CausalityPreset.AUTO
|
|
78
78
|
|
|
79
79
|
# Display title (not part of hash — purely metadata).
|
|
80
80
|
# NOTE: Cannot use Optional[str] here due to GQLAlchemy metaclass + future annotations.
|
{dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/settings.py
RENAMED
|
@@ -16,7 +16,7 @@ class Settings(BaseModel):
|
|
|
16
16
|
|
|
17
17
|
ai_model: str = Field(..., description="AI model in 'provider/model' format (e.g., 'bedrock/global.anthropic.claude-haiku-4-5-20251001-v1:0').")
|
|
18
18
|
component_length: int = Field(default=7, description="Approximate length in words of the statement.")
|
|
19
|
-
cycle_preset: str = Field(default=CausalityPreset.
|
|
19
|
+
cycle_preset: str = Field(default=CausalityPreset.AUTO, description="Default preset for causality estimation (e.g., preset:auto, preset:realistic, preset:desirable, preset:feasible, preset:balanced).")
|
|
20
20
|
|
|
21
21
|
# Graph database configuration (Memgraph or Neo4j)
|
|
22
22
|
graph_db_vendor: str = Field(default="memgraph", description="Graph database vendor: 'memgraph' or 'neo4j'")
|
|
@@ -84,7 +84,7 @@ class Settings(BaseModel):
|
|
|
84
84
|
return cls(
|
|
85
85
|
ai_model=model,
|
|
86
86
|
component_length=int(os.getenv("DIALEXITY_DEFAULT_COMPONENT_LENGTH", 7)),
|
|
87
|
-
cycle_preset=
|
|
87
|
+
cycle_preset=CausalityPreset.AUTO,
|
|
88
88
|
graph_db_vendor=os.getenv("DIALEXITY_GRAPH_DB_VENDOR", "memgraph"),
|
|
89
89
|
graph_db_host=os.getenv("DIALEXITY_GRAPH_DB_HOST", "127.0.0.1"),
|
|
90
90
|
graph_db_port=int(os.getenv("DIALEXITY_GRAPH_DB_PORT", 7687)),
|
|
File without changes
|
|
File without changes
|
{dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/agents/apps.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dialectical_framework-1.5.0 → dialectical_framework-1.5.1}/src/dialectical_framework/enums/di.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|