thundergraph-model 1.2.1__tar.gz → 1.2.2__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 (320) hide show
  1. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/PKG-INFO +1 -1
  2. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/pyproject.toml +1 -1
  3. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/tg_model/execution/configured_model.py +20 -3
  4. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/tg_model/model/compile_types.py +43 -10
  5. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/tg_model/model/definition_context.py +23 -3
  6. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/uv.lock +1 -1
  7. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/.github/ISSUE_TEMPLATE/01-bug_report.yml +0 -0
  8. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/.github/ISSUE_TEMPLATE/02-feature_request.yml +0 -0
  9. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/.github/ISSUE_TEMPLATE/03-documentation.yml +0 -0
  10. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  11. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/.github/pull_request_template.md +0 -0
  12. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/.github/workflows/publish.yml +0 -0
  13. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/.gitignore +0 -0
  14. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/CHANGELOG.md +0 -0
  15. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/LICENSE +0 -0
  16. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/PYPI.md +0 -0
  17. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/README.md +0 -0
  18. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/generation_docs/behavior_methodology.md +0 -0
  19. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/generation_docs/brainstorm.md +0 -0
  20. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/generation_docs/conceptual_requirements.md +0 -0
  21. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/generation_docs/evaluation_api_facade_implementation_plan.md +0 -0
  22. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/generation_docs/execution_methodology.md +0 -0
  23. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/generation_docs/implementation_plan.md +0 -0
  24. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/generation_docs/logical_architecture.md +0 -0
  25. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/generation_docs/model_prototype_sketch.py +0 -0
  26. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/generation_docs/requirement_composition_and_naming_implementation_plan.md +0 -0
  27. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/generation_docs/system_authoring_restrictions_implementation_plan.md +0 -0
  28. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/generation_docs/use_cases.md +0 -0
  29. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/generation_docs/v0_api.md +0 -0
  30. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/release/v1.2.0.md +0 -0
  31. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/release/v1.2.1.md +0 -0
  32. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/IMPLEMENTATION_PLAN.md +0 -0
  33. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/README.md +0 -0
  34. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/_build/html/.buildinfo +0 -0
  35. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/_build/html/.buildinfo.bak +0 -0
  36. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/_build/html/.doctrees/api/api_analysis.doctree +0 -0
  37. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/_build/html/.doctrees/api/api_execution.doctree +0 -0
  38. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/_build/html/.doctrees/api/api_integrations.doctree +0 -0
  39. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/_build/html/.doctrees/api/api_model.doctree +0 -0
  40. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/_build/html/.doctrees/api/api_root.doctree +0 -0
  41. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/_build/html/.doctrees/api/index.doctree +0 -0
  42. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/_build/html/.doctrees/developer/architecture.doctree +0 -0
  43. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/_build/html/.doctrees/developer/contributing.doctree +0 -0
  44. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/_build/html/.doctrees/developer/extension_playbook.doctree +0 -0
  45. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/_build/html/.doctrees/developer/releasing.doctree +0 -0
  46. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/_build/html/.doctrees/developer/repository_map.doctree +0 -0
  47. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/_build/html/.doctrees/developer/testing.doctree +0 -0
  48. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/_build/html/.doctrees/docstring_style.doctree +0 -0
  49. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/_build/html/.doctrees/drafts/execution_pipeline.doctree +0 -0
  50. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/_build/html/.doctrees/drafts/glossary.doctree +0 -0
  51. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/_build/html/.doctrees/drafts/repository_map.doctree +0 -0
  52. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/_build/html/.doctrees/drafts/what_is_thundergraph_model.doctree +0 -0
  53. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/_build/html/.doctrees/environment.pickle +0 -0
  54. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/_build/html/.doctrees/index.doctree +0 -0
  55. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/_build/html/.doctrees/user/concepts_evaluation.doctree +0 -0
  56. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/_build/html/.doctrees/user/concepts_external_compute.doctree +0 -0
  57. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/_build/html/.doctrees/user/concepts_parts.doctree +0 -0
  58. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/_build/html/.doctrees/user/concepts_requirements.doctree +0 -0
  59. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/_build/html/.doctrees/user/concepts_system.doctree +0 -0
  60. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/_build/html/.doctrees/user/end_to_end_guide.doctree +0 -0
  61. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/_build/html/.doctrees/user/faq.doctree +0 -0
  62. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/_build/html/.doctrees/user/install.doctree +0 -0
  63. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/_build/html/.doctrees/user/mental_model.doctree +0 -0
  64. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/_build/html/.doctrees/user/overview.doctree +0 -0
  65. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/_build/html/.doctrees/user/quickstart.doctree +0 -0
  66. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/_build/html/_modules/index.html +0 -0
  67. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/_build/html/_modules/tg_model/analysis/compare_variants.html +0 -0
  68. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/_build/html/_modules/tg_model/analysis/impact.html +0 -0
  69. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/_build/html/_modules/tg_model/analysis/sweep.html +0 -0
  70. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/_build/html/_modules/tg_model/execution/behavior.html +0 -0
  71. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/_build/html/_modules/tg_model/execution/configured_model.html +0 -0
  72. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/_build/html/_modules/tg_model/execution/connection_bindings.html +0 -0
  73. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/_build/html/_modules/tg_model/execution/dependency_graph.html +0 -0
  74. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/_build/html/_modules/tg_model/execution/evaluator.html +0 -0
  75. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/_build/html/_modules/tg_model/execution/graph_compiler.html +0 -0
  76. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/_build/html/_modules/tg_model/execution/instances.html +0 -0
  77. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/_build/html/_modules/tg_model/execution/requirements.html +0 -0
  78. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/_build/html/_modules/tg_model/execution/run_context.html +0 -0
  79. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/_build/html/_modules/tg_model/execution/validation.html +0 -0
  80. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/_build/html/_modules/tg_model/execution/value_slots.html +0 -0
  81. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/_build/html/_modules/tg_model/integrations/external_compute.html +0 -0
  82. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/_build/html/_modules/tg_model/model/definition_context.html +0 -0
  83. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/_build/html/_modules/tg_model/model/elements.html +0 -0
  84. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/_build/html/_modules/tg_model/model/expr.html +0 -0
  85. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/_build/html/_modules/tg_model/model/refs.html +0 -0
  86. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/_build/html/_sources/api/api_analysis.rst.txt +0 -0
  87. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/_build/html/_sources/api/api_execution.rst.txt +0 -0
  88. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/_build/html/_sources/api/api_integrations.rst.txt +0 -0
  89. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/_build/html/_sources/api/api_model.rst.txt +0 -0
  90. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/_build/html/_sources/api/api_root.rst.txt +0 -0
  91. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/_build/html/_sources/api/index.md.txt +0 -0
  92. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/_build/html/_sources/developer/architecture.md.txt +0 -0
  93. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/_build/html/_sources/developer/contributing.md.txt +0 -0
  94. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/_build/html/_sources/developer/extension_playbook.md.txt +0 -0
  95. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/_build/html/_sources/developer/releasing.md.txt +0 -0
  96. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/_build/html/_sources/developer/repository_map.md.txt +0 -0
  97. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/_build/html/_sources/developer/testing.md.txt +0 -0
  98. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/_build/html/_sources/docstring_style.md.txt +0 -0
  99. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/_build/html/_sources/drafts/execution_pipeline.md.txt +0 -0
  100. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/_build/html/_sources/drafts/glossary.md.txt +0 -0
  101. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/_build/html/_sources/drafts/repository_map.md.txt +0 -0
  102. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/_build/html/_sources/drafts/what_is_thundergraph_model.md.txt +0 -0
  103. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/_build/html/_sources/index.md.txt +0 -0
  104. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/_build/html/_sources/user/concepts_evaluation.md.txt +0 -0
  105. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/_build/html/_sources/user/concepts_external_compute.md.txt +0 -0
  106. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/_build/html/_sources/user/concepts_parts.md.txt +0 -0
  107. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/_build/html/_sources/user/concepts_requirements.md.txt +0 -0
  108. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/_build/html/_sources/user/concepts_system.md.txt +0 -0
  109. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/_build/html/_sources/user/end_to_end_guide.md.txt +0 -0
  110. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/_build/html/_sources/user/faq.md.txt +0 -0
  111. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/_build/html/_sources/user/install.md.txt +0 -0
  112. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/_build/html/_sources/user/mental_model.md.txt +0 -0
  113. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/_build/html/_sources/user/overview.md.txt +0 -0
  114. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/_build/html/_sources/user/quickstart.md.txt +0 -0
  115. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/_build/html/_static/base-stemmer.js +0 -0
  116. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/_build/html/_static/basic.css +0 -0
  117. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/_build/html/_static/debug.css +0 -0
  118. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/_build/html/_static/doctools.js +0 -0
  119. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/_build/html/_static/documentation_options.js +0 -0
  120. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/_build/html/_static/english-stemmer.js +0 -0
  121. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/_build/html/_static/file.png +0 -0
  122. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/_build/html/_static/language_data.js +0 -0
  123. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/_build/html/_static/minus.png +0 -0
  124. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/_build/html/_static/plus.png +0 -0
  125. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/_build/html/_static/pygments.css +0 -0
  126. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/_build/html/_static/scripts/furo-extensions.js +0 -0
  127. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/_build/html/_static/scripts/furo.js +0 -0
  128. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/_build/html/_static/scripts/furo.js.LICENSE.txt +0 -0
  129. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/_build/html/_static/scripts/furo.js.map +0 -0
  130. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/_build/html/_static/searchtools.js +0 -0
  131. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/_build/html/_static/skeleton.css +0 -0
  132. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/_build/html/_static/sphinx_highlight.js +0 -0
  133. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/_build/html/_static/styles/furo-extensions.css +0 -0
  134. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/_build/html/_static/styles/furo-extensions.css.map +0 -0
  135. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/_build/html/_static/styles/furo.css +0 -0
  136. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/_build/html/_static/styles/furo.css.map +0 -0
  137. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/_build/html/api/api_analysis.html +0 -0
  138. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/_build/html/api/api_execution.html +0 -0
  139. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/_build/html/api/api_integrations.html +0 -0
  140. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/_build/html/api/api_model.html +0 -0
  141. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/_build/html/api/api_root.html +0 -0
  142. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/_build/html/api/index.html +0 -0
  143. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/_build/html/developer/architecture.html +0 -0
  144. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/_build/html/developer/contributing.html +0 -0
  145. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/_build/html/developer/extension_playbook.html +0 -0
  146. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/_build/html/developer/releasing.html +0 -0
  147. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/_build/html/developer/repository_map.html +0 -0
  148. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/_build/html/developer/testing.html +0 -0
  149. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/_build/html/docstring_style.html +0 -0
  150. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/_build/html/drafts/execution_pipeline.html +0 -0
  151. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/_build/html/drafts/glossary.html +0 -0
  152. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/_build/html/drafts/repository_map.html +0 -0
  153. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/_build/html/drafts/what_is_thundergraph_model.html +0 -0
  154. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/_build/html/genindex.html +0 -0
  155. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/_build/html/index.html +0 -0
  156. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/_build/html/objects.inv +0 -0
  157. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/_build/html/py-modindex.html +0 -0
  158. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/_build/html/search.html +0 -0
  159. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/_build/html/searchindex.js +0 -0
  160. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/_build/html/user/concepts_evaluation.html +0 -0
  161. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/_build/html/user/concepts_external_compute.html +0 -0
  162. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/_build/html/user/concepts_parts.html +0 -0
  163. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/_build/html/user/concepts_requirements.html +0 -0
  164. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/_build/html/user/concepts_system.html +0 -0
  165. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/_build/html/user/end_to_end_guide.html +0 -0
  166. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/_build/html/user/faq.html +0 -0
  167. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/_build/html/user/install.html +0 -0
  168. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/_build/html/user/mental_model.html +0 -0
  169. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/_build/html/user/overview.html +0 -0
  170. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/_build/html/user/quickstart.html +0 -0
  171. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/api/api_analysis.rst +0 -0
  172. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/api/api_execution.rst +0 -0
  173. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/api/api_integrations.rst +0 -0
  174. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/api/api_model.rst +0 -0
  175. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/api/api_root.rst +0 -0
  176. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/api/index.md +0 -0
  177. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/conf.py +0 -0
  178. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/developer/architecture.md +0 -0
  179. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/developer/contributing.md +0 -0
  180. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/developer/extension_playbook.md +0 -0
  181. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/developer/releasing.md +0 -0
  182. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/developer/repository_map.md +0 -0
  183. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/developer/testing.md +0 -0
  184. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/docstring_style.md +0 -0
  185. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/drafts/README.md +0 -0
  186. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/drafts/execution_pipeline.md +0 -0
  187. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/drafts/glossary.md +0 -0
  188. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/drafts/repository_map.md +0 -0
  189. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/drafts/what_is_thundergraph_model.md +0 -0
  190. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/index.md +0 -0
  191. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/user/concepts_evaluation.md +0 -0
  192. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/user/concepts_external_compute.md +0 -0
  193. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/user/concepts_parts.md +0 -0
  194. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/user/concepts_requirements.md +0 -0
  195. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/user/concepts_system.md +0 -0
  196. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/user/end_to_end_guide.md +0 -0
  197. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/user/faq.md +0 -0
  198. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/user/install.md +0 -0
  199. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/user/mental_model.md +0 -0
  200. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/user/overview.md +0 -0
  201. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/docs/user_docs/user/quickstart.md +0 -0
  202. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/examples/__init__.py +0 -0
  203. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/examples/commercial_aircraft/IMPLEMENTATION_PLAN.md +0 -0
  204. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/examples/commercial_aircraft/README.md +0 -0
  205. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/examples/commercial_aircraft/__init__.py +0 -0
  206. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/examples/commercial_aircraft/integrations/__init__.py +0 -0
  207. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/examples/commercial_aircraft/integrations/adapters.py +0 -0
  208. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/examples/commercial_aircraft/integrations/bindings.py +0 -0
  209. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/examples/commercial_aircraft/product/__init__.py +0 -0
  210. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/examples/commercial_aircraft/product/aircraft.py +0 -0
  211. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/examples/commercial_aircraft/product/major_assemblies/__init__.py +0 -0
  212. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/examples/commercial_aircraft/product/major_assemblies/parts.py +0 -0
  213. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/examples/commercial_aircraft/program/__init__.py +0 -0
  214. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/examples/commercial_aircraft/program/cargo_jet_program.py +0 -0
  215. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/examples/commercial_aircraft/program/l1_requirement_packages.py +0 -0
  216. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/examples/commercial_aircraft/program/mission_context.py +0 -0
  217. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/examples/commercial_aircraft/reporting/__init__.py +0 -0
  218. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/examples/commercial_aircraft/reporting/extract.py +0 -0
  219. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/examples/commercial_aircraft/reporting/snapshot.py +0 -0
  220. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/examples/hpc_datacenter/README.md +0 -0
  221. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/examples/hpc_datacenter/__init__.py +0 -0
  222. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/examples/hpc_datacenter/program.py +0 -0
  223. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/examples/mars_ntp_tug/__init__.py +0 -0
  224. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/examples/mars_ntp_tug/integrations/__init__.py +0 -0
  225. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/examples/mars_ntp_tug/integrations/adapters.py +0 -0
  226. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/examples/mars_ntp_tug/integrations/bindings.py +0 -0
  227. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/examples/mars_ntp_tug/integrations/preset_inputs.py +0 -0
  228. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/examples/mars_ntp_tug/reporting/__init__.py +0 -0
  229. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/examples/mars_ntp_tug/reporting/extract.py +0 -0
  230. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/examples/mars_ntp_tug/reporting/snapshot.py +0 -0
  231. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/examples/mars_ntp_tug/tug_model.py +0 -0
  232. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/implementation_plan_instructions.md +0 -0
  233. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/logo.png +0 -0
  234. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/notebooks/_gen_leo_notebook.py +0 -0
  235. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/notebooks/aev_architecture.mmd +0 -0
  236. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/notebooks/cargo_jet_program.ipynb +0 -0
  237. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/notebooks/hpc_datacenter_parameter_sweep.ipynb +0 -0
  238. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/notebooks/mars_ntp_nuclear_tug.ipynb +0 -0
  239. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/reviewer_architype.md +0 -0
  240. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/tests/__init__.py +0 -0
  241. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/tests/integration/__init__.py +0 -0
  242. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/tests/integration/analysis/__init__.py +0 -0
  243. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/tests/integration/analysis/test_analysis_workflows.py +0 -0
  244. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/tests/integration/behavior/__init__.py +0 -0
  245. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/tests/integration/behavior/test_behavior_e2e.py +0 -0
  246. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/tests/integration/evaluation/__init__.py +0 -0
  247. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/tests/integration/evaluation/test_allocate_parameter_wiring.py +0 -0
  248. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/tests/integration/evaluation/test_evaluation_e2e.py +0 -0
  249. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/tests/integration/evaluation/test_external_compute.py +0 -0
  250. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/tests/integration/evaluation/test_requirement_acceptance.py +0 -0
  251. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/tests/integration/evaluation/test_unitflow_evaluation.py +0 -0
  252. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/tests/integration/structural_models/__init__.py +0 -0
  253. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/tests/integration/structural_models/test_citations.py +0 -0
  254. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/tests/integration/structural_models/test_drive_system.py +0 -0
  255. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/tests/integration/structural_models/test_instantiation.py +0 -0
  256. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/tests/integration/test_commercial_aircraft_smoke.py +0 -0
  257. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/tests/integration/test_hpc_datacenter_smoke.py +0 -0
  258. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/tests/integration/test_mars_ntp_tug_smoke.py +0 -0
  259. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/tests/unit/__init__.py +0 -0
  260. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/tests/unit/analysis/__init__.py +0 -0
  261. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/tests/unit/analysis/test_sweep_planning.py +0 -0
  262. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/tests/unit/execution/__init__.py +0 -0
  263. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/tests/unit/execution/test_behavior_runtime.py +0 -0
  264. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/tests/unit/execution/test_behavior_scope.py +0 -0
  265. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/tests/unit/execution/test_configured_model.py +0 -0
  266. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/tests/unit/execution/test_configured_model_evaluate.py +0 -0
  267. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/tests/unit/execution/test_dependency_graph.py +0 -0
  268. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/tests/unit/execution/test_evaluator.py +0 -0
  269. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/tests/unit/execution/test_instances.py +0 -0
  270. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/tests/unit/execution/test_phase6_runtime.py +0 -0
  271. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/tests/unit/execution/test_run_context.py +0 -0
  272. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/tests/unit/execution/test_validation.py +0 -0
  273. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/tests/unit/export/__init__.py +0 -0
  274. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/tests/unit/integrations/__init__.py +0 -0
  275. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/tests/unit/model/__init__.py +0 -0
  276. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/tests/unit/model/test_attribute_ref.py +0 -0
  277. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/tests/unit/model/test_behavior_declarations.py +0 -0
  278. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/tests/unit/model/test_compile_types.py +0 -0
  279. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/tests/unit/model/test_definition_context.py +0 -0
  280. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/tests/unit/model/test_elements.py +0 -0
  281. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/tests/unit/model/test_example_system_authoring_policy.py +0 -0
  282. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/tests/unit/model/test_expr.py +0 -0
  283. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/tests/unit/model/test_identity.py +0 -0
  284. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/tests/unit/model/test_new_api_validators.py +0 -0
  285. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/tests/unit/model/test_parameter_ref.py +0 -0
  286. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/tests/unit/model/test_phase6_ontology.py +0 -0
  287. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/tests/unit/model/test_refs.py +0 -0
  288. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/tests/unit/model/test_requirement_block.py +0 -0
  289. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/tests/unit/model/test_system_authoring_restrictions.py +0 -0
  290. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/tg_model/__init__.py +0 -0
  291. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/tg_model/analysis/__init__.py +0 -0
  292. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/tg_model/analysis/_coherence.py +0 -0
  293. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/tg_model/analysis/compare_variants.py +0 -0
  294. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/tg_model/analysis/impact.py +0 -0
  295. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/tg_model/analysis/sweep.py +0 -0
  296. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/tg_model/execution/__init__.py +0 -0
  297. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/tg_model/execution/behavior.py +0 -0
  298. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/tg_model/execution/connection_bindings.py +0 -0
  299. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/tg_model/execution/dependency_graph.py +0 -0
  300. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/tg_model/execution/evaluator.py +0 -0
  301. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/tg_model/execution/external_ops.py +0 -0
  302. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/tg_model/execution/graph_compiler.py +0 -0
  303. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/tg_model/execution/instances.py +0 -0
  304. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/tg_model/execution/requirements.py +0 -0
  305. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/tg_model/execution/rollups.py +0 -0
  306. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/tg_model/execution/run_context.py +0 -0
  307. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/tg_model/execution/solve_groups.py +0 -0
  308. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/tg_model/execution/validation.py +0 -0
  309. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/tg_model/execution/value_slots.py +0 -0
  310. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/tg_model/export/__init__.py +0 -0
  311. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/tg_model/integrations/__init__.py +0 -0
  312. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/tg_model/integrations/external_compute.py +0 -0
  313. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/tg_model/model/__init__.py +0 -0
  314. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/tg_model/model/declarations/__init__.py +0 -0
  315. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/tg_model/model/declarations/behavior.py +0 -0
  316. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/tg_model/model/declarations/values.py +0 -0
  317. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/tg_model/model/elements.py +0 -0
  318. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/tg_model/model/expr.py +0 -0
  319. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/tg_model/model/identity.py +0 -0
  320. {thundergraph_model-1.2.1 → thundergraph_model-1.2.2}/tg_model/model/refs.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: thundergraph-model
