Releases: hiivmind/hiivmind-blueprint-lib
Release list
Release v8.0.0-rc.1
Pre-release from feat/v8-type-additions
**PR:** feat!: v8.0.0 type-system additions (BL1–BL5)
## Summary
Blueprint-lib v8.0.0 — five coordinated type-system additions reconciling with the hiivmind-blueprint-central S1 alignment addendum.
- BL1 consequence — invoke a tool on a declared data-MCP alias
- BL2 Payload Types — new catalog section + per-workflow block (no central registry; per-workflow only)
- BL3 workflow field — enum
- BL4 workflow field — alias → map
- BL5 node type — 4th primitive; retires top-level block (hard cutover, no deprecation)
Also fixes a pre-existing bug in found during workflow-schema validation.
Breaking change: all workflows using the top-level block must migrate entries into with and rename the field to . Migration helper at .
Cross-repo: coordinated PRs in hiivmind-blueprint (pattern guides updated) and hiivmind-blueprint-central (principles review).
Design docs
Test plan
- === Positive fixtures (must pass) ===
�[0;32mOK�[0m /home/runner/work/hiivmind-blueprint-lib/hiivmind-blueprint-lib/tests/fixtures/composites/confirm/with_consequences/input.yaml
�[0;32mOK�[0m /home/runner/work/hiivmind-blueprint-lib/hiivmind-blueprint-lib/tests/fixtures/composites/confirm/with_consequences/expected.yaml
�[0;32mOK�[0m /home/runner/work/hiivmind-blueprint-lib/hiivmind-blueprint-lib/tests/fixtures/composites/confirm/minimal/input.yaml
�[0;32mOK�[0m /home/runner/work/hiivmind-blueprint-lib/hiivmind-blueprint-lib/tests/fixtures/composites/confirm/minimal/expected.yaml
�[0;32mOK�[0m /home/runner/work/hiivmind-blueprint-lib/hiivmind-blueprint-lib/tests/fixtures/composites/confirm/custom_labels/input.yaml
�[0;32mOK�[0m /home/runner/work/hiivmind-blueprint-lib/hiivmind-blueprint-lib/tests/fixtures/composites/confirm/custom_labels/expected.yaml
�[0;32mOK�[0m /home/runner/work/hiivmind-blueprint-lib/hiivmind-blueprint-lib/tests/fixtures/composites/gated_action/with_consequences/input.yaml
�[0;32mOK�[0m /home/runner/work/hiivmind-blueprint-lib/hiivmind-blueprint-lib/tests/fixtures/composites/gated_action/with_consequences/expected.yaml
�[0;32mOK�[0m /home/runner/work/hiivmind-blueprint-lib/hiivmind-blueprint-lib/tests/fixtures/composites/gated_action/default_on_unknown/input.yaml
�[0;32mOK�[0m /home/runner/work/hiivmind-blueprint-lib/hiivmind-blueprint-lib/tests/fixtures/composites/gated_action/default_on_unknown/expected.yaml
�[0;32mOK�[0m /home/runner/work/hiivmind-blueprint-lib/hiivmind-blueprint-lib/tests/fixtures/composites/gated_action/basic/input.yaml
�[0;32mOK�[0m /home/runner/work/hiivmind-blueprint-lib/hiivmind-blueprint-lib/tests/fixtures/composites/gated_action/basic/expected.yaml
�[0;32mOK�[0m /home/runner/work/hiivmind-blueprint-lib/hiivmind-blueprint-lib/tests/fixtures/composites/goal_seek/with_success_conditions/input.yaml
�[0;32mOK�[0m /home/runner/work/hiivmind-blueprint-lib/hiivmind-blueprint-lib/tests/fixtures/composites/goal_seek/with_success_conditions/expected.yaml
�[0;32mOK�[0m /home/runner/work/hiivmind-blueprint-lib/hiivmind-blueprint-lib/tests/fixtures/composites/goal_seek/minimal/input.yaml
�[0;32mOK�[0m /home/runner/work/hiivmind-blueprint-lib/hiivmind-blueprint-lib/tests/fixtures/composites/goal_seek/minimal/expected.yaml
�[0;32mOK�[0m /home/runner/work/hiivmind-blueprint-lib/hiivmind-blueprint-lib/tests/fixtures/composites/goal_seek/with_subagent/input.yaml
�[0;32mOK�[0m /home/runner/work/hiivmind-blueprint-lib/hiivmind-blueprint-lib/tests/fixtures/composites/goal_seek/with_subagent/expected.yaml
�[0;32mOK�[0m /home/runner/work/hiivmind-blueprint-lib/hiivmind-blueprint-lib/tests/fixtures/composites/goal_seek/with_abort/input.yaml
�[0;32mOK�[0m /home/runner/work/hiivmind-blueprint-lib/hiivmind-blueprint-lib/tests/fixtures/composites/goal_seek/with_abort/expected.yaml
�[0;32mOK�[0m /home/runner/work/hiivmind-blueprint-lib/hiivmind-blueprint-lib/tests/fixtures/endings/with_consequences/input.yaml
�[0;32mOK�[0m /home/runner/work/hiivmind-blueprint-lib/hiivmind-blueprint-lib/tests/fixtures/endings/with_behavior_restart/input.yaml
�[0;32mOK�[0m /home/runner/work/hiivmind-blueprint-lib/hiivmind-blueprint-lib/tests/fixtures/endings/with_behavior_delegate/input.yaml
�[0;32mOK�[0m /home/runner/work/hiivmind-blueprint-lib/hiivmind-blueprint-lib/tests/fixtures/endings/minimal/input.yaml
�[0;32mOK�[0m /home/runner/work/hiivmind-blueprint-lib/hiivmind-blueprint-lib/tests/fixtures/endings/with_behavior_silent/input.yaml
=== Negative fixtures (must fail) ===
�[0;32mOK�[0m /home/runner/work/hiivmind-blueprint-lib/hiivmind-blueprint-lib/tests/fixtures/_negative/ending_with_on_success/input.yaml (correctly rejected)
�[0;32mOK�[0m /home/runner/work/hiivmind-blueprint-lib/hiivmind-blueprint-lib/tests/fixtures/_negative/ending_invalid_outcome/input.yaml (correctly rejected)
�[0;32mOK�[0m /home/runner/work/hiivmind-blueprint-lib/hiivmind-blueprint-lib/tests/fixtures/_negative/ending_missing_outcome/input.yaml (correctly rejected)
�[0;32mOK�[0m /home/runner/work/hiivmind-blueprint-lib/hiivmind-blueprint-lib/tests/fixtures/composites/_negative/gated_action_missing_else/input.yaml (correctly rejected)
�[0;32mOK�[0m /home/runner/work/hiivmind-blueprint-lib/hiivmind-blueprint-lib/tests/fixtures/composites/_negative/gated_action_empty_when/input.yaml (correctly rejected)
�[0;32mOK�[0m /home/runner/work/hiivmind-blueprint-lib/hiivmind-blueprint-lib/tests/fixtures/composites/_negative/goal_seek_missing_on_complete/input.yaml (correctly rejected)
�[0;32mOK�[0m /home/runner/work/hiivmind-blueprint-lib/hiivmind-blueprint-lib/tests/fixtures/composites/_negative/confirm_missing_store_as/input.yaml (correctly rejected)
�[0;32mOK�[0m /home/runner/work/hiivmind-blueprint-lib/hiivmind-blueprint-lib/tests/fixtures/composites/_negative/goal_seek_missing_goals/input.yaml (correctly rejected)
�[0;32mOK�[0m /home/runner/work/hiivmind-blueprint-lib/hiivmind-blueprint-lib/tests/fixtures/composites/_negative/goal_seek_missing_max_iterations/input.yaml (correctly rejected)
�[0;32mOK�[0m /home/runner/work/hiivmind-blueprint-lib/hiivmind-blueprint-lib/tests/fixtures/composites/_negative/goal_seek_goal_missing_name/input.yaml (correctly rejected)
�[0;32mOK�[0m /home/runner/work/hiivmind-blueprint-lib/hiivmind-blueprint-lib/tests/fixtures/composites/_negative/goal_seek_empty_goals/input.yaml (correctly rejected)
�[0;32mOK�[0m /home/runner/work/hiivmind-blueprint-lib/hiivmind-blueprint-lib/tests/fixtures/composites/_negative/goal_seek_goal_missing_starting_node/input.yaml (correctly rejected)
=== Summary ===
Positive: 25 passed, 0 failed
Negative: 12 correctly rejected, 0 unexpectedly passed
�[0;32mAll fixtures OK�[0m → all fixtures OK (composite + ending, positive + negative)
- === Positive workflow fixtures (must pass) ===
�[0;32mOK�[0m /home/runner/work/hiivmind-blueprint-lib/hiivmind-blueprint-lib/tests/fixtures/workflows/v8_minimal/input.yaml
�[0;32mOK�[0m /home/runner/work/hiivmind-blueprint-lib/hiivmind-blueprint-lib/tests/fixtures/workflows/v8_with_mcp/input.yaml
=== Negative workflow fixtures (must fail) ===
�[0;32mOK�[0m /home/runner/work/hiivmind-blueprint-lib/hiivmind-blueprint-lib/tests/fixtures/workflows/_negative/payload_type_bad_name/input.yaml (correctly rejected)
�[0;32mOK�[0m /home/runner/work/hiivmind-blueprint-lib/hiivmind-blueprint-lib/tests/fixtures/workflows/_negative/endings_block_rejected/input.yaml (correctly rejected)
=== Summary ===
Positive: 2 passed, 0 failed
Negative: 2 correctly rejected, 0 unexpectedly passed
�[0;32mAll workflow fixtures OK�[0m → v8_minimal + v8_with_mcp pass; endings_block_rejected + payload_type_bad_name correctly rejected
- Bundled validates against v8 schema
- ./tests/fixtures/workflows/_negative/endings_block_rejected/input.yaml:15:endings: returns only the intentional negative fixture
- All 7 JSON schemas pass
🤖 Generated with Claude Code
Release v3.1.1
Added
- PR branch validation CI gate:
.github/workflows/validate-pr-branch.yamlblocks PRs tomainunless fromrelease/*orhotfix/*branches /prepare-releaseskill: Automates release branch creation, version bump, changelog, and PR tomain/prepare-releasecommand: Command gateway for the prepare-release skill
Changed
- RELEASING.md: Added CI enforcement section and documented
/prepare-releaseas recommended release flow - CLAUDE.md: Updated Git Workflow section with branching requirement and release process reference
v3.1.0
[3.1.0] - 2026-02-08
Added
- Shared fetch patterns: Extracted
resolution/fetch-patterns.yamlwith reusablesource_format,source_parsing,url_construction, andfetchingprimitives - Claude Code plugin:
.claude-plugin/plugin.jsonmanifest withpr-version-bumpskill and command - Change classification patterns:
lib/patterns/change-classification.mdandlib/patterns/version-discovery.md
Changed
- Bootstrap loaders simplified:
type-loader.yaml,execution-loader.yaml, andworkflow-loader.yamlsignificantly reduced by extracting shared fetch logic - Release workflow overhauled:
.github/workflows/release.yamlnow supports PR-merge-driven releases with production/rc/beta channels - Node definitions: Removed embedded examples from
workflow_nodes.yaml(examples live inexamples/) - Examples updated: Schema versions bumped to 3.0, type references updated to v3 consolidated names
- Entrypoints: Added
fetch_patternsquery entry, cleaned up documentation references
Full Changelog: v3.0.0...v3.1.0