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: benchmarks/boundary_vibration.py

boundary_vibration.py

Boundary Vibration -- where do the Riemann zeros come from, and why can the TNFR engine derive their SOURCE but not their LOCATION without mpmath?

THE CLAIM The Riemann zeros are the resonance spectrum of the prime "boundary vibration". TNFR derives the SOURCE of that vibration canonically -- nu_f = log p (structural frequency = geodesic length), the nodal equation d(EPI)/dt = nu_f * Delta(NFR), and a self-adjoint prime-ladder Hamiltonian whose spectrum is {k log p} -- with NO external zero data. The open question (gap G4) is whether the RESONANCES {gamma_n} can be reached from the SOURCE {k log p} by a canonical map; equivalently, whether the TNFR-native von Mangoldt series can be analytically continued across Re(s) = 1 by structure alone.

ENGINE (rigorous / known theorems) * von Mangoldt: -zeta'/zeta(s) = sum_{p,k} (log p) p^{-ks}, converging absolutely iff Re(s) > 1 (abscissa of convergence at Re = 1). P12. * L = D - A is self-adjoint => real spectrum (spectral theorem). * A self-adjoint operator that commutes with an involution R = R^T, R^2 = I splits into R-parity sectors, each with real eigenvalues (Z_2 rep theory). * Hilbert-Polya: RH <=> {gamma_n} is the spectrum of a self-adjoint operator (conjectural framing; NOT proved here).

TNFR reading (AGENTS.md + src/tnfr/dynamics/adelic.py) nu_f = log p is the canonical per-node structural frequency. The geometric trace Tr_geo(t) = sum (log p) e^{i t log p} / sqrt(p) is the collective oscillation of the prime geodesics -- the literal boundary vibration -- and it is DERIVED from the nodal equation (adelic.py). The zeros {gamma_n} are the resonance spectrum that vibration would reveal; in adelic.py they appear as known_zeros = Ground Truth, framed exactly as "a blind search would detect them via resonance peaks". The critical line Re = 1/2 is the fixed axis of the Z_2 reflection s <-> 1 - s.

HONEST SCOPE This harness does NOT prove RH and does NOT close G4. It LOCATES G4 surgically as the analytic continuation of the TNFR-native von Mangoldt series across Re(s) = 1 / the canonical map {k log p} -> {gamma_n}. The self-adjoint + reflection leg shows the Hilbert-Polya intuition ("self-adjoint => real => on the line") is TRUE as algebra; what is OPEN is exhibiting THE self-adjoint operator whose spectrum is {gamma_n} from TNFR structure alone. Following src/tnfr/dynamics/adelic.py, every carrier here is derived from nu_f = log p; mpmath, where present, only draws the target -- it never derives it. R (continuum) and pi remain assumed substrate.

Run: python benchmarks/boundary_vibration.py

Status: RESEARCH (boundary-vibration falsifier; Camino 10 of the unification map).

Source Code

