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/operators/metabolism.py

metabolism.py

Vibrational metabolism functions for THOL (Self-organization) operator.

Implements canonical pattern digestion: capturing external network signals and transforming them into internal structural reorganization (ΔNFR and sub-EPIs).

TNFR Canonical Principle

From "El pulso que nos atraviesa" (TNFR Manual, §2.2.10):

text
"THOL es el glifo de la autoorganización activa. No necesita intervención
externa, ni programación, ni control — su función es reorganizar la forma
desde dentro, en respuesta a la coherencia vibracional del campo."

"THOL no es una propiedad, es una dinámica. No es un atributo de lo vivo,
es lo que hace que algo esté vivo. La autoorganización no es espontaneidad
aleatoria, es resonancia estructurada desde el interior del nodo."

This module operationalizes vibrational metabolism:

  1. Capture: Sample network environment (EPI gradient, phase variance, coupling)
  2. Metabolize: Transform external patterns into internal structure (sub-EPIs)
  3. Integrate: Sub-EPIs reflect both internal acceleration AND network context

Metabolic Formula

sub-EPI = base_internal + network_contribution + complexity_bonus

Where:

  • base_internal: parent_epi * scaling_factor (internal bifurcation)
  • network_contribution: epi_gradient * weight (external pressure)
  • complexity_bonus: phase_variance * weight (field complexity)

Source Code

python
"""Vibrational metabolism functions for THOL (Self-organization) operator.

Implements canonical pattern digestion: capturing external network signals
and transforming them into internal structural reorganization (ΔNFR and sub-EPIs).

TNFR Canonical Principle
-------------------------
From "El pulso que nos atraviesa" (TNFR Manual, §2.2.10):

    "THOL es el glifo de la autoorganización activa. No necesita intervención
    externa, ni programación, ni control — su función es reorganizar la forma
    desde dentro, en respuesta a la coherencia vibracional del campo."

    "THOL no es una propiedad, es una dinámica. No es un atributo de lo vivo,
    es lo que hace que algo esté vivo. La autoorganización no es espontaneidad
    aleatoria, es resonancia estructurada desde el interior del nodo."

This module operationalizes vibrational metabolism:
1. **Capture**: Sample network environment (EPI gradient, phase variance, coupling)
2. **Metabolize**: Transform external patterns into internal structure (sub-EPIs)
3. **Integrate**: Sub-EPIs reflect both internal acceleration AND network context

Metabolic Formula
-----------------
sub-EPI = base_internal + network_contribution + complexity_bonus

Where:
- base_internal: parent_epi * scaling_factor (internal bifurcation)
- network_contribution: epi_gradient * weight (external pressure)
- complexity_bonus: phase_variance * weight (field complexity)
"""

from __future__ import annotations

import math
from typing import TYPE_CHECKING, Any

if TYPE_CHECKING:
    from ..types import NodeId, TNFRGraph

from ..alias import get_attr
from ..constants.aliases import ALIAS_EPI, ALIAS_THETA
from ..mathematics.unified_numerical import np
from ..utils.numeric import angle_diff

__all__ = [
    "capture_network_signals",
    "metabolize_signals_into_subepi",
    "propagate_subepi_to_network",
    "compute_cascade_depth",
    "compute_hierarchical_depth",
    "compute_propagation_radius",
    "compute_subepi_collective_coherence",
    "compute_metabolic_activity_index",
]


