fix(maestro-case): preserve same-name output bindings#2119
Conversation
166b388 to
6f35558
Compare
6d244f1 to
0df8009
Compare
6f35558 to
919d7e7
Compare
919d7e7 to
e6f73cf
Compare
|
Claude finished @song-zhao-25's task in 2m 46s —— View job Coder-eval task lint (advisory)1 task YAML changed; verdict counts: 0 Critical, 0 High, 0 Medium, 0 Low, 1 OK. Rubric: .claude/commands/lint-task.md. This check is advisory and never blocks merge. Evidence of passing run
Per-task lint
|
|
Claude finished @song-zhao-25's task in 6m 48s —— View job PR Review: fix(maestro-case): preserve same-name output bindings
SummaryThis PR fixes a regression where an equal-name output extraction like Change-by-Change Review1.
|
| Area | Status | Notes |
|---|---|---|
| Frontmatter | OK | SKILL.md frontmatter unchanged; body change is scoped to Critical Rule 6 |
| E2E Tests | OK | New io_binding e2e task covers the regression and the full binding matrix |
| Skill Body | OK | Critical Rule 6 updated with lossless semantics; no other body sections modified |
| References & Assets | OK | 15 reference files updated consistently; all links resolve; no content duplication beyond bridge sentences |
| Repo Hygiene | OK | CODEOWNERS entry exists; no secrets/paths; no cross-skill dependencies; --yes flag fix prevents interactive CI prompts |
Issues for Manual Review
- Domain accuracy of the equal-name controlled-alias rule. The PR defines that
greeting -> greetingproducesid == var == originalVar == "greeting"and skips the uniqueness counter. This is a semantic contract with the UiPath frontend (mutateRootVariablesinVariableMutationUtils.ts). Verifying that this matches the actual FE behavior requires domain expertise beyond what the skill docs can validate. - Tenant resource availability. The e2e test depends on two specific tenant resources (
CM-Golden-Expense-Reporting-106andNameToAgeFixed2inShared/uipath-maestro-case/). If these are removed or renamed in the tenant, the test will fail. The PR body mentions "existing deterministic tenant resources" — confirming their availability is a manual check. - Stacked PR dependency. This PR is stacked on test(maestro-case): cover inline resource creation #2117. Merging out of order would break the base. Ensure test(maestro-case): cover inline resource creation #2117 merges first.
Conclusion
Clean PR. The documentation changes are internally consistent, well-centralized (single source of truth for the output-list grammar, 8 task plugins link to it), and the new e2e test provides thorough regression coverage for the equal-name binding fix plus the broader I/O binding matrix. The cleanup script fix (--yes flag) is a sensible CI hardening. No blocking issues found — approve.
|
|
is the test failure due to the issue fixed in another PR? |
|
@charlesliu9 yes |
|
Claude finished @song-zhao-25's task in 1m 18s —— View job Coder-eval task lint (advisory)1 task YAML changed; verdict counts: 0 Critical, 0 High, 0 Medium, 0 Low, 1 OK. Rubric: .claude/commands/lint-task.md. This check is advisory and never blocks merge. Evidence of passing run
Per-task lint
|
e6f73cf to
1dd190a
Compare
Summary
tasks.mdgreeting -> greetingretain reassign semantics andoriginalVario_bindinge2e matrix using existing deterministic tenant resources; keep the originalsingle_node/api-workflowtest unchanged--yesRegression coverage
The new
tests/tasks/uipath-maestro-case/io_binding/eval covers:estimatedAge -> estimatedAgecontrolled-alias regressiontasks.md, tenant-resource reuse, solution shape, and Case debug execution telemetryVerification
git diff --checkpass_sharedimport root allowed the official coder-eval re-evaluation of that exact preserved workspace to pass2/2criteria with score1.000tests/runs/2026-07-18_15-03-43CI note
maestro-case checker unit testscurrently fails during pytest 9 collection before executing tests because two pre-existing files share the module nametest_checkers.py(athena_cm_eventandgolden_rebuild/cm_golden_expense). The stacked base PR #2117 fails the same job.Dependency
Stacked on #2117 because the same-name fix was developed against the inline-resource Case changes introduced there.