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/errors/contextual.py

contextual.py

Contextual error handling for TNFR operations.

This module provides enhanced error messages that guide users to solutions while maintaining TNFR theoretical compliance. All errors include:

  1. Clear explanation of the violation
  2. Actionable suggestions for resolution
  3. Links to relevant documentation
  4. Context about the structural operation that failed

Canonical Invariants Preserved

These errors enforce TNFR invariants from AGENTS.md:

  • Operator closure and sequence validity
  • Phase synchrony requirements for coupling
  • Frequency (νf) bounds in Hz_str units
  • ΔNFR semantic correctness
  • EPI coherence preservation

Source Code

python
"""Contextual error handling for TNFR operations.

This module provides enhanced error messages that guide users to solutions
while maintaining TNFR theoretical compliance. All errors include:

1. Clear explanation of the violation
2. Actionable suggestions for resolution
3. Links to relevant documentation
4. Context about the structural operation that failed

Canonical Invariants Preserved
------------------------------
These errors enforce TNFR invariants from AGENTS.md:
- Operator closure and sequence validity
- Phase synchrony requirements for coupling
- Frequency (νf) bounds in Hz_str units
- ΔNFR semantic correctness
- EPI coherence preservation
"""

from __future__ import annotations

import math
from difflib import get_close_matches
from typing import Any

__all__ = [
    "TNFRUserError",
    "OperatorSequenceError",
    "NetworkConfigError",
    "PhaseError",
    "CoherenceError",
    "FrequencyError",
    "TNFRValueError",
    "TNFRSecurityError",
    "TNFRSecurityWarning",
]


class TNFRUserError(Exception):
    """Base class for user-facing TNFR errors with helpful context.

    All TNFR errors inherit from this class and provide:
    - Human-readable error messages
    - Actionable suggestions
    - Documentation links
    - Structural context

    Parameters
    ----------
    message : str
        Primary error message describing what went wrong.
    suggestion : str, optional
        Specific suggestion for how to fix the issue.
    docs_url : str, optional
        URL to relevant documentation section.
    context : dict, optional
        Additional context about the failed operation (node IDs, values, etc).

    Examples
    --------
    >>> raise TNFRUserError(
    ...     "Invalid structural frequency",
    ...     suggestion="νf must be positive in Hz_str units",
    ...     docs_url="https://tnfr.readthedocs.io/api/core.html#frequency"
    ... )
    """

    def __init__(
        self,
        message: str,
        suggestion: str | None = None,
        docs_url: str | None = None,
        context: dict[str, Any] | None = None,
    ):
        self.message = message
        self.suggestion = suggestion
        self.docs_url = docs_url
        self.context = context or {}

        # Build comprehensive error message
        full_message = f"\n{'='*70}\n"
        full_message += f"TNFR Error: {message}\n"
        full_message += f"{'='*70}\n"

        if suggestion:
            full_message += f"\n💡 Suggestion: {suggestion}\n"

        if context:
            full_message += "\n📊 Context:\n"
            for key, value in context.items():
                full_message += f"   • {key}: {value}\n"

        if docs_url:
            full_message += f"\n📚 Documentation: {docs_url}\n"

        full_message += f"{'='*70}\n"

        super().__init__(full_message)