def capture_network_signals(G: TNFRGraph, node: NodeId) -> dict[str, Any] | None:
    """Capture external vibrational patterns from coupled neighbors.

    This function implements the "perception" phase of THOL's vibrational metabolism.
    It samples the network environment around the target node, computing structural
    gradients, phase variance, and coupling strength.

    Parameters
    ----------
    G : TNFRGraph
        Graph containing the node and its network context
    node : NodeId
        Node performing metabolic capture

    Returns
    -------
    dict | None
        Network signal structure containing:
        - epi_gradient: Difference between mean neighbor EPI and node EPI
        - phase_variance: Variance of neighbor phases (instability indicator)
        - neighbor_count: Number of coupled neighbors
        - coupling_strength_mean: Average phase alignment with neighbors
        - mean_neighbor_epi: Mean EPI value of neighbors
        Returns None if node has no neighbors (isolated metabolism).

    Notes
    -----
    TNFR Principle: THOL doesn't operate in vacuum—it metabolizes the network's
    vibrational field. EPI gradient represents "structural pressure" from environment.
    Phase variance indicates "complexity" of external patterns to digest.

    Examples
    --------
    >>> # Node with coherent neighbors (low variance)
    >>> signals = capture_network_signals(G, node)
    >>> signals["phase_variance"]  # Low = stable field
    0.02

    >>> # Node in dissonant field (high variance)
    >>> signals = capture_network_signals(G_dissonant, node)
    >>> signals["phase_variance"]  # High = complex field
    0.45
    """
    from ..metrics.phase_compatibility import compute_phase_coupling_strength

    neighbors = list(G.neighbors(node))
    if not neighbors:
        return None

    node_epi = float(get_attr(G.nodes[node], ALIAS_EPI, 0.0))
    node_theta = float(get_attr(G.nodes[node], ALIAS_THETA, 0.0))

    # Aggregate neighbor states
    neighbor_epis = []
    neighbor_thetas = []
    coupling_strengths = []

    for n in neighbors:
        n_epi = float(get_attr(G.nodes[n], ALIAS_EPI, 0.0))
        n_theta = float(get_attr(G.nodes[n], ALIAS_THETA, 0.0))

        neighbor_epis.append(n_epi)
        neighbor_thetas.append(n_theta)

        # Coupling strength using canonical phase compatibility formula
        # (unified across UM, RA, THOL operators - see phase_compatibility module)
        coupling_strength = compute_phase_coupling_strength(node_theta, n_theta)
        coupling_strengths.append(coupling_strength)

    # Compute structural gradients
    mean_neighbor_epi = float(np.mean(neighbor_epis))
    epi_gradient = mean_neighbor_epi - node_epi

    # Phase variance (complexity/dissonance indicator)
    phase_variance = float(np.var(neighbor_thetas))

    # Mean coupling strength
    coupling_strength_mean = float(np.mean(coupling_strengths))

    return {
        "epi_gradient": epi_gradient,
        "phase_variance": phase_variance,
        "neighbor_count": len(neighbors),
        "coupling_strength_mean": coupling_strength_mean,
        "mean_neighbor_epi": mean_neighbor_epi,
    }


def metabolize_signals_into_subepi(
    parent_epi: float,
    signals: dict[str, Any] | None,
    d2_epi: float,
    scaling_factor: float = 0.25,
    gradient_weight: float = 0.15,
    complexity_weight: float = 0.10,
) -> float:
    """Transform external signals into sub-EPI structure through metabolism.

    This function implements the "digestion" phase of THOL's vibrational metabolism.
    It combines internal acceleration (d²EPI/dt²) with external network pressure
    to compute the magnitude of emergent sub-EPI.

    Parameters
    ----------
    parent_epi : float
        Current EPI magnitude of parent node
    signals : dict | None
        Network signals captured from environment (from capture_network_signals).
        If None, falls back to internal bifurcation only.
    d2_epi : float
        Internal structural acceleration (∂²EPI/∂t²)
    scaling_factor : float, default 0.25
        Canonical THOL sub-EPI scaling (0.25 = 25% of parent)
    gradient_weight : float, default 0.15
        Weight for external EPI gradient contribution
    complexity_weight : float, default 0.10
        Weight for phase variance complexity bonus

    Returns
    -------
    float
        Metabolized sub-EPI magnitude, bounded to [0, 1.0]

    Notes
    -----
    TNFR Metabolic Formula:

    sub-EPI = base_internal + network_contribution + complexity_bonus

    Where:
    - base_internal: parent_epi * scaling_factor (internal bifurcation)
    - network_contribution: epi_gradient * weight (external pressure)
    - complexity_bonus: phase_variance * weight (field complexity)

    This reflects canonical principle: "THOL reorganizes external experience
    into internal structure without external instruction" (Manual TNFR, p. 112).

    Examples
    --------
    >>> # Internal bifurcation only (isolated node)
    >>> metabolize_signals_into_subepi(0.60, None, d2_epi=0.15)
    0.15

    >>> # Metabolizing network pressure
    >>> signals = {"epi_gradient": 0.20, "phase_variance": 0.10, ...}
    >>> metabolize_signals_into_subepi(0.60, signals, d2_epi=0.15)
    0.21  # Enhanced by network context
    """
    # Base: Internal bifurcation (existing behavior)
    base_sub_epi = parent_epi * scaling_factor

    # If isolated, return internal bifurcation only
    if signals is None:
        return float(np.clip(base_sub_epi, 0.0, 1.0))

    # Network contribution: EPI gradient pressure
    network_contribution = signals["epi_gradient"] * gradient_weight

    # Complexity bonus: Phase variance indicates rich field to metabolize
    complexity_bonus = signals["phase_variance"] * complexity_weight

    # Combine internal + external
    metabolized_epi = base_sub_epi + network_contribution + complexity_bonus

    # Structural bounds [0, 1]
    return float(np.clip(metabolized_epi, 0.0, 1.0))


