fix(tests): migrate HITL task yamls off completed-handle wording - #3261
dushyant-uipath merged 1 commit into
Conversation
…file-scoped regex Depends on fix/hitl-outcome-checker-logic (adds the outcome-wiring check these tasks call). 22 task files across uipath-human-in-the-loop and uipath-maestro-flow prompted for or asserted a single completed handle regardless of outcome count, or checked wiring with a file-scoped regex against a guessed literal port id instead of the node-scoped, id-derived check. Reworded prompts and success-criteria descriptions to outcome-port language, and replaced the regex check in smoke_02, quality_04 in both skills, and the 6 e2e invoice, escalation, gdpr, multi-hitl, and expense tasks with check_simulated_hitl.py outcome-wiring. Updated TEST_PLAN.md's handle inventory and per-test descriptions to match. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
|
Claude finished @dushyant-uipath's task in 6m 39s —— View job Coder-eval task lint (advisory)21 task YAMLs changed (all modified, none added); 0 Critical, 0 High, 2 Medium, 7 Low, 12 OK. Rubric: Evidence of passing runConfirmed:
Per-task lint
|
|
Claude finished @dushyant-uipath's task in 3m 41s —— View job PR Review: fix(tests): migrate HITL task yamls off completed-handle wording
SummaryMigrates 22 HITL task YAMLs across Change-by-Change Review1.
|
| Area | Status | Notes |
|---|---|---|
| Frontmatter | OK | No frontmatter changes (test YAMLs, not skills) |
| E2E Tests | OK | Upgraded from weak substring checks to node-scoped semantic checker |
| Skill Body | N/A | No skill files changed |
| References & Assets | OK | TEST_PLAN.md updated consistently |
| Repo Hygiene | OK | No secrets, no cross-skill deps, changes scoped to affected task files |
Issues for Manual Review
- Remaining ~13 tasks not run through coder-eval: The PR body notes only
smoke_02ande2e_01have passing runs. The prompt changes (especially the wiring fork diagrams inquality_08–quality_11andquality_03) are more prescriptive than before, which should help agents, but confirming with a full eval pass would catch any cases where the new phrasing confuses agents. e2e_01scenario simplification: Mocking SharePoint/SAP as Script nodes is well-justified for the timeout issue, but makes this task less representative of the real-world invoice approval flow. The original connector-discovery behavior is now only tested in the simulated interactive task. This is a deliberate tradeoff, not a bug.
Conclusion
Clean, well-scoped migration. The upgrade from file-scoped substring matching to node-scoped semantic checking (check_simulated_hitl.py outcome-wiring) is a meaningful improvement in criterion precision — it eliminates both false positives (unrelated node's completed port matching) and false negatives (wrong port wired but substring still present). Prompt changes are internally consistent and follow the same "every outcome needs its own wired port" pattern throughout.
Approve — no blocking issues. The main risk is the untested tasks, which the PR body already flags.
3ca0dbc
into
fix/hitl-outcome-checker-logic
Problem
22 task files across uipath-human-in-the-loop and uipath-maestro-flow prompted for or asserted a single
completedhandle regardless of outcome count, or checked wiring with a file-scoped regex against a guessed literal port id instead of the node-scoped, id-derived check.Fixed
completedto outcome-port language in all 22 files.smoke_02_completed_port_wired.yaml,quality_04in both skills, and the 6e2e_*invoice/escalation/gdpr/multi-hitl/expense tasks now callcheck_simulated_hitl.py outcome-wiring(node-scoped, id-derived) instead of a file-scoped regex against a guessed port name.TEST_PLAN.md's handle inventory and per-test descriptions updated to match.Test plan
skill-flow-hitl-smoke-completed-port(smoke_02): green in CI.skill-hitl-e2e-invoice-approval-greenfield(e2e_01) run locally: SUCCESS, score 1.000, 7/7 criteria, 482.7s.Depends on
#3260 (checker logic). These task files call the
outcome-wiringcheck that PR adds; based on its branch, and its CI must pass first.Split from #3180
Split out of #3180 along with #3259 (docs) and #3260 (checker logic).
🤖 Generated with Claude Code