TNFR Logo
TheoryLearnSoftwareResearch

On this page

TNFR

Resonant Fractal Nature Theory — a mathematical framework for coherent patterns on graph-coupled networks.

About
  • Project history
  • Editorial policy
  • Contact
Resources
  • GitHub
  • PyPI
  • DOI · Zenodo
Legal
  • MIT License
  • Citation
© 2026 TNFR project — MIT licensed.DOI 10.5281/zenodo.17602860
docs
grammar
PHYSICS_VERIFICATION.md
API_CONTRACTS.mdCANONICAL_OZ_SEQUENCES.mdEMPIRICAL_CONFRONTATION_EEG.mdREADME.mdSTRUCTURAL_FIELDS_TETRAD.mdSTRUCTURAL_INTERFACE_THEORY.md
theory
APPLIED_STRUCTURAL_ANALYSIS.mdCATALOG_TYPE_HYGIENE_PROGRAMME.mdDISSIPATIVE_AND_OPEN_SYSTEMS.mdEMERGENT_ONTOLOGY.mdEXTENDED_FIELDS_AND_DERIVED_QUANTITIES.mdFUNDAMENTAL_THEORY.mdGAUGE_SYMMETRY_AND_UNIFICATION.mdGLOSSARY.mdMATHEMATICAL_DYNAMICS_BASIS.mdMINIMAL_STRUCTURAL_DEGREES.mdNUCLEUS_A_PRIME_LADDER_ATLAS.mdNUCLEUS_B_EQUIVARIANCE_OBSTRUCTIONS.mdPHYSICAL_REGIME_CORRESPONDENCES.mdREADME.mdREMESH_INFINITY_DERIVATION.mdSTRUCTURAL_CONSERVATION_THEOREM.mdSTRUCTURAL_OPERATORS.mdSTRUCTURAL_STABILITY_AND_DYNAMICS.mdTNFR_BSD_RESEARCH_NOTES.mdTNFR_HODGE_RESEARCH_NOTES.mdTNFR_NAVIER_STOKES_RESEARCH_NOTES.mdTNFR_NUMBER_THEORY.mdTNFR_P_VS_NP_RESEARCH_NOTES.mdTNFR_RIEMANN_RESEARCH_NOTES.mdTNFR_VARIATIONAL_PRINCIPLE.mdTNFR_YANG_MILLS_RESEARCH_NOTES.mdTNFR.pdfUNIFIED_GRAMMAR_RULES.md
factorization-lab
analysis
analyze_patterns.pycertificate_manifest.py
benchmarks
benchmark_analysis.pybenchmark_expansion_suite.pyfull_spectrum_factorization.pypaley_gap_extended.pypaley_gap_smoke.pytest_benchmark_suite.py
demos
experiment_contexts
exp_0b1663cd19b7.jsonexp_0bf0054b7474.jsonexp_75a4c8ca616a.jsonexp_848ee0fd1857.jsonexp_f6fe00562193.jsonexp_fdf3da424e1e.json
failure_telemetry_batch.pyfeedback_integration_demo.pyintegration_demo_snapshots.dbseed_management_integration_demo.pysnapshot_integration_demo.pytrajectory_143.jsontrajectory_77.jsontrajectory_89.jsontrajectory_91.jsontrajectory_97.json
docs
FACTORING_PLAYBOOK.mdFALSE_POSITIVE_TEST_SUITE.mdOPERATOR_CERTIFICATES.mdROADMAP.mdSPECTRAL_ROUTE.md
experiment_contexts
exp_cebe1d9e7d8e.json
notebooks
spectral_history.ipynb
scripts
run_false_positive_tests.py
tests
run_false_positive_test_suite.pytest_cli.pytest_false_positive_methodology.pytest_false_positive_verifier.pytest_feedback_integration.pytest_partitioning.pytest_seed_management.pytest_self_opt_support.pytest_snapshot_system.pytest_spectral_paley.pytest_verification_robustness.py
tnfr_factorization
__init__.pyapi.pycli.pyfailure_telemetry.pyfeedback_adapter.pyfeedback_integration.pypartitioning.pyself_opt_support.pyspectral_paley.py
demo_snapshots.dbLICENSE_SNAPSHOT.mdPACKAGE_SUMMARY.mdREADME.mdseed_management.pysnapshot_system.pytest_certificate_hashing.pytest_installation.pyverification_trajectory_77.json
benchmarks
analyze_tetrad_universality.pyb0star_alpha_canonical_product_graphs.pybenchmark_optimization_tracks.pybenchmark_utils.pyboundary_vibration.pybridge_primes_riemann.pychiral_involution.pycli_utils.pycoherence_projector_sense_index.pycommutant_bridge.pycomposition_arithmetic.pyconfinement_zones_test.pyconservation_law_validation.pydirected_paley_bridge.pyemergent_arithmetic_pulse.pyemergent_atom_dynamics.pyemergent_atomic_shells.pyemergent_base_dimension.pyemergent_dimension_dynamics.pyemergent_fractal_pulse.pyemergent_fractal_simplex_dimension.pyemergent_integers_symmetry.pyemergent_musical_nfr.pyemergent_nfr_geometry.pyemergent_nfr_where.pyemergent_rationals.pyemergent_rhythm.pyemergent_screening.pyemergent_shell_cardinals.pyemergent_shell_ordering.pyemergent_simplex_dimension.pyemergent_substrate_symmetry.pyequivariance_wall.pyexternal_phase_gate_validation.pyfield_methods_battery.pygolden_residue_remesh_bridge.pyintegrated_force_regime_study.pyinverse_spectrum_to_symmetry.pyk_phi_safety_demo.pykuramoto_farey_bridge.pymissing_piece_bridge.pymultichannel_interface_benchmark.pynavier_stokes_recipe_bridge.pynodal_propagator_residue_bridge.pyns_moment_hierarchy_cascade.pyoperational_irreducibility.pypaley_bridge.pyphase_curvature_investigation.pyphase_wall.pyphi_s_confinement_investigation.pyprimes_as_consequence.pypulse_phase_coherence_budget.pyREADME.mdremesh_infinity_riemann_baseline.pyremesh_infinity_riemann_composed.pyremesh_infinity_riemann_modified_graph.pyremesh_infinity_riemann_operator.pyremesh_infinity_riemann_spectral_basis.pyremesh_infinity_riemann_spectral_robustness.pyremesh_infinity_riemann_spectral.pyresidue_phase_vs_riemann.pystructural_interface_benchmark.pytemporal_interface_benchmark.pytetrad_results_aggregate.pyu2_destabilization_irreversibility.pyuniversality_clusters.pyxi_c_fast_experiment.py
primality-test
benchmarks
comprehensive_benchmark.py
docs
ADVANCED_INTEGRATION.mdmathematical_foundation.mdperformance_analysis.md
examples
advanced_examples.pybasic_usage.py
tnfr_primality
__init__.py__main__.pyadvanced_cli.pyadvanced_core.pycli.pyconstants.pycore.pyoptimized.py
MANIFEST.inPACKAGE_SUMMARY.mdREADME.mdRELEASE_NOTES_v1.0.mdsetup.pytest_installation.py
tests
core_physics
__init__.pytest_conservation_laws.pytest_delta_nfr_computation_paths.pytest_delta_nfr.pytest_dispersion_coherence_sign_invariance.pytest_emergent_constants_guard.pytest_lyapunov_operators.pytest_nodal_equation.pytest_structural_triad.py
data
replay_manifests
sample_run
_manifest_summary.json_manifest.json_partition_files.txt.gz
self_opt_validation
seed_alpha
paley.json
seed_beta
integration.json
seed_gamma
unknown.json
self_optimization
test_run
partitioned
test_run
test_run_p0.jsontest_run_p1.json
_manifest_summary.json_manifest.json
engines
test_pattern_discovery_manifest.pytest_self_optimization_engine.py
mathematics
__init__.pytest_autodiff.pytest_backends.pytest_dissipative_dynamics.pytest_epi.pytest_factory_patterns.pytest_metrics.pytest_navier_stokes_refounded.pytest_number_theory_canonical.pytest_operators.pytest_residue_networks.pytest_riemann_nodal_pulse.pytest_riemann_pulse_coherence.pytest_spaces.pytest_transforms.pytest_validator.py
operators
test_canonical_operators_modern.pytest_grammar_canon.pytest_grammar_canonical_consistency.pytest_grammar_dynamics.pytest_operator_contracts.pytest_operator_strategies.py
parallel
test_fractal_partition_manifest.py
physics
test_conservation_gauge_unification.pytest_dissipative_conservation.pytest_emergent_chemistry.pytest_field_cache_invalidation.pytest_gauge.pytest_phase_transition.pytest_signatures.pytest_spectral_conservation.pytest_structural_diffusion.pytest_structural_integrity.pytest_symplectic_substrate.pytest_tetrad_bounds.pytest_variational.pytest_yang_mills_closure.pytest_yang_mills_derivability.pytest_yang_mills_scaling.pytest_yang_mills_structural_gap.pytest_yang_mills_u6_sweep.py
scripts
test_run_self_opt_validation.pytest_run_self_optimization.py
sdk
__init__.pytest_simple_advanced.py
__init__.pyconftest.pyREADME.mdtest_breast_cancer_phase_gate_demo.pytest_classical_mechanics.pytest_distributed_fft.pytest_external_phase_gate_validation.pytest_factorization_entrypoint.pytest_multichannel_interface.pytest_nodal_optimizer.pytest_phase_gate_api.pytest_replay_register_manifest.pytest_signal_confrontation.pytest_structural_interface_api.pytest_structural_interface_baselines.pytest_structural_interface_benchmark.pytest_temporal_interface.pytest_vectorized_coherence_length_regression.pytest_wine_quality_phase_gate_demo.pyutils.py
examples
01_foundations
01_hello_world.py02_musical_resonance.py03_network_formation.py04_operator_sequences.py05_coherence_evolution.py06_network_topologies.py07_phase_transitions.py08_emergent_phenomena.py09_visualization_suite.py10_simplified_sdk_showcase.py
02_physics_regimes
11_classical_limit_comparison.py115_operator_contract_audit.py12_classical_mechanics_demo.py13_quantum_mechanics_demo.py14_uncertainty_and_interference.py15_train_crossing_demo.py17_conservation_law_demo.py26_gauge_structure_demo.py27_variational_principle_demo.py28_dissipative_systems_demo.py29_lyapunov_stability_demo.py30_self_optimization_demo.py31_mathematical_constants_basis.py33_complex_field_unification.py34_conservation_protocol_suite.py35_tetrad_irreducibility.py36_grammar_violation_detector.py37_operator_tetrad_synergy.py38_grammar_energy_landscape.py39_nodal_equation_decomposition.py
03_riemann_zeta
157_nodal_pulse_phase_attack.py41_von_mangoldt_zeta_demo.py42_riemann_zeros_as_resonances.py43_prime_ladder_hamiltonian_demo.py44_weil_explicit_formula_demo.py45_li_keiper_demo.py46_weil_tnfr_positivity_demo.py47_alpha_sweep_demo.py48_admissible_family_sweep_demo.py49_nodeaware_gauge_sweep_demo.py50_uniform_coercivity_demo.py51_adaptive_coercivity_demo.py52_paley_gap_coercivity_demo.py53_lyapunov_spectral_positivity_demo.py54_hilbert_polya_demo.py55_structural_zero_density_demo.py56_spectral_emergence_demo.py57_admissible_rescaling_demo.py58_oscillatory_correction_demo.py
04_riemann_L_twisted
59_dirichlet_l_function_demo.py60_dirichlet_l_continuation_demo.py61_dirichlet_l_hamiltonian_demo.py62_dirichlet_weil_explicit_formula_demo.py63_dirichlet_li_keiper_demo.py64_twisted_weil_positivity_demo.py65_twisted_alpha_sweep_demo.py66_twisted_admissible_family_sweep_demo.py67_twisted_nodeaware_gauge_sweep_demo.py68_twisted_hermite_family_demo.py69_twisted_coercivity_uniform_demo.py70_twisted_paley_gap_coercivity_demo.py71_twisted_lyapunov_spectral_demo.py72_twisted_hilbert_polya_demo.py73_twisted_structural_zero_density_demo.py74_twisted_spectral_emergence_demo.py75_twisted_admissible_rescaling_demo.py76_twisted_oscillatory_correction_demo.py
05_type_hygiene
77_remesh_infinity_residue_split_demo.py78_nuf_type_signature_demo.py79_epi_type_signature_demo.py80_phi_type_signature_demo.py81_dnfr_type_signature_demo.py82_remesh_window_type_signature_demo.py83_delta_phi_max_type_signature_demo.py84_coupling_weights_type_signature_demo.py85_tetrad_closure_signature_demo.py86_currents_closure_signature_demo.py87_aggregates_closure_signature_demo.py88_urules_consistency_signature_demo.py89_operator_catalog_discipline_signature_demo.py
06_navier_stokes
158_navier_stokes_two_face_refounded.py
07_number_theory
100_prime_families_orbits.py101_numbers_as_coupled_network.py102_nodal_flow_primes_equilibria.py116_nuf_emergent_prime_visibility.py146_primality_grammatical_inertness.py147_numbers_as_free_monoid_words.py148_capacity_arm_carries_von_mangoldt.py149_p14_is_the_capacity_arm_operator.py153_structural_frequency_rank_cyclotomy.py40_arithmetic_number_theory.py94_generative_number_construction.py95_primes_from_spectral_waves.py96_spectral_vibration_of_coherence.py97_goldbach_additive_multiplicative.pyemergent_chemistry_particles_demo.py
08_emergent_geometry
103_emergent_substrate_meets_riemann.py106_per_node_polarization_geometry.py107_orthogonal_structure_emergent_geometry.py108_emergent_field_generating_structure.py112_structure_predicts_coherence_flow.py113_overdamped_projection_bridge.py114_substrate_conserved_quantities.py117_emergent_geometry_residue_graph.py118_emergent_vs_classical_operator.py119_phase_sector_directed_residue.py120_symmetry_wall_substrate_vs_spectrum.py121_canonical_symmetry_break_negative.py122_factorization_phase_sector.py123_symmetry_sector_decomposition.py124_emergent_metric_fractal_consistency.py125_node_is_the_emergent_substrate.py126_two_layers_base_fiber.py127_base_is_emergent_not_imposed.py128_base_substrate_coemergence.py129_spectral_gap_base_fiber_clock.py130_operators_break_substrate_charges.py131_coemergent_loop_convergence.py132_geometric_phase_holonomy.py133_psi_topological_defects.py134_spectral_dimension_heat_kernel.py135_arrow_of_time_h_theorem.py136_heat_kernel_coefficients.py137_synchronization_transition.py138_structure_frequency_synchronization.py139_grammar_formal_language.py140_grammar_automaton.py141_grammar_rule_decomposition.py142_grammar_operator_quotient.py143_glyphic_function_sublanguage.py144_branching_combinator.py145_syntactic_monoid_starfree.py150_emergent_grammatical_pattern_parry.py151_grammar_in_emergent_geometry.py152_operator_contract_tetrahedron.py154_conductor_annotated_qr_spectrum.py155_ontological_position_of_numbers.py156_emergence_directness_law.py98_emergent_symplectic_substrate.py99_structural_diffusion.pyunified_fields_showcase.py
09_millennium
109_p_vs_np_coherence_synthesis.py110_bsd_rank_structural_pressure.py111_hodge_discrete_and_honest_gap.py
10_applications
159_empirical_confrontation_pipeline.py90_phase_gate_monitor_demo.py91_breast_cancer_phase_gate_demo.py92_wine_quality_phase_gate_demo.py93_structural_interface_demo.pypytorch_cuda_demo.py
README.md
scripts
replay
__init__.pyregister_manifest.py
__init__.pyREADME.mdrebuild_failure_manifest.pyrun_reproducible_benchmarks.pyrun_self_opt_validation.pyrun_self_optimization.pytnfr_is_prime.pyvalidate_conservation_law.pyverify_internal_references.py
src
core
__init__.pyevaluation.py
tnfr
backends
__init__.pyjax_backend.pynumpy_backend.pyoptimized_numpy.pyREADME.mdtorch_backend.py
cli
__init__.py__init__.pyiarguments.pyarguments.pyiexecution.pyexecution.pyiinteractive_validator.pyREADME.mdutils.pyutils.pyi
compat
__init__.pydataclass.pyjsonschema_stub.pymatplotlib_stub.pynumpy_stub.pyREADME.md
config
__init__.py__init__.pyiconstants.pyconstants.pyidefaults_core.pydefaults_init.pydefaults_metric.pydefaults.pyfeature_flags.pyfeature_flags.pyiglyph_constants.pyoperator_names.pyoperator_names.pyiphysics_derivation.pyprecision_modes.pypresets.pypresets.pyiREADME.mdsecurity.pythresholds.pytnfr_config.py
constants
__init__.py__init__.pyialiases.pyaliases.pyicanonical.pymetric.pymetric.pyioperational.py
core
__init__.pycontainer.pydefault_implementations.pyexceptions.pyinterfaces.pyREADME.md
dynamics
__init__.py__init__.pyiadaptation.pyadaptation.pyiadaptive_sequences.pyadaptive_sequences.pyiadelic.pyadvanced_cache_optimizer.pyadvanced_fft_arithmetic.pyaliases.pyaliases.pyibifurcation.pycache_aware_fft_engine.pycanonical.pycanonical.pyicomputational_hub.pycoordination.pycoordination.pyidistributed_fft.pydnfr.pydnfr.pyidynamic_limits.pyemergent_centralization.pyemergent_integration_engine.pyfeedback.pyfeedback.pyifft_backend.pyfft_cache_coordinator.pyfft_dispatchers.pyfft_engine.pyfft_workers.pyfused_dnfr.pyhomeostasis.pyhomeostasis.pyiintegrators.pyintegrators.pyilearning.pylearning.pyimetabolism.pymulti_modal_cache.pynbody_tnfr.pynbody.pynodal_optimizer.pyoptimization_orchestrator.pypropagation.pyREADME.mdruntime.pyruntime.pyisampling.pysampling.pyiselectors.pyselectors.pyiself_optimizing_engine.pyspectral_structural_fusion.pystructural_cache.pystructural_clip.pysymplectic.pyunified_backend.pyunified_mathematical_cache_orchestrator.py
engines
computation
__init__.pyfft_engine.pyunified_fft_engine.pyunified_gpu_system.py
constants
__init__.pycanonical.pyoperational.py
integration
__init__.pyemergent_integration.py
pattern_discovery
__init__.pymathematical_patterns.pymulti_modal_cache.py
self_optimization
__init__.pyengine.py
__init__.pyREADME.md
errors
__init__.pycontextual.py
factorization
__init__.py
flatten
README.md
gamma
README.md
glyph_history
README.md
glyph_runtime
README.md
immutable
README.md
initialization
README.md
io
README.md
math
__init__.pyfields_symbolic.pygrammar_validators.pyoptimizer.pyREADME.mdsymbolic.py
mathematics
__init__.pybackend.pybackend.pyidynamics.pydynamics.pyiepi.pyepi.pyigenerators.pygenerators.pyiliouville.pymetrics.pymetrics.pyinumber_theory.pyoperators_factory.pyoperators_factory.pyioperators.pyoperators.pyioptimized_primality.pyprojection.pyprojection.pyiREADME.mdruntime.pyruntime.pyispaces.pyspaces.pyispectral.pytransforms.pytransforms.pyiunified_cache.pyunified_numerical.pyzeta.py
metrics
__init__.py__init__.pyibuffer_cache.pybuffer_cache.pyicache_utils.pycoherence.pycoherence.pyicommon.pycommon.pyicore.pycore.pyidiagnosis.pydiagnosis.pyiemergence.pyexport.pyexport.pyiglyph_timing.pyglyph_timing.pyilearning_metrics.pylearning_metrics.pyilocal_coherence.pyphase_coherence.pyphase_compatibility.pyREADME.mdreporting.pyreporting.pyisense_index.pysense_index.pyitelemetry.pytetrad.pytrig_cache.pytrig_cache.pyitrig.pytrig.pyi
multiscale
__init__.pyhierarchical.pyREADME.md
navier_stokes
__init__.pyconservative_face.pyoperator.py
node
README.md
observers
README.md
operators
network_analysis
__init__.pysource_detection.py
postconditions
__init__.pymutation.py
preconditions
__init__.pycoherence.pydissonance.pyemission.pymutation.pyreception.pyresonance.py
strategies
__init__.pydefaults.pygpu_strategies.pystrategy.py
__init__.py__init__.pyialgebra.pycanonical_patterns.pycascade.pycoherence.pycontraction.pycoupling.pycycle_detection.pydefinitions_base.pydefinitions.pydefinitions.pyidissonance.pyemission.pyexpansion.pygrammar_application.pygrammar_canon.pygrammar_context.pygrammar_core.pygrammar_dynamics.pygrammar_error_factory.pygrammar_memoization.pygrammar_patterns.pygrammar_telemetry.pygrammar_types.pygrammar_u6.pygrammar_validate.pygrammar.pygrammar.pyihamiltonian.pyhealth_analyzer.pyintrospection.pyjitter.pyjitter.pyilifecycle.pymetabolism.pymetrics_basic.pymetrics_core.pymetrics_network.pymetrics_structural.pymetrics_u6.pymetrics.pymutation.pynodal_equation.pyoperator_contracts.pypattern_detection.pypatterns.pyREADME.mdreception.pyrecursivity.pyregistry.pyregistry.pyiremesh.pyremesh.pyiresonance.pyself_organization.pysilence.pystructural_units.pytransition.py
parallel
__init__.pyauto_scaler.pydistributed.pyengine.pymonitoring.pypartitioner.pyREADME.md
performance
guardrails.py
physics
__init__.py_helpers.pycalibration.pycanonical.pycell.pyclassical_mechanics.pyconservation_gauge_unification.pyconservation.pydissipative_conservation.pyemergent_chemistry.pyemergent_particles.pyextended.pyfields.pygauge.pyintegrity.pyinteractions.pylife.pylyapunov.pypatterns.pyphase_transition.pyquantum_mechanics.pyREADME.mdsignatures.pyspectral_conservation.pyspectral_metrics.pystructural_diffusion.pysymplectic_substrate.pytelemetry.pyunified.pyvariational.pyvectorized_ops.py
primality
__init__.py
recipes
__init__.pycookbook.pyREADME.md
riemann
__init__.pyadmissible_family_sweep.pyadmissible_rescaling.pyaggregates_closure_signature.pyalpha_sweep.pyanalytic_continuation_dirichlet.pyanalytic_continuation.pycoercivity_uniform.pycoupling_weights_type_signature.pycurrents_closure_signature.pydelta_phi_max_type_signature.pydirichlet_l.pydnfr_type_signature.pyepi_type_signature.pyhilbert_polya.pyli_keiper.pylyapunov_spectral_positivity.pynodal_pulse.pynodeaware_gauge_sweep.pynuf_type_signature.pyoperator_catalog_discipline_signature.pyoperator.pyoscillatory_correction.pypaley_gap_coercivity.pyphi_type_signature.pyprime_ladder_hamiltonian.pypulse_coherence.pyremesh_infinity_residue_split.pyremesh_window_type_signature.pyspectral_emergence.pystructural_zero_density.pytelemetry.pytetrad_closure_signature.pytwisted_admissible_family_sweep.pytwisted_admissible_rescaling.pytwisted_alpha_sweep.pytwisted_coercivity_uniform.pytwisted_hermite_family.pytwisted_hilbert_polya.pytwisted_li_keiper.pytwisted_lyapunov_spectral_positivity.pytwisted_nodeaware_gauge_sweep.pytwisted_oscillatory_correction.pytwisted_paley_gap_coercivity.pytwisted_prime_ladder_hamiltonian.pytwisted_spectral_emergence.pytwisted_structural_zero_density.pytwisted_weil_explicit_formula.pytwisted_weil_positivity.pyurules_consistency_signature.pyvon_mangoldt.pyweil_explicit_formula.pyweil_positivity.py
schemas
__init__.pygrammar.jsonREADME.md
sdk
__init__.py__init__.pyiadaptive_system.pyadaptive_system.pyibuilders.pybuilders.pyifluent.pyfluent.pyiREADME.mdself_opt.pysimple.pytemplates.pytemplates.pyiutils.py
security
__init__.pycrypto.pydatabase.pyREADME.mdsubprocess.pyvalidation.py
sequencing
__init__.pypatterns.pyREADME.md
services
__init__.pyorchestrator.pyREADME.md
sparse
__init__.pyREADME.mdrepresentations.py
structural
README.md
telemetry
__init__.pycache_metrics.pycache_metrics.pyiconstants.pynu_f.pynu_f.pyiREADME.mdunified_telemetry_system.pyverbosity.pyverbosity.pyi
tools
__init__.pydomain_templates.pyREADME.mdsequence_generator.pytnfr_is_prime_cli_optimized.pytnfr_is_prime_cli.py
topology
__init__.pyasymmetry.pyREADME.md
utils
cache_layers.pycache.pycache.pyicallbacks.pycallbacks.pyichunks.pychunks.pyidata.pydata.pyifast_diameter.pygraph.pygraph.pyiinit.pyinit.pyiio.pyio.pyinumeric.pynumeric.pyiREADME.mdtopology.pyunified_cache.py
validation
__init__.py__init__.pyiaggregator.pybase.pycompatibility.pycompatibility.pyiconfig.pygraph.pygraph.pyihealth.pyinput_validation.pyinterface_baselines.pyinvariants.pymultichannel_interface.pyphase_gate.pyREADME.mdrules.pyrules.pyiruntime.pyruntime.pyisequence_validator.pysignal_confrontation.pysoft_filters.pysoft_filters.pyispectral.pyspectral.pyistructural_interface.pytemporal_interface.pyunified_validation_system.pyvalidator.pywindow.pywindow.pyi
visualization
__init__.pycascade_viz.pyhierarchy.pyREADME.mdsequence_plotter.py
yang_mills
__init__.pyclosure.pyderivability.pyscaling.pystructural_gap.pyu6_sweep.py
__init__.py__init__.pyi_compat.py_version.py_version.pyialias.pyalias.pyibackend_config.pycache.pycache.pyiexecution.pyexecution.pyiflatten.pyflatten.pyigamma.pygamma.pyiglyph_history.pyglyph_history.pyiglyph_runtime.pyglyph_runtime.pyiimmutable.pyimmutable.pyiinitialization.pyinitialization.pyiio.pyio.pyilocking.pylocking.pyinode.pynode.pyiobservers.pyobservers.pyiontosim.pyontosim.pyipy.typedrng.pyrng.pyisecure_config.pyselector.pyselector.pyisense.pysense.pyistructural.pystructural.pyitokens.pytokens.pyitrace.pytrace.pyitypes.pytypes.pyiunits.pyunits.pyi
tetrad_evaluator.py
.pre-commit-config.yaml.semgrep.yaml.zenodo.jsonARCHITECTURE.mdbandit.yamlCHANGELOG.mdCITATION.cffCONTRIBUTING.mdEMERGENT_CANON_AUDIT.mdEMERGENT_DERIVATION_PLAN.mdLICENSE.mdMakefileMANIFEST.inpyproject.tomlpyrightconfig.jsonPYTORCH_CUDA_INTEGRATION.mdREADME.mdSECURITY.mdTESTING.mdTNFR_Website_Content_Brief.md
FILE: src/tnfr/tools/sequence_generator.py