class OperatorSequenceError(TNFRUserError):
    """Error raised when operator sequence violates TNFR grammar.

    TNFR operators must be applied in valid sequences that respect
    structural coherence. This error provides:
    - The invalid sequence attempted
    - Which operator violated the grammar
    - Valid next operators
    - Fuzzy matching for typos

    Enforces Invariant #4: Grammar Compliance (operator closure) from AGENTS.md

    Parameters
    ----------
    invalid_operator : str
        The operator that violated the grammar.
    sequence_so_far : list of str
        Operators successfully applied before the error.
    valid_next : list of str, optional
        Valid operators that can follow the current sequence.

    Examples
    --------
    >>> raise OperatorSequenceError(
    ...     "emision",
    ...     ["reception", "coherence"],
    ...     ["emission", "recursivity"]
    ... )
    """

    # Valid TNFR operators (13 canonical operators)
    VALID_OPERATORS = {
        "emission",
        "reception",
        "coherence",
        "dissonance",
        "coupling",
        "resonance",
        "silence",
        "expansion",
        "contraction",
        "self_organization",
        "mutation",
        "transition",
        "recursivity",
    }

    # Operator aliases for user convenience
    OPERATOR_ALIASES = {
        "emit": "emission",
        "receive": "reception",
        "cohere": "coherence",
        "couple": "coupling",
        "resonate": "resonance",
        "silent": "silence",
        "expand": "expansion",
        "contract": "contraction",
        "self_organize": "self_organization",
        "mutate": "mutation",
        "recurse": "recursivity",
    }

    def __init__(
        self,
        invalid_operator: str,
        sequence_so_far: list[str] | None = None,
        valid_next: list[str] | None = None,
    ):
        sequence_so_far = sequence_so_far or []

        # Try fuzzy matching for typos
        all_valid = list(self.VALID_OPERATORS) + list(self.OPERATOR_ALIASES.keys())
        matches = get_close_matches(invalid_operator, all_valid, n=3, cutoff=0.6)

        suggestion_parts = []
        if matches:
            suggestion_parts.append(f"Did you mean one of: {', '.join(matches)}?")

        if valid_next:
            suggestion_parts.append(f"Valid next operators: {', '.join(valid_next)}")
        else:
            suggestion_parts.append(
                f"Use one of the 13 canonical operators: "
                f"{', '.join(sorted(self.VALID_OPERATORS))}"
            )

        suggestion = " ".join(suggestion_parts) if suggestion_parts else None

        context = {
            "invalid_operator": invalid_operator,
            "sequence_so_far": (
                " → ".join(sequence_so_far) if sequence_so_far else "empty"
            ),
            "operator_count": len(sequence_so_far),
        }

        super().__init__(
            message=f"Invalid operator sequence: '{invalid_operator}' cannot be applied",
            suggestion=suggestion,
            docs_url="https://github.com/fermga/Teoria-de-la-naturaleza-fractal-resonante-TNFR-/blob/main/docs/source/api/operators.md",
            context=context,
        )


class NetworkConfigError(TNFRUserError):
    """Error raised when network configuration violates TNFR constraints.

    This error validates configuration parameters and provides valid ranges
    with physical/structural meaning.

    Enforces multiple invariants:
    - Invariant #5: Structural Metrology (νf in Hz_str)
    - Invariant #2: Phase-Coherent Coupling (phase check requirements)
    - Invariant #1: Nodal Equation Integrity (node birth/collapse conditions)

    Parameters
    ----------
    parameter : str
        The configuration parameter that is invalid.
    value : any
        The invalid value provided.
    valid_range : tuple, optional
        Valid range for the parameter (min, max).
    reason : str, optional
        Structural reason for the constraint.

    Examples
    --------
    >>> raise NetworkConfigError(
    ...     "vf",
    ...     -0.5,
    ...     (0.01, 100.0),
    ...     "Structural frequency must be positive (Hz_str units)"
    ... )
    """

    # Valid parameter ranges with structural meaning
    PARAMETER_CONSTRAINTS = {
        "vf": {
            "range": (0.01, 100.0),
            "unit": "Hz_str",
            "description": "Structural frequency (reorganization rate)",
        },
        "phase": {
            "range": (0.0, 2 * math.pi),
            "unit": "radians",
            "description": "Phase angle for network synchrony",
        },
        "coherence": {
            "range": (0.0, 1.0),
            "unit": "dimensionless",
            "description": "Structural stability measure C(t)",
        },
        "delta_nfr": {
            "range": (-10.0, 10.0),
            "unit": "dimensionless",
            "description": "Internal reorganization gradient ΔNFR",
        },
        "epi": {
            "range": (0.0, 1.0),
            "unit": "dimensionless",
            "description": "Primary Information Structure magnitude",
        },
        "edge_probability": {
            "range": (0.0, 1.0),
            "unit": "probability",
            "description": "Network edge connection probability",
        },
        "num_nodes": {
            "range": (1, 100000),
            "unit": "count",
            "description": "Number of nodes in network",
        },
    }

    def __init__(
        self,
        parameter: str,
        value: Any,
        valid_range: tuple | None = None,
        reason: str | None = None,
    ):
        # Get constraint info if available
        constraint_info = self.PARAMETER_CONSTRAINTS.get(parameter)

        if constraint_info and not valid_range:
            valid_range = constraint_info["range"]
            reason = reason or constraint_info["description"]

        suggestion_parts = []
        if valid_range:
            min_val, max_val = valid_range
            suggestion_parts.append(
                f"'{parameter}' must be in range [{min_val}, {max_val}]"
            )

        if constraint_info:
            suggestion_parts.append(f"Unit: {constraint_info['unit']}")

        if reason:
            suggestion_parts.append(f"Structural meaning: {reason}")

        context = {
            "parameter": parameter,
            "provided_value": value,
            "valid_range": (
                f"[{valid_range[0]}, {valid_range[1]}]" if valid_range else "see docs"
            ),
        }

        super().__init__(
            message=f"Invalid network configuration for '{parameter}'",
            suggestion=" | ".join(suggestion_parts) if suggestion_parts else None,
            docs_url="https://github.com/fermga/Teoria-de-la-naturaleza-fractal-resonante-TNFR-/blob/main/docs/source/api/overview.md",
            context=context,
        )


