[ENGCE-57552] test(uipath-maestro-flow): array filter mandatory-source smoke#590
[ENGCE-57552] test(uipath-maestro-flow): array filter mandatory-source smoke#590baishalighosh wants to merge 1 commit intomainfrom
Conversation
…ENGCE-57552] Adds skill-flow-trigger-with-array-filter — Gmail "Email Received" trigger on INBOX with a freeform "subject contains invoice" leaf. Asserts: - eventParameters.folder === "INBOX" (mandatory source lives there, not in the freeform tree). - filter tree exists for the user's subject leaf, no top-level filterExpression at the detail root. - freeform tree leaves do NOT reference folder / ParentFolders (would duplicate the auto-emitted mandatory clause and double-apply the constraint at runtime). Regression guard for the original 400 in ENGCE-57498. Also flattens the connector_trigger eval suite from tests/tasks/uipath-maestro-flow/nodes/connector_trigger/ to tests/tasks/uipath-maestro-flow/connector_trigger/ so both filter tests live alongside each other. Doc updates that explain the shape these tests exercise (impl.md + triggers.md) ship in the companion PR engce-57552-skill-docs. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
Claude finished @baishalighosh's task in 2m 10s —— View job SummaryAdds the Change-by-Change Review1.
|
| Area | Status | Notes |
|---|---|---|
| Frontmatter | N/A | No skill SKILL.md changed — test-only PR |
| E2E Tests | OK | New smoke task is well-structured; skill has e2e coverage elsewhere |
| Skill Body | N/A | No skill docs changed |
| References & Assets | N/A | No references changed |
| Repo Hygiene | OK | No secrets, no cross-skill refs, old nodes/ dir cleanly removed |
Issues for Manual Review
- The
initial_promptinstructs the agent to follow the mandatory-filter guidance from the companion docs PR (#589). If [ENGCE-57552] skills(uipath-maestro-flow, uipath-platform): array filter + mandatory-filter contract #589 hasn't landed when this test runs, the agent won't have the updated skill prompt to guide it. The PR description notes the landing order (uipcli #1823 → skills [ENGCE-57552] skills(uipath-maestro-flow, uipath-platform): array filter + mandatory-filter contract #589 → this PR) — worth confirming that CI won't run this eval before [ENGCE-57552] skills(uipath-maestro-flow, uipath-platform): array filter + mandatory-filter contract #589 merges. - The
eventParameters.foldervalue is hardcoded to"INBOX"— if the Gmail connector's canonical folder identifier changes (e.g., to an ID likeLabel_INBOX), this test would need updating. Low risk for a smoke test.
Conclusion
Clean, well-scoped test PR. The new eval directly guards the ENGCE-57498 regression with appropriate structural assertions. The directory flattening is clean (old nodes/ fully removed). No blocking issues found — approve.
Jira: ENGCE-57552 —
[Skills][CLI] Add support for array filter in triggerRCA: ENGCE-57498 — Gmail Email Received trigger returns 400 on Debug (Confluence)
Companion PR: skills #589 — docs (impl.md + triggers.md updates that explain the shape this test exercises).
Replaces: skills #587 (please close — content split into the docs PR + this PR).
Summary
Adds the
skill-flow-trigger-with-array-filtersmoke eval — Gmail "Email Received" trigger onINBOXwith a freeformsubject contains "invoice"leaf. Regression guard for ENGCE-57498: the original 400 happened because agents (and the CLI) were authoring the mandatoryfolderclause as a freeform filter leaf with the wrong JMES shape.The eval asserts the SW-mirrored contract that the companion docs PR and the CLI fix jointly establish:
eventParameters.folder === "INBOX"— mandatory source lives oneventParameters, not infilter.filtertree exists for the user's subject leaf; no top-levelfilterExpressionat the detail root.folder/ParentFoldersids — duplicating the auto-emitted mandatory clause would double-apply the constraint at runtime.Also flattens the
connector_triggereval suite fromtests/tasks/uipath-maestro-flow/nodes/connector_trigger/totests/tasks/uipath-maestro-flow/connector_trigger/so both filter tests live alongside each other.Files
tests/tasks/uipath-maestro-flow/connector_trigger/trigger_with_array_filter.yaml— newtests/tasks/uipath-maestro-flow/connector_trigger/check_trigger_filter.py— moved fromnodes/connector_trigger/tests/tasks/uipath-maestro-flow/connector_trigger/trigger_with_filter.yaml— moved fromnodes/connector_trigger/Depends on
Land in the order: uipcli #1823 → skills #589 → this PR.
Test plan
tests/tasks/uipath-maestro-flow/connector_trigger/trigger_with_filter.yaml— existing Outlook subject+from filter eval still passes against the renamed pathtests/tasks/uipath-maestro-flow/connector_trigger/trigger_with_array_filter.yaml— new Gmail INBOX + subject filter eval passes locally with the updated skill promptReferences