thundergraph-model 1.2.1__tar.gz → 1.2.3__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.3}/PKG-INFO +1 -1
  2. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/pyproject.toml +1 -1
  3. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/tg_model/execution/configured_model.py +67 -30
  4. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/tg_model/model/compile_types.py +43 -10
  5. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/tg_model/model/definition_context.py +23 -3
  6. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/uv.lock +1 -1
  7. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/.github/ISSUE_TEMPLATE/01-bug_report.yml +0 -0
  8. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/.github/ISSUE_TEMPLATE/02-feature_request.yml +0 -0
  9. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/.github/ISSUE_TEMPLATE/03-documentation.yml +0 -0
  10. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  11. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/.github/pull_request_template.md +0 -0
  12. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/.github/workflows/publish.yml +0 -0
  13. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/.gitignore +0 -0
  14. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/CHANGELOG.md +0 -0
  15. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/LICENSE +0 -0
  16. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/PYPI.md +0 -0
  17. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/README.md +0 -0
  18. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/generation_docs/behavior_methodology.md +0 -0
  19. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/generation_docs/brainstorm.md +0 -0
  20. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/generation_docs/conceptual_requirements.md +0 -0
  21. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/generation_docs/evaluation_api_facade_implementation_plan.md +0 -0
  22. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/generation_docs/execution_methodology.md +0 -0
  23. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/generation_docs/implementation_plan.md +0 -0
  24. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/generation_docs/logical_architecture.md +0 -0
  25. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/generation_docs/model_prototype_sketch.py +0 -0
  26. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/generation_docs/requirement_composition_and_naming_implementation_plan.md +0 -0
  27. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/generation_docs/system_authoring_restrictions_implementation_plan.md +0 -0
  28. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/generation_docs/use_cases.md +0 -0
  29. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/generation_docs/v0_api.md +0 -0
  30. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/release/v1.2.0.md +0 -0
  31. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/release/v1.2.1.md +0 -0
  32. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/IMPLEMENTATION_PLAN.md +0 -0
  33. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/README.md +0 -0
  34. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/_build/html/.buildinfo +0 -0
  35. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/_build/html/.buildinfo.bak +0 -0
  36. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/_build/html/.doctrees/api/api_analysis.doctree +0 -0
  37. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/_build/html/.doctrees/api/api_execution.doctree +0 -0
  38. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/_build/html/.doctrees/api/api_integrations.doctree +0 -0
  39. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/_build/html/.doctrees/api/api_model.doctree +0 -0
  40. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/_build/html/.doctrees/api/api_root.doctree +0 -0
  41. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/_build/html/.doctrees/api/index.doctree +0 -0
  42. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/_build/html/.doctrees/developer/architecture.doctree +0 -0
  43. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/_build/html/.doctrees/developer/contributing.doctree +0 -0
  44. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/_build/html/.doctrees/developer/extension_playbook.doctree +0 -0
  45. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/_build/html/.doctrees/developer/releasing.doctree +0 -0
  46. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/_build/html/.doctrees/developer/repository_map.doctree +0 -0
  47. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/_build/html/.doctrees/developer/testing.doctree +0 -0
  48. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/_build/html/.doctrees/docstring_style.doctree +0 -0
  49. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/_build/html/.doctrees/drafts/execution_pipeline.doctree +0 -0
  50. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/_build/html/.doctrees/drafts/glossary.doctree +0 -0
  51. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/_build/html/.doctrees/drafts/repository_map.doctree +0 -0
  52. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/_build/html/.doctrees/drafts/what_is_thundergraph_model.doctree +0 -0
  53. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/_build/html/.doctrees/environment.pickle +0 -0
  54. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/_build/html/.doctrees/index.doctree +0 -0
  55. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/_build/html/.doctrees/user/concepts_evaluation.doctree +0 -0
  56. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/_build/html/.doctrees/user/concepts_external_compute.doctree +0 -0
  57. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/_build/html/.doctrees/user/concepts_parts.doctree +0 -0
  58. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/_build/html/.doctrees/user/concepts_requirements.doctree +0 -0
  59. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/_build/html/.doctrees/user/concepts_system.doctree +0 -0
  60. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/_build/html/.doctrees/user/end_to_end_guide.doctree +0 -0
  61. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/_build/html/.doctrees/user/faq.doctree +0 -0
  62. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/_build/html/.doctrees/user/install.doctree +0 -0
  63. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/_build/html/.doctrees/user/mental_model.doctree +0 -0
  64. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/_build/html/.doctrees/user/overview.doctree +0 -0
  65. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/_build/html/.doctrees/user/quickstart.doctree +0 -0
  66. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/_build/html/_modules/index.html +0 -0
  67. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/_build/html/_modules/tg_model/analysis/compare_variants.html +0 -0
  68. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/_build/html/_modules/tg_model/analysis/impact.html +0 -0
  69. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/_build/html/_modules/tg_model/analysis/sweep.html +0 -0
  70. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/_build/html/_modules/tg_model/execution/behavior.html +0 -0
  71. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/_build/html/_modules/tg_model/execution/configured_model.html +0 -0
  72. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/_build/html/_modules/tg_model/execution/connection_bindings.html +0 -0
  73. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/_build/html/_modules/tg_model/execution/dependency_graph.html +0 -0
  74. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/_build/html/_modules/tg_model/execution/evaluator.html +0 -0
  75. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/_build/html/_modules/tg_model/execution/graph_compiler.html +0 -0
  76. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/_build/html/_modules/tg_model/execution/instances.html +0 -0
  77. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/_build/html/_modules/tg_model/execution/requirements.html +0 -0
  78. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/_build/html/_modules/tg_model/execution/run_context.html +0 -0
  79. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/_build/html/_modules/tg_model/execution/validation.html +0 -0
  80. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/_build/html/_modules/tg_model/execution/value_slots.html +0 -0
  81. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/_build/html/_modules/tg_model/integrations/external_compute.html +0 -0
  82. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/_build/html/_modules/tg_model/model/definition_context.html +0 -0
  83. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/_build/html/_modules/tg_model/model/elements.html +0 -0
  84. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/_build/html/_modules/tg_model/model/expr.html +0 -0
  85. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/_build/html/_modules/tg_model/model/refs.html +0 -0
  86. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/_build/html/_sources/api/api_analysis.rst.txt +0 -0
  87. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/_build/html/_sources/api/api_execution.rst.txt +0 -0
  88. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/_build/html/_sources/api/api_integrations.rst.txt +0 -0
  89. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/_build/html/_sources/api/api_model.rst.txt +0 -0
  90. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/_build/html/_sources/api/api_root.rst.txt +0 -0
  91. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/_build/html/_sources/api/index.md.txt +0 -0
  92. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/_build/html/_sources/developer/architecture.md.txt +0 -0
  93. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/_build/html/_sources/developer/contributing.md.txt +0 -0
  94. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/_build/html/_sources/developer/extension_playbook.md.txt +0 -0
  95. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/_build/html/_sources/developer/releasing.md.txt +0 -0
  96. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/_build/html/_sources/developer/repository_map.md.txt +0 -0
  97. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/_build/html/_sources/developer/testing.md.txt +0 -0
  98. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/_build/html/_sources/docstring_style.md.txt +0 -0
  99. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/_build/html/_sources/drafts/execution_pipeline.md.txt +0 -0
  100. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/_build/html/_sources/drafts/glossary.md.txt +0 -0
  101. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/_build/html/_sources/drafts/repository_map.md.txt +0 -0
  102. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/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.3}/docs/user_docs/_build/html/_sources/index.md.txt +0 -0
  104. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/_build/html/_sources/user/concepts_evaluation.md.txt +0 -0
  105. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/_build/html/_sources/user/concepts_external_compute.md.txt +0 -0
  106. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/_build/html/_sources/user/concepts_parts.md.txt +0 -0
  107. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/_build/html/_sources/user/concepts_requirements.md.txt +0 -0
  108. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/_build/html/_sources/user/concepts_system.md.txt +0 -0
  109. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/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.3}/docs/user_docs/_build/html/_sources/user/faq.md.txt +0 -0
  111. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/_build/html/_sources/user/install.md.txt +0 -0
  112. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/_build/html/_sources/user/mental_model.md.txt +0 -0
  113. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/_build/html/_sources/user/overview.md.txt +0 -0
  114. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/_build/html/_sources/user/quickstart.md.txt +0 -0
  115. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/_build/html/_static/base-stemmer.js +0 -0
  116. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/_build/html/_static/basic.css +0 -0
  117. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/_build/html/_static/debug.css +0 -0
  118. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/_build/html/_static/doctools.js +0 -0
  119. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/_build/html/_static/documentation_options.js +0 -0
  120. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/_build/html/_static/english-stemmer.js +0 -0
  121. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/_build/html/_static/file.png +0 -0
  122. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/_build/html/_static/language_data.js +0 -0
  123. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/_build/html/_static/minus.png +0 -0
  124. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/_build/html/_static/plus.png +0 -0
  125. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/_build/html/_static/pygments.css +0 -0
  126. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/_build/html/_static/scripts/furo-extensions.js +0 -0
  127. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/_build/html/_static/scripts/furo.js +0 -0
  128. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/_build/html/_static/scripts/furo.js.LICENSE.txt +0 -0
  129. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/_build/html/_static/scripts/furo.js.map +0 -0
  130. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/_build/html/_static/searchtools.js +0 -0
  131. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/_build/html/_static/skeleton.css +0 -0
  132. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/_build/html/_static/sphinx_highlight.js +0 -0
  133. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/_build/html/_static/styles/furo-extensions.css +0 -0
  134. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/_build/html/_static/styles/furo-extensions.css.map +0 -0
  135. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/_build/html/_static/styles/furo.css +0 -0
  136. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/_build/html/_static/styles/furo.css.map +0 -0
  137. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/_build/html/api/api_analysis.html +0 -0
  138. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/_build/html/api/api_execution.html +0 -0
  139. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/_build/html/api/api_integrations.html +0 -0
  140. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/_build/html/api/api_model.html +0 -0
  141. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/_build/html/api/api_root.html +0 -0
  142. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/_build/html/api/index.html +0 -0
  143. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/_build/html/developer/architecture.html +0 -0
  144. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/_build/html/developer/contributing.html +0 -0
  145. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/_build/html/developer/extension_playbook.html +0 -0
  146. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/_build/html/developer/releasing.html +0 -0
  147. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/_build/html/developer/repository_map.html +0 -0
  148. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/_build/html/developer/testing.html +0 -0
  149. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/_build/html/docstring_style.html +0 -0
  150. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/_build/html/drafts/execution_pipeline.html +0 -0
  151. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/_build/html/drafts/glossary.html +0 -0
  152. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/_build/html/drafts/repository_map.html +0 -0
  153. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/_build/html/drafts/what_is_thundergraph_model.html +0 -0
  154. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/_build/html/genindex.html +0 -0
  155. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/_build/html/index.html +0 -0
  156. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/_build/html/objects.inv +0 -0
  157. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/_build/html/py-modindex.html +0 -0
  158. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/_build/html/search.html +0 -0
  159. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/_build/html/searchindex.js +0 -0
  160. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/_build/html/user/concepts_evaluation.html +0 -0
  161. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/_build/html/user/concepts_external_compute.html +0 -0
  162. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/_build/html/user/concepts_parts.html +0 -0
  163. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/_build/html/user/concepts_requirements.html +0 -0
  164. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/_build/html/user/concepts_system.html +0 -0
  165. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/_build/html/user/end_to_end_guide.html +0 -0
  166. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/_build/html/user/faq.html +0 -0
  167. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/_build/html/user/install.html +0 -0
  168. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/_build/html/user/mental_model.html +0 -0
  169. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/_build/html/user/overview.html +0 -0
  170. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/_build/html/user/quickstart.html +0 -0
  171. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/api/api_analysis.rst +0 -0
  172. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/api/api_execution.rst +0 -0
  173. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/api/api_integrations.rst +0 -0
  174. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/api/api_model.rst +0 -0
  175. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/api/api_root.rst +0 -0
  176. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/api/index.md +0 -0
  177. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/conf.py +0 -0
  178. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/developer/architecture.md +0 -0
  179. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/developer/contributing.md +0 -0
  180. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/developer/extension_playbook.md +0 -0
  181. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/developer/releasing.md +0 -0
  182. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/developer/repository_map.md +0 -0
  183. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/developer/testing.md +0 -0
  184. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/docstring_style.md +0 -0
  185. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/drafts/README.md +0 -0
  186. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/drafts/execution_pipeline.md +0 -0
  187. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/drafts/glossary.md +0 -0
  188. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/drafts/repository_map.md +0 -0
  189. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/drafts/what_is_thundergraph_model.md +0 -0
  190. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/index.md +0 -0
  191. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/user/concepts_evaluation.md +0 -0
  192. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/user/concepts_external_compute.md +0 -0
  193. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/user/concepts_parts.md +0 -0
  194. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/user/concepts_requirements.md +0 -0
  195. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/user/concepts_system.md +0 -0
  196. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/user/end_to_end_guide.md +0 -0
  197. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/user/faq.md +0 -0
  198. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/user/install.md +0 -0
  199. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/user/mental_model.md +0 -0
  200. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/user/overview.md +0 -0
  201. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/docs/user_docs/user/quickstart.md +0 -0
  202. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/examples/__init__.py +0 -0
  203. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/examples/commercial_aircraft/IMPLEMENTATION_PLAN.md +0 -0
  204. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/examples/commercial_aircraft/README.md +0 -0
  205. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/examples/commercial_aircraft/__init__.py +0 -0
  206. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/examples/commercial_aircraft/integrations/__init__.py +0 -0
  207. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/examples/commercial_aircraft/integrations/adapters.py +0 -0
  208. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/examples/commercial_aircraft/integrations/bindings.py +0 -0
  209. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/examples/commercial_aircraft/product/__init__.py +0 -0
  210. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/examples/commercial_aircraft/product/aircraft.py +0 -0
  211. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/examples/commercial_aircraft/product/major_assemblies/__init__.py +0 -0
  212. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/examples/commercial_aircraft/product/major_assemblies/parts.py +0 -0
  213. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/examples/commercial_aircraft/program/__init__.py +0 -0
  214. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/examples/commercial_aircraft/program/cargo_jet_program.py +0 -0
  215. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/examples/commercial_aircraft/program/l1_requirement_packages.py +0 -0
  216. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/examples/commercial_aircraft/program/mission_context.py +0 -0
  217. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/examples/commercial_aircraft/reporting/__init__.py +0 -0
  218. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/examples/commercial_aircraft/reporting/extract.py +0 -0
  219. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/examples/commercial_aircraft/reporting/snapshot.py +0 -0
  220. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/examples/hpc_datacenter/README.md +0 -0
  221. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/examples/hpc_datacenter/__init__.py +0 -0
  222. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/examples/hpc_datacenter/program.py +0 -0
  223. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/examples/mars_ntp_tug/__init__.py +0 -0
  224. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/examples/mars_ntp_tug/integrations/__init__.py +0 -0
  225. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/examples/mars_ntp_tug/integrations/adapters.py +0 -0
  226. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/examples/mars_ntp_tug/integrations/bindings.py +0 -0
  227. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/examples/mars_ntp_tug/integrations/preset_inputs.py +0 -0
  228. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/examples/mars_ntp_tug/reporting/__init__.py +0 -0
  229. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/examples/mars_ntp_tug/reporting/extract.py +0 -0
  230. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/examples/mars_ntp_tug/reporting/snapshot.py +0 -0
  231. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/examples/mars_ntp_tug/tug_model.py +0 -0
  232. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/implementation_plan_instructions.md +0 -0
  233. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/logo.png +0 -0
  234. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/notebooks/_gen_leo_notebook.py +0 -0
  235. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/notebooks/aev_architecture.mmd +0 -0
  236. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/notebooks/cargo_jet_program.ipynb +0 -0
  237. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/notebooks/hpc_datacenter_parameter_sweep.ipynb +0 -0
  238. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/notebooks/mars_ntp_nuclear_tug.ipynb +0 -0
  239. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/reviewer_architype.md +0 -0
  240. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/tests/__init__.py +0 -0
  241. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/tests/integration/__init__.py +0 -0
  242. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/tests/integration/analysis/__init__.py +0 -0
  243. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/tests/integration/analysis/test_analysis_workflows.py +0 -0
  244. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/tests/integration/behavior/__init__.py +0 -0
  245. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/tests/integration/behavior/test_behavior_e2e.py +0 -0
  246. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/tests/integration/evaluation/__init__.py +0 -0
  247. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/tests/integration/evaluation/test_allocate_parameter_wiring.py +0 -0
  248. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/tests/integration/evaluation/test_evaluation_e2e.py +0 -0
  249. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/tests/integration/evaluation/test_external_compute.py +0 -0
  250. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/tests/integration/evaluation/test_requirement_acceptance.py +0 -0
  251. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/tests/integration/evaluation/test_unitflow_evaluation.py +0 -0
  252. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/tests/integration/structural_models/__init__.py +0 -0
  253. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/tests/integration/structural_models/test_citations.py +0 -0
  254. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/tests/integration/structural_models/test_drive_system.py +0 -0
  255. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/tests/integration/structural_models/test_instantiation.py +0 -0
  256. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/tests/integration/test_commercial_aircraft_smoke.py +0 -0
  257. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/tests/integration/test_hpc_datacenter_smoke.py +0 -0
  258. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/tests/integration/test_mars_ntp_tug_smoke.py +0 -0
  259. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/tests/unit/__init__.py +0 -0
  260. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/tests/unit/analysis/__init__.py +0 -0
  261. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/tests/unit/analysis/test_sweep_planning.py +0 -0
  262. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/tests/unit/execution/__init__.py +0 -0
  263. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/tests/unit/execution/test_behavior_runtime.py +0 -0
  264. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/tests/unit/execution/test_behavior_scope.py +0 -0
  265. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/tests/unit/execution/test_configured_model.py +0 -0
  266. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/tests/unit/execution/test_configured_model_evaluate.py +0 -0
  267. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/tests/unit/execution/test_dependency_graph.py +0 -0
  268. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/tests/unit/execution/test_evaluator.py +0 -0
  269. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/tests/unit/execution/test_instances.py +0 -0
  270. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/tests/unit/execution/test_phase6_runtime.py +0 -0
  271. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/tests/unit/execution/test_run_context.py +0 -0
  272. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/tests/unit/execution/test_validation.py +0 -0
  273. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/tests/unit/export/__init__.py +0 -0
  274. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/tests/unit/integrations/__init__.py +0 -0
  275. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/tests/unit/model/__init__.py +0 -0
  276. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/tests/unit/model/test_attribute_ref.py +0 -0
  277. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/tests/unit/model/test_behavior_declarations.py +0 -0
  278. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/tests/unit/model/test_compile_types.py +0 -0
  279. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/tests/unit/model/test_definition_context.py +0 -0
  280. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/tests/unit/model/test_elements.py +0 -0
  281. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/tests/unit/model/test_example_system_authoring_policy.py +0 -0
  282. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/tests/unit/model/test_expr.py +0 -0
  283. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/tests/unit/model/test_identity.py +0 -0
  284. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/tests/unit/model/test_new_api_validators.py +0 -0
  285. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/tests/unit/model/test_parameter_ref.py +0 -0
  286. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/tests/unit/model/test_phase6_ontology.py +0 -0
  287. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/tests/unit/model/test_refs.py +0 -0
  288. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/tests/unit/model/test_requirement_block.py +0 -0
  289. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/tests/unit/model/test_system_authoring_restrictions.py +0 -0
  290. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/tg_model/__init__.py +0 -0
  291. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/tg_model/analysis/__init__.py +0 -0
  292. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/tg_model/analysis/_coherence.py +0 -0
  293. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/tg_model/analysis/compare_variants.py +0 -0
  294. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/tg_model/analysis/impact.py +0 -0
  295. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/tg_model/analysis/sweep.py +0 -0
  296. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/tg_model/execution/__init__.py +0 -0
  297. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/tg_model/execution/behavior.py +0 -0
  298. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/tg_model/execution/connection_bindings.py +0 -0
  299. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/tg_model/execution/dependency_graph.py +0 -0
  300. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/tg_model/execution/evaluator.py +0 -0
  301. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/tg_model/execution/external_ops.py +0 -0
  302. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/tg_model/execution/graph_compiler.py +0 -0
  303. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/tg_model/execution/instances.py +0 -0
  304. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/tg_model/execution/requirements.py +0 -0
  305. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/tg_model/execution/rollups.py +0 -0
  306. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/tg_model/execution/run_context.py +0 -0
  307. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/tg_model/execution/solve_groups.py +0 -0
  308. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/tg_model/execution/validation.py +0 -0
  309. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/tg_model/execution/value_slots.py +0 -0
  310. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/tg_model/export/__init__.py +0 -0
  311. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/tg_model/integrations/__init__.py +0 -0
  312. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/tg_model/integrations/external_compute.py +0 -0
  313. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/tg_model/model/__init__.py +0 -0
  314. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/tg_model/model/declarations/__init__.py +0 -0
  315. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/tg_model/model/declarations/behavior.py +0 -0
  316. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/tg_model/model/declarations/values.py +0 -0
  317. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/tg_model/model/elements.py +0 -0
  318. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/tg_model/model/expr.py +0 -0
  319. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/tg_model/model/identity.py +0 -0
  320. {thundergraph_model-1.2.1 → thundergraph_model-1.2.3}/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.3
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.3"
8
8
  description = "Executable systems modeling in Python"
