| name | critique |
| description | Multi-perspective dialectical reasoning with cross-evaluative synthesis. Spawns parallel evaluative lenses (STRUCTURAL, EVIDENTIAL, SCOPE, ADVERSARIAL, PRAGMATIC) that critique thesis AND critique each other's critiques, producing N-squared evaluation matrix before recursive aggregation. Triggers on /critique, /dialectic, /crosseval, requests for thorough analysis, stress-testing arguments, or finding weaknesses. Implements Hegelian refinement enhanced with interleaved multi-domain evaluation and convergent synthesis. |
Critique: Multi-Lens Dialectical Refinement
Execute adversarial self-refinement through parallel evaluative lenses with cross-evaluation and recursive aggregation.
Architecture
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ DIALECTIC ENGINE v3 โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ ฮฆ0: CLASSIFY โ complexity assessment, mode selection, lens allocation โ
โ ฮฆ1: THESIS โ committed position with claim DAG โ
โ ฮฆ2: MULTI-LENS โ N lenses evaluate thesis (N critiques) โ
โ ANTITHESIS + each lens evaluates others (Nร(N-1) cross-evals) โ
โ = Nยฒ total evaluation cells โ
โ ฮฆ3: AGGREGATE โ consensus/contested/unique extraction โ
โ SYNTHESIS + recursive compression passes โ single output โ
โ ฮฆ4: CONVERGE โ stability check, iterate or finalize โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
PHASE DEPENDENCIES:
ฮฆ0 โโโบ ฮฆ1 โโโบ ฮฆ2a โโโบ ฮฆ2b โโโบ ฮฆ3 โโโบ ฮฆ4
(initial) (cross) โ
โโโโบ ฮฆ1 (if ITERATE)
Mode Selection
Automatic Mode Detection
def select_mode(query: str) -> Mode:
"""
Select critique depth based on query characteristics.
QUICK: Simple claims, factual questions, narrow scope
STANDARD: Moderate complexity, clear domain, some nuance
FULL: Complex arguments, multiple stakeholders, high stakes
"""
indicators = {
"quick": [
len(query) < 200,
single_claim(query),
factual_verifiable(query),
low_controversy(query)
],
"full": [
len(query) > 1000,
multi_stakeholder(query),
ethical_implications(query),
policy_recommendation(query),
high_stakes_decision(query)
]
}
if sum(indicators["quick"]) >= 3:
return Mode.QUICK
elif sum(indicators["full"]) >= 2:
return Mode.FULL
else:
return Mode.STANDARD
Mode Specifications
| Mode | Lenses | Cross-Eval | Cycles | Threshold | Token Budget |
|---|
| QUICK | 3 (S,E,A) | None | 1 | 0.85 | ~800 |
| STANDARD | 5 (all) | Selective (10 cells) | 2 | 0.92 | ~2000 |
| FULL | 5 (all) | Complete (25 cells) | 3 | 0.96 | ~4000 |
Manual Triggers
| Trigger | Mode | Description |
|---|
/critique | Auto-detect | Intelligent mode selection |
/critique-quick | QUICK | Fast, 3-lens, no cross-eval |
/critique-standard | STANDARD | Balanced, selective cross-eval |
/critique-full | FULL | Complete Nยฒ analysis |
/crosseval | FULL | Emphasis on ฮฆ2b matrix |
/aggregate | FULL | Emphasis on ฮฆ3 synthesis |
Evaluative Lenses
Five orthogonal perspectives designed for comprehensive coverage with minimal overlap:
| Lens | Code | Domain | Core Question | Orthogonality Rationale |
|---|
| STRUCTURAL | S | Logic & coherence | Is reasoning valid? | Form vs content |
| EVIDENTIAL | E | Evidence & epistemology | What justifies belief? | Justification type |
| SCOPE | O | Boundaries & generality | Where does this apply? | Domain limits |
| ADVERSARIAL | A | Opposition & alternatives | What's the best counter? | External challenge |
| PRAGMATIC | P | Application & consequence | Does this work? | Theory vs practice |
Lens Independence Validation
Lenses target distinct failure modes:
- S catches: invalid inference, circular reasoning, equivocation
- E catches: weak evidence, unfalsifiable claims, cherry-picking
- O catches: overgeneralization, edge cases, context dependence
- A catches: stronger alternatives, unconsidered objections
- P catches: implementation barriers, unintended consequences
Overlap detection: If two lenses identify the same issue, it's either a genuine high-priority concern (reinforce) or a lens calibration problem (investigate).
Execution Protocol
ฮฆ0: Classification & Mode Selection
def classify_and_configure(query: str) -> Config:
mode = select_mode(query)
configs = {
Mode.QUICK: {
"lenses": ["S", "E", "A"],
"cross_eval": False,
"cycles": 1,
"threshold": 0.85,
"token_budget": 800
},
Mode.STANDARD: {
"lenses": ["S", "E", "O", "A", "P"],
"cross_eval": "selective",
"cycles": 2,
"threshold": 0.92,
"token_budget": 2000
},
Mode.FULL: {
"lenses": ["S", "E", "O", "A", "P"],
"cross_eval": "complete",
"cycles": 3,
"threshold": 0.96,
"token_budget": 4000
}
}
return Config(**configs[mode], mode=mode)
Output: [CRITIQUE:ฮฆ0|mode={m}|lenses={n}|cross={type}|budget={t}]
ฮฆ1: Thesis Generation
Generate committed response with explicit claim DAG.
Requirements:
- State positions with falsifiable specificity
- Build claim graph with stability ordering:
F (FOUNDATIONAL) โ axioms, definitions (immutable after ฮฆ1)
S (STRUCTURAL) โ derived claims (attackable)
P (PERIPHERAL) โ applications (most vulnerable)
- Verify acyclicity (DAG enforcement)
- Compute initial topology metrics
Schema:
thesis:
response: "{Complete committed response}"
claims:
- id: C1
content: "{Specific falsifiable claim}"
stability: F|S|P
supports: [C2, C3]
depends_on: []
confidence: 0.0-1.0
evidence_type: empirical|logical|definitional|analogical
topology:
nodes: {n}
edges: {e}
density: {e/n}
cycles: 0
aggregate_confidence: 0.0-1.0
completion_marker: "ฮฆ1_COMPLETE"
Output: [CRITIQUE:ฮฆ1|claims={n}|edges={e}|ฮท={density}|conf={c}|โ]
ฮฆ2: Multi-Lens Antithesis
ฮฆ2a: Initial Lens Evaluations
Prerequisite: ฮฆ1.completion_marker == "ฮฆ1_COMPLETE"
Each lens independently evaluates thesis using attack vectors:
structural:
- non_sequitur: "Conclusion does not follow from premises"
- circular_reasoning: "Conclusion presupposed in premises"
- false_dichotomy: "Excluded middle options"
- equivocation: "Term shifts meaning mid-argument"
evidential:
- insufficient_evidence: "Claim exceeds evidential support"
- cherry_picking: "Counter-evidence unaddressed"
- unfalsifiable: "No possible disconfirming evidence"
- correlation_causation: "Causal claim from correlational data"
scope:
- overgeneralization: "Specific case โ universal claim"
- edge_case: "Valid boundary defeats universal"
- context_dependence: "Unstated contextual requirements"
adversarial:
- steel_man: "Strongest form of opposition"
- alternative_explanation: "Competing hypothesis equally plausible"
- precedent_contradiction: "Accepted instance defeats thesis"
pragmatic:
- implementation_barrier: "Cannot be executed as stated"
- unintended_consequence: "Second-order effects harmful"
- scaling_failure: "Works small, fails large"
Per-lens output:
lens_evaluation:
lens: S|E|O|A|P
attacks:
- target: C{id}
type: "{attack_vector}"
content: "{Specific critique}"
severity: fatal|major|minor|cosmetic
confidence_impact: -0.0 to -1.0
summary_score: 0.0-1.0
completion_marker: "ฮฆ2a_{lens}_COMPLETE"
Completion Gate: All lenses must have completion_marker before ฮฆ2b proceeds.
ฮฆ2b: Cross-Lens Evaluation
Prerequisite: All ฮฆ2a_{lens}_COMPLETE markers present
QUICK mode: Skip ฮฆ2b entirely
STANDARD mode: Evaluate 10 highest-value cells:
- High-severity attacks from each lens (5 cells)
- Highest-confidence attacks cross-checked by adjacent lens (5 cells)
FULL mode: Complete 5ร5 matrix (25 cells, minus 5 diagonal = 20 evaluations)
Cross-evaluation matrix:
โ S eval โ E eval โ O eval โ A eval โ P eval โ
โโโโโผโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโผโโโโโโโโโโค
S โ โ โ โ SโE โ SโO โ SโA โ SโP โ
E โ โ EโS โ โ โ EโO โ EโA โ EโP โ
O โ โ OโS โ OโE โ โ โ OโA โ OโP โ
A โ โ AโS โ AโE โ AโO โ โ โ AโP โ
P โ โ PโS โ PโE โ PโO โ PโA โ โ โ
Cross-eval output:
cross_evaluation:
evaluator: S|E|O|A|P
evaluated: S|E|O|A|P
verdict: endorse|partial|reject
agreements: ["{attack_ids}"]
disagreements:
- attack: "{attack_id}"
objection: "{Why evaluator disagrees}"
missed: ["{What evaluator would add}"]
calibration: "{Over/under severity assessment}"
Output: [CRITIQUE:ฮฆ2|mode={m}|attacks={n}|cross={cells}|โ]
ฮฆ3: Aggregation & Synthesis
Phase 3a: Matrix Analysis
def analyze_matrix(all_attacks: list, cross_evals: Matrix) -> Analysis:
consensus = [a for a in all_attacks if agreement_rate(a) >= 0.80]
contested = [a for a in all_attacks if 0.40 <= agreement_rate(a) < 0.80]
unique = [a for a in all_attacks
if source_count(a) == 1 and cross_endorsed(a)]
rejected = [a for a in all_attacks
if agreement_rate(a) < 0.40 and cross_rejected(a)]
return Analysis(consensus, contested, unique, rejected)
Phase 3b: Conflict Resolution
For contested items:
def resolve_contested(contested: list, matrix: Matrix) -> list:
resolutions = []
for attack in contested:
support_weight = sum(credibility(s) for s in supporters(attack))
oppose_weight = sum(credibility(o) for o in opposers(attack))
if support_weight > oppose_weight * 1.5:
resolution = "ADOPT"
elif oppose_weight > support_weight * 1.5:
resolution = "REJECT"
else:
resolution = "CONDITIONAL"
resolutions.append(Resolution(attack, resolution, rationale(attack)))
return resolutions
Phase 3c: Recursive Compression
Pass 1: Apply consensus โ Core modifications (mandatory)
Pass 2: Apply contested โ Conditional modifications (with qualifications)
Pass 3: Apply unique โ Enhancement layer (optional enrichment)
Pass 4: Validate coherence โ If failed, re-compress with tighter constraints
Maximum compression passes: 4 (prevent infinite recursion)
Synthesis output:
synthesis:
response: "{Refined response}"
modifications:
from_consensus: [{claim, action, rationale}]
from_contested: [{claim, action, condition}]
from_unique: [{claim, enhancement}]
rejected_attacks: [{attack, rejection_rationale}]
residual_uncertainties: [{uncertainty, disagreeing_lenses, impact}]
confidence:
initial: {ฮฆ1}
final: {post-synthesis}
Output: [CRITIQUE:ฮฆ3|consensus={n}|contested={n}|unique={n}|rejected={n}|conf={f}]
ฮฆ4: Convergence Check
Convergence Formula:
convergence = (
0.30 * semantic_similarity(ฮฆ1, ฮฆ3) +
0.25 * graph_similarity(ฮฆ1.claims, ฮฆ3.claims) +
0.25 * confidence_stability(ฮฆ1.conf, ฮฆ3.conf) +
0.20 * consensus_rate(ฮฆ3.consensus / total_attacks)
)
Threshold Justification:
- 0.85 (QUICK): Acceptable for low-stakes, rapid iteration
- 0.92 (STANDARD): Balances thoroughness with efficiency
- 0.96 (FULL): High confidence required for complex/high-stakes
Outcomes:
CONVERGED: Score โฅ threshold โ output ฮฆ3 synthesis
ITERATE: Score < threshold AND cycles < max โ ฮฆ3 becomes new ฮฆ1
EXHAUSTED: Cycles exhausted โ output ฮฆ3 with uncertainty report
Output: [CRITIQUE:ฮฆ4|conv={score}|{STATUS}|iter={n}/{max}]
Graceful Degradation
When resources constrained (token budget, time pressure):
FULL โ interrupt โ Continue as STANDARD
STANDARD โ interrupt โ Continue as QUICK
QUICK โ interrupt โ Output best available synthesis with uncertainty flag
Degradation markers:
degraded_output:
original_mode: FULL
actual_mode: STANDARD
skipped_phases: [ฮฆ2b_partial]
confidence_penalty: -0.1
recommendation: "Re-run in FULL mode for complete analysis"
Compact Output Mode
[CRITIQUE|mode={m}|L={lenses}|c={cycle}/{max}]
[ฮฆ1|n{claims}|e{edges}|ฮท{density}|conf{c}|โ]
[ฮฆ2|attacks{n}|cross{cells}|S:{s}|E:{e}|O:{o}|A:{a}|P:{p}|โ]
[ฮฆ3|consensus{n}|contested{n}|unique{n}|rejected{n}|โ]
[ฮฆ4|conv{score}|{STATUS}|conf{initial}โ{final}]
SYNTHESIS: {2-3 sentence refined conclusion}
KEY_CHANGES: {Most significant modifications from ฮฆ1}
RESIDUAL: {Primary unresolved uncertainty, if any}
Meta-Cognitive Markers
[CLASSIFYING] โ ฮฆ0: determining mode and resources
[COMMITTING] โ ฮฆ1: stating without hedge
[LENS:X] โ ฮฆ2a: evaluating from lens X perspective
[CROSS:XโY] โ ฮฆ2b: lens X evaluating lens Y's critique
[CONSENSUS] โ ฮฆ3a: noting cross-lens agreement
[CONTESTED] โ ฮฆ3a: noting genuine disagreement
[RESOLVING] โ ฮฆ3b: applying resolution protocol
[COMPRESSING] โ ฮฆ3c: recursive synthesis pass
[CONVERGING] โ ฮฆ4: stability detected
[DEGRADING] โ Resource constraint, reducing scope
Constraints
- Phase Dependencies: Each phase requires predecessor completion marker
- DAG Enforcement: Claim graph must remain acyclic; circular reasoning = fatal
- Stability Ordering: FOUNDATIONAL claims immutable after ฮฆ1
- Genuine Critique: Softball attacks detected via cross-eval and rejected
- Compression Termination: Max 4 recursive passes in ฮฆ3c
- Convergence Cap: Max cycles from config; output uncertainty if exhausted
- Token Budget: Respect mode-specific limits; degrade gracefully if exceeded
Integration
- hierarchical-reasoning: Map lenses to strategic/tactical/operational
- graph: Claim topology analysis, k-bisimulation on evaluation matrix
- think: Mental models power individual lens templates
- non-linear: Subagent spawning for parallel lens execution
- infranodus: Graph gap detection enhances STRUCTURAL lens
- component: Structure critique outputs as validatable configuration
References
references/lens-specifications.md โ Complete lens templates and attack vectors
references/cross-evaluation-protocol.md โ Matrix construction and analysis
references/aggregation-algorithms.md โ Consensus extraction and compression