dialectical-framework 1.8.1__tar.gz → 1.9.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.8.1 → dialectical_framework-1.9.2}/PKG-INFO +72 -21
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/README.md +71 -20
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/pyproject.toml +1 -1
- dialectical_framework-1.9.2/src/dialectical_framework/agents/advisor/advisor.py +2443 -0
- dialectical_framework-1.9.2/src/dialectical_framework/agents/advisor/mode.py +59 -0
- dialectical_framework-1.9.2/src/dialectical_framework/agents/advisor/reply_hygiene.py +118 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/agents/advisor/system_prompts.py +391 -32
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/agents/advisor/tools/explore.py +98 -12
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/agents/advisor/tools/record_decision.py +20 -10
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/agents/advisor/tools/scoped.py +78 -22
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/agents/advisor/tools/sync.py +1 -1
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/agents/analyst/analyst.py +17 -3
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/agents/analyst/system_prompts.py +1 -1
- dialectical_framework-1.9.2/src/dialectical_framework/agents/app_spec.py +205 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/agents/apps.py +58 -9
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/agents/conversation_facilitator.py +154 -13
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/agents/explorer/explorer.py +287 -44
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/agents/explorer/skills/build_wheels.py +48 -2
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/agents/explorer/skills/explore_transformations.py +67 -7
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/agents/explorer/system_prompts.py +7 -5
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/agents/orchestrator/tools/get_schema.py +12 -8
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/agents/stream_events.py +9 -0
- dialectical_framework-1.9.2/src/dialectical_framework/agents/turn_timing.py +371 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/concerns/ac_re_taxonomy.py +2 -2
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/concerns/action_extraction.py +26 -4
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/concerns/decision_confirmation_check.py +85 -12
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/concerns/dialectical_context.py +259 -49
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/concerns/perspective_combination.py +50 -4
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/concerns/positive_ac_re_apex_derivation.py +94 -35
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/concerns/record_decision.py +242 -14
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/concerns/synthesis_generation.py +1 -1
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/concerns/tetrad_grounding.py +2 -2
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/concerns/thesis_extraction.py +76 -5
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/concerns/transformation_audit.py +3 -2
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/concerns/transformation_generation.py +84 -108
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/graph/mixins/incremental_build_mixin.py +30 -13
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/graph/nodes/base_node.py +14 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/graph/nodes/case.py +4 -1
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/graph/nodes/decision.py +9 -3
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/graph/nodes/transformation.py +24 -14
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/graph/nodes/transition.py +14 -2
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/graph/nodes/wheel.py +29 -12
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/graph/relationship_manager.py +178 -17
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/graph/relationships/polarity_relationship.py +11 -6
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/graph/rendering.py +133 -18
- dialectical_framework-1.9.2/src/dialectical_framework/graph/repositories/case_repository.py +179 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/graph/repositories/cycle_repository.py +9 -1
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/graph/repositories/nexus_repository.py +3 -2
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/graph/repositories/node_repository.py +70 -14
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/graph/repositories/perspective_repository.py +94 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/graph/repositories/transformation_repository.py +1 -1
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/graph/repositories/wheel_repository.py +132 -7
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/settings.py +132 -4
- dialectical_framework-1.9.2/src/dialectical_framework/utils/__init__.py +0 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/utils/call_census.py +8 -0
- dialectical_framework-1.9.2/src/dialectical_framework/utils/edge_context.py +201 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/utils/progress.py +68 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/utils/thinking_compat.py +1 -1
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/utils/use_brain.py +45 -3
- dialectical_framework-1.8.1/src/dialectical_framework/agents/advisor/advisor.py +0 -890
- dialectical_framework-1.8.1/src/dialectical_framework/agents/app_spec.py +0 -119
- dialectical_framework-1.8.1/src/dialectical_framework/agents/turn_timing.py +0 -206
- dialectical_framework-1.8.1/src/dialectical_framework/graph/repositories/case_repository.py +0 -101
- dialectical_framework-1.8.1/src/dialectical_framework/utils/edge_context.py +0 -54
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/LICENSE +0 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/PATENTS +0 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/__init__.py +0 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/agents/__init__.py +0 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/agents/advisor/__init__.py +0 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/agents/advisor/tools/__init__.py +0 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/agents/advisor/tools/anchor.py +0 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/agents/advisor/tools/deepen.py +0 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/agents/advisor/tools/ingest.py +0 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/agents/agent_context.py +0 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/agents/analyst/__init__.py +0 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/agents/analyst/skills/__init__.py +0 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/agents/analyst/skills/anchor_theses.py +0 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/agents/analyst/skills/edit_perspective.py +0 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/agents/analyst/skills/expand_polarities.py +0 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/agents/analyst/skills/find_polarities.py +0 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/agents/analyst/skills/introduce_polarity.py +0 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/agents/analyst/skills/surface_theses.py +0 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/agents/analyst/tools/__init__.py +0 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/agents/analyst/tools/place_statement.py +0 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/agents/execution_report.py +0 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/agents/explorer/__init__.py +0 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/agents/explorer/skills/__init__.py +0 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/agents/explorer/skills/generate_synthesis.py +0 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/agents/explorer/tools/__init__.py +0 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/agents/explorer/tools/create_nexus.py +0 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/agents/explorer/tools/expand_nexus.py +0 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/agents/explorer/tools/generate_synthesis.py +0 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/agents/explorer/tools/present_exploration.py +0 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/agents/orchestrator/__init__.py +0 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/agents/orchestrator/tools/__init__.py +0 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/agents/orchestrator/tools/add_input.py +0 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/agents/orchestrator/tools/audit_feasibility.py +0 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/agents/orchestrator/tools/create_dx_input.py +0 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/agents/orchestrator/tools/digest_input.py +0 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/agents/orchestrator/tools/discard.py +0 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/agents/orchestrator/tools/inspect_node.py +0 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/agents/orchestrator/tools/present_analysis.py +0 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/agents/orchestrator/tools/query_graph.py +0 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/agents/orchestrator/tools/read_digest.py +0 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/agents/orchestrator/tools/read_input.py +0 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/agents/reasonable_concern.py +0 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/agents/toolsets.py +0 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/concerns/__init__.py +0 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/concerns/add_input.py +0 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/concerns/ai_dto/__init__.py +0 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/concerns/ai_dto/statement_dto.py +0 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/concerns/ai_dto/statements_deck_dto.py +0 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/concerns/antithesis_classification.py +0 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/concerns/antithesis_extraction.py +0 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/concerns/antithetical_thesis_detection.py +0 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/concerns/aspect_classification.py +0 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/concerns/aspect_generation.py +0 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/concerns/build_status.py +0 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/concerns/causality/__init__.py +0 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/concerns/causality/causality_estimator.py +0 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/concerns/causality/causality_estimator_balanced.py +0 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/concerns/causality/causality_estimator_criteria.py +0 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/concerns/causality/causality_estimator_desirable.py +0 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/concerns/causality/causality_estimator_feasible.py +0 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/concerns/causality/causality_estimator_realistic.py +0 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/concerns/causality/causality_normalizer.py +0 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/concerns/causality/estimator_resolver.py +0 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/concerns/causality_estimation.py +0 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/concerns/control_statements_check.py +0 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/concerns/create_dx_input.py +0 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/concerns/create_nexus.py +0 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/concerns/decision_coherence_check.py +0 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/concerns/diagonal_oppositions_check.py +0 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/concerns/discard.py +0 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/concerns/display_text_edit.py +0 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/concerns/expand_nexus.py +0 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/concerns/perspective_validation.py +0 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/concerns/scoring_scales.py +0 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/concerns/source_digest.py +0 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/concerns/statement_classification.py +0 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/concerns/statement_deduplication.py +0 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/concerns/statement_headline.py +0 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/concerns/statement_placement.py +0 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/dialectical_reasoning.py +0 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/enums/__init__.py +0 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/enums/causality_preset.py +0 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/enums/di.py +0 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/events/__init__.py +0 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/events/graph_event.py +0 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/events/graph_event_bus.py +0 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/events/progress_event.py +0 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/exceptions/__init__.py +0 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/exceptions/node_errors.py +0 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/exceptions/resolver_errors.py +0 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/graph/__init__.py +0 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/graph/composite_input_resolver.py +0 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/graph/dialexity_input_resolver.py +0 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/graph/estimation_manager.py +0 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/graph/mixins/__init__.py +0 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/graph/mixins/intent_mixin.py +0 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/graph/mixins/persistable_mixin.py +0 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/graph/nodes/__init__.py +0 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/graph/nodes/assessable_entity.py +0 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/graph/nodes/cycle.py +0 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/graph/nodes/estimation.py +0 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/graph/nodes/ideas.py +0 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/graph/nodes/input.py +0 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/graph/nodes/nexus.py +0 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/graph/nodes/perspective.py +0 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/graph/nodes/polarity.py +0 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/graph/nodes/rationale.py +0 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/graph/nodes/statement.py +0 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/graph/nodes/synthesis.py +0 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/graph/relationships/__init__.py +0 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/graph/relationships/action_reflection_relationship.py +0 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/graph/relationships/belongs_to_cycle_relationship.py +0 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/graph/relationships/belongs_to_nexus_relationship.py +0 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/graph/relationships/changed_to_relationship.py +0 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/graph/relationships/contradiction_of_relationship.py +0 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/graph/relationships/critiques_relationship.py +0 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/graph/relationships/distilled_to_relationship.py +0 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/graph/relationships/estimates_relationship.py +0 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/graph/relationships/explains_relationship.py +0 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/graph/relationships/grounded_in_relationship.py +0 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/graph/relationships/has_input_relationship.py +0 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/graph/relationships/has_statement_relationship.py +0 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/graph/relationships/has_wheel_relationship.py +0 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/graph/relationships/immutable_structure.py +0 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/graph/relationships/is_source_of_relationship.py +0 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/graph/relationships/is_target_of_relationship.py +0 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/graph/relationships/negative_side_of_relationship.py +0 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/graph/relationships/opposite_direction_relationship.py +0 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/graph/relationships/opposite_of_relationship.py +0 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/graph/relationships/positive_side_of_relationship.py +0 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/graph/relationships/provides_relationship.py +0 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/graph/relationships/synthesis_of_relationship.py +0 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/graph/repositories/__init__.py +0 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/graph/repositories/decision_repository.py +0 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/graph/repositories/input_repository.py +0 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/graph/repositories/polarity_repository.py +0 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/graph/repositories/schema_repository.py +0 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/graph/repositories/statement_repository.py +0 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/graph/scope_context.py +0 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/graph/verbatim_input_resolver.py +0 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/graph/wheel_segment.py +0 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/graph/wheel_segment_polar_pair.py +0 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/protocols/__init__.py +0 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/protocols/has_config.py +0 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/protocols/input_resolver.py +0 -0
- /dialectical_framework-1.8.1/src/dialectical_framework/utils/__init__.py → /dialectical_framework-1.9.2/src/dialectical_framework/py.typed +0 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/utils/async_drain.py +0 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/utils/bedrock_provider.py +0 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/utils/chunking.py +0 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/utils/concurrency.py +0 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/utils/dc_replace.py +0 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/utils/decompose_probability_uniformly.py +0 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/utils/effect_logger.py +0 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/utils/input_context.py +0 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/utils/order_transitions.py +0 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/utils/retry_accounting.py +0 -0
- {dialectical_framework-1.8.1 → dialectical_framework-1.9.2}/src/dialectical_framework/utils/sequence_generation.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: dialectical-framework
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.9.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
|
|
@@ -57,7 +57,9 @@ And the synthesis is *earned*, not asserted. Where "think step by step" leaves r
|
|
|
57
57
|
|
|
58
58
|
## How It Works
|
|
59
59
|
|
|
60
|
-
1. **Input** — text
|
|
60
|
+
1. **Input** — text or raw ideas from any domain (URLs, uploads and other sources
|
|
61
|
+
once you supply an [`InputResolver`](docs/graph.md#input-resolution) — the default
|
|
62
|
+
fetches nothing)
|
|
61
63
|
2. **Analysis** — extract the theses, find each one's true antithesis, develop the four aspects (T+, T-, A+, A-) that say where each side helps and where it overreaches
|
|
62
64
|
3. **Graph curation** — commit every insight as content-addressed, rule-validated nodes and edges — nothing is stored until it holds up
|
|
63
65
|
4. **Exploration** — combine perspectives into Cycles, arrange them into Wheels, and trace the Transformations whose circular causality yields synthesis
|
|
@@ -82,6 +84,9 @@ An **agent** is the entry point — a thin LLM orchestrator that manages a conve
|
|
|
82
84
|
- [Agents: Analyst, Explorer, Advisor](docs/agents.md) — the building blocks, their tools, and the UX to build around them
|
|
83
85
|
- [Graph Data Model](docs/graph.md)
|
|
84
86
|
- [Scoring & Metrics](docs/scoring.md)
|
|
87
|
+
- Runnable: [examples/advisor_chat.py](examples/advisor_chat.py) (console chat),
|
|
88
|
+
[notebooks/minds.ipynb](notebooks/minds.ipynb) and
|
|
89
|
+
[notebooks/seasons.ipynb](notebooks/seasons.ipynb) (building an app with `AppSpec`)
|
|
85
90
|
|
|
86
91
|
## Why a Reasoning Graph
|
|
87
92
|
|
|
@@ -124,11 +129,12 @@ Wherever the answer is a tension rather than a fact, this drops in as the reason
|
|
|
124
129
|
|
|
125
130
|
- **Analyst** — turns raw material into structured tensions, up to grouping them into a Nexus (Case-scoped).
|
|
126
131
|
- **Explorer** — takes one Nexus and works out its causal pathways and synthesis (Nexus-scoped).
|
|
127
|
-
- **Advisor** — runs the whole machine silently and returns pure counsel, with no framework vocabulary exposed (Case-scoped).
|
|
132
|
+
- **Advisor** — runs the whole machine silently and returns pure counsel, with no framework vocabulary exposed (Case-scoped). Its **Consultant** mode (`Advisor(mode=AdvisorMode.CONSULTANT)`) is the same head over a graph that already exists: it reads, records decisions, and never builds — the fast surface for a return visit.
|
|
128
133
|
|
|
129
134
|
Analyst + Explorer are the structure-forward "graph navigator" experience; the Advisor is a chat-only product over the same graph. See [docs/agents.md](docs/agents.md) for full specs, tool lists, and the UX to build around each.
|
|
130
135
|
|
|
131
136
|
```python
|
|
137
|
+
import asyncio
|
|
132
138
|
from contextlib import aclosing
|
|
133
139
|
|
|
134
140
|
from dialectical_framework.dialectical_reasoning import DialecticalReasoning
|
|
@@ -136,26 +142,53 @@ from dialectical_framework.settings import Settings
|
|
|
136
142
|
from dialectical_framework.graph.nodes.case import Case
|
|
137
143
|
from dialectical_framework.graph.scope_context import scope
|
|
138
144
|
from dialectical_framework.agents.advisor.advisor import Advisor
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
#
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
145
|
+
from dialectical_framework.agents.stream_events import TextDelta
|
|
146
|
+
|
|
147
|
+
|
|
148
|
+
async def main():
|
|
149
|
+
# Initialize once
|
|
150
|
+
DialecticalReasoning.setup(Settings.from_env())
|
|
151
|
+
|
|
152
|
+
# A Case owns the scope id (sid); all graph writes are sid-scoped.
|
|
153
|
+
case = Case(); case.commit()
|
|
154
|
+
|
|
155
|
+
with scope(case.sid):
|
|
156
|
+
# `principal="human"` because a real person is on the other end: it is
|
|
157
|
+
# what lets a decision they confirm be recorded as THEIR confirmation.
|
|
158
|
+
# The default attests nobody — see docs/agents.md.
|
|
159
|
+
advisor = Advisor(
|
|
160
|
+
app_preamble="You are a systems thinking coach...", principal="human"
|
|
161
|
+
)
|
|
162
|
+
# `aclosing` because a host that stops MID-TURN must CLOSE the generator
|
|
163
|
+
# — that is what releases the provider connection and records the turn's
|
|
164
|
+
# seconds. Breaking on `ResponseComplete` needs none of it: that event is
|
|
165
|
+
# yielded after the turn's closing work. See docs/agents.md.
|
|
166
|
+
async with aclosing(
|
|
167
|
+
advisor.chat_stream("Analyze the tension between growth and sustainability")
|
|
168
|
+
) as events:
|
|
169
|
+
async for event in events:
|
|
170
|
+
# ThinkingDelta, TextDelta, ToolStart, ToolResult, ResponseComplete
|
|
171
|
+
if isinstance(event, TextDelta):
|
|
172
|
+
print(event.text, end="", flush=True)
|
|
173
|
+
|
|
174
|
+
# Once, after the last turn: the Advisor weaves a decision's pathway off
|
|
175
|
+
# the turn, and this is where that finishes. See docs/agents.md.
|
|
176
|
+
await advisor.wait_for_deferred_work()
|
|
177
|
+
|
|
178
|
+
|
|
179
|
+
asyncio.run(main())
|
|
157
180
|
```
|
|
158
181
|
|
|
182
|
+
Runnable versions of the above:
|
|
183
|
+
|
|
184
|
+
- **[examples/advisor_chat.py](examples/advisor_chat.py)** — a console chat, and the
|
|
185
|
+
smallest program in which all five host obligations are load-bearing (`poetry run
|
|
186
|
+
python examples/advisor_chat.py`).
|
|
187
|
+
- **[notebooks/minds.ipynb](notebooks/minds.ipynb)** — plugging your own domain in
|
|
188
|
+
with a single declarative `AppSpec`.
|
|
189
|
+
- **[notebooks/seasons.ipynb](notebooks/seasons.ipynb)** — one `AppSpec` across every
|
|
190
|
+
agent head (Analyst, Explorer, Advisor, and the advisory toggle).
|
|
191
|
+
|
|
159
192
|
## Setup
|
|
160
193
|
|
|
161
194
|
### Requirements
|
|
@@ -166,11 +199,29 @@ with scope(case.sid):
|
|
|
166
199
|
|
|
167
200
|
### Install
|
|
168
201
|
|
|
202
|
+
Into your own application:
|
|
203
|
+
|
|
204
|
+
```bash
|
|
205
|
+
pip install dialectical-framework
|
|
206
|
+
```
|
|
207
|
+
|
|
208
|
+
To work on the framework itself:
|
|
209
|
+
|
|
169
210
|
```bash
|
|
170
211
|
poetry install
|
|
212
|
+
```
|
|
213
|
+
|
|
214
|
+
Either way, configuration comes from the environment:
|
|
215
|
+
|
|
216
|
+
```bash
|
|
171
217
|
cp .env.example .env # then fill in the values (see .env.example for details)
|
|
172
218
|
```
|
|
173
219
|
|
|
220
|
+
`DIALEXITY_DEFAULT_MODEL` is the only variable the framework itself requires (plus
|
|
221
|
+
whatever credentials your provider's SDK reads). Everything else is commented out in
|
|
222
|
+
`.env.example`, where each commented value **is** the code default — so the graph
|
|
223
|
+
connection works as-is against Memgraph on `127.0.0.1:7687`.
|
|
224
|
+
|
|
174
225
|
### Run Tests
|
|
175
226
|
|
|
176
227
|
```bash
|
|
@@ -16,7 +16,9 @@ And the synthesis is *earned*, not asserted. Where "think step by step" leaves r
|
|
|
16
16
|
|
|
17
17
|
## How It Works
|
|
18
18
|
|
|
19
|
-
1. **Input** — text
|
|
19
|
+
1. **Input** — text or raw ideas from any domain (URLs, uploads and other sources
|
|
20
|
+
once you supply an [`InputResolver`](docs/graph.md#input-resolution) — the default
|
|
21
|
+
fetches nothing)
|
|
20
22
|
2. **Analysis** — extract the theses, find each one's true antithesis, develop the four aspects (T+, T-, A+, A-) that say where each side helps and where it overreaches
|
|
21
23
|
3. **Graph curation** — commit every insight as content-addressed, rule-validated nodes and edges — nothing is stored until it holds up
|
|
22
24
|
4. **Exploration** — combine perspectives into Cycles, arrange them into Wheels, and trace the Transformations whose circular causality yields synthesis
|
|
@@ -41,6 +43,9 @@ An **agent** is the entry point — a thin LLM orchestrator that manages a conve
|
|
|
41
43
|
- [Agents: Analyst, Explorer, Advisor](docs/agents.md) — the building blocks, their tools, and the UX to build around them
|
|
42
44
|
- [Graph Data Model](docs/graph.md)
|
|
43
45
|
- [Scoring & Metrics](docs/scoring.md)
|
|
46
|
+
- Runnable: [examples/advisor_chat.py](examples/advisor_chat.py) (console chat),
|
|
47
|
+
[notebooks/minds.ipynb](notebooks/minds.ipynb) and
|
|
48
|
+
[notebooks/seasons.ipynb](notebooks/seasons.ipynb) (building an app with `AppSpec`)
|
|
44
49
|
|
|
45
50
|
## Why a Reasoning Graph
|
|
46
51
|
|
|
@@ -83,11 +88,12 @@ Wherever the answer is a tension rather than a fact, this drops in as the reason
|
|
|
83
88
|
|
|
84
89
|
- **Analyst** — turns raw material into structured tensions, up to grouping them into a Nexus (Case-scoped).
|
|
85
90
|
- **Explorer** — takes one Nexus and works out its causal pathways and synthesis (Nexus-scoped).
|
|
86
|
-
- **Advisor** — runs the whole machine silently and returns pure counsel, with no framework vocabulary exposed (Case-scoped).
|
|
91
|
+
- **Advisor** — runs the whole machine silently and returns pure counsel, with no framework vocabulary exposed (Case-scoped). Its **Consultant** mode (`Advisor(mode=AdvisorMode.CONSULTANT)`) is the same head over a graph that already exists: it reads, records decisions, and never builds — the fast surface for a return visit.
|
|
87
92
|
|
|
88
93
|
Analyst + Explorer are the structure-forward "graph navigator" experience; the Advisor is a chat-only product over the same graph. See [docs/agents.md](docs/agents.md) for full specs, tool lists, and the UX to build around each.
|
|
89
94
|
|
|
90
95
|
```python
|
|
96
|
+
import asyncio
|
|
91
97
|
from contextlib import aclosing
|
|
92
98
|
|
|
93
99
|
from dialectical_framework.dialectical_reasoning import DialecticalReasoning
|
|
@@ -95,26 +101,53 @@ from dialectical_framework.settings import Settings
|
|
|
95
101
|
from dialectical_framework.graph.nodes.case import Case
|
|
96
102
|
from dialectical_framework.graph.scope_context import scope
|
|
97
103
|
from dialectical_framework.agents.advisor.advisor import Advisor
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
#
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
104
|
+
from dialectical_framework.agents.stream_events import TextDelta
|
|
105
|
+
|
|
106
|
+
|
|
107
|
+
async def main():
|
|
108
|
+
# Initialize once
|
|
109
|
+
DialecticalReasoning.setup(Settings.from_env())
|
|
110
|
+
|
|
111
|
+
# A Case owns the scope id (sid); all graph writes are sid-scoped.
|
|
112
|
+
case = Case(); case.commit()
|
|
113
|
+
|
|
114
|
+
with scope(case.sid):
|
|
115
|
+
# `principal="human"` because a real person is on the other end: it is
|
|
116
|
+
# what lets a decision they confirm be recorded as THEIR confirmation.
|
|
117
|
+
# The default attests nobody — see docs/agents.md.
|
|
118
|
+
advisor = Advisor(
|
|
119
|
+
app_preamble="You are a systems thinking coach...", principal="human"
|
|
120
|
+
)
|
|
121
|
+
# `aclosing` because a host that stops MID-TURN must CLOSE the generator
|
|
122
|
+
# — that is what releases the provider connection and records the turn's
|
|
123
|
+
# seconds. Breaking on `ResponseComplete` needs none of it: that event is
|
|
124
|
+
# yielded after the turn's closing work. See docs/agents.md.
|
|
125
|
+
async with aclosing(
|
|
126
|
+
advisor.chat_stream("Analyze the tension between growth and sustainability")
|
|
127
|
+
) as events:
|
|
128
|
+
async for event in events:
|
|
129
|
+
# ThinkingDelta, TextDelta, ToolStart, ToolResult, ResponseComplete
|
|
130
|
+
if isinstance(event, TextDelta):
|
|
131
|
+
print(event.text, end="", flush=True)
|
|
132
|
+
|
|
133
|
+
# Once, after the last turn: the Advisor weaves a decision's pathway off
|
|
134
|
+
# the turn, and this is where that finishes. See docs/agents.md.
|
|
135
|
+
await advisor.wait_for_deferred_work()
|
|
136
|
+
|
|
137
|
+
|
|
138
|
+
asyncio.run(main())
|
|
116
139
|
```
|
|
117
140
|
|
|
141
|
+
Runnable versions of the above:
|
|
142
|
+
|
|
143
|
+
- **[examples/advisor_chat.py](examples/advisor_chat.py)** — a console chat, and the
|
|
144
|
+
smallest program in which all five host obligations are load-bearing (`poetry run
|
|
145
|
+
python examples/advisor_chat.py`).
|
|
146
|
+
- **[notebooks/minds.ipynb](notebooks/minds.ipynb)** — plugging your own domain in
|
|
147
|
+
with a single declarative `AppSpec`.
|
|
148
|
+
- **[notebooks/seasons.ipynb](notebooks/seasons.ipynb)** — one `AppSpec` across every
|
|
149
|
+
agent head (Analyst, Explorer, Advisor, and the advisory toggle).
|
|
150
|
+
|
|
118
151
|
## Setup
|
|
119
152
|
|
|
120
153
|
### Requirements
|
|
@@ -125,11 +158,29 @@ with scope(case.sid):
|
|
|
125
158
|
|
|
126
159
|
### Install
|
|
127
160
|
|
|
161
|
+
Into your own application:
|
|
162
|
+
|
|
163
|
+
```bash
|
|
164
|
+
pip install dialectical-framework
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
To work on the framework itself:
|
|
168
|
+
|
|
128
169
|
```bash
|
|
129
170
|
poetry install
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
Either way, configuration comes from the environment:
|
|
174
|
+
|
|
175
|
+
```bash
|
|
130
176
|
cp .env.example .env # then fill in the values (see .env.example for details)
|
|
131
177
|
```
|
|
132
178
|
|
|
179
|
+
`DIALEXITY_DEFAULT_MODEL` is the only variable the framework itself requires (plus
|
|
180
|
+
whatever credentials your provider's SDK reads). Everything else is commented out in
|
|
181
|
+
`.env.example`, where each commented value **is** the code default — so the graph
|
|
182
|
+
connection works as-is against Memgraph on `127.0.0.1:7687`.
|
|
183
|
+
|
|
133
184
|
### Run Tests
|
|
134
185
|
|
|
135
186
|
```bash
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[tool.poetry]
|
|
2
2
|
name = "dialectical-framework"
|
|
3
|
-
version = "1.
|
|
3
|
+
version = "1.9.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"
|