python
"""
Boundary Vibration -- where do the Riemann zeros come from, and why can the
TNFR engine derive their SOURCE but not their LOCATION without mpmath?

THE CLAIM
    The Riemann zeros are the resonance spectrum of the prime "boundary
    vibration".  TNFR derives the SOURCE of that vibration canonically --
    nu_f = log p (structural frequency = geodesic length), the nodal equation
    d(EPI)/dt = nu_f * Delta(NFR), and a self-adjoint prime-ladder Hamiltonian
    whose spectrum is {k log p} -- with NO external zero data.  The open
    question (gap G4) is whether the RESONANCES {gamma_n} can be reached from
    the SOURCE {k log p} by a canonical map; equivalently, whether the
    TNFR-native von Mangoldt series can be analytically continued across
    Re(s) = 1 by structure alone.

ENGINE (rigorous / known theorems)
    * von Mangoldt:  -zeta'/zeta(s) = sum_{p,k} (log p) p^{-ks}, converging
      absolutely iff Re(s) > 1 (abscissa of convergence at Re = 1).  P12.
    * L = D - A is self-adjoint  =>  real spectrum (spectral theorem).
    * A self-adjoint operator that commutes with an involution R = R^T, R^2 = I
      splits into R-parity sectors, each with real eigenvalues (Z_2 rep theory).
    * Hilbert-Polya:  RH <=> {gamma_n} is the spectrum of a self-adjoint
      operator (conjectural framing; NOT proved here).

TNFR reading (AGENTS.md + src/tnfr/dynamics/adelic.py)
    nu_f = log p is the canonical per-node structural frequency.  The geometric
    trace Tr_geo(t) = sum (log p) e^{i t log p} / sqrt(p) is the collective
    oscillation of the prime geodesics -- the literal boundary vibration -- and
    it is DERIVED from the nodal equation (adelic.py).  The zeros {gamma_n} are
    the resonance spectrum that vibration would reveal; in adelic.py they appear
    as known_zeros = Ground Truth, framed exactly as "a blind search would
    detect them via resonance peaks".  The critical line Re = 1/2 is the fixed
    axis of the Z_2 reflection s <-> 1 - s.

HONEST SCOPE
    This harness does NOT prove RH and does NOT close G4.  It LOCATES G4
    surgically as the analytic continuation of the TNFR-native von Mangoldt
    series across Re(s) = 1 / the canonical map {k log p} -> {gamma_n}.  The
    self-adjoint + reflection leg shows the Hilbert-Polya intuition
    ("self-adjoint => real => on the line") is TRUE as algebra; what is OPEN is
    exhibiting THE self-adjoint operator whose spectrum is {gamma_n} from TNFR
    structure alone.  Following src/tnfr/dynamics/adelic.py, every carrier here
    is derived from nu_f = log p; mpmath, where present, only draws the target
    -- it never derives it.  R (continuum) and pi remain assumed
    substrate.

Run:
    python benchmarks/boundary_vibration.py

Status: RESEARCH (boundary-vibration falsifier; Camino 10 of the unification map).
"""

from __future__ import annotations

import math
import os
import sys

import networkx as nx
import numpy as np

sys.path.insert(0, os.path.dirname(os.path.abspath(__file__)))
# Robust fallback so the harness also runs without PYTHONPATH=src preset.
sys.path.insert(
    0, os.path.join(os.path.dirname(os.path.abspath(__file__)), "..", "src")
)

# Optional: real Riemann zeta, only to confirm the target ordinates ARE zeros.
try:  # pragma: no cover - exercised only when mpmath is installed
    import mpmath  # noqa: E402

    _HAVE_MPMATH = True
except Exception:  # pragma: no cover
    _HAVE_MPMATH = False

# Optional: P12 von Mangoldt -- the TNFR-native -zeta'/zeta carrier (nu_f=log p).
try:  # pragma: no cover
    from tnfr.riemann.von_mangoldt import (  # noqa: E402
        build_prime_ladder_spectrum,
        classical_log_zeta_derivative,
        tnfr_log_zeta_derivative,
    )

    _HAVE_P12 = True
except Exception:  # pragma: no cover
    _HAVE_P12 = False

# Optional: P14 self-adjoint prime-ladder Hamiltonian (spectrum = {k log p}).
try:  # pragma: no cover
    from tnfr.riemann.prime_ladder_hamiltonian import (  # noqa: E402
        build_prime_ladder_hamiltonian,
    )

    _HAVE_P14 = True
except Exception:  # pragma: no cover
    _HAVE_P14 = False

# Optional: P27 Hilbert-Polya scaffold (gamma_n imported, NOT derived).
try:  # pragma: no cover
    from tnfr.riemann.hilbert_polya import (  # noqa: E402
        build_hp_operator,
        fetch_zero_imaginary_parts,
        structural_gap_p14_vs_hp,
        verify_hp_self_adjoint,
    )

    _HAVE_P27 = True
except Exception:  # pragma: no cover
    _HAVE_P27 = False

# Optional: the canonical adelic engine (nu_f = log p nodal-equation carrier).
try:  # pragma: no cover
    from tnfr.dynamics.adelic import AdelicDynamics  # noqa: E402

    _HAVE_ADELIC = True
except Exception:  # pragma: no cover
    _HAVE_ADELIC = False

TOL = 1e-9
_SELF_ADJOINT_TOL = 1e-9  # Frobenius asymmetry / imaginary tolerance
_PARITY_TOL = 1e-8  # |R v -/+ v| tolerance for definite parity
_DRIFT_MARGIN = 3.0  # barrier_drift must exceed stable_drift by this
_CLASSICAL_REL_TOL = 5e-2  # TNFR Z vs classical -zeta'/zeta agreement

