Skip to content

fix: ensure parent profile bindings are collected during reference resolution#1

Merged
patrick-werner merged 1 commit into
mainfrom
fix/collect-vs-bindings-from-parentProfile
Apr 16, 2026
Merged

fix: ensure parent profile bindings are collected during reference resolution#1
patrick-werner merged 1 commit into
mainfrom
fix/collect-vs-bindings-from-parentProfile

Conversation

@patrick-werner

Copy link
Copy Markdown
Contributor

This pull request addresses an important bug in the reference collection logic and improves the robustness of reference resolution for parent profiles and nested dependencies. The main change is the introduction of a fixed-point algorithm to ensure that all relevant references, including those introduced via parent profile hierarchies, are fully resolved. This prevents missing resources and improves correctness, especially for complex, multi-level dependencies.

Reference resolution improvements:

  • Added a new resolve_references_to_fixpoint() method in capability_statement_expander.py that alternates between nested reference extraction and parent profile collection until no new resources are found, with a maximum of 10 passes to guarantee termination. This ensures that references from newly discovered parent profiles are not missed.
  • Updated the changelog to document the bug fix and the new explicit fixed-point reference resolution logic, highlighting improved correctness for multi-level parent profile hierarchies and transitive dependencies.

@patrick-werner patrick-werner merged commit 7d1134e into main Apr 16, 2026
4 checks passed
@patrick-werner patrick-werner deleted the fix/collect-vs-bindings-from-parentProfile branch April 16, 2026 08:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant