Skip to content

Sync ako/mxcli: check catches CE0161/CE0117/CE1571/CE1876/CE6083, page binding fixes, run --local timeouts and clear-sessions - #1824

Merged
ako merged 31 commits into
mendixlabs:mainfrom
ako:main
Nov 11, 2026
Merged

ako merged 31 commits into
mendixlabs:mainfrom
ako:main

Conversation

@ako

@ako ako commented Nov 11, 2026

Copy link
Copy Markdown
Collaborator

Syncs ako/mxcli:main into upstream: 26 commits since #1816 — check catches six more things the build refuses, page bindings that lost their source, run --local for large apps and the trial licence's session cap, and dependency advisories.

check: catch what the build refuses

Pages: bindings that lost their source

run --local

  • Large apps start. The cold first build hit a fixed 10-minute limit and the runtime start a fixed 150 s on a 188-module, 12,900-document app. New --build-timeout / $MXCLI_BUILD_TIMEOUT (default 30m) and --start-timeout / $MXCLI_START_TIMEOUT (default 15m, start and DDL only); running out names the limit and how to raise it. Refs run --local: two fixed time limits stop a large app from starting #1818
  • New: mxcli run clear-sessions frees the unlicensed runtime's 6 sign-in slots while the app keeps running; the 7th sign-in otherwise answers HTTP 560 ("Sign in failed") and the only way out was deleting from system$session by hand. The sign-in hint names it. Measured on 11.12.1 with PostgreSQL. Refs [bug] run --local: repeated browser sign-ins exhaust the trial licence's 6 sessions; the 7th sign-in fails with HTTP 560 and mxcli offers no way to clear them #1810
  • --watch rechecks an incremental CE0108 ("defined but not in scope") on a fresh mxbuild --serve, as it already does for the stale theme error; a CE0108 the fresh process confirms is remembered, so a genuine one costs one recheck, not one per save.
  • The 11.15.0 upgrade hint is offered only for the serve-build failure 11.15.0 fixes.

Catalog

Dependencies

claude and others added 30 commits November 11, 2026 13:47
- qs 6.16.0 -> 6.16.1 (GHSA-6pq8-jhm2-2vcw, moderate), within range.
- @azure/msal-node 6.0.1 -> 7.2.1 (GHSA-xcx6-jx8p-x3h5, high) by
  overriding @azure/identity to ^4.14.1. That is inside the ^4.13.2 range
  @vscode/vsce declares; identity 4.14 is what moves to msal-node ^7.1.

