Repository navigation
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
add boundary:<trigger> --on <eventSubProcessId>attached a boundary event to an event sub-process, andvalidateaccepted it on every platform. An event sub-process has no place in the flow to interrupt or leave, so such a boundary event is meaningless, and bpmn-js refuses the attach as well. It is now handled like a boundary event on a compensation handler.assertBoundaryHost(src/ops/flows.ts) refuses an event sub-process as host withE_INVALID_HOST;add --onandmove --onboth go through it, so nothing is written.checkBoundaryEvent(src/validate/structural.ts) reports an existing boundary event on an event sub-process as the structural errorE_INVALID_HOSTon all platforms. Because it is structural, the write gate also blocksset triggeredByEvent=trueon a sub-process that already carries boundary events.E_INVALID_HOSTentry insrc/report/guide.tsdescribes the new case.tools/iso/budget.json: the whole entry grows by 0.2 KB minified, so its budget goes from 1002 to 1003 KB.test/event-subprocess-host.test.tscoveradd --on,move --on,validateon a loaded file andset triggeredByEvent=true.Verified with the issue's reproduction against the built CLI: step 5 exits 2 with
E_INVALID_HOSTand leaves the file byte-identical; a hand-edited file with such a boundary event getsE_INVALID_HOSTfromvalidate --platform none|c7|c8(exit 2).Not changed:
showstill lists the boundary event under the event sub-process, since that is its host. Audit finding 36 indocs/audit-2026-10.mdstays open because it bundles other validation gaps.Checklist
npm run typecheckpassesnpm run gatepassessrc/report/guide.tsand the matching page indocs/are updated (only if a command, option or output changed)Linked issue
Closes #75