fix(uipath-maestro-case): distinguish missing registry cache from empty results#2127
Conversation
|
Claude finished @song-zhao-25's task in 3m 30s —— View job PR Review: fix(uipath-maestro-case): require fresh registry before binding
SummaryThis PR hardens the Change-by-Change Review1.
|
| Area | Status | Notes |
|---|---|---|
| Frontmatter | OK | Unchanged and valid; name matches folder, description under 1024 chars |
| E2E Tests | OK | Existing registry_handoff_action_case_sdd_only task covers the motivating scenario |
| Skill Body | OK | Rules 2, 3, 9, 14 updated consistently; phase steps renumbered correctly |
| References & Assets | OK | All 6 reference files updated with consistent invariant language; all links resolve |
| Repo Hygiene | OK | No secrets, no cross-skill imports, CODEOWNERS in place, changes scoped to one skill |
Issues for Manual Review
- Domain accuracy of Rule 14 (bindings_v2 parity). The parity-check addition (Rule 14, Phase 2 step 7, Phase 3 step 6, Phase 4 step 1) is a separate concern from the registry-gate fix. It appears correct, but domain experts should verify the
bindings-v2-sync.md § Check 7reference and the claim thatresources refreshonly consumesbindings_v2.jsonand never generates it. - Planning.md "Current-cache provenance" vs registry-discovery.md "Provenance invariant." Both state the same rule. The overlap is small (one paragraph each) and the planning.md version serves as a bridge in context, but if the invariant evolves, two locations must be updated. Worth watching for drift.
Conclusion
Clean, well-scoped change that addresses a real agent failure mode. The invariant is stated precisely and repeated consistently across all the right touchpoints. No issues found — approve.
6093545 to
e0253d3
Compare
Summary
sdd.mdis authoritative and trusted as writtenuip maestro case registry pullan unconditional Phase 1 gate before cache inspection, carryover reuse, resolution, or artifact writesregistry-resolved.jsoncarryover cannot cause Phase 1 to skip the refreshWhy
In the failed
registry_handoff_action_case_sdd_onlyrun, the agent checked~/.uip/case-resources, observedCACHE_ABSENT, and treated that as if the tenant had no matches. It retained the concrete Action binding from the authoritative SDD and emitted placeholders for the two<UNRESOLVED>resources, but never attempted the required registry pull.The SDD behavior was correct; the cache-state interpretation was not. A missing cache means discovery has not been refreshed on that machine. Only after a successful pull can an empty exact-name match set enter the normal empty-resource/placeholder flow.
Prior passing run: https://github.com/UiPath/skills/actions/runs/29624029348
Validation
quick_validate.pygit diff --checkSKILL.mdYAML frontmatter