def propagate_subepi_to_network(
    G: TNFRGraph,
    parent_node: NodeId,
    sub_epi_record: dict[str, Any],
) -> list[tuple[NodeId, float]]:
    """Propagate emergent sub-EPI to coupled neighbors through resonance.

    Implements canonical THOL network dynamics: bifurcation creates structures
    that propagate through coupled nodes, triggering potential cascades.

    Parameters
    ----------
    G : TNFRGraph
        Graph containing the network
    parent_node : NodeId
        Node where sub-EPI originated (bifurcation source)
    sub_epi_record : dict
        Sub-EPI record from bifurcation, containing:
        - "epi": sub-EPI magnitude
        - "vf": inherited structural frequency
        - "timestamp": creation time

    Returns
    -------
    list of (NodeId, float)
        list of (neighbor_id, injected_epi) tuples showing propagation results.
        Empty list if no propagation occurred.

    Notes
    -----
    TNFR Principle: "Sub-EPIs propagate to coupled neighbors, triggering their
    own bifurcations when ∂²EPI/∂t² > τ" (canonical THOL dynamics).

    **AGENTS.md Invariant #2**: No coupling is valid without explicit phase
    verification. This function enforces phase compatibility before propagation:
    - Computes coupling_strength = 1.0 - (|Δθ| / π) using angle_diff()
    - Rejects neighbors with coupling_strength < threshold (antiphase blocked)
    - Ensures resonance physics: only phase-aligned nodes receive sub-EPIs

    Propagation mechanism:
    1. Select neighbors with sufficient coupling (phase alignment)
    2. Compute attenuation based on coupling strength
    3. Inject attenuated sub-EPI influence into neighbor's EPI
    4. Record propagation in graph telemetry

    Attenuation prevents unbounded growth while enabling cascades.

    Examples
    --------
    >>> # Create coupled network
    >>> G = nx.Graph()
    >>> G.add_node(0, epi=0.50, vf=1.0, theta=0.1)
    >>> G.add_node(1, epi=0.40, vf=1.0, theta=0.12)  # Phase-aligned
    >>> G.add_edge(0, 1)
    >>> sub_epi = {"epi": 0.15, "vf": 1.1, "timestamp": 10}
    >>> propagations = propagate_subepi_to_network(G, node=0, sub_epi_record=sub_epi)
    >>> len(propagations)  # Number of neighbors reached
    1
    >>> propagations[0]  # (neighbor_id, injected_epi)
    (1, 0.105)  # 70% attenuation
    """
    from ..alias import set_attr

    neighbors = list(G.neighbors(parent_node))
    if not neighbors:
        return []

    # Configuration
    min_coupling_strength = float(G.graph.get("THOL_MIN_COUPLING_FOR_PROPAGATION", 0.5))
    attenuation_factor = float(G.graph.get("THOL_PROPAGATION_ATTENUATION", 0.7))

    parent_theta = float(get_attr(G.nodes[parent_node], ALIAS_THETA, 0.0))
    sub_epi_magnitude = sub_epi_record["epi"]

    propagations = []

    for neighbor in neighbors:
        neighbor_theta = float(get_attr(G.nodes[neighbor], ALIAS_THETA, 0.0))

        # INVARIANT #2: Phase verification before coupling
        # Compute coupling strength based on phase alignment
        # coupling_strength ∈ [0, 1]: 1 = in-phase, 0 = antiphase
        phase_diff = abs(angle_diff(neighbor_theta, parent_theta))
        coupling_strength = 1.0 - (phase_diff / math.pi)

        # Propagate only if sufficiently coupled (phase-aligned)
        # Antiphase neighbors (Δθ ≈ π) have coupling_strength ≈ 0, blocked by threshold
        if coupling_strength >= min_coupling_strength:
            # Attenuate sub-EPI based on distance and coupling
            attenuated_epi = sub_epi_magnitude * attenuation_factor * coupling_strength

            # Inject into neighbor's EPI
            neighbor_epi = float(get_attr(G.nodes[neighbor], ALIAS_EPI, 0.0))
            new_neighbor_epi = neighbor_epi + attenuated_epi

            # Boundary check
            from ..dynamics.structural_clip import structural_clip

            epi_max = float(G.graph.get("EPI_MAX", 1.0))
            new_neighbor_epi = structural_clip(new_neighbor_epi, lo=0.0, hi=epi_max)

            set_attr(G.nodes[neighbor], ALIAS_EPI, new_neighbor_epi)

            propagations.append((neighbor, attenuated_epi))

            # Update neighbor's EPI history for potential subsequent bifurcation
            history = G.nodes[neighbor].get("epi_history", [])
            history.append(new_neighbor_epi)
            G.nodes[neighbor]["epi_history"] = history[-10:]  # Keep last 10

    return propagations