sequence_generator.py

Context-guided sequence generator for TNFR operator sequences.

This module provides intelligent sequence generation capabilities that help users construct optimal TNFR operator sequences based on context, objectives, and structural constraints. The generator uses domain templates, pattern detection, and health analysis to produce high-quality sequences.

Examples

from tnfr.tools.sequence_generator import ContextualSequenceGenerator generator = ContextualSequenceGenerator()

Generate for specific domain and objective

seq = generator.generate_for_context( ... domain="therapeutic", ... objective="crisis_intervention", ... min_health=0.75 ... ) print(seq) ['emission', 'reception', 'coherence', 'resonance', 'silence']

Generate to match a specific pattern

seq = generator.generate_for_pattern( ... target_pattern="BOOTSTRAP", ... min_health=0.70 ... )

Improve an existing sequence

current = ["emission", "coherence", "silence"] improved, recommendations = generator.improve_sequence(current, target_health=0.80)

Source Code

python
"""Context-guided sequence generator for TNFR operator sequences.

This module provides intelligent sequence generation capabilities that help
users construct optimal TNFR operator sequences based on context, objectives,
and structural constraints. The generator uses domain templates, pattern
detection, and health analysis to produce high-quality sequences.

Examples
--------
>>> from tnfr.tools.sequence_generator import ContextualSequenceGenerator
>>> generator = ContextualSequenceGenerator()
>>>
>>> # Generate for specific domain and objective
>>> seq = generator.generate_for_context(
...     domain="therapeutic",
...     objective="crisis_intervention",
...     min_health=0.75
... )
>>> print(seq)
['emission', 'reception', 'coherence', 'resonance', 'silence']
>>>
>>> # Generate to match a specific pattern
>>> seq = generator.generate_for_pattern(
...     target_pattern="BOOTSTRAP",
...     min_health=0.70
... )
>>>
>>> # Improve an existing sequence
>>> current = ["emission", "coherence", "silence"]
>>> improved, recommendations = generator.improve_sequence(current, target_health=0.80)
"""