3
- Version: 1.2.1
3
+ Version: 1.2.2
4
4
  Summary: Executable systems modeling in Python
5
5
  License-File: LICENSE
6
6
  Requires-Python: >=3.11
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "thundergraph-model"
7
- version = "1.2.1"
7
+ version = "1.2.2"
8
8
  description = "Executable systems modeling in Python"
9
9
  readme = "PYPI.md"
10
10
  requires-python = ">=3.11"
@@ -535,12 +535,29 @@ def _wire_requirement_block_references(
535
535
  path_registry: dict[str, ElementInstance | ValueSlot],
536
536
  out: list[ReferenceBinding],
537
537
  ) -> None:
538
- """Bind ``references`` edges authored inside a :class:`~tg_model.model.elements.Requirement` package."""
538
+ """Bind ``references`` edges authored inside a :class:`~tg_model.model.elements.Requirement` package.
539
+
540
+ Source refs from ``parameter()`` / ``attribute()`` inside a Requirement carry
541
+ the block's ``symbol_path_prefix`` baked into ``ref.path`` (so they can flow
542
+ through ``allocate(inputs=...)``). Citation refs do not (they keep
543
+ ``self.owner_type`` so they're locally scoped). Strip ``_symbol_path_prefix``
544
+ from each edge endpoint so the result is a clean local-relative path before
545
+ prepending the runtime ``block_instance_path``.
546
+ """
547
+ symbol_prefix: tuple[str, ...] = tuple(compiled.get("_symbol_path_prefix") or ())
548
+
549
+ def _instance_path(raw_path: tuple[str, ...]) -> tuple[str, ...]:
550
+ if symbol_prefix and raw_path[: len(symbol_prefix)] == symbol_prefix:
551
+ local = raw_path[len(symbol_prefix):]
552
+ else:
553
+ local = raw_path
554
+ return block_instance_path + local
555
+
539
556
  for edge in compiled.get("edges", []):
