Skip to content

fix(hitl): align maestro-flow skill and tests to v1.0 output variable path#528

Merged
dushyant-uipath merged 1 commit intomainfrom
fix/hitl-v1-output-variable-alignment
May 4, 2026
Merged

fix(hitl): align maestro-flow skill and tests to v1.0 output variable path#528
dushyant-uipath merged 1 commit intomainfrom
fix/hitl-v1-output-variable-alignment

Conversation

@dushyant-uipath
Copy link
Copy Markdown
Collaborator

@dushyant-uipath dushyant-uipath commented May 3, 2026

Summary

Updates skills/uipath-maestro-flow and tests/tasks/uipath-maestro-flow to use $vars.<nodeId>.output (not .result) and status source =result.Action following the v1.0 HITL node schema rename.

Note: HITL skill docs (uipath-human-in-the-loop/) and their eval tests are handled in a separate PR (#529) owned by @dushyant-uipath.

Files changed

  • skills/uipath-maestro-flow/references/author/references/plugins/hitl/impl.md — Quick Reference JSON fixed: outputs.output (not result), status.source = "=result.Action"
  • skills/uipath-maestro-flow/references/author/references/plugins/hitl/planning.md
  • skills/uipath-maestro-flow/references/shared/cli-commands.md
  • tests/tasks/uipath-maestro-flow/hitl/quality_01_schema_design.yaml
  • tests/tasks/uipath-maestro-flow/hitl/quality_02_result_downstream.yaml
  • tests/tasks/uipath-maestro-flow/hitl/quality_03_boolean_decision.yaml
  • tests/tasks/uipath-maestro-flow/hitl/smoke_03_multi_outcome_routing.yaml
  • tests/tasks/uipath-maestro-flow/e2e/devcon_expense_approval.yaml (new) — DevCon end-to-end scenario: vague expense approval requirement, agent builds full flow with HITL using both maestro-flow and HITL skills

Test plan

  • quality_01, quality_02, quality_03, smoke_03 pass with updated .output paths
  • devcon_expense_approval passes end-to-end: solution creation, flow init, hitl add, validate

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented May 3, 2026

Claude finished @dushyant-uipath's task in 2m 34s —— View job


PR Review: fix(hitl) — align docs and eval tests to v1.0 output variable path

Summary

Bulk rename across 15 files: HITL node v1.0 changed resultoutput (outputId) and =status=result.Action (status source). This PR updates skill docs, reference files, and 8 eval tests to match. Also fixes two broken cross-refs in quickform.md and updates the definition entry (version, shape, input handle constraints, outputDefinition keys).

Change-by-Change Review

1. skills/uipath-human-in-the-loop/SKILL.md (+1/-1)

OK — Line 288: $vars.<nodeId>.result$vars.<nodeId>.output. Correct.

2. skills/uipath-human-in-the-loop/references/hitl-node-quickform.md (+18/-22)

OK — This is the canonical reference. All changes are correct:

  • Line 1: cross-ref fixed from flow-commands.mdshared/cli-commands.md ✅ (file exists)
  • Line 53: cross-ref fixed from variables-and-expressions.mdshared/variables-and-expressions.md ✅ (file exists)
  • Line 45: prior HITL node variables table: resultoutput
  • Lines 149/156: definition version "1.0.0""1.0", shape "rectangle""square"
  • Lines 162-166: removed forbiddenSourceCategories and constraints from input handle ✅
  • Lines 193-195: outputDefinition keys updated (output/=result/=result.Action) ✅
  • Lines 216-228: variables.nodes regeneration examples updated ✅
  • Lines 248-250: binding row corrected — HITL nodes now use output like all other node types ✅
  • Lines 326-337: runtime variables table and script example updated ✅

3. skills/uipath-human-in-the-loop/references/hitl-node-apptask.md (+2/-2)

Medium — Runtime variables table (lines 370-371) correctly updated. However:

  • Line 360 still reads: add resultandstatus entries. Should be add outputandstatus entries to match the v1.0 rename. This was caught by the coded-action-app file (which was correctly changed to output) but missed here.

4. skills/uipath-human-in-the-loop/references/hitl-node-coded-action-app.md (+3/-3)

OK — All three changes correct: variables.nodes text (line 325), runtime variables table (lines 333-334).

5. skills/uipath-maestro-flow/references/author/references/plugins/hitl/impl.md (+4/-4)

Medium — The prose output variables section (lines 67-69) was correctly updated. However:

  • Lines 56-58: The "Node JSON (minimum viable)" code block still uses the old format:
    "outputs": {
      "result": { ... "source": "=result", "var": "result" },
      "status": { ... "source": "=status", "var": "status" }
    }
    Should be updated to match the v1.0 format ("output" key, "source": "=result", "var": "output" and "source": "=result.Action", "var": "status"). The code block contradicts the prose 9 lines below it — an agent copying this JSON will produce the wrong output definition.

6. skills/uipath-maestro-flow/references/author/references/plugins/hitl/planning.md (+3/-3)

OK — Output variables section (lines 43-45) correctly updated.

7. skills/uipath-maestro-flow/references/shared/cli-commands.md (+4/-4)

OK — CLI example (line 186), schema JSON (lines 203-204), and binding description (line 212) all correctly updated from .result. to .output..

8. tests/tasks/uipath-human-in-the-loop/TEST_PLAN.md (+3/-3)

OK — Description text updated in three rows. Consistent.

9-15. All 7 test YAML files

OK — Consistent .result.output rename across descriptions, prompts, initial_prompt examples, and file_contains criteria includes arrays. All 8 eval tests correctly updated:

  • e2e_01_invoice_approval_greenfield.yaml
  • quality_04_all_handles.yaml
  • quality_07_runtime_vars.yaml
  • quality_01_schema_design.yaml
  • quality_02_result_downstream.yaml
  • quality_03_boolean_decision.yaml
  • smoke_03_multi_outcome_routing.yaml

What's Missing

  1. hitl-node-apptask.md:360 — stale `result` in prose: "add result and status entries" should read "add output and status entries". Fix this →
  2. impl.md:56-58 — JSON code block still uses old output keys ("result", "=result", "=status"). Must be updated to v1.0 format ("output", "=result", "=result.Action") to match the prose below it and the canonical definition in quickform.md. Fix this →

Area Ratings

Area Status Notes
Frontmatter OK No frontmatter changes — existing frontmatter valid
E2E Tests OK All 8 affected test files consistently updated
Skill Body Issue 1 stale result reference in apptask.md
References & Assets Issue 1 stale JSON code block in impl.md contradicts its own prose
Repo Hygiene OK No secrets, no cross-skill refs, CODEOWNERS entries exist, changes scoped correctly

Issues for Manual Review

  • The PR description notes status.source changed from =status to =result.Actionverify this is the actual v1.0 runtime behavior in flow-workbench. The code block in impl.md was not updated (flagged above), which suggests this detail may have been overlooked rather than intentionally left.
  • "version": "1.0" vs "typeVersion": "1.0.0" — the definition entry now uses "1.0" while node instances elsewhere still use "typeVersion": "1.0.0". Confirm whether these are intentionally different fields with different versioning schemes.
  • The forbiddenSourceCategories removal from the input handle is a behavioral change — confirm that v1.0 no longer enforces this constraint.

Conclusion

Clean, well-scoped rename PR. Two stale references were missed — both are in code blocks/prose that should have been updated as part of the same .result.output migration. Recommend fixing those two items before merging to avoid agents generating incorrect JSON.


Copy link
Copy Markdown

@akashd-uipath akashd-uipath left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@dushyant-uipath dushyant-uipath force-pushed the fix/hitl-v1-output-variable-alignment branch from 4fd2975 to d1e3f29 Compare May 3, 2026 07:50
@dushyant-uipath dushyant-uipath changed the title fix(hitl): align docs and eval tests to v1.0 output variable path fix(hitl): align maestro-flow skill and tests to v1.0 output variable path May 3, 2026
… path

Update all uipath-maestro-flow skill references and eval tests to use
$vars.<nodeId>.output (not .result) and status source =result.Action
following the v1.0 node schema rename.

- Fix impl.md Quick Reference node JSON: outputs.output (not result),
  status source =result.Action
- Add DevCon e2e scenario: expense approval flow combining maestro-flow
  and HITL skills, validates the full authoring lifecycle end-to-end

Affected files: impl.md, planning.md, cli-commands.md, quality_01/02/03
and smoke_03 eval tests, and new devcon_expense_approval.yaml e2e test.
@dushyant-uipath dushyant-uipath force-pushed the fix/hitl-v1-output-variable-alignment branch from d1e3f29 to 7ea3f53 Compare May 3, 2026 09:31
@dushyant-uipath dushyant-uipath merged commit c1b93d0 into main May 4, 2026
6 checks passed
@dushyant-uipath dushyant-uipath deleted the fix/hitl-v1-output-variable-alignment branch May 4, 2026 18:35
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.

3 participants