from __future__ import annotations

import random
from typing import TYPE_CHECKING

if TYPE_CHECKING:
    pass

from ..compat.dataclass import dataclass
from ..config.operator_names import (
    COHERENCE,
    CONTRACTION,
    COUPLING,
    DISSONANCE,
    EMISSION,
    EXPANSION,
    MUTATION,
    RECEPTION,
    RECURSIVITY,
    RESONANCE,
    SELF_ORGANIZATION,
    SILENCE,
    TRANSITION,
)
from ..operators.health_analyzer import SequenceHealthAnalyzer
from ..sequencing.patterns import AdvancedPatternDetector
from ..validation.compatibility import (
    GRADUATED_COMPATIBILITY,
    CompatibilityLevel,
    get_compatibility_level,
)
from .domain_templates import get_template

__all__ = [
    "ContextualSequenceGenerator",
    "GenerationResult",
]

# Operator groups for intelligent variation.
# NOTE: these are GENERATION heuristics (which operators to try when proposing
# candidate sequences), NOT the canonical grammar-classification sets used by the
# validator.  The canonical U1-U6 sets live in tnfr.operators.grammar_types
# (single source of truth); generated candidates are validated against those.
# In particular _TRANSFORMERS here = regime-shifting generation group (NAV, REMESH,
# ZHIR), distinct from the canonical U4b TRANSFORMERS = {ZHIR, THOL}.
_STABILIZERS = [COHERENCE, SELF_ORGANIZATION, SILENCE, RESONANCE]
_DESTABILIZERS = [DISSONANCE, MUTATION, EXPANSION]  # == canonical {OZ, ZHIR, VAL}
_ACTIVATORS = [EMISSION, RECEPTION]
_CONNECTORS = [COUPLING, RESONANCE]
_TRANSFORMERS = [TRANSITION, RECURSIVITY, MUTATION]  # generation heuristic, not U4b