540
557
  if edge.get("kind") != "references":
541
558
  continue
542
- src_path = block_instance_path + tuple(edge["source"]["path"])
543
- tgt_path = block_instance_path + tuple(edge["target"]["path"])
559
+ src_path = _instance_path(tuple(edge["source"]["path"]))
560
+ tgt_path = _instance_path(tuple(edge["target"]["path"]))
544
561
  src_key = ".".join(src_path)
545
562
  tgt_key = ".".join(tgt_path)
546
563
  src = path_registry.get(src_key)
@@ -164,6 +164,11 @@ def compile_type(
164
164
  "edges": [_serialize_edge(edge) for edge in ctx.edges],
165
165
  "child_types": child_types,
166
166
  "_type_registry": type_registry,
167
+ # Threaded path prefix used by Requirement parameter()/attribute() refs.
168
+ # Runtime needs this to translate refs that carry the threaded path
169
+ # back to a local-relative path before prepending the instance path
170
+ # of a composed Requirement block.
171
+ "_symbol_path_prefix": tuple(ctx.symbol_path_prefix),
167
172
  "behavior_transitions": _serialize_behavior_transitions(ctx.behavior_transitions),
168
173
  }
169
174
  cls_mut._compiled_definition = artifact
@@ -517,7 +522,13 @@ def _validate_requirement_package_value_exprs(ctx: Any) -> None:
517
522
 