# Only pi is a genuine structural scale (audit 2026); phi/gamma/e removed (unused).
PI = np.pi

# First non-trivial Riemann zero ordinates -- the TARGET the vibration reveals,
# imported as Ground Truth exactly as src/tnfr/dynamics/adelic.py does.
_KNOWN_ORDINATES = np.array(
    [
        14.134725,
        21.022040,
        25.010858,
        30.424876,
        32.935062,
        37.586178,
        40.918719,
        43.327073,
        48.005151,
        49.773832,
    ]
)


def _local_geometric_trace(primes: np.ndarray, t: float) -> float:
    """TNFR-native boundary vibration Tr_geo(t) (used if adelic is absent).

    Tr_geo(t) = | sum_p (log p) e^{i t log p} / sqrt(p) |.  Built purely from
    nu_f = log p; contains NO zero data.
    """
    nu_f = np.log(primes)
    weights = nu_f / np.sqrt(primes)
    return float(np.abs(np.sum(weights * np.exp(1j * t * nu_f))))


def test_convergence_barrier() -> dict:
    """TEST 1 -- the TNFR-native carrier converges only for Re(s) > 1.

    The von Mangoldt Dirichlet series Z_vM(s) = sum w e^{-s mu} (nu_f = log p)
    is the canonical -zeta'/zeta carrier.  Increasing the prime-ladder
    truncation STABILISES the value for Re(s) > 1 but does NOT stabilise it at
    Re(s) = 1/2 -- the abscissa of convergence sits at Re = 1, so the object
    that sees the primes literally cannot be evaluated where the zeros live.
    This is why mpmath is INEVITABLE, and it locates G4 at the continuation
    across Re = 1.
    """
    print("TEST 1 -- convergence barrier: the prime carrier cannot reach Re=1/2")
    if not _HAVE_P12:
        print("  SKIP -- tnfr.riemann.von_mangoldt unavailable")
        return {"name": "convergence_barrier", "status": "SKIP"}

    spec_small = build_prime_ladder_spectrum(n_primes=15, max_power=4)
    spec_big = build_prime_ladder_spectrum(n_primes=40, max_power=8)

    s_stable = 2.0  # Re(s) > 1: inside the half-plane of convergence
    s_barrier = 0.5  # Re(s) = 1/2: where the zeros live (divergent series)

    z_small_stable = float(np.real(tnfr_log_zeta_derivative(spec_small, s_stable)))
    z_big_stable = float(np.real(tnfr_log_zeta_derivative(spec_big, s_stable)))
    z_small_barrier = float(np.real(tnfr_log_zeta_derivative(spec_small, s_barrier)))
    z_big_barrier = float(np.real(tnfr_log_zeta_derivative(spec_big, s_barrier)))

    stable_drift = abs(z_big_stable - z_small_stable)
    barrier_drift = abs(z_big_barrier - z_small_barrier)

    classical = float(np.real(classical_log_zeta_derivative(s_stable, 400)))
    rel_err = abs(z_big_stable - classical) / max(abs(classical), TOL)

    print(
        f"  Re(s)=2.0 : Z_15x4={z_small_stable:.6f}  Z_40x8={z_big_stable:.6f}"
        f"  drift={stable_drift:.3e}  (classical -zeta'/zeta={classical:.6f},"
        f" rel_err={rel_err:.2e})"
    )
    print(
        f"  Re(s)=0.5 : Z_15x4={z_small_barrier:.4f}  Z_40x8={z_big_barrier:.4f}"
        f"  drift={barrier_drift:.3e}"
    )

    converges_above = stable_drift < 0.5 and rel_err < _CLASSICAL_REL_TOL
    diverges_at_half = barrier_drift > _DRIFT_MARGIN * max(stable_drift, TOL)
    passed = bool(converges_above and diverges_at_half)
    detail = (
        "stabilises for Re>1 (matches classical) and fails to stabilise "
        "at Re=1/2 -> G4 lives in the continuation across Re=1"
    )
    print(f"  VERDICT: {'PASS' if passed else 'FAIL'} -- {detail}")
    return {"name": "convergence_barrier", "status": "PASS" if passed else "FAIL"}


