axis-synome 0.1.0.dev60__tar.gz → 0.1.0.dev62__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.
- axis_synome-0.1.0.dev62/AGENTS.md +58 -0
- axis_synome-0.1.0.dev62/CLAUDE.md +1 -0
- {axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/PKG-INFO +1 -1
- {axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/src/axis_synome/_version.py +2 -2
- {axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/src/axis_synome.egg-info/PKG-INFO +1 -1
- {axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/src/axis_synome.egg-info/SOURCES.txt +2 -0
- {axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/.flake8 +0 -0
- {axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/README.md +0 -0
- {axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/WRITING_SPECS.md +0 -0
- {axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/pyproject.toml +0 -0
- {axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/setup.cfg +0 -0
- {axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/src/axis_synome/__init__.py +0 -0
- {axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/src/axis_synome/export_entities.py +0 -0
- {axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/src/axis_synome/spec/__init__.py +0 -0
- {axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/src/axis_synome/spec/all_entities/__init__.py +0 -0
- {axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/src/axis_synome/spec/all_entities/lending_markets.py +0 -0
- {axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/src/axis_synome/spec/asc/README.md +0 -0
- {axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/src/axis_synome/spec/asc/entities/__init__.py +0 -0
- {axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/src/axis_synome/spec/asc/entities/alm_proxies.py +0 -0
- {axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/src/axis_synome/spec/asc/entities/asset_categories.py +0 -0
- {axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/src/axis_synome/spec/asc/entities/assets.py +0 -0
- {axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/src/axis_synome/spec/asc/entities/assets_by_prime.py +0 -0
- {axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/src/axis_synome/spec/asc/entities/networks.py +0 -0
- {axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/src/axis_synome/spec/asc/entities/primes.py +0 -0
- {axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/src/axis_synome/spec/asc/entities/protocol_sets.py +0 -0
- {axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/src/axis_synome/spec/asc/entities/tokens.py +0 -0
- {axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/src/axis_synome/spec/asc/entities/types.py +0 -0
- {axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/src/axis_synome/spec/asc/formulas/asc.py +0 -0
- {axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/src/axis_synome/spec/asc/formulas/asc_collateral_ratio.py +0 -0
- {axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/src/axis_synome/spec/asc/formulas/asc_incentive.py +0 -0
- {axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/src/axis_synome/spec/asc/formulas/dab.py +0 -0
- {axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/src/axis_synome/spec/asc/formulas/latent_asc.py +0 -0
- {axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/src/axis_synome/spec/asc/formulas/ratio_latent_asc.py +0 -0
- {axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/src/axis_synome/spec/asc/formulas/resting_asc.py +0 -0
- {axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/src/axis_synome/spec/codegen_test/entities/agents.py +0 -0
- {axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/src/axis_synome/spec/crypto_lending/__init__.py +0 -0
- {axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/src/axis_synome/spec/crypto_lending/formulas/__init__.py +0 -0
- {axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/src/axis_synome/spec/crypto_lending/formulas/lif.py +0 -0
- {axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/src/axis_synome/spec/entities/__init__.py +0 -0
- {axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/src/axis_synome/spec/entities/audit_firms.py +0 -0
- {axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/src/axis_synome/spec/entities/protocol_risk.py +0 -0
- {axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/src/axis_synome/spec/entities/smart_contract_risk.py +0 -0
- {axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/src/axis_synome/spec/risk_capital/__init__.py +0 -0
- {axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/src/axis_synome/spec/risk_capital/administrative_rrc/__init__.py +0 -0
- {axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/src/axis_synome/spec/risk_capital/administrative_rrc/administrative_risk.py +0 -0
- {axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/src/axis_synome/spec/risk_capital/audit_factor.py +0 -0
- {axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/src/axis_synome/spec/risk_capital/entities/__init__.py +0 -0
- {axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/src/axis_synome/spec/risk_capital/entities/lending_protocol.py +0 -0
- {axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/src/axis_synome/spec/risk_capital/entities/precomputed_crr.py +0 -0
- {axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/src/axis_synome/spec/risk_capital/financial_rrc/__init__.py +0 -0
- {axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/src/axis_synome/spec/risk_capital/financial_rrc/entities.py +0 -0
- {axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/src/axis_synome/spec/risk_capital/financial_rrc/perpetual_positions.py +0 -0
- {axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/src/axis_synome/spec/risk_capital/formulas/__init__.py +0 -0
- {axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/src/axis_synome/spec/risk_capital/formulas/financial_rrc/__init__.py +0 -0
- {axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/src/axis_synome/spec/risk_capital/formulas/financial_rrc/asset_correlation_coefficient.py +0 -0
- {axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/src/axis_synome/spec/risk_capital/formulas/financial_rrc/capital_requirement_without_buffers.py +0 -0
- {axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/src/axis_synome/spec/risk_capital/formulas/financial_rrc/exposure_caps.py +0 -0
- {axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/src/axis_synome/spec/risk_capital/formulas/financial_rrc/fixed_crr_rrc.py +0 -0
- {axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/src/axis_synome/spec/risk_capital/formulas/financial_rrc/instance_financial_rrc.py +0 -0
- {axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/src/axis_synome/spec/risk_capital/formulas/financial_rrc/lending_rrc.py +0 -0
- {axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/src/axis_synome/spec/risk_capital/formulas/financial_rrc/pipeline.py +0 -0
- {axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/src/axis_synome/spec/risk_capital/formulas/financial_rrc/precomputed_crr_rrc.py +0 -0
- {axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/src/axis_synome/spec/risk_capital/formulas/financial_rrc/probability_of_default.py +0 -0
- {axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/src/axis_synome/spec/risk_capital/formulas/required_risk_capital.py +0 -0
- {axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/src/axis_synome/spec/risk_capital/lindy_factor.py +0 -0
- {axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/src/axis_synome/spec/risk_capital/smart_contract_rrc/__init__.py +0 -0
- {axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/src/axis_synome/spec/risk_capital/smart_contract_rrc/exceptions.py +0 -0
- {axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/src/axis_synome/spec/risk_capital/smart_contract_rrc/smart_contract_risk.py +0 -0
- {axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/src/axis_synome/spec/suraf/README.md +0 -0
- {axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/src/axis_synome/spec/suraf/entities/assessor_score.py +0 -0
- {axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/src/axis_synome/spec/suraf/entities/assets.py +0 -0
- {axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/src/axis_synome/spec/suraf/entities/mappings.py +0 -0
- {axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/src/axis_synome/spec/suraf/formulas/crr.py +0 -0
- {axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/src/axis_synome/spec/suraf/formulas/scoring.py +0 -0
- {axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/src/axis_synome/spec_support/__init__.py +0 -0
- {axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/src/axis_synome/spec_support/correlation_matrix.py +0 -0
- {axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/src/axis_synome/spec_support/evm_address.py +0 -0
- {axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/src/axis_synome/spec_support/math_protocol.py +0 -0
- {axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/src/axis_synome/spec_support/pendle_validation.py +0 -0
- {axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/src/axis_synome/spec_support/references/__init__.py +0 -0
- {axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/src/axis_synome/spec_support/references/graph.py +0 -0
- {axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/src/axis_synome/spec_support/runtime/__init__.py +0 -0
- {axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/src/axis_synome/spec_support/runtime/base.py +0 -0
- {axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/src/axis_synome/spec_support/runtime/math.py +0 -0
- {axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/src/axis_synome/spec_support/runtime/reference.py +0 -0
- {axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/src/axis_synome/spec_support/validated_dataclass.py +0 -0
- {axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/src/axis_synome/spec_support/validated_str.py +0 -0
- {axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/src/axis_synome/spec_validator/__init__.py +0 -0
- {axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/src/axis_synome/spec_validator/check_source_uuids.py +0 -0
- {axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/src/axis_synome/spec_validator/checker.py +0 -0
- {axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/src/axis_synome/spec_validator/flake8_plugin.py +0 -0
- {axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/src/axis_synome/spec_validator/python_subset.py +0 -0
- {axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/src/axis_synome.egg-info/dependency_links.txt +0 -0
- {axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/src/axis_synome.egg-info/entry_points.txt +0 -0
- {axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/src/axis_synome.egg-info/requires.txt +0 -0
- {axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/src/axis_synome.egg-info/top_level.txt +0 -0
- {axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/tests/axis_synome/asc/__init__.py +0 -0
- {axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/tests/axis_synome/asc/conftest.py +0 -0
- {axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/tests/axis_synome/asc/mocks.py +0 -0
- {axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/tests/axis_synome/asc/test_alm_proxies.py +0 -0
- {axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/tests/axis_synome/asc/test_asc.py +0 -0
- {axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/tests/axis_synome/asc/test_asc_collateral_ratio.py +0 -0
- {axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/tests/axis_synome/asc/test_asc_incentive.py +0 -0
- {axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/tests/axis_synome/asc/test_asset_categories.py +0 -0
- {axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/tests/axis_synome/asc/test_dab.py +0 -0
- {axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/tests/axis_synome/asc/test_evm_address.py +0 -0
- {axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/tests/axis_synome/asc/test_latent_asc.py +0 -0
- {axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/tests/axis_synome/asc/test_prime_agent_data_validation.py +0 -0
- {axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/tests/axis_synome/asc/test_ratio_latent_asc.py +0 -0
- {axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/tests/axis_synome/asc/test_resting_asc.py +0 -0
- {axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/tests/axis_synome/risk_capital/__init__.py +0 -0
- {axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/tests/axis_synome/risk_capital/administrative_rrc/test_administrative_risk.py +0 -0
- {axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/tests/axis_synome/risk_capital/financial_rrc/__init__.py +0 -0
- {axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/tests/axis_synome/risk_capital/financial_rrc/test_lending_rrc.py +0 -0
- {axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/tests/axis_synome/risk_capital/financial_rrc/test_perpetual_positions.py +0 -0
- {axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/tests/axis_synome/risk_capital/formulas/__init__.py +0 -0
- {axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/tests/axis_synome/risk_capital/formulas/test_correlation_matrix.py +0 -0
- {axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/tests/axis_synome/risk_capital/formulas/test_loss_given_default.py +0 -0
- {axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/tests/axis_synome/risk_capital/smart_contract_rrc/__init__.py +0 -0
- {axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/tests/axis_synome/risk_capital/smart_contract_rrc/test_exceptions.py +0 -0
- {axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/tests/axis_synome/risk_capital/smart_contract_rrc/test_smart_contract_risk.py +0 -0
- {axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/tests/axis_synome/scripts/test_export_entities.py +0 -0
- {axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/tests/axis_synome/spec_support/__init__.py +0 -0
- {axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/tests/axis_synome/spec_support/references/__init__.py +0 -0
- {axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/tests/axis_synome/spec_support/references/test_graph.py +0 -0
- {axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/tests/axis_synome/spec_support/runtime/__init__.py +0 -0
- {axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/tests/axis_synome/spec_support/runtime/test_base.py +0 -0
- {axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/tests/axis_synome/spec_support/runtime/test_math.py +0 -0
- {axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/tests/axis_synome/spec_validator/test_check_source_uuids.py +0 -0
- {axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/tests/axis_synome/spec_validator/test_checker.py +0 -0
- {axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/tests/axis_synome/spec_validator/test_flake8_plugin.py +0 -0
- {axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/tests/axis_synome/suraf/__init__.py +0 -0
- {axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/tests/axis_synome/suraf/entities/__init__.py +0 -0
- {axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/tests/axis_synome/suraf/entities/test_assessor_score.py +0 -0
- {axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/tests/axis_synome/suraf/formulas/__init__.py +0 -0
- {axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/tests/axis_synome/suraf/formulas/test_crr.py +0 -0
- {axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/tests/axis_synome/suraf/formulas/test_scoring.py +0 -0
- {axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/tests/axis_synome/suraf/static/aave_ausdc/v1/crr_mapping.csv +0 -0
- {axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/tests/axis_synome/suraf/static/aave_ausdc/v1/penalty.csv +0 -0
- {axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/tests/axis_synome/suraf/static/aave_ausdc/v1/scorecards/Assessor_1_scores.csv +0 -0
- {axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/tests/axis_synome/suraf/static/aave_ausdc/v1/scorecards/Assessor_2_scores.csv +0 -0
- {axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/tests/axis_synome/suraf/static/aave_ausdc/v1/scorecards/Assessor_3_scores.csv +0 -0
- {axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/tests/axis_synome/suraf/static/aave_ausdc/v1/weights.csv +0 -0
- {axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/tests/axis_synome/suraf/suraf_client/__init__.py +0 -0
- {axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/tests/axis_synome/suraf/suraf_client/suraf_client.py +0 -0
- {axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/tests/axis_synome/suraf/suraf_client/test_suraf_client.py +0 -0
- {axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/uv.lock +0 -0
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
# axis-synome — Agent Instructions
|
|
2
|
+
|
|
3
|
+
`axis-synome` is a Python framework that encodes Sky Atlas calculation rules as
|
|
4
|
+
machine-verifiable specs. This file documents agent rules that apply when working
|
|
5
|
+
inside `axis-synome/`.
|
|
6
|
+
|
|
7
|
+
## Setup
|
|
8
|
+
|
|
9
|
+
From the repo root, run **`make setup`** once after cloning. This installs Python
|
|
10
|
+
deps, lefthook git hooks, and the Claude/Codex skills — all of which further guide
|
|
11
|
+
and constrain agent work. Run **`make check-all`** before opening or updating a PR
|
|
12
|
+
(it is what CI runs).
|
|
13
|
+
|
|
14
|
+
## Where to find what
|
|
15
|
+
|
|
16
|
+
- **`WRITING_SPECS.md`** — authoritative guide for writing axis-synome specs. Read
|
|
17
|
+
it before editing anything under `spec/`.
|
|
18
|
+
|
|
19
|
+
## Editing axis-synome specs (`spec/`)
|
|
20
|
+
|
|
21
|
+
Highlights from `WRITING_SPECS.md` that are not auto-discoverable from the code:
|
|
22
|
+
|
|
23
|
+
- Specs are **pure, declarative Python**: no I/O, no mutable state, no side effects.
|
|
24
|
+
- The spec language subset is enforced by the `AXS` flake8 plugin
|
|
25
|
+
(`axis_synome.spec_validator`); read its rules in `python_subset.py` and `checker.py`
|
|
26
|
+
rather than restating them here. In short: no reassignment, no conditional assignment,
|
|
27
|
+
no imperative control flow, no mutation, imports limited to the spec, `math`, and
|
|
28
|
+
approved support packages.
|
|
29
|
+
- **Provenance lives in docstrings as reST fields**, e.g. `:source_uuid: <uuid>`. In
|
|
30
|
+
`**/formulas/*.py`, public functions are treated as formulas by convention; outside
|
|
31
|
+
formula modules, `:source_uuid:` is the explicit opt-in marker. Parameters are
|
|
32
|
+
module-level `Final[...]` constants with a trailing string-literal docstring carrying
|
|
33
|
+
the description and `:source_uuid:`. The `check-spec-uuids` tool resolves every
|
|
34
|
+
`:source_uuid:` against the `content/` document tree on every `make check-all`.
|
|
35
|
+
- **Entities** use `pydantic.dataclasses.dataclass` (frozen) with closed-world `Enum`
|
|
36
|
+
fields; encode eligibility via Enum membership (e.g. `EligiblePrimeAgentASC`) rather
|
|
37
|
+
than booleans or runtime checks.
|
|
38
|
+
- **Start entities formula-local** (`spec/<domain>/entities/`); only uplift to a shared
|
|
39
|
+
location when ≥3 independent formulas reuse them. Moving entities is a breaking
|
|
40
|
+
change.
|
|
41
|
+
|
|
42
|
+
## Reviewing axis-synome PRs
|
|
43
|
+
|
|
44
|
+
The shared review focus / non-focus list lives in
|
|
45
|
+
[`../.github/copilot-instructions.md`](../.github/copilot-instructions.md) so Copilot
|
|
46
|
+
and humans use the same list. Subtree-specific review rules for `axis-synome/**` live
|
|
47
|
+
in
|
|
48
|
+
[`../.github/instructions/axis-synome.instructions.md`](../.github/instructions/axis-synome.instructions.md)
|
|
49
|
+
(in particular: spec-review patterns AXS cannot enforce, Atlas-alignment guidance,
|
|
50
|
+
and the no-defensive-error-handling rule). Read both before reviewing.
|
|
51
|
+
|
|
52
|
+
## What belongs in this AGENTS.md
|
|
53
|
+
|
|
54
|
+
Only rules that an agent **cannot reasonably discover on its own** by reading the
|
|
55
|
+
axis-synome subtree (e.g. `pyproject.toml`, the root `Makefile`, `lefthook.yml`).
|
|
56
|
+
Things that *can* be discovered — make-target catalogues, dependency lists,
|
|
57
|
+
type-checker choice, lint rule sets — drift out of date and belong in their config
|
|
58
|
+
of origin, not here.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@AGENTS.md
|
|
@@ -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.
|
|
22
|
-
__version_tuple__ = version_tuple = (0, 1, 0, '
|
|
21
|
+
__version__ = version = '0.1.0.dev62'
|
|
22
|
+
__version_tuple__ = version_tuple = (0, 1, 0, 'dev62')
|
|
23
23
|
|
|
24
24
|
__commit_id__ = commit_id = None
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/src/axis_synome/spec/all_entities/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/src/axis_synome/spec/asc/entities/__init__.py
RENAMED
|
File without changes
|
{axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/src/axis_synome/spec/asc/entities/alm_proxies.py
RENAMED
|
File without changes
|
|
File without changes
|
{axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/src/axis_synome/spec/asc/entities/assets.py
RENAMED
|
File without changes
|
|
File without changes
|
{axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/src/axis_synome/spec/asc/entities/networks.py
RENAMED
|
File without changes
|
{axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/src/axis_synome/spec/asc/entities/primes.py
RENAMED
|
File without changes
|
|
File without changes
|
{axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/src/axis_synome/spec/asc/entities/tokens.py
RENAMED
|
File without changes
|
{axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/src/axis_synome/spec/asc/entities/types.py
RENAMED
|
File without changes
|
{axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/src/axis_synome/spec/asc/formulas/asc.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/src/axis_synome/spec/asc/formulas/dab.py
RENAMED
|
File without changes
|
{axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/src/axis_synome/spec/asc/formulas/latent_asc.py
RENAMED
|
File without changes
|
|
File without changes
|
{axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/src/axis_synome/spec/asc/formulas/resting_asc.py
RENAMED
|
File without changes
|
|
File without changes
|
{axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/src/axis_synome/spec/crypto_lending/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/src/axis_synome/spec/entities/__init__.py
RENAMED
|
File without changes
|
{axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/src/axis_synome/spec/entities/audit_firms.py
RENAMED
|
File without changes
|
{axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/src/axis_synome/spec/entities/protocol_risk.py
RENAMED
|
File without changes
|
|
File without changes
|
{axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/src/axis_synome/spec/risk_capital/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/src/axis_synome/spec/suraf/entities/assets.py
RENAMED
|
File without changes
|
{axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/src/axis_synome/spec/suraf/entities/mappings.py
RENAMED
|
File without changes
|
{axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/src/axis_synome/spec/suraf/formulas/crr.py
RENAMED
|
File without changes
|
{axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/src/axis_synome/spec/suraf/formulas/scoring.py
RENAMED
|
File without changes
|
{axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/src/axis_synome/spec_support/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/src/axis_synome/spec_support/evm_address.py
RENAMED
|
File without changes
|
{axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/src/axis_synome/spec_support/math_protocol.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/src/axis_synome/spec_support/references/graph.py
RENAMED
|
File without changes
|
{axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/src/axis_synome/spec_support/runtime/__init__.py
RENAMED
|
File without changes
|
{axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/src/axis_synome/spec_support/runtime/base.py
RENAMED
|
File without changes
|
{axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/src/axis_synome/spec_support/runtime/math.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/src/axis_synome/spec_support/validated_str.py
RENAMED
|
File without changes
|
{axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/src/axis_synome/spec_validator/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/src/axis_synome/spec_validator/checker.py
RENAMED
|
File without changes
|
{axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/src/axis_synome/spec_validator/flake8_plugin.py
RENAMED
|
File without changes
|
{axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/src/axis_synome/spec_validator/python_subset.py
RENAMED
|
File without changes
|
{axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/src/axis_synome.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
{axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/src/axis_synome.egg-info/entry_points.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/tests/axis_synome/asc/test_alm_proxies.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/tests/axis_synome/asc/test_asc_incentive.py
RENAMED
|
File without changes
|
{axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/tests/axis_synome/asc/test_asset_categories.py
RENAMED
|
File without changes
|
|
File without changes
|
{axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/tests/axis_synome/asc/test_evm_address.py
RENAMED
|
File without changes
|
{axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/tests/axis_synome/asc/test_latent_asc.py
RENAMED
|
File without changes
|
|
File without changes
|
{axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/tests/axis_synome/asc/test_ratio_latent_asc.py
RENAMED
|
File without changes
|
{axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/tests/axis_synome/asc/test_resting_asc.py
RENAMED
|
File without changes
|
{axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/tests/axis_synome/risk_capital/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/tests/axis_synome/spec_support/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/tests/axis_synome/spec_validator/test_checker.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/tests/axis_synome/suraf/entities/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/tests/axis_synome/suraf/formulas/__init__.py
RENAMED
|
File without changes
|
{axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/tests/axis_synome/suraf/formulas/test_crr.py
RENAMED
|
File without changes
|
{axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/tests/axis_synome/suraf/formulas/test_scoring.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{axis_synome-0.1.0.dev60 → axis_synome-0.1.0.dev62}/tests/axis_synome/suraf/suraf_client/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|