9
9
  readme = "PYPI.md"
10
10
  requires-python = ">=3.11"
@@ -262,7 +262,7 @@ def instantiate(root_type: type) -> ConfiguredModel:
262
262
  requirement_value_slots,
263
263
  )
264
264
 
265
- connections = _instantiate_connections(compiled, root_instance, path_registry, root_type)
265
+ connections = _instantiate_all_connections(root_instance, path_registry, root_type)
266
266
  allocations = _instantiate_allocations(compiled, root_instance, path_registry, root_type)
267
267
  references = _instantiate_all_references(root_instance, path_registry, root_type) + ref_accumulator
268
268
 
@@ -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)
@@ -566,43 +583,63 @@ def _wire_requirement_block_references(
566
583
  )
567
584
 
568
585
 
569
- def _instantiate_connections(
570
- compiled: dict[str, Any],
586
+ def _instantiate_all_connections(
571
587
  root: PartInstance,
572
588
  path_registry: dict[str, ElementInstance | ValueSlot],
573
589
  root_type: type,
574
590
  ) -> list[ConnectionBinding]:
575
- """Resolve compiled connection edges into ConnectionBindings."""
576
- connections: list[ConnectionBinding] = []
591
+ """Resolve ``connect`` edges from every part type in the instance tree.
577
592
 
578
- for edge in compiled.get("edges", []):
579
- if edge["kind"] != "connect":
580
- continue
593
+ Mirrors :func:`_instantiate_all_references`. Connections are no longer required
594
+ to be authored on the configured root — composed sub-Parts may declare their own
595
+ internal port wiring via ``model.connect(...)``. Each part contributes the
596
+ connect edges from its own ``definition_type.compile()`` artifact, and the
597
+ source/target port paths are resolved against that part's ``instance_path``.
598
+ """
599
+ out: list[ConnectionBinding] = []
600
+ stack: list[PartInstance] = [root]
601
+ while stack:
602
+ part = stack.pop()
603
+ compiled = part.definition_type.compile()
604
+ for edge in compiled.get("edges", []):
605
+ if edge["kind"] != "connect":
606
+ continue
581
607
 
582
- src_path = root.instance_path + tuple(edge["source"]["path"])
583
- tgt_path = root.instance_path + tuple(edge["target"]["path"])
584
- src_key = ".".join(src_path)
585
- tgt_key = ".".join(tgt_path)
608
+ src_path = part.instance_path + tuple(edge["source"]["path"])
609
+ tgt_path = part.instance_path + tuple(edge["target"]["path"])
610
+ src_key = ".".join(src_path)
611
+ tgt_key = ".".join(tgt_path)
586
612
 
587
- src = path_registry.get(src_key)
588
- tgt = path_registry.get(tgt_key)
613
+ src = path_registry.get(src_key)
614
+ tgt = path_registry.get(tgt_key)
589
615
 
590
- if not isinstance(src, PortInstance):
591
- raise ValueError(f"Connection source '{src_key}' is not a PortInstance")
592
- if not isinstance(tgt, PortInstance):
593
- raise ValueError(f"Connection target '{tgt_key}' is not a PortInstance")
616
+ if not isinstance(src, PortInstance):
617
+ raise ValueError(f"Connection source '{src_key}' is not a PortInstance")
618
+ if not isinstance(tgt, PortInstance):
619
+ raise ValueError(f"Connection target '{tgt_key}' is not a PortInstance")
594
620
 
595
- conn_id = derive_declaration_id(root_type, "connect", *edge["source"]["path"], *edge["target"]["path"])
596
- connections.append(
597
- ConnectionBinding(
598
- stable_id=conn_id,
599
- source=src,
600
- target=tgt,
601
- carrying=edge.get("carrying"),
621
+ # Include the part's own instance path in the id so connects authored
622
+ # inside different sub-parts of the same root remain unique.
623
+ owner_segments = part.instance_path[1:] # skip the root_type name itself
624
+ conn_id = derive_declaration_id(
625
+ root_type,
626
+ "connect",
627
+ *owner_segments,
628
+ *edge["source"]["path"],
629
+ *edge["target"]["path"],
602
630
  )
603
- )
631
+ out.append(
632
+ ConnectionBinding(
633
+ stable_id=conn_id,
634
+ source=src,
635
+ target=tgt,
636
+ carrying=edge.get("carrying"),
637
+ )
638
+ )
639
+ # Recurse into composed child Parts (NOT ports / value slots / requirement packages).
640
+ stack.extend(part.children)
604
641
 
605
- return connections
642
+ return out
606
643
 
607
644
 
608
645
  def _instantiate_allocations(
@@ -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"] },