def test_p14_self_adjoint_origin() -> dict:
    """TEST 2 -- P14 derives the vibration's SOURCE {k log p}, no mpmath.

    The canonical self-adjoint prime-ladder Hamiltonian (coupling = 0) has a
    real spectrum equal to {k log p} by construction -- the origin of the
    boundary vibration, derived entirely from nu_f = log p.
    """
    print("TEST 2 -- P14 self-adjoint Hamiltonian gives {k log p} (no mpmath)")
    if not _HAVE_P14:
        print("  SKIP -- tnfr.riemann.prime_ladder_hamiltonian unavailable")
        return {"name": "p14_origin", "status": "SKIP"}

    bundle = build_prime_ladder_hamiltonian(n_primes=15, max_power=4, coupling=0.0)
    eigs, _ = bundle.hamiltonian.get_spectrum()
    max_imag = float(np.max(np.abs(np.imag(eigs))))
    spec = np.sort(np.real(eigs))
    ref = np.sort(np.asarray(bundle.spectrum.eigenvalues, dtype=float))

    n = min(len(spec), len(ref))
    match = float(np.max(np.abs(spec[:n] - ref[:n]))) if n else float("nan")

    print(
        f"  dim={len(eigs)}  max|Im(eig)|={max_imag:.3e}"
        f"  max|spec - {{k log p}}|={match:.3e}"
    )
    print(
        f"  smallest eigenvalues: {np.round(spec[:4], 6).tolist()}"
        f"  (log 2 = {math.log(2):.6f})"
    )

    self_adjoint = max_imag < _SELF_ADJOINT_TOL
    reproduces = match < 1e-9
    passed = bool(self_adjoint and reproduces)
    detail = "real spectrum reproduces {k log p} from structure alone"
    print(f"  VERDICT: {'PASS' if passed else 'FAIL'} -- {detail}")
    return {"name": "p14_origin", "status": "PASS" if passed else "FAIL"}


def test_adelic_boundary_vibration() -> dict:
    """TEST 3 -- the adelic nodal flow: carrier derived, zeros as Ground Truth.

    Mirrors src/tnfr/dynamics/adelic.py exactly: the geometric-trace carrier is
    built only from nu_f = log p (zero zero-data), while the nodal gradient
    Delta(NFR) = -grad V that LANDS the flow on the zeros is defined from
    known_zeros -- the Ground-Truth target.  The flow's pressure vanishes at the
    target (resonance), making visible that {gamma_n} enters only as the
    resonance spectrum, never as a derived input.
    """
    print("TEST 3 -- adelic boundary vibration (carrier derived; zeros = target)")

    primes = np.array([2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47])
    # Carrier built purely from nu_f = log p -- contains no ordinate data.
    sample_t = [10.0, 14.134725, 25.010858]
    if _HAVE_ADELIC:
        eng = AdelicDynamics(max_prime=int(primes[-1]))
        trace = [eng.compute_geometric_trace(t) for t in sample_t]
        # Delta(NFR) = -grad V vanishes at the zero target (resonance).
        grad_off = abs(eng.compute_nodal_gradient(10.0))
        grad_on = abs(eng.compute_nodal_gradient(float(eng.known_zeros[0])))
        target = np.asarray(eng.known_zeros, dtype=float)
        src = "tnfr.dynamics.adelic (CANONICAL)"
    else:
        trace = [_local_geometric_trace(primes, t) for t in sample_t]
        # Local stand-in for Delta(NFR) = -grad V against the imported target.
        off_idx = int(np.argmin(np.abs(10.0 - _KNOWN_ORDINATES)))
        grad_off = abs(10.0 - float(_KNOWN_ORDINATES[off_idx]))
        grad_on = 0.0  # distance from gamma_1 to its nearest ordinate is itself
        target = _KNOWN_ORDINATES
        src = "local nu_f=log p carrier (adelic fallback)"

    print(f"  carrier source: {src}")
    print(
        f"  Tr_geo(t) at t={sample_t}: {[round(x, 4) for x in trace]}"
        f"  (built from nu_f=log p only)"
    )
    print(
        f"  |Delta(NFR)| off-target (t=10) = {grad_off:.4f}"
        f"   on-target (t=gamma_1) = {grad_on:.3e}"
    )
    print(
        f"  target ordinates (Ground Truth, not derived): {np.round(target[:5], 4).tolist()}"
    )

    carrier_derived = all(math.isfinite(x) for x in trace)
    resonance_at_target = grad_on < TOL < grad_off
    passed = bool(carrier_derived and resonance_at_target)
    detail = (
        "carrier is pure nu_f=log p; nodal pressure vanishes at the "
        "imported target -> zeros are the resonance spectrum, not derived"
    )
    print(f"  VERDICT: {'PASS' if passed else 'FAIL'} -- {detail}")
    return {"name": "adelic_vibration", "status": "PASS" if passed else "FAIL"}


