dialectical-framework 1.1.1__tar.gz → 1.1.2__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.1.1 → dialectical_framework-1.1.2}/PKG-INFO +1 -1
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/pyproject.toml +1 -1
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/src/dialectical_framework/agents/analyst/skills/expand_polarities.py +6 -16
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/src/dialectical_framework/agents/analyst/skills/find_polarities.py +2 -1
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/src/dialectical_framework/agents/analyst/system_prompts.py +2 -0
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/src/dialectical_framework/agents/apps.py +8 -1
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/src/dialectical_framework/agents/conversation_facilitator.py +6 -0
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/src/dialectical_framework/agents/explorer/explorer.py +0 -3
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/src/dialectical_framework/agents/explorer/system_prompts.py +2 -5
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/LICENSE +0 -0
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/README.md +0 -0
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/src/dialectical_framework/__init__.py +0 -0
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/src/dialectical_framework/agents/__init__.py +0 -0
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/src/dialectical_framework/agents/agent_context.py +0 -0
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/src/dialectical_framework/agents/analyst/__init__.py +0 -0
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/src/dialectical_framework/agents/analyst/analyst.py +0 -0
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/src/dialectical_framework/agents/analyst/skills/__init__.py +0 -0
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/src/dialectical_framework/agents/analyst/skills/anchor_theses.py +0 -0
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/src/dialectical_framework/agents/analyst/skills/edit_perspective.py +0 -0
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/src/dialectical_framework/agents/analyst/skills/introduce_polarity.py +0 -0
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/src/dialectical_framework/agents/analyst/skills/surface_theses.py +0 -0
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/src/dialectical_framework/agents/analyst/tools/__init__.py +0 -0
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/src/dialectical_framework/agents/analyst/tools/create_dx_input.py +0 -0
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/src/dialectical_framework/agents/analyst/tools/place_statement.py +0 -0
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/src/dialectical_framework/agents/execution_report.py +0 -0
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/src/dialectical_framework/agents/explorer/__init__.py +0 -0
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/src/dialectical_framework/agents/explorer/skills/__init__.py +0 -0
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/src/dialectical_framework/agents/explorer/skills/build_wheels.py +0 -0
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/src/dialectical_framework/agents/explorer/skills/explore_transformations.py +0 -0
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/src/dialectical_framework/agents/explorer/tools/__init__.py +0 -0
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/src/dialectical_framework/agents/explorer/tools/create_nexus.py +0 -0
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/src/dialectical_framework/agents/explorer/tools/present_exploration.py +0 -0
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/src/dialectical_framework/agents/orchestrator/__init__.py +0 -0
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/src/dialectical_framework/agents/orchestrator/tools/__init__.py +0 -0
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/src/dialectical_framework/agents/orchestrator/tools/add_input.py +0 -0
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/src/dialectical_framework/agents/orchestrator/tools/discard.py +0 -0
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/src/dialectical_framework/agents/orchestrator/tools/get_schema.py +0 -0
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/src/dialectical_framework/agents/orchestrator/tools/inspect_node.py +0 -0
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/src/dialectical_framework/agents/orchestrator/tools/present_analysis.py +0 -0
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/src/dialectical_framework/agents/orchestrator/tools/query_graph.py +0 -0
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/src/dialectical_framework/agents/reasonable_concern.py +0 -0
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/src/dialectical_framework/agents/stream_events.py +0 -0
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/src/dialectical_framework/concerns/__init__.py +0 -0
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/src/dialectical_framework/concerns/ac_re_taxonomy.py +0 -0
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/src/dialectical_framework/concerns/action_extraction.py +0 -0
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/src/dialectical_framework/concerns/ai_dto/__init__.py +0 -0
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/src/dialectical_framework/concerns/ai_dto/statement_dto.py +0 -0
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/src/dialectical_framework/concerns/ai_dto/statements_deck_dto.py +0 -0
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/src/dialectical_framework/concerns/antithesis_classification.py +0 -0
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/src/dialectical_framework/concerns/antithesis_extraction.py +0 -0
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/src/dialectical_framework/concerns/aspect_classification.py +0 -0
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/src/dialectical_framework/concerns/aspect_generation.py +0 -0
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/src/dialectical_framework/concerns/causality/__init__.py +0 -0
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/src/dialectical_framework/concerns/causality/causality_estimator.py +0 -0
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/src/dialectical_framework/concerns/causality/causality_estimator_balanced.py +0 -0
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/src/dialectical_framework/concerns/causality/causality_estimator_criteria.py +0 -0
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/src/dialectical_framework/concerns/causality/causality_estimator_desirable.py +0 -0
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/src/dialectical_framework/concerns/causality/causality_estimator_feasible.py +0 -0
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/src/dialectical_framework/concerns/causality/causality_estimator_realistic.py +0 -0
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/src/dialectical_framework/concerns/causality/causality_normalizer.py +0 -0
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/src/dialectical_framework/concerns/causality/estimator_resolver.py +0 -0
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/src/dialectical_framework/concerns/causality_estimation.py +0 -0
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/src/dialectical_framework/concerns/control_statements_check.py +0 -0
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/src/dialectical_framework/concerns/diagonal_oppositions_check.py +0 -0
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/src/dialectical_framework/concerns/display_text_edit.py +0 -0
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/src/dialectical_framework/concerns/perspective_combination.py +0 -0
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/src/dialectical_framework/concerns/perspective_validation.py +0 -0
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/src/dialectical_framework/concerns/positive_ac_re_apex_derivation.py +0 -0
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/src/dialectical_framework/concerns/statement_classification.py +0 -0
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/src/dialectical_framework/concerns/statement_deduplication.py +0 -0
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/src/dialectical_framework/concerns/statement_placement.py +0 -0
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/src/dialectical_framework/concerns/synthesis_generation.py +0 -0
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/src/dialectical_framework/concerns/thesis_extraction.py +0 -0
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/src/dialectical_framework/concerns/transformation_audit.py +0 -0
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/src/dialectical_framework/concerns/transformation_generation.py +0 -0
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/src/dialectical_framework/dialectical_reasoning.py +0 -0
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/src/dialectical_framework/enums/__init__.py +0 -0
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/src/dialectical_framework/enums/causality_preset.py +0 -0
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/src/dialectical_framework/enums/di.py +0 -0
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/src/dialectical_framework/events/__init__.py +0 -0
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/src/dialectical_framework/events/graph_event.py +0 -0
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/src/dialectical_framework/events/graph_event_bus.py +0 -0
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/src/dialectical_framework/exceptions/__init__.py +0 -0
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/src/dialectical_framework/exceptions/node_errors.py +0 -0
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/src/dialectical_framework/exceptions/resolver_errors.py +0 -0
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/src/dialectical_framework/graph/__init__.py +0 -0
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/src/dialectical_framework/graph/composite_input_resolver.py +0 -0
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/src/dialectical_framework/graph/dialexity_input_resolver.py +0 -0
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/src/dialectical_framework/graph/estimation_manager.py +0 -0
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/src/dialectical_framework/graph/mixins/__init__.py +0 -0
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/src/dialectical_framework/graph/mixins/incremental_build_mixin.py +0 -0
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/src/dialectical_framework/graph/mixins/intent_mixin.py +0 -0
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/src/dialectical_framework/graph/mixins/persistable_mixin.py +0 -0
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/src/dialectical_framework/graph/nodes/__init__.py +0 -0
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/src/dialectical_framework/graph/nodes/assessable_entity.py +0 -0
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/src/dialectical_framework/graph/nodes/base_node.py +0 -0
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/src/dialectical_framework/graph/nodes/case.py +0 -0
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/src/dialectical_framework/graph/nodes/cycle.py +0 -0
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/src/dialectical_framework/graph/nodes/estimation.py +0 -0
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/src/dialectical_framework/graph/nodes/ideas.py +0 -0
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/src/dialectical_framework/graph/nodes/input.py +0 -0
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/src/dialectical_framework/graph/nodes/nexus.py +0 -0
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/src/dialectical_framework/graph/nodes/perspective.py +0 -0
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/src/dialectical_framework/graph/nodes/polarity.py +0 -0
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/src/dialectical_framework/graph/nodes/rationale.py +0 -0
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/src/dialectical_framework/graph/nodes/statement.py +0 -0
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/src/dialectical_framework/graph/nodes/synthesis.py +0 -0
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/src/dialectical_framework/graph/nodes/transformation.py +0 -0
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/src/dialectical_framework/graph/nodes/transition.py +0 -0
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/src/dialectical_framework/graph/nodes/wheel.py +0 -0
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/src/dialectical_framework/graph/relationship_manager.py +0 -0
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/src/dialectical_framework/graph/relationships/__init__.py +0 -0
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/src/dialectical_framework/graph/relationships/action_reflection_relationship.py +0 -0
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/src/dialectical_framework/graph/relationships/belongs_to_cycle_relationship.py +0 -0
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/src/dialectical_framework/graph/relationships/belongs_to_nexus_relationship.py +0 -0
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/src/dialectical_framework/graph/relationships/changed_to_relationship.py +0 -0
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/src/dialectical_framework/graph/relationships/contradiction_of_relationship.py +0 -0
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/src/dialectical_framework/graph/relationships/critiques_relationship.py +0 -0
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/src/dialectical_framework/graph/relationships/distilled_to_relationship.py +0 -0
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/src/dialectical_framework/graph/relationships/estimates_relationship.py +0 -0
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/src/dialectical_framework/graph/relationships/explains_relationship.py +0 -0
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/src/dialectical_framework/graph/relationships/has_input_relationship.py +0 -0
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/src/dialectical_framework/graph/relationships/has_statement_relationship.py +0 -0
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/src/dialectical_framework/graph/relationships/has_wheel_relationship.py +0 -0
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/src/dialectical_framework/graph/relationships/immutable_structure.py +0 -0
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/src/dialectical_framework/graph/relationships/is_source_of_relationship.py +0 -0
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/src/dialectical_framework/graph/relationships/is_target_of_relationship.py +0 -0
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/src/dialectical_framework/graph/relationships/negative_side_of_relationship.py +0 -0
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/src/dialectical_framework/graph/relationships/opposite_direction_relationship.py +0 -0
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/src/dialectical_framework/graph/relationships/opposite_of_relationship.py +0 -0
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/src/dialectical_framework/graph/relationships/polarity_relationship.py +0 -0
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/src/dialectical_framework/graph/relationships/positive_side_of_relationship.py +0 -0
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/src/dialectical_framework/graph/relationships/provides_relationship.py +0 -0
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/src/dialectical_framework/graph/relationships/synthesis_of_relationship.py +0 -0
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/src/dialectical_framework/graph/repositories/__init__.py +0 -0
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/src/dialectical_framework/graph/repositories/case_repository.py +0 -0
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/src/dialectical_framework/graph/repositories/cycle_repository.py +0 -0
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/src/dialectical_framework/graph/repositories/input_repository.py +0 -0
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/src/dialectical_framework/graph/repositories/nexus_repository.py +0 -0
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/src/dialectical_framework/graph/repositories/node_repository.py +0 -0
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/src/dialectical_framework/graph/repositories/perspective_repository.py +0 -0
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/src/dialectical_framework/graph/repositories/polarity_repository.py +0 -0
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/src/dialectical_framework/graph/repositories/schema_repository.py +0 -0
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/src/dialectical_framework/graph/repositories/statement_repository.py +0 -0
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/src/dialectical_framework/graph/repositories/transformation_repository.py +0 -0
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/src/dialectical_framework/graph/repositories/wheel_repository.py +0 -0
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/src/dialectical_framework/graph/scope_context.py +0 -0
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/src/dialectical_framework/graph/verbatim_input_resolver.py +0 -0
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/src/dialectical_framework/graph/wheel_segment.py +0 -0
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/src/dialectical_framework/graph/wheel_segment_polar_pair.py +0 -0
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/src/dialectical_framework/protocols/__init__.py +0 -0
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/src/dialectical_framework/protocols/has_config.py +0 -0
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/src/dialectical_framework/protocols/input_resolver.py +0 -0
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/src/dialectical_framework/settings.py +0 -0
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/src/dialectical_framework/utils/__init__.py +0 -0
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/src/dialectical_framework/utils/bedrock_provider.py +0 -0
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/src/dialectical_framework/utils/dc_replace.py +0 -0
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/src/dialectical_framework/utils/decompose_probability_uniformly.py +0 -0
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/src/dialectical_framework/utils/edge_context.py +0 -0
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/src/dialectical_framework/utils/effect_logger.py +0 -0
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/src/dialectical_framework/utils/order_transitions.py +0 -0
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/src/dialectical_framework/utils/sequence_generation.py +0 -0
- {dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/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.1.
|
|
3
|
+
Version: 1.1.2
|
|
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.1.
|
|
3
|
+
version = "1.1.2"
|
|
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"
|
|
@@ -91,20 +91,9 @@ class ExpandPolarity(ReasonableConcern[list[Perspective]]):
|
|
|
91
91
|
partial_pps = [pp for pp in existing_pps if not pp.is_complete()]
|
|
92
92
|
|
|
93
93
|
if not partial_pps:
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
)
|
|
98
|
-
self._report.artifacts["perspective_hashes"] = [
|
|
99
|
-
pp.hash for pp in complete_pps if pp.hash
|
|
100
|
-
]
|
|
101
|
-
self._report.artifacts["total_count"] = len(complete_pps)
|
|
102
|
-
self._report.artifacts["existing_count"] = len(complete_pps)
|
|
103
|
-
self._report.artifacts["new_count"] = 0
|
|
104
|
-
self._report.artifacts["perspectives"] = [
|
|
105
|
-
self._perspective_final_state(pp) for pp in complete_pps
|
|
106
|
-
]
|
|
107
|
-
return complete_pps
|
|
94
|
+
# All existing perspectives are complete — create a new one
|
|
95
|
+
pp = self._create_perspective_for_polarity(polarity)
|
|
96
|
+
partial_pps = [pp]
|
|
108
97
|
|
|
109
98
|
# Complete all partial PPs
|
|
110
99
|
completed_pps: list[Perspective] = []
|
|
@@ -314,7 +303,7 @@ class ExpandPolarity(ReasonableConcern[list[Perspective]]):
|
|
|
314
303
|
async def expand_polarities(
|
|
315
304
|
polarity_hashes: Annotated[list[str], Field(description="Hashes of Polarities to expand into full Perspectives")],
|
|
316
305
|
) -> str:
|
|
317
|
-
"""Build complete Perspectives from Polarities by generating evaluative aspects (T+, T-, A+, A-) for each.
|
|
306
|
+
"""Build complete Perspectives from Polarities by generating evaluative aspects (T+, T-, A+, A-) for each. Each call generates one new Perspective per Polarity — call multiple times for alternative perspectives on the same Polarity (duplicates in a single call are ignored). The Polarities must already exist in the graph."""
|
|
318
307
|
import asyncio
|
|
319
308
|
|
|
320
309
|
async def _expand_one(h: str) -> str:
|
|
@@ -322,5 +311,6 @@ async def expand_polarities(
|
|
|
322
311
|
await concern.resolve()
|
|
323
312
|
return str(concern.report)
|
|
324
313
|
|
|
325
|
-
|
|
314
|
+
unique_hashes = list(dict.fromkeys(polarity_hashes))
|
|
315
|
+
results = await asyncio.gather(*[_expand_one(h) for h in unique_hashes])
|
|
326
316
|
return "\n---\n".join(results)
|
|
@@ -155,8 +155,9 @@ class FindPolarities(ReasonableConcern[Optional[Ideas]]):
|
|
|
155
155
|
result.existing = existing_antitheses
|
|
156
156
|
return result
|
|
157
157
|
|
|
158
|
+
unique_hashes = list(dict.fromkeys(self.thesis_hashes))
|
|
158
159
|
thesis_results = await asyncio.gather(
|
|
159
|
-
*[_process_thesis(h) for h in
|
|
160
|
+
*[_process_thesis(h) for h in unique_hashes]
|
|
160
161
|
)
|
|
161
162
|
|
|
162
163
|
for result in thesis_results:
|
|
@@ -94,6 +94,8 @@ Adapt depth and presentation to the persona defined in the app preamble.
|
|
|
94
94
|
## Rules
|
|
95
95
|
|
|
96
96
|
- Never dump raw tool output. Synthesize into appropriate presentation.
|
|
97
|
+
- Never rephrase Statement text. Use exact text (or display_text) from the graph — paraphrasing makes it ambiguous which node you're referring to.
|
|
98
|
+
- When referencing structural nodes (Polarity, Perspective, Nexus, Cycle, Wheel, Transformation, Transition, Synthesis), always include the short hash for disambiguation.
|
|
97
99
|
- User corrections take priority — act immediately, don't push back.
|
|
98
100
|
- When resuming a session with existing data, use `present_analysis` to orient before acting.
|
|
99
101
|
- Skill reports may contain truncated text previews. When you need to present exact node text to the user, use `inspect_node` or `present_analysis` by hash — never reconstruct or guess full text from truncated previews.
|
{dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/src/dialectical_framework/agents/apps.py
RENAMED
|
@@ -199,6 +199,13 @@ both sides contribute", "constructive co-existence", "where 1+1 > 2".
|
|
|
199
199
|
- Frame pathways as options, not prescriptions. There are many valid recipes.
|
|
200
200
|
- Present tensions as legitimate — both poles have constructive potential.
|
|
201
201
|
|
|
202
|
+
## Viewport Scope
|
|
203
|
+
|
|
204
|
+
Messages may include context about what the user is currently viewing. This tells you their active focus. Respect it:
|
|
205
|
+
|
|
206
|
+
- Only operate on the node(s) in the user's viewport unless they explicitly reference something else or ask to switch.
|
|
207
|
+
- Never silently pivot to other nodes outside the viewport. If you think working on a different node would help, ask first.
|
|
208
|
+
|
|
202
209
|
## Presentation Defaults
|
|
203
210
|
|
|
204
211
|
Example of a correctly labeled position table:
|
|
@@ -213,7 +220,7 @@ Example of a correctly labeled position table:
|
|
|
213
220
|
The "blindspot" label belongs ONLY to A+ and A- (the opposition's territory).
|
|
214
221
|
T+ and T- are the holder's own visible territory — never label them as blindspots.
|
|
215
222
|
|
|
216
|
-
- Never mention tool names, pipelines, graph operations
|
|
223
|
+
- Never mention tool names, pipelines, or graph operations.
|
|
217
224
|
- User-facing structural terms (Wheel, Nexus, Cycle, Transformation, Position,
|
|
218
225
|
Polarity) are fine to use — these are part of the UX vocabulary.
|
|
219
226
|
- Position labels (T+, T-, A+, A-) can be introduced once the user understands
|
|
@@ -293,6 +293,12 @@ class ConversationFacilitator(SettingsAware):
|
|
|
293
293
|
"""Call LLM with format for structured output."""
|
|
294
294
|
messages = self._messages
|
|
295
295
|
|
|
296
|
+
# Bedrock requires conversations to end with a user message.
|
|
297
|
+
# After the agentic tool loop, messages end with assistant — inject a
|
|
298
|
+
# user prompt so the extraction call is valid for all providers.
|
|
299
|
+
if messages and messages[-1].role == "assistant":
|
|
300
|
+
messages = [*messages, llm.messages.user("Provide your structured response.")]
|
|
301
|
+
|
|
296
302
|
@use_brain(format=response_model)
|
|
297
303
|
async def _llm_call():
|
|
298
304
|
return messages
|
|
@@ -119,8 +119,6 @@ def _build_tools() -> list:
|
|
|
119
119
|
build_wheels
|
|
120
120
|
from dialectical_framework.agents.explorer.skills.explore_transformations import \
|
|
121
121
|
explore_transformations
|
|
122
|
-
from dialectical_framework.agents.explorer.tools.create_nexus import \
|
|
123
|
-
create_nexus
|
|
124
122
|
from dialectical_framework.agents.explorer.tools.present_exploration import \
|
|
125
123
|
present_exploration
|
|
126
124
|
from dialectical_framework.agents.orchestrator.tools.get_schema import \
|
|
@@ -133,7 +131,6 @@ def _build_tools() -> list:
|
|
|
133
131
|
return [
|
|
134
132
|
build_wheels,
|
|
135
133
|
explore_transformations,
|
|
136
|
-
create_nexus,
|
|
137
134
|
present_exploration,
|
|
138
135
|
inspect_node,
|
|
139
136
|
query_graph,
|
|
@@ -44,14 +44,10 @@ When the user wants to go deeper on a specific transformation:
|
|
|
44
44
|
- Use `inspect_node` to show full detail.
|
|
45
45
|
- Explain the tetrad structure: Ac/Ac+/Ac- and Re/Re+/Re-.
|
|
46
46
|
|
|
47
|
-
When the user wants to create a sub-exploration:
|
|
48
|
-
- Use `create_nexus` to group a subset of perspectives for focused exploration.
|
|
49
|
-
|
|
50
47
|
## Tools
|
|
51
48
|
|
|
52
49
|
- `build_wheels` -- Generate causal structures (Cycles + Wheels) from this Nexus. Use nexus_hash: "{nexus_hash}".
|
|
53
50
|
- `explore_transformations` -- Generate Action-Reflection transformations for a Wheel.
|
|
54
|
-
- `create_nexus` -- Create a sub-nexus for focused exploration of specific perspectives.
|
|
55
51
|
- `present_exploration` -- Show current state of this Nexus: perspectives, wheels, transformations.
|
|
56
52
|
- `inspect_node` -- Deep-dive any node by hash.
|
|
57
53
|
- `query_graph` -- Raw Cypher for custom queries. Call `get_schema` first.
|
|
@@ -64,7 +60,8 @@ Adapt depth and presentation to the persona defined in the app preamble.
|
|
|
64
60
|
## Rules
|
|
65
61
|
|
|
66
62
|
- Never dump raw tool output. Synthesize into appropriate presentation.
|
|
67
|
-
-
|
|
63
|
+
- Never rephrase Statement text. Use exact text (or display_text) from the graph — paraphrasing makes it ambiguous which node you're referring to.
|
|
64
|
+
- When referencing structural nodes (Polarity, Perspective, Nexus, Cycle, Wheel, Transformation, Transition, Synthesis), always include the short hash for disambiguation.
|
|
68
65
|
- If the user wants to analyze new material, suggest they return to the analysis thread.
|
|
69
66
|
- Skill reports may contain truncated text previews. When you need to present exact node text to the user, use `inspect_node` or `present_analysis` by hash — never reconstruct or guess full text from truncated previews.
|
|
70
67
|
"""
|
|
File without changes
|
|
File without changes
|
{dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/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
|
|
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.1.1 → dialectical_framework-1.1.2}/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
|
{dialectical_framework-1.1.1 → dialectical_framework-1.1.2}/src/dialectical_framework/settings.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
|