minimatch (GHSA-g3hv-75wg-m249, moderate) stays: its fix is 11.0.1 and
both @vscode/vsce and vscode-languageclient, at their latest versions,
declare ^10.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QiMsnXa9crge2qnSk9S7Zn
zod 4.4.3 -> 4.6.7 (GHSA-mrhx-c7xc-m3w5, high), via npm audit fix
--package-lock-only, with in-range bumps of the lint tooling alongside.
The remaining 18 moderate and 2 low findings are in eslint/jest dev
tooling and need breaking major upgrades (--force).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QiMsnXa9crge2qnSk9S7Zn
deps: fix the msal-node, qs and zod advisories in the JS lockfiles
CATALOG.pages had an Excluded column; CATALOG.snippets and CATALOG.layouts
did not, so `select Name, Excluded from CATALOG.snippets` failed with
"no such column: Excluded" and an excluded snippet or layout could not be
told apart from an active one (mendixlabs#1819, #2137).

- snippets_data and layouts_data gain Excluded, written from the reader.
- The layout reader now reads the stored top-level Excluded flag.
- snippets.ParameterCount is the snippet's parameter count, not a literal 0.
- CatalogSchemaVersion 46, so cached catalogs rebuild.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011oK82rmxc4mZcUDT8ePYWM
A microflow or nanoflow argument naming an enclosing data view that shows a
page or snippet parameter (`Item = $dvOuter`) was written as
Forms$PageVariable { Widget: dvOuter } alone, and mx check reported CE0115
"The arguments that are passed to microflow '…' do not match the expected
parameters" on every button, container, list view data source and pluggable
action using it (#2095, mendixlabs#1796).

The mapping now stores the pair Studio Pro wants, Widget plus the
PageParameter or SnippetParameter the data view shows — the pair
registerDataViewVariable already records for `$dv.Attr` bindings. A grid's
selection and a microflow-fed data view keep Widget alone. describe reads
the Widget slot first, so the pair round-trips as `$dvOuter`.

Measured on Mendix 11.14.0: the same script was 5 CE0115 before, 0 errors
after, and describe -> exec reports the documents already in sync.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011oK82rmxc4mZcUDT8ePYWM
`run --local` could not start a 188-module, 12,900-document app
(mendixlabs#1818, mirrored as #2136): the cold first build hit a
fixed 10-minute HTTP limit, and the runtime start hit the admin
connection's fixed 150 s while the after-startup microflow was running,
reported as "cannot connect to Mendix admin API ... is the app running?".

- --build-timeout / $MXCLI_BUILD_TIMEOUT bounds one serve build
  (default raised to 30m); running out names the limit and how to
  raise it, and stays a net.Error timeout for the #1834 retry.
- --start-timeout / $MXCLI_START_TIMEOUT bounds the start and
  execute_ddl_commands actions only (default 15m); every other admin
  action keeps the short connection timeout.
- An admin call that times out is reported as "did not answer <action>
  within <limit>", not as an unreachable app.

Control: with the limits stubbed back to 10m/150s and the timeout
branch disabled, the behaviour tests fail and the start test prints the
reported "cannot connect ... is the app running?" text.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011oK82rXm5FHEucVx832Gw6
`ContentParams: ({1} = $IpAddress)` with $IpAddress a String page parameter
was stored as AttributePath "$IpAddress" with no AttributeRef and no
SourceVariable: check and exec passed, mxbuild reported CE0402 "No value
specified." and describe printed `{1} = <unbound>` (#2132,
mendixlabs#1813).

paramScope holds only entity-typed parameters, so the bare-$name branch,
which handled page Variables, never saw a primitive parameter. The builder now
records the page's primitive parameters and binds one as a Forms$PageVariable
in the PageParameter slot, like a page variable in its LocalVariable slot.
describe reads that shape back as `$IpAddress`.

Measured on Mendix 11.14.0: CE0402 before; 0 errors after for a String and
an Integer parameter and a button caption, and describe -> exec reports the
page unchanged.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011oK82rmxc4mZcUDT8ePYWM
…it fixes

#606 follow-up. 11.15.0 was measured to fix the 11.14 warm-loop
failure (BankV1: builds #2-#4 reloaded in 2.8-3.9 s after converting from
11.14.0), and the issue asked for mxcli to point at the upgrade.

The hint covers two failures with different fates: the bundler-config one
(ERR_MODULE_NOT_FOUND web/rollup.config.mjs) is gone on 11.15.0, but the
per-document client one (web/pages/) was recorded on macOS 11.15.0 three
weeks after that comment. So the bundler-config hint now names 11.15.0 as
the fix, and the client-directory hint lists 11.15.0 among the versions it
was seen on without promising an upgrade. The bootstrap-app skill skips a
cached 11.14.x for the newest CDN version; the run-local docs say which
half each version fixes.

Control: the new test fails against the old single hint on both halves.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011oK82rXm5FHEucVx832Gw6
…n slots

mendixlabs#1810 (mirrored as #2129): under `run --local` with
security on, probes that sign in and never sign out fill the trial
licence's 6 sessions; the 7th sign-in answers HTTP 560 and the login page
says only "Sign in failed". The only way out was stopping the app and
deleting from "system$session" by hand.

`mxcli run clear-sessions -p app.mpr` deletes every session in the run's
database (its recorded --db-* flags, run defaults applied; --db-password
again when the run was given one literally) while the app keeps running.
The sign-in hint now names it, and the cap (6).

Measured on Mendix 11.12.1 with a live app and PostgreSQL:
- 6 sign-ins 200, 7th 560, 6 rows; control without clearing: still 560;
  after clear-sessions: 6 more sign-ins 200 on the same running app.
- The rows survive a graceful stop, but the runtime deletes them as it
  starts ("Deleting old sessions from database..."), so a restart also
  frees them; a boot-time clear would be redundant and is not added.
- The schema has session_user ON DELETE CASCADE, so a plain delete is safe.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011oK82rXm5FHEucVx832Gw6
…serve

#2064: an incremental serve build reported CE0108 "Variable 'X'
is defined but not in scope at this location" on a model that docker
check passed and a full build applied, three times in one session on
11.16.0, and the watch loop stayed on "build #N FAILED" until something
forced a full build.

serveRecovery now treats an incremental failure carrying CE0108 like the
stale theme error it already handles: restart mxbuild --serve, build once
more, and let that answer stand, saying which one did. A failure the
fresh process confirms is remembered by its error signature, so a genuine
CE0108 costs one recheck rather than one per save, until a build passes.
Other error codes are not rechecked (each check is a cold build).

Control: with the branch disabled the scripted test returns the
incremental CE0108 although the full build passed. Not reproduced live:
the reported failure is non-deterministic.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011oK82rXm5FHEucVx832Gw6
The agent-editor tables marked "absent" two ways: an absent reference
(Model, Entity, Document, KnowledgeBase, KeyConstant, Endpoint,
AuthenticationMicroflow) was '' while an absent optional value
(SelectedModel, DisplayTitle, the streaming switches) was NULL, sometimes in
one row, so every query needed per-column knowledge (#2093).

docRefName and constantRefName now return NULL for a missing reference.
Plain text settings (ToolChoice, ToolType, UserAccessApproval) keep the
stored text. No lint rule, skill or Go reader compares these columns to '';
catalog-tables.md now states the rule. CatalogSchemaVersion 47.

The rest of the catalog (QueueRef, widget refs, ParentLoopId) still uses ''
and lint rules query it that way; that needs its own change.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011oK82rmxc4mZcUDT8ePYWM
… (CE0161)

Since mendixlabs#1472 `check -p` resolves the members an access
rule's WHERE names, but a constraint whose members all exist still failed
mx check with CE0161 "Error(s) in XPath constraint." at Access rule of
entity (#2099, mirror of mendixlabs#1803).

Measured on mxbuild 11.14.0 at security level Production, one entity and
one access rule per constraint (86 forms, every bad form and its legal
twin), the grant now gets the same form rules as retrieves and widgets:

- MDL-XPATH04 (new, no project): any variable in an access rule, including
  $currentUser and $currentObject/..., is CE0161.
- MDL047 (no project): `empty` compared with an association, by the
  retrieve's own matcher.
- with a project, once the members resolve: an unqualified association
  (validateXPathAssociations) and a System member the entity does not store
  (validateRetrieveConstraints), the retrieve functions called with the
  grant as a one-element slice; and a literal whose type the attribute does
  not take: '[%CurrentUser%]' on any attribute, a quoted value on a number,
  a number or true() on a String, a non-'true'/'false' string on a Boolean,
  a number on a DateTime, and an enumeration key that is not one of the
  value names (case-sensitive; a caption is not a key).

Silent where the type cannot be established: paths, inherited attributes,
unmeasured kinds, altered entities, tokens other than [%CurrentUser%].

mdl-examples/bug-tests/936-grant-additive-merge.mdl used
`[Name != $currentUser/Name]` in a grant, which is CE0161 at Production
(measured); its constraint is replaced with one that builds.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011oK82sv2odH8kVjmGzPosB
… activities (CE1876)

create workflow refused a user task whose only outcome holds activities
(MDL-WF02, CE1876), but alter workflow skipped the rule because a later
op could still add the second outcome - so no alter was ever judged.
Dropping a stored task's other outcome, or inserting such a task, passed
check -p and exec and then failed mx check with CE1876.

MDL-WF02 is now judged over the whole script (ValidateProgram, so check
and exec's preflight both run it): each workflow's user tasks are
replayed through the script's ALTER statements from the script's own
CREATE, else the stored workflow (-p), else only the inserted tasks. A
later op or statement that adds an outcome, empties the remaining one or
drops the task silences it; anything the model cannot follow (@n,
ambiguous or unresolved refs) makes the task unknown and silent.

Fixes #2097 (mirror of mendixlabs#1798).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011oK82sv2odH8kVjmGzPosB
The new timeout flags and the clear-sessions note took run-local/SKILL.md
to 713 body lines (TestLargeSkillsWereSplit). The flag rows stay in the
docs-site table and --help; the sessions note replaces the line it
updated instead of adding a paragraph.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011oK82rXm5FHEucVx832Gw6
…ttr)

Studio Pro stores an association path read from a snippet or page parameter
outside every data container as the association steps beside a
SourceVariable naming the parameter (TestApp WorkflowCommons
Snip_Workflow_Header, Snip_WorkflowUserTaskView_Details). describe printed
the path without its root, so exec wrote it with no source: mx check CE0402
"No value specified." at actionButton1, and check refused the input
textBox9 (#833).

- `$Param/Assoc/Attr` (Mendix's expression spelling) now binds as that pair
  in template parameters and in an input's Attribute, when the root is a
  parameter or an enclosing data view and there is an association hop.
  Anything else stays the expression it was (mendixlabs#1406).
- describe prints the root.
- check refuses `{1} = $dv1.Attr` naming a data view that does not enclose
  the widget (was mx check CE7001).
- check and exec refuse a page variable passed to a snippet parameter: page
  variables are primitive, snippet parameters objects (was CE0115).

Measured on TestApp (Mendix 11.14.0): describe -> exec of
Snip_Workflow_Header reports it unchanged, mx check 0 errors (was CE0402).
The bug-test script is 0 errors; the pre-change binary gives 2x CE0117.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011oK82rmxc4mZcUDT8ePYWM
The conformance gate refuses a complete script without the language
header (TestConformanceGate, build-and-test on #2142).
Added with `mxcli fmt --upgrade --header`.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011oK82sv2odH8kVjmGzPosB
…ter (CE0117)

`check -p` passed a call microflow / call nanoflow argument whose type cannot
match the called flow's parameter (`call microflow Lab.Target (Qty = '5')` for
an Integer parameter), and the build then failed CE0117 "Error(s) in
expression". The expectations table declared CallArgument.Value as resolved by
"TargetParameter", but nothing resolved it and checkSlotKind skips every
ResolveBy slot.

Resolve it the way AttributeOf:Parent is resolved: the check adapter qualifies
the slot with the called flow and parameter, and checkCallArgumentKind looks
the parameter up in the catalog (plus the flows the script itself creates,
overlaid by declareScriptTypes). The predicate is the 9x19 matrix measured on
mxbuild 11.14.0: Integer/Long interchange and widen to Decimal (the same
argAccepted the built-in argument check uses), an enumeration must be the same
enumeration, an object/list parameter takes no primitive. Unknown flow,
parameter or argument kind stays silent. E013 (bare word) now covers call
arguments too.

Refs #2096, mendixlabs#1797

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011oK82sv2odH8kVjmGzPosB
…rameter (CE1571)

A navigation-profile or menu-document item that calls a microflow or
nanoflow with a parameter, or shows a page with a required parameter,
passed `check -p` and exec, and mx check 11.14.0 then reported CE1571
"No argument has been selected for parameter 'Thing' and no default is
available" at Menu item. The CE1571 rule only walked widget trees.

validateMenuItemArguments judges every menu item of create navigation,
create menu and alter navigation/menu (via menuAlterView) with argDiff in
an empty data context. Measured on mxbuild 11.14.0: object/String flow
parameters and required page parameters are CE1571 (6 of 6 items); a
parameterless flow or page, an optional page parameter and a literal
argument build at 0 errors and stay silent. Script-declared flows and
pages count; an unresolved target stays silent.

Refs #2098, mendixlabs#1799

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011oK82sv2odH8kVjmGzPosB
… (CE1613)

A DataGrid 2 column bound to System.Session_User/Module.Account/FullName
passed check and exec, then mxbuild failed CE1613 "The selected attribute
'System.Session_User/Module.Account/FullName' no longer exists."

resolveAssociationAttributePath read every segment before the attribute as
an association; the entity segment failed the lookup and every caller fell
back to writing the whole path as one flat attribute name. An entity right
after a hop now sets that hop's DestinationEntity when it is the hop's end
or a specialization of it - the downcast Studio Pro stores, and what data
source paths (resolveAssociationHops) already accept. mxbuild 11.14.0
accepts the result at 0 errors (A/B: base 3x CE1613, fixed 0). The shared
resolver covers DataGrid 2 columns, input widgets and pluggable attributes.

Refs #2127, mendixlabs#1808

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011oK82sv2odH8kVjmGzPosB
…oes not declare (CE6083)

ALTER STYLING's MDL-WIDGET11 check (#509) only asked whether ANY widget type in
the theme declares a key, so a key declared for some other type passed every
mxcli gate: `alter styling … widget dt set 'Row size' = 'Small'` on a
Forms$DynamicText was "Check passed!" and then CE6083 at build.

The reference pass now opens the stored document (pageProbe, which gains the
WidgetStorageType accessor the BSON mutator already had) and judges each key the
any-type pass accepted against the stored widget's own theme group, via the
existing $Type -> key routing helper (designPropsKeyOfStored, shared with ALTER
PAGE SET) and GetPropertiesForWidget, so `Widget`-group keys are inherited. No
new resolver. Still a warning; the message names the widget's type and its valid
keys. Without a project, or where the stored type cannot be established (widget
not stored, type without a theme group, document created or grown by the
script), the #509 any-type check is the only answer.

It lives in the reference pass because the validators' read-only connection
refuses OpenPageForMutation — invisible to mock backends, found by running
against a real 11.14.0 project.

Refs #613

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011oK82sv2odH8kVjmGzPosB
…time (#2139)

check -p passed create/alter/drop/describe message definition collection on
an 11.15+ project, which exec then refused: the refusal was a ceiling (Mendix
11.15 removed the collection) raised inline in the handlers, so the version
gate pass that check -p and exec's pre-flight run never saw it.

removedStatementError is now the first thing checkVersionGates applies, and
the handlers go through checkVersionGates, so check reports MDL-VERSION01
with exec's exact text and hint.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011oK82sLdsu6ePfRkrDVEMJ
… floor

mendix-10.yaml and mendix-11.yaml both list message_definition_collection
from 10.0.0; only the 11 file closes it at 11.14.99. dedup kept the first
entry, dropping the ceiling, so IsAvailable reported the collection on 11.16.
The entry that states a max_version now wins (#2140).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011oK82sLdsu6ePfRkrDVEMJ
…2140)

mxcli syntax message-definition documented only the collection form, which
11.15+ refuses. It now shows the document form first (list, describe, create
with FOLDER before FOR, drop, alter, EXAMPLE), marks the collection form as
Mendix 11.14 and earlier, and the Requires block shows a removed feature's
range (10.0.0 to 11.14.99) instead of 10.0.0+.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011oK82sLdsu6ePfRkrDVEMJ
run --local: configurable build/start limits, run clear-sessions, CE0108 recheck, 11.15 hint
Studio Pro stores an association step whose DestinationEntity is a
specialization of the association's end — TestApp WorkflowCommons
Snip_WorkflowUserTaskView_Details goes over System.WorkflowUserTaskOutcome_User
to Administration.Account for FullName. describe printed
`System.WorkflowUserTaskOutcome_User/FullName`, exec bound System.User.FullName,
and mx check reported CE1613 "The selected attribute 'System.User.FullName'
no longer exists." at text11 and text16.

- describe prints the cast as `Assoc/Module.Entity/Attr`, Mendix's
  expression spelling, when a step's destination is neither end of its
  association. It asks the builder's own associationEndpoints, so describe and
  exec agree on what an association connects.
- The path resolver takes an entity segment after an association as that
  step's DestinationEntity when it specializes the step's target.

Measured on TestApp (Mendix 11.14.0): describe -> exec of
Snip_WorkflowUserTaskView_Details reports it unchanged, mx check 0 errors (was
2x CE1613). Of the 7 TestApp documents whose describe output changed in this
branch, 6 come back unchanged. The seventh (Snip_WorkflowActivityRecord_Header,
CE0402 x2 before, CE0117 x1 now) needs System.WorkflowSubProcess, which the
System module metadata lacks.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011oK82rmxc4mZcUDT8ePYWM
MDL-DEPR020 tolerates no deprecated spelling in mdl-examples; the
conformance gate in make lint refused 'close_page' in the #2132 and #833
scripts.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011oK82rmxc4mZcUDT8ePYWM
…ilures

TestTestAppRoundTrip reports these as no longer breaking (the allowlist may
only shrink):

- Snip_UserTask_NameColumn, Snip_WorkflowUserTaskView_NameColumn,
  Snip_Workflow_Header: association paths read from a snippet parameter
  (#833).
- Snip_WorkflowUserTaskView_Details: exec, via #833 and the specialization
  step.
- Snip_WorkflowActivityRecord_Header now passes putget. It still breaks
  getput: System.WorkflowSubProcess is missing from the System module meta.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011oK82rmxc4mZcUDT8ePYWM
…tUser

entity-access.md taught `where [... = $currentUser]` in a GRANT. An access
rule has no variables: mxbuild reports CE0161 (measured on 11.14.0 for
#2099), and check now refuses it as MDL-XPATH04, which made
check-skill-mdl fail on both examples. They now compare System.owner with
the '[%CurrentUser%]' token, and the page says why.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011oK82sv2odH8kVjmGzPosB
…8o5vt

fix: close the check-mxbuild-drift cluster (CE0117, CE1876, CE1571, CE0161, CE1613, CE6083)
Message definitions on 11.15+: check refuses collections; syntax help leads with the document form
Fix binding-context and absent-edge triage clusters
@ako
ako merged commit 9cd9ce8 into mendixlabs:main Nov 11, 2026
15 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

alter workflow passes a user task left with a single outcome that holds activities (build: CE1876)

2 participants