class PhaseError(TNFRUserError):
    """Error raised when phase synchrony is violated.

    TNFR requires explicit phase checking before coupling operations.
    This error indicates phase incompatibility between nodes.

    Enforces Invariant #2: Phase-Coherent Coupling from AGENTS.md

    Parameters
    ----------
    node1 : str
        First node ID.
    node2 : str
        Second node ID.
    phase1 : float
        Phase of first node (radians).
    phase2 : float
        Phase of second node (radians).
    threshold : float
        Phase difference threshold for coupling.

    Examples
    --------
    >>> raise PhaseError("n1", "n2", 0.5, 2.8, 0.5)
    """

    def __init__(
        self,
        node1: str,
        node2: str,
        phase1: float,
        phase2: float,
        threshold: float = 0.5,
    ):
        phase_diff = abs(phase1 - phase2)

        suggestion = (
            f"Nodes cannot couple: phase difference ({phase_diff:.3f} rad) "
            f"exceeds threshold ({threshold:.3f} rad). "
            f"Apply phase synchronization or adjust threshold."
        )

        context = {
            "node1": node1,
            "node2": node2,
            "phase1": f"{phase1:.3f} rad",
            "phase2": f"{phase2:.3f} rad",
            "phase_difference": f"{phase_diff:.3f} rad",
            "threshold": f"{threshold:.3f} rad",
        }

        super().__init__(
            message=f"Phase synchrony violation between nodes '{node1}' and '{node2}'",
            suggestion=suggestion,
            docs_url="https://github.com/fermga/Teoria-de-la-naturaleza-fractal-resonante-TNFR-/blob/main/GLOSSARY.md#phase",
            context=context,
        )


class CoherenceError(TNFRUserError):
    """Error raised when coherence operations violate monotonicity.

    Coherence operator must not decrease C(t) except in controlled
    dissonance tests. This error indicates unexpected coherence loss.

    Enforces Invariant #1: Nodal Equation Integrity (EPI coherent form) from AGENTS.md

    Parameters
    ----------
    operation : str
        The operation that caused coherence decrease.
    before : float
        Coherence C(t) before operation.
    after : float
        Coherence C(t) after operation.
    node_id : str, optional
        Node ID if the error is node-specific.

    Examples
    --------
    >>> raise CoherenceError("coherence", 0.85, 0.42)
    """

    def __init__(
        self,
        operation: str,
        before: float,
        after: float,
        node_id: str | None = None,
    ):
        decrease = before - after
        percent_loss = (decrease / before * 100) if before > 0 else 0

        suggestion = (
            f"Coherence decreased by {decrease:.3f} ({percent_loss:.1f}%). "
            f"This violates the coherence monotonicity invariant. "
            f"Check if this is a controlled dissonance test or if "
            f"there's an unexpected structural instability."
        )

        context = {
            "operation": operation,
            "coherence_before": f"{before:.3f}",
            "coherence_after": f"{after:.3f}",
            "decrease": f"{decrease:.3f}",
            "percent_loss": f"{percent_loss:.1f}%",
        }

        if node_id:
            context["node_id"] = node_id

        super().__init__(
            message=f"Unexpected coherence decrease during '{operation}'",
            suggestion=suggestion,
            docs_url="https://github.com/fermga/Teoria-de-la-naturaleza-fractal-resonante-TNFR-/blob/main/AGENTS.md#canonical-invariants",
            context=context,
        )