518
523
 
519
524
  def _validate_references_edges(ctx: Any) -> None:
520
- """``references`` edges must resolve to declared nodes; target must be a citation."""
525
+ """``references`` edges must resolve to declared nodes; target must be a citation.
526
+
527
+ Source refs may also point at the root_block (``path=()``, ``kind='part'``,
528
+ ``owner_type is ctx.owner_type``), which represents a citation on the class
529
+ itself rather than on one of its declared members. We treat that as valid
530
+ without requiring a node lookup.
531
+ """
521
532
  for edge in ctx.edges:
522
533
  if edge.get("kind") != "references":
523
534
  continue
@@ -530,11 +541,20 @@ def _validate_references_edges(ctx: Any) -> None:
530
541
  f"{ctx.owner_type.__name__}: references target must be a citation ref, "
531
542
  f"got {getattr(tgt, 'kind', None)!r}"
532
543
  )
533
- sdecl = _lookup_node_decl_for_ref(ctx, src)
534
- if sdecl is None:
535
- raise ModelDefinitionError(
536
- f"{ctx.owner_type.__name__}: references source path {getattr(src, 'path', ())!r} does not resolve"
537
- )
544
+ # Self-reference (root_block): empty path, kind=part, owner_type matches.
545
+ # No node decl exists for the class itself — accept without lookup.
546
+ if (
547
+ getattr(src, "path", None) == ()
548
+ and getattr(src, "kind", None) == "part"
549
+ and getattr(src, "owner_type", None) is ctx.owner_type
550
+ ):
551
+ pass
552
+ else:
553
+ sdecl = _lookup_node_decl_for_ref(ctx, src)
554
+ if sdecl is None:
555
+ raise ModelDefinitionError(
556
+ f"{ctx.owner_type.__name__}: references source path {getattr(src, 'path', ())!r} does not resolve"
557
+ )
538
558
  tdecl = _lookup_node_decl_for_ref(ctx, tgt)
