DialecticalReasoningTask
Resolve contradictions and architectural tensions through iterative thesis-antithesis-synthesis. Moves beyond binary choices to find higher-level conceptual integration.
{
"thesis": "Strict microservices for scale",
"antithesis": "Monolithic simplicity",
"context": "E-commerce Platform Migration",
"synthesis_levels": 3,
"preserve_strengths": true
}
Synthesis Level 3: Macro-Service Mesh
The final synthesis transcends the scale/simplicity trade-off by proposing a "Cell-Based Architecture" where logical monoliths are deployed as isolated scaling units...
- Preserves: Local development speed
- Preserves: Independent deployment
- Resolves: Distributed transaction overhead
Test Workspace Browser
Explore generated dialectical reports and analysis artifacts in the task workspace.
Configuration Parameters
| Field | Type | Description |
|---|---|---|
thesis* |
String | The primary position or claim to be analyzed. Max 5000 chars. |
antithesis* |
String | The opposing position or contradiction. Max 5000 chars. |
context |
String | Domain or background info to ground the analysis. |
synthesis_levels |
Int | Iterations of synthesis (1-5). Default: 3. |
preserve_strengths |
Boolean | If true, ensures synthesis keeps valid points from both sides. |
input_files |
List<String> | Glob patterns for source files to include as primary context. |
related_files |
List<String> | Additional files for background context. |
Task Lifecycle
- Initialization: Validates that thesis and antithesis are distinct and within length limits.
- Thesis/Antithesis Analysis: Independent agents analyze the core claims, strengths, and blind spots of each position.
- Contradiction Mapping: Identifies the root causes of the tension and areas of hidden overlap.
- Iterative Synthesis:
- Level 1: Finds a perspective that integrates both insights.
- Level 2+: Treats the previous synthesis as a new thesis to find even deeper abstractions.
- Final Integration: Produces a comprehensive report with practical implications and actionable recommendations.
Embedded Execution
Invoke this task programmatically using the UnifiedHarness in serverless mode.
import com.simiacryptus.cognotik.plan.tools.social.DialecticalReasoningTask
import com.simiacryptus.cognotik.plan.tools.social.DialecticalReasoningTask.Companion.DialecticalReasoning
// 1. Define the Job Configuration
val config = DialecticalReasoningTask.DialecticalReasoningTaskExecutionConfigData(
thesis = "Strict microservices for scale",
antithesis = "Monolithic simplicity",
context = "E-commerce Platform Migration",
synthesis_levels = 3,
preserve_strengths = true,
input_files = listOf("src/main/kotlin/architecture/*.kt")
)
// 2. Run via Harness
harness.runTask(
taskType = DialecticalReasoning,
typeConfig = TaskTypeConfig(name = "ArchReview"),
executionConfig = config,
workspace = File("./project-root"),
autoFix = true
)
CLI / CI Integration
Example GitHub Action step for automated reasoning:
- name: Run Dialectical Analysis
run: |
java -jar cognotik-cli.jar \
--task DialecticalReasoning \
--thesis "Implement custom auth" \
--antithesis "Use Auth0 provider" \
--workspace .
env:
OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
Prompt Segment
The following logic is injected into the LLM orchestrator:
DialecticalReasoning - Resolve contradictions through thesis-antithesis-synthesis ** Specify thesis and antithesis statements representing opposing positions ** Provide context to ground the dialectical analysis ** Configure synthesis_levels (1-5) to iterate toward higher understanding ** Set preserve_strengths=true to maintain valuable aspects of both sides ** Related files can provide additional context ** Explores contradictions and tensions between positions ** Generates synthesis that transcends opposition ** Iterates to progressively higher levels of understanding ** Produces structured dialectical analysis with final synthesis