Status: ✅ ACTIVE - Complete dissonance-based pattern library
Version: 2.2.0 (Enhanced with advanced applications)
Last Updated: November 29, 2025
This guide documents the 6 archetypal operator sequences involving OZ (Dissonance) from TNFR theory, as defined in "El pulso que nos atraviesa" Table 2.5. These sequences represent validated structural patterns for bifurcation, therapeutic transformation, and epistemological construction.
OZ (Disonancia) is one of the 13 canonical structural operators in TNFR. It introduces controlled instability that enables:
Important: OZ is NOT destructive - it's generative dissonance. Think of it as asking challenging questions rather than breaking things.
In TNFR theory, OZ increases the internal reorganization gradient ΔNFR, creating conditions for structural phase transitions. The canonical nodal equation:
∂EPI/∂t = νf · ΔNFR(t)When OZ is applied, ΔNFR increases significantly, accelerating structural evolution when paired with sufficient structural frequency νf.
Use OZ in these situations:
Rule of Thumb: Stabilize before you destabilize!
Avoid OZ in these situations:
Sequence: AL → EN → IL → OZ → ZHIR → IL → SHA
Pattern Type: Bifurcated
Domain: General
Description: Disonancia creates bifurcation threshold where the node can reorganize through mutation (ZHIR). This is the "creative transformation" path.
Use Cases:
Expected Coherence: 0.9 - 1.0
Example:
from tnfr.sdk import TNFRNetwork
net = TNFRNetwork("transformation")
net.add_nodes(1)
net.apply_canonical_sequence("bifurcated_base")
results = net.measure()
print(f"Coherence: {results.coherence:.3f}") # ~1.000Sequence: AL → EN → IL → OZ → NUL → IL → SHA
Pattern Type: Bifurcated
Domain: General
Description: Alternative bifurcation path where dissonance leads to controlled collapse (NUL) instead of mutation. Useful for structural reset when transformation is not viable.
Use Cases:
Expected Coherence: 0.9 - 1.0
Example:
net = TNFRNetwork("reset")
net.add_nodes(1)
net.apply_canonical_sequence("bifurcated_collapse")
results = net.measure()
print(f"Coherence: {results.coherence:.3f}") # ~1.000Sequence: AL → EN → IL → OZ → ZHIR → IL → RA → SHA
Pattern Type: Therapeutic
Domain: Biomedical
Description: Complete healing cycle - activation, stabilization, confrontation (OZ), transformation (ZHIR), integration, propagation, rest. Used for personal or collective transformation.
Phases:
Use Cases:
Expected Coherence: 0.7 - 0.9 (multi-node contexts)
Example:
net = TNFRNetwork("healing")
net.add_nodes(5) # Patient + therapeutic context
net.connect_nodes(0.4, "random")
net.apply_canonical_sequence("therapeutic_protocol")
results = net.measure()
print(f"Coherence: {results.coherence:.3f}") # ~0.833
print(f"Avg Si: {sum(results.sense_indices.values())/len(results.sense_indices):.3f}")Sequence: AL → EN → IL → OZ → ZHIR → IL → THOL → SHA
Pattern Type: Educational
Domain: Cognitive
Description: System of ideas or emergent theory: initial emission, information reception, stabilization, conceptual dissonance/paradox, paradigm shift (mutation), stabilization in coherent understanding, self-organization into theoretical system, integration into embodied knowledge.
Phases:
Use Cases:
Expected Coherence: 0.85 - 0.95
Example:
net = TNFRNetwork("epistemology")
net.add_nodes(3) # Concept nodes
net.connect_nodes(0.3, "ring")
net.apply_canonical_sequence("theory_system")
results = net.measure()
print(f"Coherence: {results.coherence:.3f}") # ~0.900Sequence: AL → EN → IL → OZ → ZHIR → IL → RA → SHA
Pattern Type: Complex
Domain: General
Description: Complete nodal reorganization trajectory covering all reorganization phases: initiation, stabilization, exploration, transformation, integration, propagation, closure.
Phases:
Use Cases:
Expected Coherence: 0.8 - 0.9
Example:
net = TNFRNetwork("complete_transformation")
net.add_nodes(5)
net.connect_nodes(0.5, "small_world")
net.apply_canonical_sequence("full_deployment")
results = net.measure()
print(f"Coherence: {results.coherence:.3f}") # ~0.872Sequence: REMESH → EN → IL → OZ → ZHIR → IL → REMESH
Pattern Type: Explore
Domain: General
Description: Reusable macro for safe transformation. Activates recursivity, receives current state, stabilizes, introduces controlled dissonance, mutates structure, stabilizes new form, closes with recursivity. Designed to be composable within larger sequences.
Structure:
Use Cases:
Composition Example:
THOL[MOD_STABILIZER] ≡ THOL[REMESH → EN → IL → OZ → ZHIR → IL → REMESH]Expected Coherence: 0.8 - 1.0
Example:
net = TNFRNetwork("modular")
net.add_nodes(1)
net.apply_canonical_sequence("mod_stabilizer")
results = net.measure()
print(f"Coherence: {results.coherence:.3f}") # ~0.9+from tnfr.sdk import TNFRNetwork
net = TNFRNetwork("explorer")
# List all canonical sequences
all_sequences = net.list_canonical_sequences()
print(f"Total sequences: {len(all_sequences)}")
# Filter sequences with OZ
oz_sequences = net.list_canonical_sequences(with_oz=True)
print(f"Sequences with OZ: {len(oz_sequences)}")
# Filter by domain
bio_sequences = net.list_canonical_sequences(domain="biomedical")
cog_sequences = net.list_canonical_sequences(domain="cognitive")
gen_sequences = net.list_canonical_sequences(domain="general")
print(f"Biomedical: {list(bio_sequences.keys())}")
print(f"Cognitive: {list(cog_sequences.keys())}")
print(f"General: {list(gen_sequences.keys())}")from tnfr.sdk import TNFRNetwork, NetworkConfig
# Simple application
net = TNFRNetwork("demo", NetworkConfig(random_seed=42))
net.add_nodes(3)
net.connect_nodes(0.4, "random")
net.apply_canonical_sequence("therapeutic_protocol")
results = net.measure()
print(f"Coherence: {results.coherence:.3f}")
print(f"Sense Index: {sum(results.sense_indices.values())/len(results.sense_indices):.3f}")net = TNFRNetwork("targeted")
net.add_nodes(5)
nodes = list(net.graph.nodes())
# Apply to specific node
net.apply_canonical_sequence("bifurcated_base", node=nodes[2])net = TNFRNetwork("complex")
net.add_nodes(4)
net.connect_nodes(0.5, "ring")
# Apply multiple canonical sequences
net.apply_canonical_sequence("bifurcated_base")
net.apply_canonical_sequence("mod_stabilizer")
net.apply_canonical_sequence("full_deployment")
results = net.measure()TNFRNetwork.apply_canonical_sequence()Apply a canonical predefined operator sequence from TNFR theory.
apply_canonical_sequence(
sequence_name: str,
node: Optional[int] = None,
collect_metrics: bool = True
) -> TNFRNetworkParameters:
sequence_name (str): Name of canonical sequence. Available:
'bifurcated_base''bifurcated_collapse''therapeutic_protocol''theory_system''full_deployment''mod_stabilizer'node (int, optional): Target node ID. If None, applies to most recently added node.collect_metrics (bool): Whether to collect detailed operator metrics.Returns: Self for method chaining
Raises: ValueError if sequence_name is unknown or network has no nodes
TNFRNetwork.list_canonical_sequences()List available canonical sequences with optional filters.
list_canonical_sequences(
domain: Optional[str] = None,
with_oz: bool = False
) -> Dict[str, CanonicalSequence]Parameters:
domain (str, optional): Filter by domain: 'general', 'biomedical', 'cognitive', 'social'with_oz (bool): If True, only return sequences containing OZ (Dissonance)Returns: Dictionary mapping sequence names to CanonicalSequence objects
Always ensure nodes are stable before introducing dissonance:
# ❌ BAD: Applying OZ to unstable node
net.add_nodes(1)
net.apply_canonical_sequence("bifurcated_base") # May fail if node is too weak
# ✅ GOOD: Ensure stability first
net.add_nodes(1)
net.apply_sequence(["emission", "coherence"]) # Stabilize
net.apply_canonical_sequence("bifurcated_base") # Now safeCheck coherence metrics to ensure structural integrity:
net.apply_canonical_sequence("therapeutic_protocol")
results = net.measure()
if results.coherence < 0.5:
print("⚠️ Low coherence - consider stabilization")
else:
print("✓ Good coherence maintained")Match sequences to your application domain:
# For therapeutic/healing contexts
net.apply_canonical_sequence("therapeutic_protocol")
# For learning/knowledge contexts
net.apply_canonical_sequence("theory_system")
# For general transformation
net.apply_canonical_sequence("bifurcated_base")Use MOD_STABILIZER as a building block for custom sequences:
# Apply as standalone transformation
net.apply_canonical_sequence("mod_stabilizer")
# Or compose into larger patterns
# (Future: compositional API for nested sequences)Validate sequences on small networks before scaling:
# Test with single node
test_net = TNFRNetwork("test")
test_net.add_nodes(1)
test_net.apply_canonical_sequence("bifurcated_base")
test_results = test_net.measure()
if test_results.coherence > 0.8:
# Scale to full network
production_net = TNFRNetwork("production")
production_net.add_nodes(100)
# ... continueAlways use random seeds for deterministic results:
from tnfr.sdk import NetworkConfig
net = TNFRNetwork("reproducible", NetworkConfig(random_seed=42))
# Results will be identical on repeated runsFor a hands-on learning experience, run the interactive tutorial:
from tnfr.tutorials import oz_dissonance_tutorial
# Run with pauses for reading
oz_dissonance_tutorial(interactive=True)
# Or run quickly without pauses
result = oz_dissonance_tutorial(interactive=False)
print(result)The tutorial covers:
examples/oz_canonical_sequences.py for runnable demonstrationstests/integration/test_canonical_sequences.py for comprehensive test coveragesrc/tnfr/operators/canonical_patterns.py for implementation detailsIssue: "Caution: coherence → dissonance transition requires careful context validation"
Solution: This is expected! IL → OZ transitions generate warnings but are structurally valid. The warning reminds you to ensure the node is sufficiently stable.
Issue: Coherence drops below expected range
Solution:
Issue: Node collapses or becomes incoherent
Solution:
νf is sufficientFor hierarchical networks operating at multiple scales:
def multi_scale_therapeutic_cycle(network, target_nodes, scale_levels=3):
"""Apply therapeutic cycles across multiple organizational scales."""
# Scale 1: Individual nodes
for node in target_nodes:
apply_canonical_oz_sequence(network, node, "therapeutic")
# Scale 2: Local clusters
clusters = detect_network_clusters(network)
for cluster in clusters:
representative = select_cluster_representative(cluster)
apply_canonical_oz_sequence(network, representative, "epistemological")
# Scale 3: Global network
central_hubs = identify_network_hubs(network)
for hub in central_hubs:
apply_canonical_oz_sequence(network, hub, "transformational")
# Cross-scale synchronization
apply_cross_scale_coherence(network, scale_levels)Dynamic sequence selection based on network state:
def adaptive_oz_selection(G, node, context="general"):
"""Select optimal OZ sequence based on current conditions."""
# Analyze node state
epi = G.nodes[node].get('EPI', 0)
dnfr = G.nodes[node].get('DNFR', 0)
vf = G.nodes[node].get('vf', 1.0)
# Network analysis
connectivity = len(list(G.neighbors(node)))
network_stability = compute_global_coherence(G)
# Selection logic
if epi < 0.3 and network_stability > 0.7:
return "bifurcated_base" # Safe transformation
elif dnfr > 0.6:
return "repetitive_therapeutic" # Strong stabilization
elif connectivity > 5 and context == "innovation":
return "epistemological" # Knowledge creation
elif network_stability < 0.5:
return "transformational" # System-wide change
else:
return "therapeutic" # Default balanced approach# Extended therapeutic cycle with trauma-informed approach
therapeutic_trauma_informed = [
"emission", "reception", "coherence", "silence",
"dissonance", "self_organization", "coherence",
"reception", "coherence", "silence"
]# Pedagogical transformation for concept learning
pedagogical_oz = [
"emission", "reception", "coherence", "dissonance",
"mutation", "self_organization", "resonance",
"coherence", "silence"
]| Pattern | Target Health | Typical Range | Risk Level |
|---|---|---|---|
| Bifurcated Base | > 0.75 | 0.72-0.85 | Low |
| Repetitive Therapeutic | > 0.80 | 0.78-0.92 | Low |
| Symbolic Construction | > 0.70 | 0.68-0.82 | Medium |
| Epistemological | > 0.65 | 0.62-0.78 | Medium |
| Transformational | > 0.60 | 0.55-0.75 | High |
| Collapse Recovery | > 0.50 | 0.45-0.65 | High |
The 6 canonical OZ sequences provide validated, theoretical-grounded patterns for:
Enhanced in v2.2: Multi-scale integration, adaptive selection, domain-specific patterns, and performance optimization for networks up to 10K+ nodes.
All sequences maintain TNFR canonical invariants while achieving high coherence metrics (0.7-1.0). Use the fluent API for easy application, and leverage filtering for domain-specific discovery.
Remember: OZ is generative dissonance - it enables transformation, not destruction. Stabilize before you destabilize, and monitor coherence throughout!