# ---------------------------------------------------------------------------
# Health improvement thresholds
# ---------------------------------------------------------------------------
_MIN_PATTERN_COMPLETENESS = 0.75
_MIN_BALANCE_SCORE = 0.6
_HEALTH_IMPROVEMENT_DELTA = 0.01


@dataclass
class GenerationResult:
    """Result of a sequence generation operation.

    Attributes
    ----------
    sequence : list[str]
        Generated operator sequence (canonical names).
    health_score : float
        Overall structural health score (0.0-1.0).
    detected_pattern : str
        Primary structural pattern detected.
    domain : str | None
        Domain context used for generation (if applicable).
    objective : str | None
        Specific objective within domain (if applicable).
    method : str
        Generation method used ("template", "pattern", "improvement").
    recommendations : list[str]
        Suggestions for further improvement.
    metadata : dict[str, object]
        Additional generation metadata.
    """

    sequence: list[str]
    health_score: float
    detected_pattern: str
    domain: str | None
    objective: str | None
    method: str
    recommendations: list[str]
    metadata: dict[str, object]


class ContextualSequenceGenerator:
    """Generator for context-guided TNFR operator sequences.

    This generator combines domain templates, pattern detection, and health
    analysis to produce optimal operator sequences for specific contexts and
    objectives. It supports:

    - Domain/objective-based generation from curated templates
    - Pattern-targeted generation to achieve specific structural patterns
    - Sequence improvement with targeted recommendations
    - Constraint-based filtering (health, length, pattern)

    All generated sequences respect TNFR canonical principles:
    - Operator closure (only canonical operators)
    - Phase coherence (compatible transitions)
    - Structural health (balanced forces)
    - Operational fractality (composable patterns)

    Examples
    --------
    >>> generator = ContextualSequenceGenerator()
    >>> result = generator.generate_for_context(
    ...     domain="therapeutic",
    ...     objective="crisis_intervention"
    ... )
    >>> print(result.sequence)
    ['emission', 'reception', 'coherence', 'resonance', 'silence']
    >>> print(f"Health: {result.health_score:.2f}")
    Health: 0.78
    """

    def __init__(self, seed: int | None = None) -> None:
        """Initialize the contextual sequence generator.

        Parameters
        ----------
        seed : int, optional
            Random seed for deterministic generation. If None, generation
            is non-deterministic.
        """
        self.health_analyzer = SequenceHealthAnalyzer()
        self.pattern_detector = AdvancedPatternDetector()
        self._rng = random.Random(seed)

    def generate_for_context(
        self,
        domain: str,
        objective: str | None = None,
        max_length: int = 10,
        min_health: float = 0.70,
        required_pattern: str | None = None,
    ) -> GenerationResult:
        """Generate optimal sequence for specific domain and objective.

        This method uses domain templates as a starting point and applies
        intelligent variations to meet constraints while maintaining structural
        coherence.

        Parameters
        ----------
        domain : str
            Application domain (therapeutic, educational, organizational, creative).
        objective : str, optional
            Specific objective within domain. If None, uses first template.
        max_length : int, default=10
            Maximum sequence length. Sequences longer than this will be trimmed.
        min_health : float, default=0.70
            Minimum required health score (0.0-1.0).
        required_pattern : str, optional
            If specified, generator will try to produce this pattern.

        Returns
        -------
        GenerationResult
            Complete generation result with sequence, health metrics, and metadata.

        Raises
        ------
        KeyError
            If domain or objective not found.
        ValueError
            If no valid sequence can be generated meeting constraints.

        Examples
        --------
        >>> generator = ContextualSequenceGenerator()
        >>> result = generator.generate_for_context(
        ...     domain="therapeutic",
        ...     objective="crisis_intervention",
        ...     min_health=0.75
        ... )
        >>> print(result.sequence)
        ['emission', 'reception', 'coherence', 'resonance', 'silence']
        """
        # Determine objective if not specified
        if objective is None:
            from .domain_templates import list_objectives

            objectives = list_objectives(domain)
            objective = objectives[0] if objectives else None

        # Get base template
        base_sequence = get_template(domain, objective)

        # Apply length constraint
        if len(base_sequence) > max_length:
            base_sequence = self._trim_sequence(base_sequence, max_length)

        # Analyze base template
        health = self.health_analyzer.analyze_health(base_sequence)

        # If template already meets requirements, return it
        if health.overall_health >= min_health:
            if required_pattern is None or self._matches_pattern(
                base_sequence, required_pattern
            ):
                return GenerationResult(
                    sequence=base_sequence,
                    health_score=health.overall_health,
                    detected_pattern=health.dominant_pattern,
                    domain=domain,
                    objective=objective,
                    method="template",
                    recommendations=health.recommendations,
                    metadata={
                        "template_used": True,
                        "variations_tried": 0,
                    },
                )

        # Generate variations to meet constraints
        candidates = self._generate_variations(base_sequence, max_length, count=20)

        # Filter candidates by constraints
        valid_candidates = []
        for candidate in candidates:
            candidate_health = self.health_analyzer.analyze_health(candidate)
            if candidate_health.overall_health >= min_health:
                if required_pattern is None or self._matches_pattern(
                    candidate, required_pattern
                ):
                    valid_candidates.append((candidate, candidate_health))

        if not valid_candidates:
            # Fallback: return best candidate even if below threshold
            all_with_health = [
                (seq, self.health_analyzer.analyze_health(seq)) for seq in candidates
            ]
            best_seq, best_health = max(
                all_with_health, key=lambda x: x[1].overall_health
            )

            return GenerationResult(
                sequence=best_seq,
                health_score=best_health.overall_health,
                detected_pattern=best_health.dominant_pattern,
                domain=domain,
                objective=objective,
                method="template_variant",
                recommendations=[
                    f"Warning: Could not meet min_health={min_health:.2f}",
                    f"Best achievable health: {best_health.overall_health:.2f}",
                ]
                + best_health.recommendations,
                metadata={
                    "template_used": True,
                    "variations_tried": len(candidates),
                    "constraint_met": False,
                },
            )

        # Select best valid candidate
        best_seq, best_health = max(valid_candidates, key=lambda x: x[1].overall_health)

        return GenerationResult(
            sequence=best_seq,
            health_score=best_health.overall_health,
            detected_pattern=best_health.dominant_pattern,
            domain=domain,
            objective=objective,
            method="template_optimized",
            recommendations=best_health.recommendations,
            metadata={
                "template_used": True,
                "variations_tried": len(candidates),
                "valid_candidates": len(valid_candidates),
            },
        )

    def generate_for_pattern(
        self,
        target_pattern: str,
        max_length: int = 10,
        min_health: float = 0.70,
    ) -> GenerationResult:
        """Generate sequence targeting a specific structural pattern.

        Uses pattern signatures and characteristic operator combinations to
        construct sequences that maximize the probability of matching the
        target pattern while maintaining structural health.

        Parameters
        ----------
        target_pattern : str
            Target structural pattern (e.g., "BOOTSTRAP", "THERAPEUTIC",
            "STABILIZE").
        max_length : int, default=10
            Maximum sequence length.
        min_health : float, default=0.70
            Minimum required health score (0.0-1.0).

        Returns
        -------
        GenerationResult
            Complete generation result with sequence and metrics.

        Raises
        ------
        ValueError
            If pattern name is not recognized or no valid sequence can be generated.

        Examples
        --------
        >>> generator = ContextualSequenceGenerator()
        >>> result = generator.generate_for_pattern("BOOTSTRAP", min_health=0.70)
        >>> print(result.sequence)
        ['emission', 'coupling', 'coherence']
        """
        # Get pattern signature
        signature = self._get_pattern_signature(target_pattern)

        # Build base sequence from signature
        base_sequence = self._build_from_signature(signature, max_length)

        # Analyze and optimize
        health = self.health_analyzer.analyze_health(base_sequence)

        if health.overall_health >= min_health:
            return GenerationResult(
                sequence=base_sequence,
                health_score=health.overall_health,
                detected_pattern=health.dominant_pattern,
                domain=None,
                objective=None,
                method="pattern_direct",
                recommendations=health.recommendations,
                metadata={
                    "target_pattern": target_pattern,
                    "pattern_matched": self._matches_pattern(
                        base_sequence, target_pattern
                    ),
                },
            )

        # Generate variations to improve health
        candidates = self._generate_variations(base_sequence, max_length, count=15)

        # Filter by constraints and pattern match
        valid_candidates = []
        for candidate in candidates:
            if self._matches_pattern(candidate, target_pattern):
                candidate_health = self.health_analyzer.analyze_health(candidate)
                if candidate_health.overall_health >= min_health:
                    valid_candidates.append((candidate, candidate_health))

        if not valid_candidates:
            # Return base even if below threshold
            return GenerationResult(
                sequence=base_sequence,
                health_score=health.overall_health,
                detected_pattern=health.dominant_pattern,
                domain=None,
                objective=None,
                method="pattern_suboptimal",
                recommendations=[
                    f"Warning: Could not meet min_health={min_health:.2f}",
                    f"Best achievable health: {health.overall_health:.2f}",
                ]
                + health.recommendations,
                metadata={
                    "target_pattern": target_pattern,
                    "pattern_matched": self._matches_pattern(
                        base_sequence, target_pattern
                    ),
                    "constraint_met": False,
                },
            )

        # Select best valid candidate
        best_seq, best_health = max(valid_candidates, key=lambda x: x[1].overall_health)

        return GenerationResult(
            sequence=best_seq,
            health_score=best_health.overall_health,
            detected_pattern=best_health.dominant_pattern,
            domain=None,
            objective=None,
            method="pattern_optimized",
            recommendations=best_health.recommendations,
            metadata={
                "target_pattern": target_pattern,
                "pattern_matched": True,
                "variations_tried": len(candidates),
            },
        )

    def improve_sequence(
        self,
        current: list[str],
        target_health: float | None = None,
        max_length: int | None = None,
    ) -> tuple[list[str], list[str]]:
        """Improve existing sequence with targeted recommendations.

        Analyzes the current sequence, identifies weaknesses, and generates
        an improved version along with specific recommendations explaining
        the improvements made.

        Parameters
        ----------
        current : list[str]
            Current operator sequence to improve.
        target_health : float, optional
            Target health score. If None, aims for current + 0.15.
        max_length : int, optional
            Maximum allowed length for improved sequence. If None, allows
            length to increase by up to 3 operators.

        Returns
        -------
        tuple[list[str], list[str]]
            A tuple containing:
            - Improved operator sequence
            - list of recommendations explaining improvements

        Examples
        --------
        >>> generator = ContextualSequenceGenerator()
        >>> current = ["emission", "coherence", "silence"]
        >>> improved, recommendations = generator.improve_sequence(current)
        >>> print(improved)
        ['emission', 'reception', 'coherence', 'resonance', 'silence']
        >>> print(recommendations[0])
        'Added reception after emission: improves completeness (+0.25)'
        """
        # Analyze current sequence
        current_health = self.health_analyzer.analyze_health(current)

        # set target health
        if target_health is None:
            target_health = min(1.0, current_health.overall_health + 0.15)

        # set max length
        if max_length is None:
            max_length = len(current) + 3

        # Generate improvement candidates
        improvements = self._generate_improvements(
            current, current_health, target_health, max_length
        )

        # Select best improvement
        best_improvement = max(
            improvements,
            key=lambda seq: self.health_analyzer.analyze_health(seq).overall_health,
        )

        # Generate explanatory recommendations
        recommendations = self._explain_improvements(current, best_improvement)

        return best_improvement, recommendations

    # =========================================================================
    # INTERNAL HELPER METHODS
    # =========================================================================

    def _trim_sequence(self, sequence: list[str], max_length: int) -> list[str]:
        """Trim sequence to max_length while preserving structure."""
        if len(sequence) <= max_length:
            return sequence

        # Try to preserve ending if it's a stabilizer
        if sequence[-1] in _STABILIZERS:
            # Keep ending, trim from middle
            keep_start = max_length // 2
            keep_end = max_length - keep_start
            return sequence[:keep_start] + sequence[-keep_end:]
        else:
            # Simple truncation
            return sequence[:max_length]

    def _generate_variations(
        self, base: list[str], max_length: int, count: int = 20
    ) -> list[list[str]]:
        """Generate variations of a base sequence."""
        variations = [base]

        for _ in range(count):
            variation = base.copy()

            # Random modification
            modification = self._rng.choice(["insert", "remove", "replace", "extend"])

            if modification == "insert" and len(variation) < max_length:
                pos = self._rng.randint(0, len(variation))
                new_op = self._select_compatible_operator(
                    variation[pos - 1] if pos > 0 else None,
                    variation[pos] if pos < len(variation) else None,
                )
                if new_op:
                    variation.insert(pos, new_op)

            elif modification == "remove" and len(variation) > 3:
                pos = self._rng.randint(0, len(variation) - 1)
                # Don't remove if it breaks compatibility
                if self._can_remove(variation, pos):
                    variation.pop(pos)

            elif modification == "replace":
                pos = self._rng.randint(0, len(variation) - 1)
                new_op = self._select_compatible_operator(
                    variation[pos - 1] if pos > 0 else None,
                    variation[pos + 1] if pos < len(variation) - 1 else None,
                )
                if new_op:
                    variation[pos] = new_op

            elif modification == "extend" and len(variation) < max_length:
                new_op = self._select_compatible_operator(variation[-1], None)
                if new_op:
                    variation.append(new_op)

            variations.append(variation)

        return variations

    def _select_compatible_operator(
        self, prev: str | None, next_op: str | None
    ) -> str | None:
        """Select an operator compatible with neighbors."""
        all_operators = [
            EMISSION,
            RECEPTION,
            COHERENCE,
            DISSONANCE,
            COUPLING,
            RESONANCE,
            SILENCE,
            EXPANSION,
            CONTRACTION,
            SELF_ORGANIZATION,
            MUTATION,
            TRANSITION,
            RECURSIVITY,
        ]

        if prev is None and next_op is None:
            return self._rng.choice(all_operators)

        compatible = []

        if prev is not None and next_op is None:
            # Find operators compatible after prev
            if prev in GRADUATED_COMPATIBILITY:
                levels = GRADUATED_COMPATIBILITY[prev]
                compatible.extend(levels.get("excellent", []))
                compatible.extend(levels.get("good", []))

        elif prev is None and next_op is not None:
            # Find operators that can precede next_op
            for op in all_operators:
                level = get_compatibility_level(op, next_op)
                if level in (CompatibilityLevel.EXCELLENT, CompatibilityLevel.GOOD):
                    compatible.append(op)

        else:
            # Must be compatible with both
            for op in all_operators:
                if prev and next_op:
                    level_after = get_compatibility_level(prev, op)
                    level_before = get_compatibility_level(op, next_op)
                    if level_after in (
                        CompatibilityLevel.EXCELLENT,
                        CompatibilityLevel.GOOD,
                    ) and level_before in (
                        CompatibilityLevel.EXCELLENT,
                        CompatibilityLevel.GOOD,
                    ):
                        compatible.append(op)

        return self._rng.choice(compatible) if compatible else None

    def _can_remove(self, sequence: list[str], pos: int) -> bool:
        """Check if operator at pos can be safely removed."""
        if pos == 0 or pos == len(sequence) - 1:
            return True  # Can always remove endpoints

        prev = sequence[pos - 1]
        next_op = sequence[pos + 1]

        level = get_compatibility_level(prev, next_op)
        return level in (CompatibilityLevel.EXCELLENT, CompatibilityLevel.GOOD)

    def _matches_pattern(self, sequence: list[str], pattern_name: str) -> bool:
        """Check if sequence matches the specified pattern."""
        detected = self.pattern_detector.detect_pattern(sequence)
        return detected.value == pattern_name

    def _get_pattern_signature(self, pattern_name: str) -> dict[str, list[str]]:
        """Get characteristic signature for a structural pattern."""
        # Pattern signatures mapping pattern names to operator combinations
        signatures: dict[str, dict[str, list[str]]] = {
            "BOOTSTRAP": {
                "core": [EMISSION, COUPLING, COHERENCE],
                "optional": [RECEPTION, SILENCE],
                "avoid": [DISSONANCE, MUTATION],
            },
            "THERAPEUTIC": {
                "core": [
                    EMISSION,
                    RECEPTION,
                    COHERENCE,
                    DISSONANCE,
                    SELF_ORGANIZATION,
                    COHERENCE,
                ],
                "optional": [SILENCE, TRANSITION],
                "avoid": [],
            },
            "EDUCATIONAL": {
                "core": [RECEPTION, COHERENCE, EXPANSION, DISSONANCE, MUTATION],
                "optional": [EMISSION, COHERENCE, SILENCE],
                "avoid": [],
            },
            "ORGANIZATIONAL": {
                "core": [
                    TRANSITION,
                    EMISSION,
                    RECEPTION,
                    COUPLING,
                    DISSONANCE,
                    SELF_ORGANIZATION,
                ],
                "optional": [COHERENCE, RESONANCE],
                "avoid": [],
            },
            "CREATIVE": {
                "core": [
                    SILENCE,
                    EMISSION,
                    EXPANSION,
                    DISSONANCE,
                    MUTATION,
                    SELF_ORGANIZATION,
                ],
                "optional": [COHERENCE, RECURSIVITY],
                "avoid": [],
            },
            "STABILIZE": {
                "core": [COHERENCE, SILENCE],
                "optional": [RESONANCE, COHERENCE],
                "avoid": [DISSONANCE, MUTATION, EXPANSION],
            },
            "EXPLORE": {
                "core": [DISSONANCE, MUTATION, COHERENCE],
                "optional": [EMISSION, RECEPTION],
                "avoid": [SILENCE],
            },
            "RESONATE": {
                "core": [RESONANCE, COUPLING, RESONANCE],
                "optional": [COHERENCE, EMISSION],
                "avoid": [DISSONANCE, MUTATION],
            },
        }

        if pattern_name not in signatures:
            # Default signature for unknown patterns
            return {
                "core": [EMISSION, COHERENCE, SILENCE],
                "optional": [RECEPTION, RESONANCE],
                "avoid": [],
            }

        return signatures[pattern_name]

    def _build_from_signature(
        self, signature: dict[str, list[str]], max_length: int
    ) -> list[str]:
        """Build sequence from pattern signature."""
        core = signature["core"]
        optional = signature.get("optional", [])

        # Start with core
        sequence = list(core)

        # Add optional operators if room and improves health
        remaining = max_length - len(sequence)
        if remaining > 0 and optional:
            for op in optional:
                if len(sequence) < max_length:
                    # Try to insert at compatible position
                    for i in range(len(sequence) + 1):
                        prev = sequence[i - 1] if i > 0 else None
                        next_op = sequence[i] if i < len(sequence) else None

                        if prev is None or get_compatibility_level(prev, op) in (
                            CompatibilityLevel.EXCELLENT,
                            CompatibilityLevel.GOOD,
                        ):
                            if next_op is None or get_compatibility_level(
                                op, next_op
                            ) in (
                                CompatibilityLevel.EXCELLENT,
                                CompatibilityLevel.GOOD,
                            ):
                                sequence.insert(i, op)
                                break

        return sequence[:max_length]

    def _generate_improvements(
        self,
        current: list[str],
        current_health: object,
        target_health: float,
        max_length: int,
    ) -> list[list[str]]:
        """Generate candidate improvements for a sequence."""
        improvements = [current]

        # Strategy 1: Add missing phases
        if hasattr(current_health, "pattern_completeness"):
            if current_health.pattern_completeness < _MIN_PATTERN_COMPLETENESS:  # type: ignore[attr-defined]
                # Try adding activation
                if not any(op in [EMISSION, RECEPTION] for op in current):
                    for pos in range(min(2, len(current))):
                        candidate = current.copy()
                        candidate.insert(pos, RECEPTION)
                        if len(candidate) <= max_length:
                            improvements.append(candidate)

        # Strategy 2: Add stabilizers if unbalanced
        if hasattr(current_health, "balance_score"):
            if current_health.balance_score < _MIN_BALANCE_SCORE:  # type: ignore[attr-defined]
                for stabilizer in _STABILIZERS:
                    candidate = current.copy()
                    if len(candidate) < max_length:
                        candidate.append(stabilizer)
                        improvements.append(candidate)

        # Strategy 3: Improve ending
        if hasattr(current_health, "sustainability_index"):
            if (
                current_health.sustainability_index < 0.7  # type: ignore[attr-defined]
                and current[-1] not in _STABILIZERS
            ):
                for stabilizer in _STABILIZERS:
                    candidate = current.copy()
                    candidate.append(stabilizer)
                    if len(candidate) <= max_length:
                        improvements.append(candidate)

        # Strategy 4: Add resonance for amplification
        if RESONANCE not in current and len(current) < max_length:
            for i in range(1, len(current)):
                if current[i - 1] in [COUPLING, COHERENCE, EXPANSION]:
                    candidate = current.copy()
                    candidate.insert(i, RESONANCE)
                    if len(candidate) <= max_length:
                        improvements.append(candidate)

        return improvements

    def _explain_improvements(
        self, original: list[str], improved: list[str]
    ) -> list[str]:
        """Generate explanations for improvements made."""
        recommendations = []

        # Analyze differences
        original_health = self.health_analyzer.analyze_health(original)
        improved_health = self.health_analyzer.analyze_health(improved)

        # Overall improvement
        health_delta = improved_health.overall_health - original_health.overall_health
        if health_delta > _HEALTH_IMPROVEMENT_DELTA:
            recommendations.append(
                f"Overall health improved by {health_delta:.2f} "
                f"(from {original_health.overall_health:.2f} to {improved_health.overall_health:.2f})"
            )

        # Specific metric improvements
        if improved_health.coherence_index > original_health.coherence_index + 0.05:
            recommendations.append(
                f"Coherence improved by {improved_health.coherence_index - original_health.coherence_index:.2f}"
            )

        if improved_health.balance_score > original_health.balance_score + 0.05:
            recommendations.append(
                f"Balance improved by {improved_health.balance_score - original_health.balance_score:.2f}"
            )

        if (
            improved_health.sustainability_index
            > original_health.sustainability_index + 0.05
        ):
            recommendations.append(
                f"Sustainability improved by {improved_health.sustainability_index - original_health.sustainability_index:.2f}"
            )

        # Identify added operators
        from collections import Counter

        original_counts = Counter(original)
        improved_counts = Counter(improved)
        added = [
            op
            for op in improved_counts
            if improved_counts[op] > original_counts.get(op, 0)
        ]
        if added:
            recommendations.append(f"Added operators: {', '.join(set(added))}")

        # Pattern change
        if improved_health.dominant_pattern != original_health.dominant_pattern:
            recommendations.append(
                f"Pattern evolved from {original_health.dominant_pattern} to {improved_health.dominant_pattern}"
            )

        if not recommendations:
            recommendations.append("Sequence maintained with minor refinements")

        return recommendations