Skip to content

Releases: hiivmind/hiivmind-blueprint-lib

Release v8.0.0-rc.1

Release v8.0.0-rc.1 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 17 Apr 07:24
f860e45

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

Choose a tag to compare

@github-actions github-actions released this 08 Feb 05:47
d1eb628

Added

  • PR branch validation CI gate: .github/workflows/validate-pr-branch.yaml blocks PRs to main unless from release/* or hotfix/* branches
  • /prepare-release skill: Automates release branch creation, version bump, changelog, and PR to main
  • /prepare-release command: Command gateway for the prepare-release skill

Changed

  • RELEASING.md: Added CI enforcement section and documented /prepare-release as recommended release flow
  • CLAUDE.md: Updated Git Workflow section with branching requirement and release process reference

v3.1.0

Choose a tag to compare

@discreteds discreteds released this 08 Feb 04:54
3077383

[3.1.0] - 2026-02-08

Added

  • Shared fetch patterns: Extracted resolution/fetch-patterns.yaml with reusable source_format, source_parsing, url_construction, and fetching primitives
  • Claude Code plugin: .claude-plugin/plugin.json manifest with pr-version-bump skill and command
  • Change classification patterns: lib/patterns/change-classification.md and lib/patterns/version-discovery.md

Changed

  • Bootstrap loaders simplified: type-loader.yaml, execution-loader.yaml, and workflow-loader.yaml significantly reduced by extracting shared fetch logic
  • Release workflow overhauled: .github/workflows/release.yaml now supports PR-merge-driven releases with production/rc/beta channels
  • Node definitions: Removed embedded examples from workflow_nodes.yaml (examples live in examples/)
  • Examples updated: Schema versions bumped to 3.0, type references updated to v3 consolidated names
  • Entrypoints: Added fetch_patterns query entry, cleaned up documentation references

Full Changelog: v3.0.0...v3.1.0