axis-synome 0.1.0.dev72__tar.gz → 0.1.0.dev73__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (210) hide show
  1. {axis_synome-0.1.0.dev72/src/axis_synome.egg-info → axis_synome-0.1.0.dev73}/PKG-INFO +1 -1
  2. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/src/axis_synome/_version.py +2 -2
  3. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/src/axis_synome/export_entities.py +6 -1
  4. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/src/axis_synome/spec/asc/entities/assets_by_prime.py +8 -7
  5. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/src/axis_synome/spec/asc/entities/assets_missing_from_atlas.py +0 -15
  6. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73/src/axis_synome.egg-info}/PKG-INFO +1 -1
  7. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/tests/axis_synome/scripts/test_export_entities.py +36 -0
  8. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/.flake8 +0 -0
  9. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/AGENTS.md +0 -0
  10. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/CLAUDE.md +0 -0
  11. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/README.md +0 -0
  12. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/WRITING_SPECS.md +0 -0
  13. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/examples/01_prime_basics.py +0 -0
  14. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/examples/02_assets_and_tokens_of_a_prime.py +0 -0
  15. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/examples/03_inverse_lookups.py +0 -0
  16. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/examples/04_atlas_provenance.py +0 -0
  17. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/examples/05_feeding_a_formula.py +0 -0
  18. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/examples/README.md +0 -0
  19. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/pyproject.toml +0 -0
  20. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/setup.cfg +0 -0
  21. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/src/axis_synome/__init__.py +0 -0
  22. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/src/axis_synome/parser/__init__.py +0 -0
  23. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/src/axis_synome/parser/__main__.py +0 -0
  24. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/src/axis_synome/parser/ast_normalizer.py +0 -0
  25. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/src/axis_synome/parser/ast_utils.py +0 -0
  26. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/src/axis_synome/parser/checks/numeric_fidelity.py +0 -0
  27. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/src/axis_synome/parser/converters.py +0 -0
  28. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/src/axis_synome/parser/entity_parser.py +0 -0
  29. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/src/axis_synome/parser/formula_extraction.py +0 -0
  30. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/src/axis_synome/parser/helpers.py +0 -0
  31. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/src/axis_synome/parser/identity.py +0 -0
  32. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/src/axis_synome/parser/latex/__init__.py +0 -0
  33. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/src/axis_synome/parser/latex/converter.py +0 -0
  34. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/src/axis_synome/parser/latex/formatter.py +0 -0
  35. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/src/axis_synome/parser/latex/render.py +0 -0
  36. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/src/axis_synome/parser/parse_expressions.py +0 -0
  37. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/src/axis_synome/parser/statement_handler.py +0 -0
  38. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/src/axis_synome/parser/validation.py +0 -0
  39. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/src/axis_synome/spec/__init__.py +0 -0
  40. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/src/axis_synome/spec/all_entities/__init__.py +0 -0
  41. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/src/axis_synome/spec/all_entities/lending_markets.py +0 -0
  42. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/src/axis_synome/spec/asc/__init__.py +0 -0
  43. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/src/axis_synome/spec/asc/entities/__init__.py +0 -0
  44. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/src/axis_synome/spec/asc/entities/alm_proxies.py +0 -0
  45. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/src/axis_synome/spec/asc/entities/asset_categories.py +0 -0
  46. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/src/axis_synome/spec/asc/entities/assets.py +0 -0
  47. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/src/axis_synome/spec/asc/entities/networks.py +0 -0
  48. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/src/axis_synome/spec/asc/entities/primes.py +0 -0
  49. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/src/axis_synome/spec/asc/entities/protocol_sets.py +0 -0
  50. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/src/axis_synome/spec/asc/entities/tokens.py +0 -0
  51. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/src/axis_synome/spec/asc/entities/types.py +0 -0
  52. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/src/axis_synome/spec/asc/formulas/__init__.py +0 -0
  53. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/src/axis_synome/spec/asc/formulas/asc.py +0 -0
  54. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/src/axis_synome/spec/asc/formulas/asc_collateral_ratio.py +0 -0
  55. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/src/axis_synome/spec/asc/formulas/asc_incentive.py +0 -0
  56. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/src/axis_synome/spec/asc/formulas/dab.py +0 -0
  57. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/src/axis_synome/spec/asc/formulas/latent_asc.py +0 -0
  58. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/src/axis_synome/spec/asc/formulas/ratio_latent_asc.py +0 -0
  59. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/src/axis_synome/spec/asc/formulas/resting_asc.py +0 -0
  60. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/src/axis_synome/spec/codegen_test/__init__.py +0 -0
  61. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/src/axis_synome/spec/codegen_test/entities/__init__.py +0 -0
  62. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/src/axis_synome/spec/codegen_test/entities/agents.py +0 -0
  63. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/src/axis_synome/spec/crypto_lending/__init__.py +0 -0
  64. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/src/axis_synome/spec/crypto_lending/formulas/__init__.py +0 -0
  65. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/src/axis_synome/spec/crypto_lending/formulas/lif.py +0 -0
  66. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/src/axis_synome/spec/entities/__init__.py +0 -0
  67. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/src/axis_synome/spec/entities/audit_firms.py +0 -0
  68. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/src/axis_synome/spec/entities/capital_types.py +0 -0
  69. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/src/axis_synome/spec/entities/protocol_risk.py +0 -0
  70. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/src/axis_synome/spec/entities/risk_categories.py +0 -0
  71. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/src/axis_synome/spec/entities/smart_contract_risk.py +0 -0
  72. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/src/axis_synome/spec/risk_capital/__init__.py +0 -0
  73. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/src/axis_synome/spec/risk_capital/administrative_rrc/__init__.py +0 -0
  74. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/src/axis_synome/spec/risk_capital/administrative_rrc/administrative_risk.py +0 -0
  75. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/src/axis_synome/spec/risk_capital/aggregate_rrc.py +0 -0
  76. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/src/axis_synome/spec/risk_capital/audit_factor.py +0 -0
  77. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/src/axis_synome/spec/risk_capital/capital_composition.py +0 -0
  78. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/src/axis_synome/spec/risk_capital/entities/__init__.py +0 -0
  79. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/src/axis_synome/spec/risk_capital/entities/lending_protocol.py +0 -0
  80. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/src/axis_synome/spec/risk_capital/entities/precomputed_crr.py +0 -0
  81. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/src/axis_synome/spec/risk_capital/examples/risk_capital_walkthrough.ipynb +0 -0
  82. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/src/axis_synome/spec/risk_capital/financial_rrc/__init__.py +0 -0
  83. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/src/axis_synome/spec/risk_capital/financial_rrc/entities.py +0 -0
  84. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/src/axis_synome/spec/risk_capital/financial_rrc/perpetual_positions.py +0 -0
  85. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/src/axis_synome/spec/risk_capital/formulas/__init__.py +0 -0
  86. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/src/axis_synome/spec/risk_capital/formulas/financial_rrc/__init__.py +0 -0
  87. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/src/axis_synome/spec/risk_capital/formulas/financial_rrc/asset_correlation_coefficient.py +0 -0
  88. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/src/axis_synome/spec/risk_capital/formulas/financial_rrc/capital_requirement_without_buffers.py +0 -0
  89. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/src/axis_synome/spec/risk_capital/formulas/financial_rrc/exposure_caps.py +0 -0
  90. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/src/axis_synome/spec/risk_capital/formulas/financial_rrc/fixed_crr_rrc.py +0 -0
  91. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/src/axis_synome/spec/risk_capital/formulas/financial_rrc/instance_financial_rrc.py +0 -0
  92. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/src/axis_synome/spec/risk_capital/formulas/financial_rrc/lending_rrc.py +0 -0
  93. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/src/axis_synome/spec/risk_capital/formulas/financial_rrc/pipeline.py +0 -0
  94. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/src/axis_synome/spec/risk_capital/formulas/financial_rrc/precomputed_crr_rrc.py +0 -0
  95. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/src/axis_synome/spec/risk_capital/formulas/financial_rrc/probability_of_default.py +0 -0
  96. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/src/axis_synome/spec/risk_capital/formulas/required_risk_capital.py +0 -0
  97. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/src/axis_synome/spec/risk_capital/instance_rrc.py +0 -0
  98. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/src/axis_synome/spec/risk_capital/jrc_loss_allocation.py +0 -0
  99. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/src/axis_synome/spec/risk_capital/lindy_factor.py +0 -0
  100. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/src/axis_synome/spec/risk_capital/smart_contract_rrc/__init__.py +0 -0
  101. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/src/axis_synome/spec/risk_capital/smart_contract_rrc/exceptions.py +0 -0
  102. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/src/axis_synome/spec/risk_capital/smart_contract_rrc/smart_contract_risk.py +0 -0
  103. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/src/axis_synome/spec/risk_capital/total_risk_capital.py +0 -0
  104. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/src/axis_synome/spec/suraf/README.md +0 -0
  105. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/src/axis_synome/spec/suraf/__init__.py +0 -0
  106. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/src/axis_synome/spec/suraf/entities/__init__.py +0 -0
  107. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/src/axis_synome/spec/suraf/entities/assessor_score.py +0 -0
  108. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/src/axis_synome/spec/suraf/entities/assets.py +0 -0
  109. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/src/axis_synome/spec/suraf/entities/mappings.py +0 -0
  110. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/src/axis_synome/spec/suraf/formulas/__init__.py +0 -0
  111. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/src/axis_synome/spec/suraf/formulas/crr.py +0 -0
  112. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/src/axis_synome/spec/suraf/formulas/scoring.py +0 -0
  113. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/src/axis_synome/spec_inspect/__init__.py +0 -0
  114. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/src/axis_synome/spec_inspect/__main__.py +0 -0
  115. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/src/axis_synome/spec_inspect/cli.py +0 -0
  116. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/src/axis_synome/spec_support/__init__.py +0 -0
  117. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/src/axis_synome/spec_support/correlation_matrix.py +0 -0
  118. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/src/axis_synome/spec_support/evm_address.py +0 -0
  119. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/src/axis_synome/spec_support/math_protocol.py +0 -0
  120. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/src/axis_synome/spec_support/pendle_validation.py +0 -0
  121. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/src/axis_synome/spec_support/references/__init__.py +0 -0
  122. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/src/axis_synome/spec_support/references/graph.py +0 -0
  123. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/src/axis_synome/spec_support/runtime/__init__.py +0 -0
  124. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/src/axis_synome/spec_support/runtime/base.py +0 -0
  125. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/src/axis_synome/spec_support/runtime/math.py +0 -0
  126. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/src/axis_synome/spec_support/runtime/reference.py +0 -0
  127. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/src/axis_synome/spec_support/validated_dataclass.py +0 -0
  128. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/src/axis_synome/spec_support/validated_str.py +0 -0
  129. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/src/axis_synome/spec_validator/__init__.py +0 -0
  130. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/src/axis_synome/spec_validator/check_source_uuids.py +0 -0
  131. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/src/axis_synome/spec_validator/checker.py +0 -0
  132. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/src/axis_synome/spec_validator/flake8_plugin.py +0 -0
  133. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/src/axis_synome/spec_validator/python_subset.py +0 -0
  134. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/src/axis_synome.egg-info/SOURCES.txt +0 -0
  135. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/src/axis_synome.egg-info/dependency_links.txt +0 -0
  136. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/src/axis_synome.egg-info/entry_points.txt +0 -0
  137. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/src/axis_synome.egg-info/requires.txt +0 -0
  138. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/src/axis_synome.egg-info/top_level.txt +0 -0
  139. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/tests/axis_synome/asc/__init__.py +0 -0
  140. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/tests/axis_synome/asc/conftest.py +0 -0
  141. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/tests/axis_synome/asc/mocks.py +0 -0
  142. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/tests/axis_synome/asc/test_alm_proxies.py +0 -0
  143. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/tests/axis_synome/asc/test_asc.py +0 -0
  144. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/tests/axis_synome/asc/test_asc_collateral_ratio.py +0 -0
  145. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/tests/axis_synome/asc/test_asc_incentive.py +0 -0
  146. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/tests/axis_synome/asc/test_asset_categories.py +0 -0
  147. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/tests/axis_synome/asc/test_dab.py +0 -0
  148. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/tests/axis_synome/asc/test_evm_address.py +0 -0
  149. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/tests/axis_synome/asc/test_latent_asc.py +0 -0
  150. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/tests/axis_synome/asc/test_prime_agent_data_validation.py +0 -0
  151. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/tests/axis_synome/asc/test_ratio_latent_asc.py +0 -0
  152. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/tests/axis_synome/asc/test_resting_asc.py +0 -0
  153. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/tests/axis_synome/parser/__init__.py +0 -0
  154. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/tests/axis_synome/parser/fixture_latex_chain.py +0 -0
  155. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/tests/axis_synome/parser/fixture_mixed_module.py +0 -0
  156. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/tests/axis_synome/parser/fixture_set_membership.py +0 -0
  157. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/tests/axis_synome/parser/graph_validator.py +0 -0
  158. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/tests/axis_synome/parser/latex/__init__.py +0 -0
  159. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/tests/axis_synome/parser/latex/test_formatter.py +0 -0
  160. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/tests/axis_synome/parser/latex/test_render.py +0 -0
  161. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/tests/axis_synome/parser/test_entity_parser.py +0 -0
  162. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/tests/axis_synome/parser/test_formula_extraction.py +0 -0
  163. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/tests/axis_synome/parser/test_helpers.py +0 -0
  164. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/tests/axis_synome/parser/test_parser.py +0 -0
  165. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/tests/axis_synome/parser/test_set_membership.py +0 -0
  166. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/tests/axis_synome/risk_capital/__init__.py +0 -0
  167. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/tests/axis_synome/risk_capital/administrative_rrc/test_administrative_risk.py +0 -0
  168. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/tests/axis_synome/risk_capital/financial_rrc/__init__.py +0 -0
  169. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/tests/axis_synome/risk_capital/financial_rrc/test_lending_rrc.py +0 -0
  170. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/tests/axis_synome/risk_capital/financial_rrc/test_perpetual_positions.py +0 -0
  171. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/tests/axis_synome/risk_capital/formulas/__init__.py +0 -0
  172. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/tests/axis_synome/risk_capital/formulas/test_correlation_matrix.py +0 -0
  173. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/tests/axis_synome/risk_capital/formulas/test_loss_given_default.py +0 -0
  174. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/tests/axis_synome/risk_capital/smart_contract_rrc/__init__.py +0 -0
  175. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/tests/axis_synome/risk_capital/smart_contract_rrc/test_exceptions.py +0 -0
  176. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/tests/axis_synome/risk_capital/smart_contract_rrc/test_smart_contract_risk.py +0 -0
  177. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/tests/axis_synome/risk_capital/test_a321_a322_integration.py +0 -0
  178. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/tests/axis_synome/risk_capital/test_aggregate_rrc.py +0 -0
  179. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/tests/axis_synome/risk_capital/test_capital_composition.py +0 -0
  180. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/tests/axis_synome/risk_capital/test_instance_rrc.py +0 -0
  181. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/tests/axis_synome/risk_capital/test_jrc_loss_allocation.py +0 -0
  182. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/tests/axis_synome/risk_capital/test_total_risk_capital.py +0 -0
  183. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/tests/axis_synome/spec_inspect/__init__.py +0 -0
  184. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/tests/axis_synome/spec_inspect/test_cli.py +0 -0
  185. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/tests/axis_synome/spec_support/__init__.py +0 -0
  186. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/tests/axis_synome/spec_support/references/__init__.py +0 -0
  187. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/tests/axis_synome/spec_support/references/test_graph.py +0 -0
  188. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/tests/axis_synome/spec_support/runtime/__init__.py +0 -0
  189. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/tests/axis_synome/spec_support/runtime/test_base.py +0 -0
  190. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/tests/axis_synome/spec_support/runtime/test_math.py +0 -0
  191. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/tests/axis_synome/spec_validator/test_check_source_uuids.py +0 -0
  192. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/tests/axis_synome/spec_validator/test_checker.py +0 -0
  193. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/tests/axis_synome/spec_validator/test_flake8_plugin.py +0 -0
  194. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/tests/axis_synome/suraf/__init__.py +0 -0
  195. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/tests/axis_synome/suraf/entities/__init__.py +0 -0
  196. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/tests/axis_synome/suraf/entities/test_assessor_score.py +0 -0
  197. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/tests/axis_synome/suraf/formulas/__init__.py +0 -0
  198. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/tests/axis_synome/suraf/formulas/test_crr.py +0 -0
  199. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/tests/axis_synome/suraf/formulas/test_scoring.py +0 -0
  200. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/tests/axis_synome/suraf/static/aave_ausdc/v1/crr_mapping.csv +0 -0
  201. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/tests/axis_synome/suraf/static/aave_ausdc/v1/penalty.csv +0 -0
  202. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/tests/axis_synome/suraf/static/aave_ausdc/v1/scorecards/Assessor_1_scores.csv +0 -0
  203. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/tests/axis_synome/suraf/static/aave_ausdc/v1/scorecards/Assessor_2_scores.csv +0 -0
  204. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/tests/axis_synome/suraf/static/aave_ausdc/v1/scorecards/Assessor_3_scores.csv +0 -0
  205. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/tests/axis_synome/suraf/static/aave_ausdc/v1/weights.csv +0 -0
  206. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/tests/axis_synome/suraf/suraf_client/__init__.py +0 -0
  207. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/tests/axis_synome/suraf/suraf_client/suraf_client.py +0 -0
  208. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/tests/axis_synome/suraf/suraf_client/test_suraf_client.py +0 -0
  209. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/tests/axis_synome/test_examples.py +0 -0
  210. {axis_synome-0.1.0.dev72 → axis_synome-0.1.0.dev73}/uv.lock +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: axis-synome