def test_self_adjoint_reflection() -> dict:
    """TEST 4 -- self-adjoint + reflection => real spectrum on the fixed axis.

    The rigorous core of the Hilbert-Polya intuition, where it is literally
    TRUE.  L = D - A of a reflection-symmetric path graph commutes with the
    Z_2 mirror R (node i <-> n-1-i; the structural analogue of s <-> 1-s,
    studied in Camino 6).  Self-adjointness forces real eigenvalues; commuting
    with R splits them into definite-parity sectors -- the fixed axis (R=+1) is
    the critical-line analogue.
    """
    print("TEST 4 -- self-adjoint + Z_2 reflection => real spectrum on fixed axis")

    n = 8
    G = nx.path_graph(n)
    L = nx.laplacian_matrix(G).toarray().astype(float)
    R = np.fliplr(np.eye(n))  # the Z_2 mirror involution

    involution = float(np.max(np.abs(R @ R - np.eye(n))))
    symmetric = float(np.max(np.abs(R - R.T)))
    commutator = float(np.max(np.abs(L @ R - R @ L)))

    eigvals, eigvecs = np.linalg.eigh(L)  # eigh => guaranteed real
    max_imag = float(np.max(np.abs(np.imag(eigvals))))

    parities = []
    for j in range(n):
        v = eigvecs[:, j]
        rv = R @ v
        if np.linalg.norm(rv - v) < _PARITY_TOL:
            parities.append(+1)
        elif np.linalg.norm(rv + v) < _PARITY_TOL:
            parities.append(-1)
        else:
            parities.append(0)
    definite = all(p != 0 for p in parities)
    n_fixed = sum(1 for p in parities if p == +1)

    print(
        f"  R^2=I residual={involution:.2e}  R symmetric residual={symmetric:.2e}"
        f"  [L,R] residual={commutator:.2e}"
    )
    print(
        f"  eigenvalues real (max|Im|={max_imag:.2e}); parity split ="
        f" {parities}  (fixed-axis dim = {n_fixed})"
    )

    passed = bool(
        involution < TOL
        and symmetric < TOL
        and commutator < TOL
        and max_imag < TOL
        and definite
    )
    detail = (
        "self-adjoint => real; commuting with the Z_2 mirror => spectrum "
        "sits on definite-parity sectors (HP intuition TRUE as algebra)"
    )
    print(f"  VERDICT: {'PASS' if passed else 'FAIL'} -- {detail}")
    return {"name": "self_adjoint_reflection", "status": "PASS" if passed else "FAIL"}


def test_honest_gap() -> dict:
    """TEST 5 -- the residual: {k log p} ~ log n  vs  gamma_n ~ 2 pi n / log n.

    Diagnostic (always OPEN).  The source spectrum {k log p} grows
    logarithmically while the zero ordinates grow almost linearly; no smooth
    structural map carries one to the other.  This growth mismatch IS gap G4.
    gamma_n enters only as the imported target.
    """
    print("TEST 5 -- the honest gap G4: source {k log p} vs target {gamma_n}")

    if _HAVE_MPMATH:
        z_at_zero = abs(complex(mpmath.zeta(mpmath.mpc(0.5, _KNOWN_ORDINATES[0]))))
        print(
            f"  mpmath sanity: |zeta(1/2 + i*{_KNOWN_ORDINATES[0]})| = {z_at_zero:.2e}"
            f"  (target ordinates are genuine zeros, not invented)"
        )

    if _HAVE_P14 and _HAVE_P27:
        bundle = build_prime_ladder_hamiltonian(n_primes=50, max_power=8, coupling=0.0)
        gammas = fetch_zero_imaginary_parts(80)
        t_hp = build_hp_operator(gammas)
        sa = verify_hp_self_adjoint(t_hp)
        gap = structural_gap_p14_vs_hp(bundle, gammas)
        print(
            f"  T_HP = diag(gamma_n) self-adjoint={sa['self_adjoint']}"
            f"  (gamma_n are INPUT from mpmath, NOT derived)"
        )
        print(
            f"  compared {gap['n_compared']} levels: "
            f"P14_max={gap['p14_max']:.3f}  gamma_max={gap['hp_max']:.3f}"
        )
        print(
            f"  Wasserstein_1(P14, T_HP) = {gap['wasserstein_1']:.4f}"
            f"  asymptotic growth ratio = {gap['asymptotic_growth_ratio']:.2f}"
        )
        exhibited = gap["asymptotic_growth_ratio"] > 2.0
    else:
        # Fallback: compare {k log p} to the imported ordinates directly.
        primes = [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47]
        ladder = np.sort([k * math.log(p) for p in primes for k in range(1, 9)])
        n = min(len(ladder), len(_KNOWN_ORDINATES))
        ratio = float(_KNOWN_ORDINATES[n - 1] / ladder[n - 1])
        print(
            f"  P14_max={ladder[n - 1]:.3f}  gamma_max={_KNOWN_ORDINATES[n - 1]:.3f}"
            f"  growth ratio = {ratio:.2f}"
        )
        exhibited = ratio > 2.0

    print("  scope: P27 'does not prove RH'; P13 -- the canonical analytic")
    print("         continuation across Re=1 is the missing piece (= gap G4).")
    detail = (
        "growth mismatch (log n vs 2 pi n / log n) is exhibited -> G4 is "
        "OPEN; the map {k log p} -> {gamma_n} is not a smooth structural map"
    )
    print(
        f"  VERDICT: G4 EXHIBITED (OPEN) -- {detail}"
        if exhibited
        else f"  VERDICT: inconclusive -- {detail}"
    )
    return {"name": "honest_gap", "status": "DIAGNOSTIC"}


def main() -> int:
    print(__doc__)
    print("=" * 78)
    results = [
        test_convergence_barrier(),
        test_p14_self_adjoint_origin(),
        test_adelic_boundary_vibration(),
        test_self_adjoint_reflection(),
        test_honest_gap(),
    ]
    print("=" * 78)
    print("SUMMARY")
    for r in results:
        print(f"  {r['name']:<26} {r['status']}")

    # Exit gating: every RUNNABLE structural leg (1-4) must PASS; SKIP is allowed
    # (graceful degradation without the package); leg 5 is diagnostic (OPEN).
    structural = [r for r in results if r["name"] != "honest_gap"]
    failed = [r for r in structural if r["status"] == "FAIL"]
    ran = [r for r in structural if r["status"] != "SKIP"]

    print("=" * 78)
    print("THESIS VERDICT: OPEN (G4 located, not closed)")
    print("  The SOURCE of the prime boundary vibration is canonical:")
    print("   - nu_f = log p and {k log p} derive from TNFR structure (TESTs 2,3),")
    print("   - the geometric-trace carrier is pure nu_f=log p (TEST 3, adelic.py),")
    print("   - self-adjoint + Z_2 reflection => real spectrum on the fixed axis")
    print("     -- the Hilbert-Polya intuition is TRUE as algebra (TEST 4).")
    print("  The RESONANCES {gamma_n} enter only as Ground-Truth target (TESTs 3,5).")
    print("  G4 = the canonical continuation across Re=1 / the map {k log p} ->")
    print("  {gamma_n} remains OPEN: TEST 1 shows the prime carrier cannot even be")
    print("  evaluated at Re=1/2, so mpmath is inevitable -- it draws the target,")
    print("  never derives it.  R and pi remain assumed substrate.")

    if failed:
        print(f"\nstructural leg(s) FAILED: {[r['name'] for r in failed]}")
        return 1
    if not ran:
        print("\nno structural leg could run (package unavailable)")
        return 1
    print(f"\nall {len(ran)} runnable structural leg(s) PASS (exit 0)")
    return 0


if __name__ == "__main__":
    raise SystemExit(main())