def compute_cascade_depth(G: TNFRGraph, node: NodeId) -> int:
    """Compute maximum hierarchical depth of bifurcation cascade.

    Recursively measures how many levels of nested sub-EPIs exist,
    where each sub-EPI can itself bifurcate into deeper levels.

    With architectural refactor: sub-EPIs are now independent NFR nodes,
    enabling true recursive depth computation.

    Parameters
    ----------
    G : TNFRGraph
        Graph containing bifurcation history
    node : NodeId
        Root node of cascade analysis

    Returns
    -------
    int
        Maximum cascade depth (0 if no bifurcation occurred)

    Examples
    --------
    >>> # Single-level bifurcation
    >>> compute_cascade_depth(G, node)
    1

    >>> # Multi-level cascade (sub-EPIs bifurcated further)
    >>> compute_cascade_depth(G_complex, node)
    3

    Notes
    -----
    TNFR Principle: Cascade depth measures the hierarchical complexity
    of emergent self-organization. Depth = 1 indicates direct bifurcation;
    depth > 1 indicates recursive, multi-scale emergence.

    ARCHITECTURAL: Now supports true recursive bifurcation with independent
    sub-nodes. If a node has no independent sub-nodes, falls back to
    metadata-based depth for backward compatibility.
    """
    # Primary path: Check for independent sub-nodes (new architecture)
    sub_nodes = G.nodes[node].get("sub_nodes", [])
    if sub_nodes:
        # Recursive computation with actual nodes
        max_depth = 0
        for sub_node_id in sub_nodes:
            if sub_node_id in G.nodes:
                # Recurse into child's depth
                child_depth = compute_cascade_depth(G, sub_node_id)
                max_depth = max(max_depth, 1 + child_depth)
            else:
                # Child node exists in list but not in graph (shouldn't happen)
                max_depth = max(max_depth, 1)
        return max_depth

    # Fallback path: Legacy metadata-based depth
    sub_epis = G.nodes[node].get("sub_epis", [])
    if not sub_epis:
        return 0

    max_depth = 1
    for sub in sub_epis:
        # Check if sub-EPI has node_id (new architecture with metadata)
        if "node_id" in sub and sub["node_id"] in G.nodes:
            # Recurse into independent node
            child_depth = compute_cascade_depth(G, sub["node_id"])
            max_depth = max(max_depth, 1 + child_depth)
        else:
            # Legacy metadata-only mode
            nested_depth = sub.get("cascade_depth", 0)
            max_depth = max(max_depth, 1 + nested_depth)

    return max_depth


def compute_hierarchical_depth(G: TNFRGraph, node: NodeId) -> int:
    """Compute maximum bifurcation depth from node using recursive traversal.

    Traverses sub-EPI hierarchy recursively to find the maximum bifurcation_level
    across all nested branches. This provides accurate hierarchical telemetry for
    nested THOL bifurcations, supporting operational fractality analysis.

    Parameters
    ----------
    G : TNFRGraph
        Network graph
    node : NodeId
        Root node to measure depth from

    Returns
    -------
    int
        Maximum bifurcation depth (0 = no bifurcations, 1 = single-level, etc.)

    Notes
    -----
    TNFR Principle: Hierarchical depth reflects operational fractality
    (Invariant #3) - the ability of sub-EPIs to bifurcate recursively,
    creating multi-scale emergent structures.

    This function recursively traverses all branches to find the deepest
    bifurcation_level, providing precise depth tracking for:
    - Debugging complex nested structures
    - Validating depth limits
    - Analyzing bifurcation patterns
    - Performance monitoring

    Examples
    --------
    >>> # Node with no bifurcations
    >>> compute_hierarchical_depth(G, node)
    0

    >>> # Node with single-level bifurcation
    >>> compute_hierarchical_depth(G, node_with_subs)
    1

    >>> # Node with 2-level nested bifurcation
    >>> compute_hierarchical_depth(G, node_nested)
    2
    """
    sub_epis = G.nodes[node].get("sub_epis", [])

    if not sub_epis:
        return 0

    # Recursively find the maximum bifurcation_level across all branches
    max_level = 0
    for sub_epi in sub_epis:
        # Get this sub-EPI's bifurcation level
        level = sub_epi.get("bifurcation_level", 1)
        max_level = max(max_level, level)

        # Recurse into sub-node if it exists to find deeper levels
        sub_node_id = sub_epi.get("node_id")
        if sub_node_id and sub_node_id in G.nodes:
            # Recursively check this sub-node's depth
            sub_depth = compute_hierarchical_depth(G, sub_node_id)
            # If sub-node has bifurcations, its depth represents deeper levels
            if sub_depth > 0:
                max_level = max(max_level, sub_depth)

    return max_level


