Skip to content
This repository was archived by the owner on Jun 18, 2026. It is now read-only.

v1.6.1

Choose a tag to compare

@SagoDev SagoDev released this 08 Jan 21:25
· 39 commits to main since this release
a61a75c

Fragua v1.6.1

Macro Expansion Refinement

Summary

This patch release refines the macro expansion mechanism to better align with Fragua’s declarative execution model and to address issues detected during real-world pipeline execution.


Changes

Refined expand_macro behavior

  • Refactored expand_macro to operate strictly on declarative step definitions (dict).
  • Macro expansion now produces only normalized step dictionaries, fully compatible with the standard compilation pipeline.
  • Prevents runtime objects from leaking into the macro layer.

Bug fixes

  • Fixed an issue where invalid step identifiers (e.g. dictionaries instead of strings) could reach the FraguaStepIndex, causing errors such as: TypeError: unhashable type: 'dict'.

Clearer separation of responsibilities

  • Macros are now limited to structural expansion only.
  • Step building and execution remain exclusively part of the compilation and runtime phases.
  • Reinforces the rule: macros describe pipelines; they do not build or execute steps.

Improved validation feedback

  • Missing required parameters in macro-expanded steps now fail fast during compilation, providing clearer and earlier error messages to users.

Design Impact

  • Strengthens Fragua’s purely declarative pipeline philosophy.
  • Improves macro predictability, safety, and composability.
  • Makes pipelines easier to edit, validate, and reason about.

Compatibility

  • Fully backward compatible with Fragua v1.6.
  • No public API changes.