539
559
  if tdecl is None or tdecl.kind != "citation":
540
560
  raise ModelDefinitionError(
@@ -543,13 +563,26 @@ def _validate_references_edges(ctx: Any) -> None:
543
563
 
544
564
 
545
565
  def _lookup_node_decl_for_ref(ctx: Any, ref: Any) -> NodeDecl | None:
546
- """Resolve a definition-time ref using the owning type's definition context (no recursive ``compile()``)."""
566
+ """Resolve a definition-time ref using the owning type's definition context (no recursive ``compile()``).
567
+
568
+ Refs from ``Requirement`` ``parameter()`` / ``attribute()`` calls are threaded
569
+ under ``ctx.symbol_owner`` (typically the configured root type) with a path
570
+ prefixed by ``ctx.symbol_path_prefix``. Strip that prefix before walking the
571
+ local context so refs and locally-declared nodes line up.
572
+ """
547
573
  path = getattr(ref, "path", ())
548
574
  if not path:
549
575
  return None
550
- if getattr(ref, "owner_type", None) is not ctx.owner_type:
551
- return None
552
- return _walk_path_in_definition_ctx(ctx, path)
576
+ ref_owner = getattr(ref, "owner_type", None)
577
+ if ref_owner is ctx.owner_type:
578
+ return _walk_path_in_definition_ctx(ctx, path)
579
+ symbol_owner = getattr(ctx, "symbol_owner", None)
580
+ symbol_prefix = tuple(getattr(ctx, "symbol_path_prefix", ()) or ())
581
+ if ref_owner is symbol_owner and (not symbol_prefix or path[: len(symbol_prefix)] == symbol_prefix):
582
+ local_path = path[len(symbol_prefix):]
583
+ if local_path:
584
+ return _walk_path_in_definition_ctx(ctx, local_path)
585
+ return None
553
586
 
554
587
 
555
588
  def _walk_path_in_definition_ctx(ctx: Any, path: tuple[str, ...]) -> NodeDecl | None:
@@ -1295,7 +1295,12 @@ class ModelDefinitionContext:
1295
1295
  Parameters
1296
1296
  ----------
1297
1297
  source : Ref
1298
- Any declared node on this type (part, port, parameter, requirement, …).
1298
+ Any declared node on this type (part, port, parameter, attribute,
1299
+ requirement, …). For ``Requirement`` blocks, parameters and
1300
+ attributes are threaded under ``symbol_owner`` so allocations can
1301
+ wire them across boundaries; refs whose ``owner_type`` is either
1302
+ the local ``owner_type`` or the configured ``symbol_owner`` are
1303
+ both accepted as sources.
1299
1304
  citation : Ref
1300
1305
  Must be ``kind='citation'`` on this type.
1301
1306
 
@@ -1307,8 +1312,23 @@ class ModelDefinitionContext:
1307
1312
  self._check_frozen()
1308
1313
  if citation.kind != "citation":
1309
1314
  raise ModelDefinitionError(f"references(): citation must be a citation ref, got kind={citation.kind!r}")
1310
- if source.owner_type is not self.owner_type or citation.owner_type is not self.owner_type:
1311
- raise ModelDefinitionError("references(): source and citation must belong to this type")
1315
+ # Accept refs from either the local owner_type or the threaded
1316
+ # symbol_owner. For Parts, both are the same. For Requirements,
1317
+ # parameter()/attribute() return refs with owner_type=symbol_owner so
1318
+ # they can flow through allocations; those must be valid sources here.
1319
+ valid_owners = (self.owner_type, self.symbol_owner)
1320
+ if source.owner_type not in valid_owners or citation.owner_type not in valid_owners:
1321
+ raise ModelDefinitionError(
1322
+ f"references(): source and citation must belong to this type "
1323
+ f"({self.owner_type.__name__})"
1324
+ + (
1325
+ f" or its symbol owner ({self.symbol_owner.__name__})"
1326
+ if self.symbol_owner is not self.owner_type
1327
+ else ""
1328
+ )
1329
+ + f". Got source.owner_type={source.owner_type.__name__}, "
1330
+ f"citation.owner_type={citation.owner_type.__name__}."
1331
+ )
1312
1332
  self.edges.append(
1313
1333
  {
1314
1334
  "kind": "references",
@@ -1815,7 +1815,7 @@ wheels = [
1815
1815
 
1816
1816
  [[package]]
1817
1817
  name = "thundergraph-model"
1818
- version = "1.2.1"
1818
+ version = "1.2.2"
1819
1819
  source = { editable = "." }
1820
1820
  dependencies = [
1821
1821
  { name = "unitflow", extra = ["numpy"] },