def compute_propagation_radius(G: TNFRGraph) -> int:
    """Count total unique nodes affected by THOL cascades.

    Parameters
    ----------
    G : TNFRGraph
        Graph with THOL propagation history

    Returns
    -------
    int
        Number of nodes reached by at least one propagation event

    Notes
    -----
    TNFR Principle: Propagation radius measures the spatial extent
    of cascade effects across the network. High radius indicates
    network-wide self-organization.

    Examples
    --------
    >>> # Local cascade (few nodes)
    >>> compute_propagation_radius(G_local)
    3

    >>> # Network-wide cascade
    >>> compute_propagation_radius(G_wide)
    15
    """
    propagations = G.graph.get("thol_propagations", [])
    affected_nodes = set()

    for prop in propagations:
        affected_nodes.add(prop["source_node"])
        for target, _ in prop["propagations"]:
            affected_nodes.add(target)

    return len(affected_nodes)


def compute_subepi_collective_coherence(G: TNFRGraph, node: NodeId) -> float:
    """Calculate coherence of sub-EPI ensemble.

    Measures how structurally aligned the emergent sub-EPIs are.
    Low variance = high coherence = stable emergence.

    Parameters
    ----------
    G : TNFRGraph
        Graph containing the node
    node : NodeId
        Node with sub-EPIs to analyze

    Returns
    -------
    float
        Coherence metric [0, 1] where 1 = perfect alignment

    Notes
    -----
    Uses variance-based coherence:
    C_sub = 1 / (1 + var(sub_epi_magnitudes))

    TNFR Principle: Coherent bifurcation produces sub-EPIs with similar
    structural magnitudes, indicating controlled emergence vs chaotic
    fragmentation.

    Examples
    --------
    >>> # Coherent bifurcation (similar sub-EPIs)
    >>> compute_subepi_collective_coherence(G, node)
    0.85

    >>> # Chaotic fragmentation (varied sub-EPIs)
    >>> compute_subepi_collective_coherence(G_chaotic, node)
    0.23
    """
    sub_epis = G.nodes[node].get("sub_epis", [])
    if len(sub_epis) < 2:
        return 0.0  # Need ≥2 sub-EPIs to measure coherence

    epi_values = [sub["epi"] for sub in sub_epis]
    variance = float(np.var(epi_values))

    # Coherence: inverse relationship with variance
    coherence = 1.0 / (1.0 + variance)
    return coherence


def compute_metabolic_activity_index(G: TNFRGraph, node: NodeId) -> float:
    """Measure proportion of sub-EPIs generated through network metabolism.

    Parameters
    ----------
    G : TNFRGraph
        Graph containing the node
    node : NodeId
        Node to analyze

    Returns
    -------
    float
        Ratio [0, 1] of metabolized sub-EPIs to total sub-EPIs
        1.0 = all sub-EPIs included network context
        0.0 = all sub-EPIs were purely internal bifurcations

    Notes
    -----
    TNFR Principle: Metabolic activity measures how much network context
    influenced bifurcation. High index indicates external pressure drove
    emergence; low index indicates internal acceleration dominated.

    Examples
    --------
    >>> # Network-driven bifurcation
    >>> compute_metabolic_activity_index(G_coupled, node)
    0.90

    >>> # Internal-only bifurcation
    >>> compute_metabolic_activity_index(G_isolated, node)
    0.0
    """
    sub_epis = G.nodes[node].get("sub_epis", [])
    if not sub_epis:
        return 0.0

    metabolized_count = sum(1 for sub in sub_epis if sub.get("metabolized", False))
    return metabolized_count / len(sub_epis)