class FrequencyError(TNFRUserError):
    """Error raised when structural frequency νf is invalid.

    Structural frequency must be positive and expressed in Hz_str
    (structural hertz) units. This error indicates frequency violations.

    Enforces Invariant #5: Structural Metrology (structural units) from AGENTS.md

    Parameters
    ----------
    node_id : str
        Node ID with invalid frequency.
    vf : float
        The invalid frequency value.
    operation : str, optional
        Operation that triggered the check.

    Examples
    --------
    >>> raise FrequencyError("n1", -0.5, "emission")
    """

    def __init__(
        self,
        vf: float,
        node_id: str | None = None,
        operation: str | None = None,
    ):
        node_msg = f" for node '{node_id}'" if node_id else ""

        if vf <= 0:
            suggestion = (
                f"Structural frequency νf must be positive (Hz_str units). "
                f"set νf > 0{node_msg}. "
                f"Typical range: 0.1 to 10.0 Hz_str."
            )
        elif vf > 100:
            suggestion = (
                f"Structural frequency νf = {vf:.3f} Hz_str is very high. "
                f"Typical range: 0.1 to 10.0 Hz_str. "
                f"Verify this is intentional."
            )
        else:
            suggestion = f"Verify structural frequency{node_msg}."

        context = {
            "vf": f"{vf:.3f} Hz_str",
            "valid_range": "[0.01, 100.0] Hz_str",
        }

        if node_id:
            context["node_id"] = node_id
        if operation:
            context["operation"] = operation

        super().__init__(
            message=f"Invalid structural frequency{node_msg}",
            suggestion=suggestion,
            docs_url="https://github.com/fermga/Teoria-de-la-naturaleza-fractal-resonante-TNFR-/blob/main/GLOSSARY.md#structural-frequency",
            context=context,
        )


class TNFRValueError(TNFRUserError, ValueError):
    """Error raised when an operation receives an argument with inappropriate value.

    This is a drop-in replacement for ValueError that adds TNFR context.
    It inherits from both TNFRUserError and ValueError, allowing it to be
    caught by existing exception handlers while providing enhanced diagnostics.

    Parameters
    ----------
    message : str
        Primary error message.
    suggestion : str, optional
        Actionable suggestion for resolution.
    docs_url : str, optional
        Link to relevant documentation.
    context : dict, optional
        Additional context about the error.

    Examples
    --------
    >>> raise TNFRValueError(
    ...     "Invalid dimension size",
    ...     suggestion="Dimension must be positive",
    ...     context={"dim": -1}
    ... )
    """

    def __init__(
        self,
        message: str,
        suggestion: str | None = None,
        docs_url: str | None = None,
        context: dict[str, Any] | None = None,
    ):
        super().__init__(
            message=message,
            suggestion=suggestion,
            docs_url=docs_url,
            context=context,
        )


class TNFRSecurityError(TNFRValueError):
    """Security validation error for input sanitization or integrity failures.

    Raised when:
    - Input contains forbidden patterns (injection attempts)
    - Cache signatures are invalid (tampering detected)
    - Path traversal attempts are detected
    """

    def __init__(self, message: str, suspicious_input: str | None = None, **kwargs):
        context = kwargs.get("context", {})
        if suspicious_input:
            context["suspicious_input"] = suspicious_input
        kwargs["context"] = context

        super().__init__(message, **kwargs)
        self.suspicious_input = suspicious_input


class TNFRSecurityWarning(UserWarning):
    """Issued when potentially unsafe serialization is used without signing."""