"Merge" was misleading: the block never combines values, it only lets exactly one of several mutually-exclusive branches (an ExclusiveOR reconvergence, e.g. after a HumanDecisionBlock split) pass through as the single downstream value; two arriving values is an error, not something to combine. BranchRejoinBlock names what it actually does. There is still no block in the platform that genuinely merges/combines multiple parallel values into one - this rename doesn't add one, it just stops "merge" from implying it exists. Renamed throughout: block/config/factory/executor/activation-policy classes and their tests, the NodeVisualRole.MERGE -> BRANCH_REJOIN visual role and NodeTypeCapabilities.merge() -> branchRejoin() factory method, the six EXCLUSIVE_MERGE_* validation error codes -> BRANCH_REJOIN_*, the bundled flows.json (11 uses across the Jensen flows), and the two docs that reference it. Added a legacy-id fallback in DynamicBlockConfigurationTypeResolver (type id "ExclusiveMergeBlockConfiguration") and BlockTypes (typeName "ExclusiveMergeBlock"), mirroring the existing ChatHumanInteraction -> ChatInteraction precedent - found necessary the hard way: without it, any flow already persisted under the old type id fails to deserialize and brings the whole application down at startup, not just that one flow. Locked this in with LegacyBlockTypeIdTest. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> |
||
|---|---|---|
| .mvn/wrapper | ||
| src | ||
| .gitattributes | ||
| .gitignore | ||
| Dockerfile | ||
| mvnw | ||
| mvnw.cmd | ||
| ollama-preloaded-docker | ||
| pom.xml | ||