3
- Version: 0.1.0.dev72
3
+ Version: 0.1.0.dev73
4
4
  Summary: Axis specification modules (entities, formulas, validators)
5
5
  Author-email: Archon Tech <hello@archontech.ai>
6
6
  License: MIT
@@ -18,7 +18,7 @@ version_tuple: tuple[int | str, ...]
18
18
  commit_id: str | None
19
19
  __commit_id__: str | None
20
20
 
21
- __version__ = version = '0.1.0.dev72'
22
- __version_tuple__ = version_tuple = (0, 1, 0, 'dev72')
21
+ __version__ = version = '0.1.0.dev73'
22
+ __version_tuple__ = version_tuple = (0, 1, 0, 'dev73')
23
23
 
24
24
  __commit_id__ = commit_id = None
@@ -353,7 +353,12 @@ def export_axis_synome_contract(
353
353
 
354
354
  data_path.write_text(config.model_dump_json(indent=2, by_alias=True), encoding="utf-8")
355
355
 
356
- schema = AxisSynomeContract.model_json_schema(by_alias=True)
356
+ # Generate the schema in serialization mode so its property names use the
357
+ # serialization aliases (ASSETS_BY_PRIME, AlmProxy) that the emitted data
358
+ # actually uses. With the default (validation) mode the schema would use the
359
+ # Python field names (entries, proxies) and the data would fail to validate
360
+ # against its own schema.
361
+ schema = AxisSynomeContract.model_json_schema(by_alias=True, mode="serialization")
357
362
  schema_path.write_text(json.dumps(schema, indent=2), encoding="utf-8")
358
363
 
359
364
 
@@ -61,14 +61,15 @@ GROVE_MONAD_UNISWAP_AUSD_USDC: Final[Asset] = Asset(
61
61
  address=EvmAddress("0x6B405DCA74897c9442d369DcF6c0EC230f7E1c7C"),
62
62
  source="A.6.1.1.2.2.6.1.3.1.12.1.2.2.1",
63
63
  underlying_asset=Token.USDC,
64
- underlying_asset_address=EvmAddress("0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"),
64
+ underlying_asset_address=EvmAddress("0x754704Bc059F8C67012fEd69BC8A327a5aafb603"),
65
65
  underlying_asset_source="A.6.1.1.2.2.6.1.3.1.12.1.2.2.2",
66
66
  categories={AssetCategory.CASH_STABLECOIN},
67
67
  )
68
- """Monad Uniswap AUSD/USDC pool. The Atlas Underlying Asset Address node records
69
- USDC (0xA0b8…), which is the asset supplied by the Grove Liquidity Layer; the
70
- token name carries no "LP" marker so the export derives token_type
71
- "uni_v3_pool"."""
68
+ """Monad Uniswap AUSD/USDC pool. The pool and its tokens live on Monad, so the
69
+ Atlas Underlying Asset Address node records the Monad-native USDC
70
+ (0x754704Bc…), not mainnet USDC; a consumer reading the underlying on Monad
71
+ needs the chain-local token. The token name carries no "LP" marker so the
72
+ export derives token_type "uni_v3_pool"."""
72
73
 
73
74
 
74
75
  ASSETS_BY_PRIME: dict[PrimeName, list[Asset]] = {
@@ -391,10 +392,10 @@ ASSETS_BY_PRIME: dict[PrimeName, list[Asset]] = {
391
392
  token=Token.A_BAS_USDC,
392
393
  network=Network.BASE,
393
394
  protocol=Protocol.AAVE,
394
- address=EvmAddress("0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"),
395
+ address=EvmAddress("0x4e65fE4DbA92790696d040ac24Aa414708F5c0AB"),
395
396
  source="A.6.1.1.1.2.6.1.3.2.3.1.2.2.1",
396
397
  underlying_asset=Token.USDC,
397
- underlying_asset_address=EvmAddress("0x4e65fE4DbA92790696d040ac24Aa414708F5c0AB"),
398
+ underlying_asset_address=EvmAddress("0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"),
398
399
  underlying_asset_source="A.6.1.1.1.2.6.1.3.2.3.1.2.2.2",
399
400
  categories={AssetCategory.LENDING_MARKET},
400
401
  ),
@@ -347,20 +347,6 @@ SPARK_MAINNET_RISK_CAPITAL_USDS: Final[MissingAtlasAsset] = MissingAtlasAsset(
347
347
  Atlas A.6.1.1.1.2.6.1.2.1.1.1.3.1.1.2."""
348
348
 
349
349
 
350
- SPARK_BASE_AAVE_ATOKEN: Final[MissingAtlasAsset] = MissingAtlasAsset(
351
- network=Network.BASE,
352
- address=EvmAddress("0x4e65fE4DbA92790696d040ac24Aa414708F5c0AB"),
353
- protocol=Protocol.AAVE,
354
- allocation_type=AllocationType.ALLOCATION,
355
- token_type=TokenType.ATOKEN,
356
- underlying_asset_address=EvmAddress("0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913"),
357
- )
358
- """Base Aave aToken ("skip — existing worker"). NB: the Atlas-backed A_BAS_USDC
359
- entry in assets_by_prime currently uses 0x833589… (the USDC underlying) as its
360
- contract address; per entries.go that address is an idle asset and this
361
- 0x4e65fE4D… is the aTokens — flagged for reviewers."""
362
-
363
-
364
350
  SPARK_BASE_POL_PROXY: Final[MissingAtlasAsset] = MissingAtlasAsset(
365
351
  network=Network.BASE,
366
352
  address=EvmAddress("0x5875eEE11Cf8398102FdAd704C9E96607675467a"),
@@ -544,7 +530,6 @@ MISSING_FROM_ATLAS_BY_PRIME: Final[dict[PrimeName, list[MissingAtlasAsset]]] = {
544
530
  SPARK_MAINNET_POL_USDS,
545
531
  SPARK_MAINNET_ASSET_PYUSD,
546
532
  SPARK_MAINNET_RISK_CAPITAL_USDS,
547
- SPARK_BASE_AAVE_ATOKEN,
548
533
  SPARK_BASE_POL_PROXY,
549
534
  SPARK_ARBITRUM_POL_PROXY,
550
535
  SPARK_ARBITRUM_ASSET_USDC,
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: axis-synome
3
- Version: 0.1.0.dev72
3
+ Version: 0.1.0.dev73
4
4
  Summary: Axis specification modules (entities, formulas, validators)
5
5
  Author-email: Archon Tech <hello@archontech.ai>
6
6
  License: MIT
@@ -2,6 +2,7 @@ import json
2
2
  import subprocess
3
3
  import sys
4
4
  from pathlib import Path
5
+ from typing import cast
5
6
 
6
7
  from axis_synome.export_entities import _prime_to_star, build_axis_synome_contract
7
8
  from axis_synome.spec.asc.entities.assets_by_prime import ASSETS_BY_PRIME, PrimeName
@@ -62,6 +63,41 @@ def test_export_entities_outputs_contract_and_schema(tmp_path: Path):
62
63
  assert schema["title"] == "AxisSynomeContract"
63
64
 
64
65
 
66
+ def test_schema_property_names_match_emitted_data(tmp_path: Path):
67
+ """The exported schema must describe the keys the data actually uses
68
+ (ASSETS_BY_PRIME, AlmProxy), not the Python field names. Guards against
69
+ generating the schema in validation mode, which emits `entries`/`proxies`
70
+ and makes the contract fail to validate against its own schema."""
71
+ repo_root = Path(__file__).resolve().parents[4]
72
+ out_path = tmp_path / "axis_synome_entities.json"
73
+ schema_path = tmp_path / "axis_synome_entities.schema.json"
74
+ _run_export(repo_root, out_path, schema_path)
75
+
76
+ schema = json.loads(schema_path.read_text(encoding="utf-8"))
77
+
78
+ # Collect every property name declared anywhere in the schema (incl. $defs).
79
+ prop_names: set[str] = set()
80
+
81
+ def walk(node: object) -> None:
82
+ if isinstance(node, dict):
83
+ mapping = cast(dict[str, object], node)
84
+ props = mapping.get("properties")
85
+ if isinstance(props, dict):
86
+ prop_names.update(cast(dict[str, object], props).keys())
87
+ for value in mapping.values():
88
+ walk(value)
89
+ elif isinstance(node, list):
90
+ for value in cast(list[object], node):
91
+ walk(value)
92
+
93
+ walk(schema)
94
+
95
+ assert "ASSETS_BY_PRIME" in prop_names
96
+ assert "AlmProxy" in prop_names
97
+ assert "entries" not in prop_names
98
+ assert "proxies" not in prop_names
99
+
100
+
65
101
  def test_export_keeps_alm_proxy_and_additional_proxies():
66
102
  """Both the canonical ALM Proxy and the SubProxy must be exported per
67
103
  (star, chain); the SubProxy must not replace the ALM Proxy."""