@uipath/skills 1.201.0-preview.621 → 1.202.0-preview.635
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/marketplace.json +1 -1
- package/.claude-plugin/plugin.json +1 -1
- package/.cursor-plugin/plugin.json +1 -1
- package/CODEOWNERS +41 -29
- package/README.md +1 -0
- package/assets/skill-status.json +13 -2
- package/assets/uip-catalog-snapshot.json +95 -46
- package/package.json +2 -1
- package/skills/uipath-admin/SKILL.md +107 -197
- package/skills/uipath-admin/references/audit-commands.md +69 -120
- package/skills/uipath-admin/references/audit-workflow-guide.md +101 -152
- package/skills/uipath-admin/references/authorization/authorization-commands.md +121 -210
- package/skills/uipath-admin/references/authorization/check-access.md +39 -63
- package/skills/uipath-admin/references/authorization/grant-permissions.md +38 -49
- package/skills/uipath-admin/references/authorization/permission-catalog.md +32 -34
- package/skills/uipath-admin/references/authorization/role-assignment-management.md +96 -99
- package/skills/uipath-admin/references/authorization/role-management.md +113 -142
- package/skills/uipath-admin/references/diagnose/CAPABILITY.md +13 -14
- package/skills/uipath-admin/references/diagnose/{references/failure-modes.md → failure-modes.md} +90 -46
- package/skills/uipath-admin/references/diagnose/{references/troubleshooting-guide.md → troubleshooting-guide.md} +21 -14
- package/skills/uipath-admin/references/external-app-management.md +42 -39
- package/skills/uipath-admin/references/identity-commands.md +72 -625
- package/skills/uipath-admin/references/identity-troubleshoot-guide.md +73 -95
- package/skills/uipath-admin/references/ip-restriction/bypass-rule-management.md +25 -54
- package/skills/uipath-admin/references/ip-restriction/enforcement-management.md +19 -31
- package/skills/uipath-admin/references/ip-restriction/ip-range-management.md +48 -45
- package/skills/uipath-admin/references/ip-restriction/ip-restriction-commands.md +89 -146
- package/skills/uipath-admin/references/key-concepts.md +24 -0
- package/skills/uipath-admin/references/organization-management.md +49 -70
- package/skills/uipath-admin/references/organizations-commands.md +39 -74
- package/skills/uipath-admin/references/pat-management.md +25 -38
- package/skills/uipath-admin/references/robot-account-management.md +16 -14
- package/skills/uipath-admin/references/smtp-management.md +19 -14
- package/skills/uipath-admin/references/tenant-management.md +1 -1
- package/skills/uipath-admin/references/tenants-commands.md +82 -148
- package/skills/uipath-admin/references/user-management.md +70 -56
- package/skills/uipath-agents/SKILL.md +4 -3
- package/skills/uipath-agents/references/authentication.md +4 -3
- package/skills/uipath-agents/references/coded/capabilities/datafabric.md +465 -0
- package/skills/uipath-agents/references/coded/capabilities/guardrails/guardrails-recommend.md +5 -0
- package/skills/uipath-agents/references/coded/capabilities/guardrails/guardrails.md +2 -0
- package/skills/uipath-agents/references/coded/capabilities/human-in-the-loop.md +12 -6
- package/skills/uipath-agents/references/coded/flow-integration.md +2 -2
- package/skills/uipath-agents/references/coded/frameworks/langgraph-integration.md +48 -16
- package/skills/uipath-agents/references/coded/frameworks/openai-agents-integration.md +1 -1
- package/skills/uipath-agents/references/coded/lifecycle/deployment.md +11 -1
- package/skills/uipath-agents/references/coded/quickstart.md +11 -8
- package/skills/uipath-agents/references/lowcode/capabilities/inline-in-flow/inline-in-flow.md +3 -3
- package/skills/uipath-agents/references/lowcode/capabilities/memory/memory.md +19 -2
- package/skills/uipath-agents/references/lowcode/evaluations/evaluate.md +2 -2
- package/skills/uipath-agents/references/lowcode/evaluations/orchestrator-eval-run.md +409 -155
- package/skills/uipath-agents/references/lowcode/evaluations/running-evaluations.md +2 -2
- package/skills/uipath-agents/references/lowcode/prompting/autonomous-agent-prompting-guide.md +1 -1
- package/skills/uipath-aops/SKILL.md +313 -0
- package/skills/uipath-aops/assets/templates/pipeline-dto-template.json +15 -0
- package/skills/uipath-aops/references/discovery-flow.md +312 -0
- package/skills/uipath-aops/references/migration-guide.md +146 -0
- package/skills/uipath-aops/references/pipeline-dto-guide.md +276 -0
- package/skills/uipath-aops/references/save-and-run-guide.md +156 -0
- package/skills/uipath-api-workflow/SKILL.md +48 -6
- package/skills/uipath-api-workflow/assets/templates/file-base64-roundtrip-example.json +154 -0
- package/skills/uipath-api-workflow/assets/templates/nested-control-flow-example.json +0 -1
- package/skills/uipath-api-workflow/references/cli-reference.md +20 -1
- package/skills/uipath-api-workflow/references/expressions-and-context.md +19 -0
- package/skills/uipath-api-workflow/references/files-and-base64.md +153 -0
- package/skills/uipath-api-workflow/references/operating-published-workflows.md +3 -2
- package/skills/uipath-api-workflow/references/task-types.md +89 -3
- package/skills/uipath-api-workflow/references/testing-and-evals.md +224 -0
- package/skills/uipath-api-workflow/references/troubleshooting.md +124 -4
- package/skills/uipath-coded-apps/SKILL.md +4 -2
- package/skills/uipath-coded-apps/assets/scripts/dashboards/build-dashboard.mjs +1 -1
- package/skills/uipath-coded-apps/references/dashboards/CAPABILITY.md +11 -1
- package/skills/uipath-coded-apps/references/dashboards/plugins/build/impl.md +5 -3
- package/skills/uipath-coded-apps/references/dashboards/plugins/deploy/impl.md +1 -0
- package/skills/uipath-coded-apps/references/oauth-client-setup.md +2 -0
- package/skills/uipath-coded-apps/references/pack-publish-deploy.md +18 -0
- package/skills/uipath-coded-apps/references/sdk/orchestrator.md +4 -0
- package/skills/uipath-connector-builder/SKILL.md +7 -5
- package/skills/uipath-connector-builder/references/debugging.md +5 -1
- package/skills/uipath-connector-builder/references/element-json.md +3 -1
- package/skills/uipath-connector-builder/references/standard-resources.md +37 -6
- package/skills/uipath-functions/SKILL.md +134 -222
- package/skills/uipath-functions/references/js/authoring-guide.md +141 -0
- package/skills/uipath-functions/references/js/bindings-guide.md +120 -0
- package/skills/uipath-functions/references/js/calling-uipath-apis-guide.md +112 -0
- package/skills/uipath-functions/references/js/coded-app-wiring-guide.md +103 -0
- package/skills/uipath-functions/references/js/deployment-guide.md +109 -0
- package/skills/uipath-functions/references/js/http-semantics-guide.md +80 -0
- package/skills/uipath-functions/references/js/job-mode-guide.md +114 -0
- package/skills/uipath-functions/references/js/local-dev-guide.md +107 -0
- package/skills/uipath-functions/references/python/workflow-guide.md +224 -0
- package/skills/uipath-governance/SKILL.md +9 -8
- package/skills/uipath-governance/references/compliance-pack/catalog/impl.md +36 -8
- package/skills/uipath-governance/references/compliance-pack/coverage/impl.md +14 -12
- package/skills/uipath-governance/references/compliance-pack/disable/impl.md +5 -3
- package/skills/uipath-governance/references/compliance-pack/full-apply/impl.md +7 -5
- package/skills/uipath-governance/references/compliance-pack/partial-apply/impl.md +14 -7
- package/skills/uipath-governance/references/compliance-pack/partial-apply/planning.md +3 -1
- package/skills/uipath-governance/references/compliance-pack/preview-gate.md +1 -1
- package/skills/uipath-governance/references/compliance-pack/query/impl.md +4 -2
- package/skills/uipath-governance/references/diagnose/CAPABILITY.md +12 -12
- package/skills/uipath-governance/references/diagnose/{references/failure-modes.md → failure-modes.md} +5 -5
- package/skills/uipath-governance/references/diagnose/{references/troubleshooting-guide.md → troubleshooting-guide.md} +2 -2
- package/skills/uipath-governance/references/disambiguation-guide.md +15 -7
- package/skills/uipath-human-in-the-loop/SKILL.md +107 -9
- package/skills/uipath-human-in-the-loop/references/hitl-casetask-action.md +413 -0
- package/skills/uipath-insights/SKILL.md +21 -14
- package/skills/uipath-insights/references/alerts-reads-guide.md +242 -0
- package/skills/uipath-insights/references/filter-discovery-guide.md +1 -1
- package/skills/uipath-insights/references/jobs-commands-guide.md +2 -2
- package/skills/uipath-ixp/references/cli-reference.md +1 -1
- package/skills/uipath-ixp/references/improve-prompts-guide.md +5 -6
- package/skills/uipath-maestro-bpmn/SKILL.md +87 -15
- package/skills/uipath-maestro-bpmn/references/diagnose/CAPABILITY.md +10 -10
- package/skills/uipath-maestro-bpmn/references/diagnose/{references/troubleshooting-guide.md → troubleshooting-guide.md} +1 -1
- package/skills/uipath-maestro-bpmn/references/expression-authoring.md +12 -2
- package/skills/uipath-maestro-bpmn/references/operate/CAPABILITY.md +12 -12
- package/skills/uipath-maestro-bpmn/references/operate/{references/run.md → run.md} +2 -2
- package/skills/uipath-maestro-bpmn/references/operate/{references/ship.md → ship.md} +3 -3
- package/skills/uipath-maestro-bpmn/references/patterns/ai-decision-review-guide.md +138 -0
- package/skills/uipath-maestro-bpmn/references/patterns/approval-chain-guide.md +136 -0
- package/skills/uipath-maestro-bpmn/references/patterns/composing-guide.md +113 -0
- package/skills/uipath-maestro-bpmn/references/patterns/external-wait-guide.md +145 -0
- package/skills/uipath-maestro-bpmn/references/patterns/failure-escalation-guide.md +103 -0
- package/skills/uipath-maestro-bpmn/references/patterns/high-volume-batch-guide.md +107 -0
- package/skills/uipath-maestro-bpmn/references/patterns/queue-distribution-guide.md +129 -0
- package/skills/uipath-maestro-bpmn/references/patterns/smart-triage-guide.md +129 -0
- package/skills/uipath-maestro-bpmn/references/registry-workflow.md +15 -0
- package/skills/uipath-maestro-bpmn/references/shared/local-metadata-regeneration-guide.md +67 -36
- package/skills/uipath-maestro-bpmn/references/shared/project-layout.md +6 -5
- package/skills/uipath-maestro-bpmn/references/structural-bpmn.md +23 -5
- package/skills/uipath-maestro-bpmn/validator/bpmn-spec.json +101 -53
- package/skills/uipath-maestro-case/SKILL.md +23 -24
- package/skills/uipath-maestro-case/references/bindings-and-expressions.md +30 -17
- package/skills/uipath-maestro-case/references/bindings-v2-sync.md +5 -5
- package/skills/uipath-maestro-case/references/brownfield.md +3 -3
- package/skills/uipath-maestro-case/references/case-commands.md +8 -4
- package/skills/uipath-maestro-case/references/case-editing-operations.md +19 -19
- package/skills/uipath-maestro-case/references/case-schema.md +17 -3
- package/skills/uipath-maestro-case/references/connector-integration.md +25 -16
- package/skills/uipath-maestro-case/references/connector-trigger-impl.md +15 -15
- package/skills/uipath-maestro-case/references/connector-trigger-planning.md +32 -29
- package/skills/uipath-maestro-case/references/entry-points-sync.md +2 -1
- package/skills/uipath-maestro-case/references/evals/evals.json +11 -11
- package/skills/uipath-maestro-case/references/implementation.md +74 -44
- package/skills/uipath-maestro-case/references/phased-execution.md +23 -21
- package/skills/uipath-maestro-case/references/placeholder-tasks.md +28 -23
- package/skills/uipath-maestro-case/references/planning.md +37 -252
- package/skills/uipath-maestro-case/references/plugins/case/impl-json.md +3 -3
- package/skills/uipath-maestro-case/references/plugins/case/planning.md +8 -6
- package/skills/uipath-maestro-case/references/plugins/conditions/case-exit-conditions/impl-json.md +3 -3
- package/skills/uipath-maestro-case/references/plugins/conditions/case-exit-conditions/planning.md +11 -10
- package/skills/uipath-maestro-case/references/plugins/conditions/stage-entry-conditions/impl-json.md +6 -6
- package/skills/uipath-maestro-case/references/plugins/conditions/stage-entry-conditions/planning.md +12 -12
- package/skills/uipath-maestro-case/references/plugins/conditions/stage-exit-conditions/impl-json.md +4 -4
- package/skills/uipath-maestro-case/references/plugins/conditions/stage-exit-conditions/planning.md +10 -9
- package/skills/uipath-maestro-case/references/plugins/conditions/task-entry-conditions/impl-json.md +5 -5
- package/skills/uipath-maestro-case/references/plugins/conditions/task-entry-conditions/planning.md +16 -14
- package/skills/uipath-maestro-case/references/plugins/logging/impl-json.md +3 -3
- package/skills/uipath-maestro-case/references/plugins/sla/impl-json.md +15 -15
- package/skills/uipath-maestro-case/references/plugins/sla/planning.md +20 -21
- package/skills/uipath-maestro-case/references/plugins/stages/impl-json.md +6 -6
- package/skills/uipath-maestro-case/references/plugins/stages/planning.md +9 -9
- package/skills/uipath-maestro-case/references/plugins/tasks/action/impl-json.md +9 -9
- package/skills/uipath-maestro-case/references/plugins/tasks/action/planning.md +38 -38
- package/skills/uipath-maestro-case/references/plugins/tasks/agent/impl-json.md +3 -3
- package/skills/uipath-maestro-case/references/plugins/tasks/agent/planning.md +24 -20
- package/skills/uipath-maestro-case/references/plugins/tasks/api-workflow/impl-json.md +3 -3
- package/skills/uipath-maestro-case/references/plugins/tasks/api-workflow/planning.md +24 -20
- package/skills/uipath-maestro-case/references/plugins/tasks/case-management/impl-json.md +4 -4
- package/skills/uipath-maestro-case/references/plugins/tasks/case-management/planning.md +25 -21
- package/skills/uipath-maestro-case/references/plugins/tasks/connector-activity/impl-json.md +30 -22
- package/skills/uipath-maestro-case/references/plugins/tasks/connector-activity/planning.md +44 -28
- package/skills/uipath-maestro-case/references/plugins/tasks/connector-trigger/impl-json.md +10 -10
- package/skills/uipath-maestro-case/references/plugins/tasks/connector-trigger/planning.md +27 -23
- package/skills/uipath-maestro-case/references/plugins/tasks/create-inline-common.md +3 -3
- package/skills/uipath-maestro-case/references/plugins/tasks/process/impl-json.md +3 -3
- package/skills/uipath-maestro-case/references/plugins/tasks/process/planning.md +25 -22
- package/skills/uipath-maestro-case/references/plugins/tasks/rpa/impl-json.md +3 -3
- package/skills/uipath-maestro-case/references/plugins/tasks/rpa/planning.md +25 -21
- package/skills/uipath-maestro-case/references/plugins/tasks/wait-for-timer/impl-json.md +4 -4
- package/skills/uipath-maestro-case/references/plugins/tasks/wait-for-timer/planning.md +5 -4
- package/skills/uipath-maestro-case/references/plugins/triggers/event/impl-json.md +9 -9
- package/skills/uipath-maestro-case/references/plugins/triggers/event/planning.md +30 -19
- package/skills/uipath-maestro-case/references/plugins/triggers/manual/impl-json.md +4 -4
- package/skills/uipath-maestro-case/references/plugins/triggers/manual/planning.md +8 -7
- package/skills/uipath-maestro-case/references/plugins/triggers/timer/impl-json.md +3 -3
- package/skills/uipath-maestro-case/references/plugins/triggers/timer/planning.md +5 -4
- package/skills/uipath-maestro-case/references/plugins/variables/bindings/impl-json.md +5 -5
- package/skills/uipath-maestro-case/references/plugins/variables/global-vars/impl-json.md +7 -7
- package/skills/uipath-maestro-case/references/plugins/variables/global-vars/planning.md +21 -17
- package/skills/uipath-maestro-case/references/plugins/variables/io-binding/impl-json.md +29 -21
- package/skills/uipath-maestro-case/references/plugins/variables/io-binding/planning.md +23 -21
- package/skills/uipath-maestro-case/references/registry-discovery.md +5 -5
- package/skills/uipath-maestro-flow/.maintenance/README.md +35 -28
- package/skills/uipath-maestro-flow/.maintenance/check-anchors.sh +19 -1
- package/skills/uipath-maestro-flow/.maintenance/check-links.sh +3 -0
- package/skills/uipath-maestro-flow/.maintenance/check-plugin-pairs.sh +2 -2
- package/skills/uipath-maestro-flow/SKILL.md +66 -76
- package/skills/uipath-maestro-flow/references/author/CAPABILITY.md +75 -72
- package/skills/uipath-maestro-flow/references/author/brownfield.md +90 -0
- package/skills/uipath-maestro-flow/references/author/{references/editing-operations-cli.md → editing-operations-cli.md} +9 -4
- package/skills/uipath-maestro-flow/references/author/editing-operations-json.md +373 -0
- package/skills/uipath-maestro-flow/references/author/editing-operations.md +103 -0
- package/skills/uipath-maestro-flow/references/author/{references/greenfield.md → greenfield.md} +32 -20
- package/skills/uipath-maestro-flow/references/author/planning-arch.md +342 -0
- package/skills/uipath-maestro-flow/references/author/planning-impl.md +283 -0
- package/skills/uipath-maestro-flow/references/author/plugins/agent/impl.md +227 -0
- package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/agent/planning.md +2 -2
- package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/agentic-process/impl.md +2 -2
- package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/agentic-process/planning.md +1 -1
- package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/api-workflow/impl.md +2 -2
- package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/api-workflow/planning.md +1 -1
- package/skills/uipath-maestro-flow/references/author/plugins/batch-transform/impl.md +171 -0
- package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/batch-transform/planning.md +1 -1
- package/skills/uipath-maestro-flow/references/author/plugins/connector/impl.md +449 -0
- package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/connector/planning.md +3 -3
- package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/connector-trigger/impl.md +20 -18
- package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/connector-trigger/planning.md +2 -2
- package/skills/uipath-maestro-flow/references/author/plugins/data-fabric/impl.md +427 -0
- package/skills/uipath-maestro-flow/references/author/plugins/data-fabric/planning.md +185 -0
- package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/decision/impl.md +5 -0
- package/skills/uipath-maestro-flow/references/author/plugins/delay/impl.md +38 -0
- package/skills/uipath-maestro-flow/references/author/plugins/end/impl.md +56 -0
- package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/flow/impl.md +2 -2
- package/skills/uipath-maestro-flow/references/author/plugins/hitl/impl.md +178 -0
- package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/hitl/planning.md +14 -1
- package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/http/impl-connector.md +4 -4
- package/skills/uipath-maestro-flow/references/author/plugins/http/impl-manual.md +68 -0
- package/skills/uipath-maestro-flow/references/author/plugins/http/impl.md +173 -0
- package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/http/planning.md +3 -3
- package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/inline-agent/impl.md +6 -6
- package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/inline-agent/planning.md +1 -1
- package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/inline-voice-agent/impl.md +4 -4
- package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/inline-voice-agent/planning.md +1 -1
- package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/ixp/impl.md +8 -8
- package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/loop/impl.md +1 -1
- package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/loop/planning.md +1 -1
- package/skills/uipath-maestro-flow/references/author/plugins/merge/impl.md +43 -0
- package/skills/uipath-maestro-flow/references/author/plugins/merge/planning.md +24 -0
- package/skills/uipath-maestro-flow/references/author/plugins/rpa/impl.md +117 -0
- package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/rpa/planning.md +1 -1
- package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/scheduled-trigger/impl.md +6 -8
- package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/script/impl.md +5 -5
- package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/script/planning.md +1 -1
- package/skills/uipath-maestro-flow/references/author/plugins/subflow/impl.md +164 -0
- package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/subflow/planning.md +1 -1
- package/skills/uipath-maestro-flow/references/author/plugins/summarize/impl.md +189 -0
- package/skills/uipath-maestro-flow/references/author/plugins/summarize/planning.md +66 -0
- package/skills/uipath-maestro-flow/references/author/plugins/switch/planning.md +34 -0
- package/skills/uipath-maestro-flow/references/author/plugins/terminate/impl.md +48 -0
- package/skills/uipath-maestro-flow/references/author/plugins/transform/impl.md +241 -0
- package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/transform/planning.md +1 -1
- package/skills/uipath-maestro-flow/references/diagnose/CAPABILITY.md +39 -37
- package/skills/uipath-maestro-flow/references/diagnose/{references/failure-modes.md → failure-modes.md} +22 -22
- package/skills/uipath-maestro-flow/references/diagnose/{references/troubleshooting-guide.md → troubleshooting-guide.md} +60 -1
- package/skills/uipath-maestro-flow/references/evaluate/CAPABILITY.md +27 -25
- package/skills/uipath-maestro-flow/references/evaluate/{references/commands-reference.md → commands-reference.md} +58 -7
- package/skills/uipath-maestro-flow/references/evaluate/eval-sets-guide.md +227 -0
- package/skills/uipath-maestro-flow/references/evaluate/upload-safety.md +94 -0
- package/skills/uipath-maestro-flow/references/operate/CAPABILITY.md +21 -21
- package/skills/uipath-maestro-flow/references/operate/{references/manage.md → manage.md} +4 -4
- package/skills/uipath-maestro-flow/references/operate/run.md +121 -0
- package/skills/uipath-maestro-flow/references/operate/{references/ship.md → ship.md} +5 -5
- package/skills/uipath-maestro-flow/references/shared/action-nodes.md +30 -22
- package/skills/uipath-maestro-flow/references/shared/cli-commands.md +76 -184
- package/skills/uipath-maestro-flow/references/shared/cli-conventions.md +49 -60
- package/skills/uipath-maestro-flow/references/shared/file-format.md +32 -11
- package/skills/uipath-maestro-flow/references/shared/node-output-wiring.md +49 -104
- package/skills/uipath-maestro-flow/references/shared/ux-narration-and-todos.md +66 -103
- package/skills/uipath-maestro-flow/references/shared/variables-and-expressions.md +4 -4
- package/skills/uipath-planner/SKILL.md +1 -1
- package/skills/uipath-planner/assets/templates/case/case-sdd-template.md +5 -3
- package/skills/uipath-planner/references/case/case-design-lane-guide.md +1 -1
- package/skills/uipath-planner/references/case/case-design-layers-guide.md +2 -2
- package/skills/uipath-planner/references/non-pdd-lane-guide.md +2 -1
- package/skills/uipath-planner/references/pdd-driven-lane-guide.md +3 -2
- package/skills/uipath-planner/references/sdd-generation-guide.md +1 -0
- package/skills/uipath-planner/scripts/case/audit_sdd.py +77 -1
- package/skills/uipath-platform/SKILL.md +6 -4
- package/skills/uipath-platform/references/integration-service/activities.md +7 -4
- package/skills/uipath-platform/references/integration-service/reference-resolution.md +28 -0
- package/skills/uipath-platform/references/integration-service/resources.md +11 -0
- package/skills/uipath-platform/references/integration-service/triggers.md +2 -2
- package/skills/uipath-platform/references/licensing/diagnose/CAPABILITY.md +80 -0
- package/skills/uipath-platform/references/licensing/diagnose/references/failure-modes.md +147 -0
- package/skills/uipath-platform/references/licensing/diagnose/references/troubleshooting-guide.md +125 -0
- package/skills/uipath-platform/references/licensing/licensing.md +3 -0
- package/skills/uipath-platform/references/licensing/user-licenses-allocations.md +5 -0
- package/skills/uipath-platform/references/orchestrator/run-jobs.md +11 -2
- package/skills/uipath-platform/references/traces/feedback.md +4 -4
- package/skills/uipath-platform/references/traces/traces.md +1 -1
- package/skills/uipath-process-mining/SKILL.md +6 -6
- package/skills/uipath-process-mining/references/lifecycle-and-rbac.md +10 -8
- package/skills/uipath-process-mining/references/model-editing.md +1 -1
- package/skills/uipath-process-mining/references/querying.md +4 -3
- package/skills/uipath-review/SKILL.md +171 -541
- package/skills/uipath-review/references/agents/agents-lowcode-rules.md +73 -92
- package/skills/uipath-review/references/agents/guardrails/coded-guardrails-review.md +4 -0
- package/skills/uipath-review/references/agents/guardrails/guardrails-review.md +73 -180
- package/skills/uipath-review/references/architecture-assessment-guide.md +93 -105
- package/skills/uipath-review/references/review-workflow-guide.md +1 -1
- package/skills/uipath-review/references/rpa/modern-studio-issues.md +44 -44
- package/skills/uipath-review/references/rpa/rpa-common-issues.md +251 -321
- package/skills/uipath-review/references/rpa/rpa-review-checklist.md +1 -1
- package/skills/uipath-review/references/rule-catalog-workflow.md +25 -45
- package/skills/uipath-review/references/rule-format.md +21 -21
- package/skills/uipath-rpa/.maintenance/pattern-card-maintenance.md +1 -1
- package/skills/uipath-rpa/CLAUDE.md +4 -5
- package/skills/uipath-rpa/SKILL.md +40 -246
- package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/FindText.md +2 -10
- package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/GetColorAtPosition.md +2 -10
- package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/GetCursorPosition.md +2 -10
- package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/GetField.md +13 -13
- package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/GetFieldAtPosition.md +2 -10
- package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/GetScreenArea.md +27 -8
- package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/GetText.md +2 -14
- package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/GetTextAtPosition.md +2 -10
- package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/MoveCursor.md +3 -11
- package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/MoveCursorToText.md +2 -10
- package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/SendControlKey.md +2 -8
- package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/SendKeys.md +2 -10
- package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/SendKeysSecure.md +2 -10
- package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/SetField.md +14 -13
- package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/SetFieldAtPosition.md +4 -7
- package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/TerminalSession/_common-options.md +29 -0
- package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/TerminalSession/authoring-paths.md +58 -0
- package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/TerminalSession.md +197 -11
- package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/WaitFieldText.md +2 -10
- package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/WaitScreenReady.md +9 -10
- package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/WaitScreenText.md +2 -14
- package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities/WaitTextAtPosition.md +2 -10
- package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/activities.json +271 -0
- package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/coded/coded-api.md +61 -3
- package/skills/uipath-rpa/references/activity-docs/UiPath.Terminal.Activities/2.10/overview.md +76 -0
- package/skills/uipath-rpa/references/cli-reference.md +63 -29
- package/skills/uipath-rpa/references/coded/codedworkflow-reference.md +59 -1
- package/skills/uipath-rpa/references/coded/operations-guide.md +2 -1
- package/skills/uipath-rpa/references/debugging.md +29 -12
- package/skills/uipath-rpa/references/environment-setup.md +54 -1
- package/skills/uipath-rpa/references/execution-maps-guide.md +10 -9
- package/skills/uipath-rpa/references/legacy/activity-docs/_INVOKE-CODE.md +1 -1
- package/skills/uipath-rpa/references/uia-starter-guide.md +46 -8
- package/skills/uipath-rpa/references/xaml/common-pitfalls.md +3 -4
- package/skills/uipath-rpa/references/xaml/csharp-activity-binding-guide.md +7 -8
- package/skills/uipath-rpa/references/xaml/xaml-basics-and-rules.md +132 -42
- package/skills/uipath-solution/SKILL.md +9 -6
- package/skills/uipath-solution/references/activate-and-manage.md +11 -6
- package/skills/uipath-solution/references/develop-solution.md +39 -28
- package/skills/uipath-solution/references/pack-and-deploy.md +49 -1
- package/skills/uipath-solution/references/scenarios/failure-modes.md +1 -1
- package/skills/uipath-solution/references/scenarios/intra-solution-references.md +3 -3
- package/skills/uipath-solution/references/scenarios/manual-edits.md +1 -1
- package/skills/uipath-solution/references/scenarios.md +2 -2
- package/skills/uipath-solution/references/solution-overview.md +15 -6
- package/skills/uipath-tasks/SKILL.md +11 -6
- package/skills/uipath-tasks/references/task-assignment.md +5 -0
- package/skills/uipath-tasks/references/task-catalogs.md +7 -4
- package/skills/uipath-tasks/references/task-completion.md +3 -1
- package/skills/uipath-tasks/references/task-data.md +3 -3
- package/skills/uipath-tasks/references/task-lifecycle.md +11 -0
- package/skills/uipath-tasks/references/task-metadata.md +4 -3
- package/skills/uipath-test/SKILL.md +13 -28
- package/skills/uipath-test/references/failure-triage-guide.md +90 -0
- package/skills/uipath-test/references/playwright-first-mile-guide.md +2 -2
- package/skills/uipath-test/references/publish-and-link-guide.md +0 -1
- package/skills/uipath-test/references/test-result-report-guide.md +1 -2
- package/skills/uipath-troubleshoot/references/activity-packages/ui-automation/interpretations/healing-agent-data.md +1 -1
- package/skills/uipath-troubleshoot/references/presenting.md +1 -1
- package/skills/uipath-troubleshoot/references/products/maestro/playbooks/folder-not-accessible.md +1 -1
- package/skills/uipath-troubleshoot/references/products/maestro/playbooks/generic-error-400.md +4 -4
- package/skills/uipath-troubleshoot/references/products/maestro/playbooks/integration-service-400.md +2 -2
- package/skills/uipath-troubleshoot/references/products/maestro/playbooks/job-operation-timeout.md +1 -1
- package/skills/uipath-troubleshoot/references/products/maestro/playbooks/no-suitable-runtime-machine.md +1 -1
- package/version-manifest.json +2 -2
- package/skills/uipath-maestro-case/scripts/audit_plan.py +0 -231
- package/skills/uipath-maestro-flow/references/author/references/brownfield.md +0 -93
- package/skills/uipath-maestro-flow/references/author/references/editing-operations-json.md +0 -545
- package/skills/uipath-maestro-flow/references/author/references/editing-operations.md +0 -131
- package/skills/uipath-maestro-flow/references/author/references/planning-arch.md +0 -638
- package/skills/uipath-maestro-flow/references/author/references/planning-impl.md +0 -306
- package/skills/uipath-maestro-flow/references/author/references/plugins/agent/impl.md +0 -229
- package/skills/uipath-maestro-flow/references/author/references/plugins/batch-transform/impl.md +0 -174
- package/skills/uipath-maestro-flow/references/author/references/plugins/connector/impl.md +0 -741
- package/skills/uipath-maestro-flow/references/author/references/plugins/delay/impl.md +0 -75
- package/skills/uipath-maestro-flow/references/author/references/plugins/end/impl.md +0 -65
- package/skills/uipath-maestro-flow/references/author/references/plugins/hitl/impl.md +0 -204
- package/skills/uipath-maestro-flow/references/author/references/plugins/http/impl-manual.md +0 -65
- package/skills/uipath-maestro-flow/references/author/references/plugins/http/impl.md +0 -201
- package/skills/uipath-maestro-flow/references/author/references/plugins/merge/impl.md +0 -43
- package/skills/uipath-maestro-flow/references/author/references/plugins/merge/planning.md +0 -29
- package/skills/uipath-maestro-flow/references/author/references/plugins/rpa/impl.md +0 -121
- package/skills/uipath-maestro-flow/references/author/references/plugins/subflow/impl.md +0 -230
- package/skills/uipath-maestro-flow/references/author/references/plugins/summarize/impl.md +0 -198
- package/skills/uipath-maestro-flow/references/author/references/plugins/summarize/planning.md +0 -71
- package/skills/uipath-maestro-flow/references/author/references/plugins/switch/planning.md +0 -38
- package/skills/uipath-maestro-flow/references/author/references/plugins/terminate/impl.md +0 -48
- package/skills/uipath-maestro-flow/references/author/references/plugins/transform/impl.md +0 -287
- package/skills/uipath-maestro-flow/references/evaluate/references/eval-sets-guide.md +0 -226
- package/skills/uipath-maestro-flow/references/evaluate/references/upload-safety.md +0 -82
- package/skills/uipath-maestro-flow/references/operate/references/run.md +0 -99
- /package/skills/uipath-maestro-bpmn/references/diagnose/{references/failure-modes.md → failure-modes.md} +0 -0
- /package/skills/uipath-maestro-bpmn/references/operate/{references/manage.md → manage.md} +0 -0
- /package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/decision/planning.md +0 -0
- /package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/delay/planning.md +0 -0
- /package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/end/planning.md +0 -0
- /package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/flow/planning.md +0 -0
- /package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/ixp/planning.md +0 -0
- /package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/queue/impl.md +0 -0
- /package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/queue/planning.md +0 -0
- /package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/scheduled-trigger/planning.md +0 -0
- /package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/switch/impl.md +0 -0
- /package/skills/uipath-maestro-flow/references/author/{references/plugins → plugins}/terminate/planning.md +0 -0
- /package/skills/uipath-maestro-flow/references/evaluate/{references/evaluators-guide.md → evaluators-guide.md} +0 -0
- /package/skills/uipath-maestro-flow/references/evaluate/{references/running-guide.md → running-guide.md} +0 -0
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
# RPA Common Issues
|
|
2
2
|
|
|
3
|
-
Catalog of frequently found
|
|
3
|
+
Catalog of frequently found UiPath RPA project issues, with detection methods, severity guidance, and fixes.
|
|
4
4
|
|
|
5
5
|
## Structural Issues
|
|
6
6
|
|
|
7
7
|
### Missing .cs.json Metadata Files
|
|
8
8
|
|
|
9
|
-
**Symptom:** Coded workflow `.cs` files
|
|
9
|
+
**Symptom:** Coded workflow `.cs` files lack companion `.cs.json` files.
|
|
10
10
|
|
|
11
|
-
**Impact:** The workflow
|
|
11
|
+
**Impact:** The workflow is absent from Studio entry points, cannot be invoked reliably, and has undiscoverable arguments.
|
|
12
12
|
|
|
13
|
-
**Detection:**
|
|
13
|
+
**Detection:** Run:
|
|
14
14
|
```bash
|
|
15
15
|
# Find .cs files that should have .cs.json companions
|
|
16
16
|
# (files with [Workflow] or [TestCase] attributes)
|
|
@@ -19,686 +19,616 @@ grep -rl "\[Workflow\]\|\[TestCase\]" --include="*.cs" . | while read f; do
|
|
|
19
19
|
done
|
|
20
20
|
```
|
|
21
21
|
|
|
22
|
-
**Fix:** Use `uipath-rpa` skill to regenerate metadata, or run `uip rpa validate`
|
|
22
|
+
**Fix:** Use `uipath-rpa` skill to regenerate metadata, or run `uip rpa validate` to flag missing metadata.
|
|
23
23
|
|
|
24
24
|
### Broken Entry Points
|
|
25
25
|
|
|
26
|
-
**Symptom:** `
|
|
26
|
+
**Symptom:** `project.json` `entryPoints` references missing or renamed files.
|
|
27
27
|
|
|
28
|
-
**Detection:** Read project.json → `entryPoints`
|
|
28
|
+
**Detection:** Read `project.json` → `entryPoints` and verify every `filePath` exists.
|
|
29
29
|
|
|
30
|
-
**Fix:** Update `entryPoints`
|
|
30
|
+
**Fix:** Update `entryPoints` to actual workflow files or remove stale entries.
|
|
31
31
|
|
|
32
32
|
### Windows-Legacy Compatibility Lock-In
|
|
33
33
|
|
|
34
|
-
**Symptom:**
|
|
34
|
+
**Symptom:** `project.json` lacks `targetFramework` or has `targetFramework: "Legacy"`; this is the reliable marker. Expression language is usually VisualBasic, but Legacy C# projects exist.
|
|
35
35
|
|
|
36
|
-
**Support status:** Legacy is supported **indefinitely** in Studio LTS (2024.10, 2025.10, 2026.10, and all future LTS releases). It is NOT a deployment blocker
|
|
36
|
+
**Support status:** Legacy is supported **indefinitely** in Studio LTS (2024.10, 2025.10, 2026.10, and all future LTS releases). It is NOT a deployment blocker or mid-term support risk. Deprecation means no new Legacy features, not removal.
|
|
37
37
|
|
|
38
|
-
**NEVER flag as Critical based on framework alone
|
|
38
|
+
**Severity:** NEVER flag as Critical based on framework alone. Use Warning when it blocks desired modern features, or Info when Studio LTS is the organizational standard.
|
|
39
39
|
|
|
40
|
-
**
|
|
40
|
+
**Migration guidance:** Lead with the 2-3 features relevant to actual pain points: heavy UI maintenance → Healing Agent + Unified Target + Object Repository; weak testing → coded tests + Test Manager; AI use cases → Autopilot + Agents. SOAP web services are a valid reason to stay on Legacy because they are supported only in Legacy.
|
|
41
41
|
|
|
42
|
-
**
|
|
43
|
-
|
|
44
|
-
**Route Legacy-specific deep validation to `uipath-rpa` (Legacy mode).** The standard `uip rpa` tooling targets Windows/Cross-platform projects; Legacy mode in `uipath-rpa` uses the `uip rpa-legacy` CLI internally.
|
|
42
|
+
**Tooling:** Route Legacy-specific deep validation to `uipath-rpa` (Legacy mode). Standard `uip rpa` tooling targets Windows/Cross-platform projects; Legacy mode in `uipath-rpa` uses the `uip rpa-legacy` CLI internally.
|
|
45
43
|
|
|
46
44
|
Ranked feature list, severity matrix, migration tooling and blockers, pre-flight order, and post-migration checks: [rpa-review-checklist.md §10 "Windows-Legacy Compatibility"](rpa-review-checklist.md).
|
|
47
45
|
|
|
48
46
|
### Wrong Expression Language
|
|
49
47
|
|
|
50
|
-
**Symptom:** XAML
|
|
48
|
+
**Symptom:** XAML expressions do not match the project's `expressionLanguage`.
|
|
51
49
|
|
|
52
|
-
**Impact:** Expressions fail to compile.
|
|
50
|
+
**Impact:** Expressions fail to compile.
|
|
53
51
|
|
|
54
|
-
**Detection:** Read project.json `expressionLanguage`, then
|
|
52
|
+
**Detection:** Read `project.json` `expressionLanguage`, then inspect XAML for mismatched syntax.
|
|
55
53
|
|
|
56
|
-
**Fix:** Rewrite expressions in the
|
|
54
|
+
**Fix:** Rewrite expressions in the configured language, or change the project setting and rewrite all expressions.
|
|
57
55
|
|
|
58
56
|
## Performance Issues
|
|
59
57
|
|
|
60
58
|
### Oversized XAML Files
|
|
61
59
|
|
|
62
|
-
**Symptom:** XAML
|
|
60
|
+
**Symptom:** XAML exceeds 500KB; files above 5MB are critical and files above 7MB can hang Studio.
|
|
63
61
|
|
|
64
|
-
**Impact:** Studio
|
|
62
|
+
**Impact:** Studio is slow to open, edit, and save.
|
|
65
63
|
|
|
66
|
-
**Detection:**
|
|
64
|
+
**Detection:** Run:
|
|
67
65
|
```bash
|
|
68
66
|
find . -name "*.xaml" -size +500k -exec ls -lh {} \;
|
|
69
67
|
```
|
|
70
68
|
|
|
71
|
-
**Fix:**
|
|
69
|
+
**Fix:** Split workflows with Invoke Workflow File and extract reusable sequences.
|
|
72
70
|
|
|
73
71
|
### Hardcoded Delay Activities
|
|
74
72
|
|
|
75
|
-
**Symptom:** `Delay` activities
|
|
73
|
+
**Symptom:** Fixed-time `Delay` activities replace element-based waits.
|
|
76
74
|
|
|
77
|
-
**Impact:**
|
|
75
|
+
**Impact:** Delays waste time on fast systems and fail on slow systems.
|
|
78
76
|
|
|
79
|
-
**Detection:** Workflow Analyzer rules ST-DBP-026 and ST-PRR-004
|
|
77
|
+
**Detection:** Run Workflow Analyzer rules ST-DBP-026 and ST-PRR-004; also grep XAML for `Delay` activities.
|
|
80
78
|
|
|
81
|
-
**Fix:**
|
|
79
|
+
**Fix:** Use `Element Exists`, `Check App State`, `On Element Appear`, or `Retry Scope` with element-based conditions.
|
|
82
80
|
|
|
83
81
|
### Progressive Slowdown in Long-Running Processes
|
|
84
82
|
|
|
85
|
-
**Symptom:**
|
|
86
|
-
|
|
87
|
-
**Impact:** Jobs that should take 1 hour take 8. Timeouts, missed SLAs, wasted robot licenses.
|
|
83
|
+
**Symptom:** Processing slows progressively after 1+ hours without crashing.
|
|
88
84
|
|
|
89
|
-
**Root causes:**
|
|
85
|
+
**Root causes:** Orphaned `EXCEL.EXE`, browser DOM growth, uncleared DataTables, and per-iteration logging.
|
|
90
86
|
|
|
91
|
-
**Detection:** For
|
|
87
|
+
**Detection:** For loops over 50 iterations, verify `KillAllProcesses.xaml` kills Excel/browser processes; verify browsers close and reopen every 50-100 web iterations; check for growing DataTables and `Log Message` inside tight loops.
|
|
92
88
|
|
|
93
|
-
**Fix:**
|
|
89
|
+
**Fix:** Clean resources periodically; kill Excel in Finally blocks; close/reopen browsers every N iterations; clear temporary variables; log summaries before/after loops instead of every iteration.
|
|
94
90
|
|
|
95
91
|
### Nested Loops Over Large DataTables
|
|
96
92
|
|
|
97
|
-
**Symptom:** `For Each Row`
|
|
93
|
+
**Symptom:** Nested `For Each Row` or `For Each` activities process large datasets.
|
|
98
94
|
|
|
99
|
-
**Impact:** O(n^2)
|
|
95
|
+
**Impact:** O(n^2) work; 1000 rows can produce 1,000,000 iterations.
|
|
100
96
|
|
|
101
97
|
**Detection:** Search XAML for nested `ForEachRow` or `ForEach` activities.
|
|
102
98
|
|
|
103
|
-
**Fix:** Use LINQ
|
|
99
|
+
**Fix:** Use LINQ, `Filter Data Table`, `Join Data Table`, or `Dictionary`/`HashSet` lookups.
|
|
104
100
|
|
|
105
101
|
### Excessive Logging in Loops
|
|
106
102
|
|
|
107
|
-
**Symptom:** `Log Message`
|
|
103
|
+
**Symptom:** `Log Message` runs on every iteration of a tight loop.
|
|
108
104
|
|
|
109
|
-
**Impact:**
|
|
105
|
+
**Impact:** Orchestrator log flooding, slower execution, and higher storage cost.
|
|
110
106
|
|
|
111
|
-
**Detection:**
|
|
107
|
+
**Detection:** Inspect `For Each` and `While` loops for `Log Message` activities.
|
|
112
108
|
|
|
113
|
-
**Fix:** Log
|
|
109
|
+
**Fix:** Log summaries before/after loops, or counters at intervals such as every 100 items. Set production logging to Info.
|
|
114
110
|
|
|
115
111
|
### Unoptimized Selectors
|
|
116
112
|
|
|
117
|
-
**Symptom:** Selectors
|
|
113
|
+
**Symptom:** Selectors use unstable attributes such as `idx`, dynamic IDs, or session-specific values.
|
|
118
114
|
|
|
119
|
-
**Impact:** Intermittent
|
|
115
|
+
**Impact:** Intermittent, flaky runs.
|
|
120
116
|
|
|
121
|
-
**Detection:**
|
|
117
|
+
**Detection:** Run:
|
|
122
118
|
```bash
|
|
123
119
|
grep -r 'idx=' --include="*.xaml" .
|
|
124
120
|
```
|
|
125
121
|
|
|
126
|
-
**Fix:**
|
|
122
|
+
**Fix:** Prefer stable `id`, `name`, and `automationid`; wildcard dynamic portions; use Anchor Base and Object Repository.
|
|
127
123
|
|
|
128
124
|
## Security Issues
|
|
129
125
|
|
|
130
126
|
### Hardcoded Credentials
|
|
131
127
|
|
|
132
|
-
**Symptom:** Passwords, API keys, or connection strings embedded
|
|
128
|
+
**Symptom:** Passwords, API keys, or connection strings are embedded in XAML, `Config.xlsx`, or source code.
|
|
133
129
|
|
|
134
|
-
**Impact:** Credentials
|
|
130
|
+
**Impact:** Credentials may appear in source control, logs, and packages. **Severity: Critical.**
|
|
135
131
|
|
|
136
|
-
**Detection:**
|
|
132
|
+
**Detection:** Run:
|
|
137
133
|
```bash
|
|
138
134
|
# Check for common credential patterns in all project files
|
|
139
135
|
grep -ri "password\s*=" --include="*.xaml" --include="*.cs" --include="*.json" .
|
|
140
136
|
grep -ri "apikey\|api_key\|secret\|token" --include="*.xaml" --include="*.cs" --include="*.json" .
|
|
141
137
|
```
|
|
142
138
|
|
|
143
|
-
**Fix:** Use Orchestrator Credential Assets,
|
|
139
|
+
**Fix:** Use Orchestrator Credential Assets, CyberArk, Azure Key Vault, HashiCorp Vault, or Windows Credential Manager. Retrieve with `Get Credential`.
|
|
144
140
|
|
|
145
141
|
### SecureString Misuse
|
|
146
142
|
|
|
147
|
-
**Symptom:** `SecureString`
|
|
143
|
+
**Symptom:** `SecureString` becomes plain `String` through `.ToString()` or `new NetworkCredential("", secureString).Password`.
|
|
148
144
|
|
|
149
|
-
**Impact:**
|
|
145
|
+
**Impact:** Protection is defeated and the password may enter memory or logs.
|
|
150
146
|
|
|
151
|
-
**Detection:** Workflow Analyzer rule ST-SEC-009
|
|
147
|
+
**Detection:** Run Workflow Analyzer rule ST-SEC-009 and grep for `NetworkCredential` or `SecureStringToString` patterns.
|
|
152
148
|
|
|
153
|
-
**Fix:** Keep passwords as `SecureString
|
|
149
|
+
**Fix:** Keep passwords as `SecureString`; use `Type Secure Text` and `SecureString` arguments.
|
|
154
150
|
|
|
155
151
|
### Sensitive Data in Logs
|
|
156
152
|
|
|
157
|
-
**Symptom:**
|
|
153
|
+
**Symptom:** Logs contain PII, credentials, or business-sensitive values.
|
|
158
154
|
|
|
159
|
-
**Impact:** Sensitive
|
|
155
|
+
**Impact:** Sensitive information is exposed through Orchestrator logs.
|
|
160
156
|
|
|
161
|
-
**Detection:** Review all Log Message
|
|
157
|
+
**Detection:** Review all `Log Message` interpolations for sensitive fields.
|
|
162
158
|
|
|
163
|
-
**Fix:** Redact or mask
|
|
159
|
+
**Fix:** Redact or mask values, use Add Log Fields selectively, and review Orchestrator output after testing.
|
|
164
160
|
|
|
165
161
|
## Maintainability Issues
|
|
166
162
|
|
|
167
163
|
### God Workflows
|
|
168
164
|
|
|
169
|
-
**Symptom:**
|
|
165
|
+
**Symptom:** One file has 50+ activities and deeply nested logic; >200KB is suspicious.
|
|
170
166
|
|
|
171
|
-
**Impact:** Difficult
|
|
167
|
+
**Impact:** Difficult understanding, debugging, testing, and safe modification.
|
|
172
168
|
|
|
173
|
-
**Detection:**
|
|
169
|
+
**Detection:** Count activities and nesting depth; run ST-MRD-009.
|
|
174
170
|
|
|
175
|
-
**Fix:** Extract logical sections into sub-workflows.
|
|
171
|
+
**Fix:** Extract logical sections into single-responsibility sub-workflows. Target 15-30 activities per workflow.
|
|
176
172
|
|
|
177
173
|
### Default Activity Names
|
|
178
174
|
|
|
179
|
-
**Symptom:**
|
|
175
|
+
**Symptom:** Names remain `Sequence`, `Assign`, `If`, `Click`, or `Type Into`.
|
|
180
176
|
|
|
181
|
-
**Impact:**
|
|
177
|
+
**Impact:** Logic cannot be understood without opening properties.
|
|
182
178
|
|
|
183
|
-
**Detection:** Workflow Analyzer rule ST-MRD-002.
|
|
179
|
+
**Detection:** Run Workflow Analyzer rule ST-MRD-002.
|
|
184
180
|
|
|
185
|
-
**Fix:** Rename
|
|
181
|
+
**Fix:** Rename activities by purpose, such as `Click 'Login' Button`, `Assign Invoice Total`, or `Check if Customer Exists`.
|
|
186
182
|
|
|
187
183
|
### Magic Strings and Numbers
|
|
188
184
|
|
|
189
|
-
**Symptom:**
|
|
185
|
+
**Symptom:** Repeated literals such as column indices, status codes, paths, and email addresses are scattered through workflows.
|
|
190
186
|
|
|
191
|
-
**Impact:** Changes require
|
|
187
|
+
**Impact:** Changes require error-prone manual replacement.
|
|
192
188
|
|
|
193
|
-
**Detection:**
|
|
189
|
+
**Detection:** Run ST-USG-005 and review repeated literals.
|
|
194
190
|
|
|
195
|
-
**Fix:**
|
|
191
|
+
**Fix:** Use variables, `Config.xlsx`, Orchestrator assets, and named constants.
|
|
196
192
|
|
|
197
193
|
### Unused Variables and Dependencies
|
|
198
194
|
|
|
199
|
-
**Symptom:** Variables
|
|
195
|
+
**Symptom:** Variables are never referenced or packages provide no used activities.
|
|
200
196
|
|
|
201
|
-
**Impact:**
|
|
197
|
+
**Impact:** Clutter, confusion, and slower package restore.
|
|
202
198
|
|
|
203
|
-
**Detection:**
|
|
199
|
+
**Detection:** Run ST-USG-009 and ST-USG-010.
|
|
204
200
|
|
|
205
|
-
**Fix:** Remove unused variables and
|
|
201
|
+
**Fix:** Remove unused variables and packages.
|
|
206
202
|
|
|
207
203
|
### Deep Nesting
|
|
208
204
|
|
|
209
|
-
**Symptom:**
|
|
205
|
+
**Symptom:** More than three nested If-Else levels or deeply nested loops.
|
|
210
206
|
|
|
211
|
-
**Impact:**
|
|
207
|
+
**Impact:** Logic is difficult to follow and modify.
|
|
212
208
|
|
|
213
|
-
**Detection:**
|
|
209
|
+
**Detection:** Run ST-MRD-007 and ST-MRD-009.
|
|
214
210
|
|
|
215
|
-
**Fix:** Extract
|
|
211
|
+
**Fix:** Extract workflows, use Switch/Flowchart, and use early-return decision nodes.
|
|
216
212
|
|
|
217
213
|
## Error Handling Issues
|
|
218
214
|
|
|
219
215
|
### Throw Used Instead of Rethrow (Stack Trace Lost)
|
|
220
216
|
|
|
221
|
-
**Symptom:** Catch
|
|
217
|
+
**Symptom:** A Catch uses `Throw` with `New Exception(exception.Message)` instead of `Rethrow`.
|
|
222
218
|
|
|
223
|
-
**Impact:** Original stack trace
|
|
219
|
+
**Impact:** Original stack trace is lost. **Severity: Warning.**
|
|
224
220
|
|
|
225
|
-
**Detection:**
|
|
221
|
+
**Detection:** Inspect `<Throw>` inside `<Catch>` that creates a new exception. It should use argument-free `Rethrow`.
|
|
226
222
|
|
|
227
|
-
**Fix:** Replace
|
|
228
|
-
|
|
229
|
-
**Severity:** Warning
|
|
223
|
+
**Fix:** Replace with `Rethrow`; if wrapping is required, use `Throw New Exception("context", exception)`.
|
|
230
224
|
|
|
231
225
|
### Global Exception Handler Causing Cascading Retry Storms
|
|
232
226
|
|
|
233
|
-
**Symptom:**
|
|
234
|
-
|
|
235
|
-
**Impact:** Nested activity failures trigger the Global Handler at every parent level. A 3-retry configuration actually produces dozens of retries (6 inner × 3 outer = 18 total). Documented cases of infinite loops.
|
|
227
|
+
**Symptom:** `GlobalHandler.xaml` unconditionally sets `result = Retry`.
|
|
236
228
|
|
|
237
|
-
**
|
|
229
|
+
**Impact:** Parent handlers multiply nested retries: a 3-retry configuration nested one level produces `6 inner × 3 outer = 18` executions, with documented cases of infinite loops. **Severity: Warning.**
|
|
238
230
|
|
|
239
|
-
**
|
|
231
|
+
**Detection:** Read `GlobalHandler.xaml`; flag unconditional retry without activity- or exception-type filtering.
|
|
240
232
|
|
|
241
|
-
**
|
|
233
|
+
**Fix:** Exclude Throw, Rethrow, Try-Catch, and Retry Scope. Retry only selected transient-prone activities such as HTTP and UI actions.
|
|
242
234
|
|
|
243
235
|
### Global Exception Handler + REFramework (Redundant and Conflicting)
|
|
244
236
|
|
|
245
|
-
**Symptom:**
|
|
237
|
+
**Symptom:** Both `Framework/` and `GlobalHandler.xaml` exist.
|
|
246
238
|
|
|
247
|
-
**Impact:**
|
|
239
|
+
**Impact:** The global handler interferes with REFramework state transitions and recovery. **Severity: Warning.**
|
|
248
240
|
|
|
249
|
-
**Detection:** Check for both
|
|
241
|
+
**Detection:** Check for both paths.
|
|
250
242
|
|
|
251
|
-
**Fix:** Remove `GlobalHandler.xaml`
|
|
252
|
-
|
|
253
|
-
**Severity:** Warning
|
|
243
|
+
**Fix:** Remove `GlobalHandler.xaml` from REFramework projects and use `SetTransactionStatus` and `RetryCurrentTransaction`.
|
|
254
244
|
|
|
255
245
|
### Empty Catch Blocks
|
|
256
246
|
|
|
257
|
-
**Symptom:**
|
|
247
|
+
**Symptom:** Catch body is empty.
|
|
258
248
|
|
|
259
|
-
**Impact:** Errors
|
|
249
|
+
**Impact:** Errors are silently swallowed.
|
|
260
250
|
|
|
261
|
-
**Detection:**
|
|
251
|
+
**Detection:** Run ST-DBP-003.
|
|
262
252
|
|
|
263
|
-
**Fix:** At minimum
|
|
253
|
+
**Fix:** At minimum log the exception; then handle, rethrow, or escalate deliberately.
|
|
264
254
|
|
|
265
255
|
### No Business vs System Exception Distinction
|
|
266
256
|
|
|
267
|
-
**Symptom:** All exceptions treated identically
|
|
257
|
+
**Symptom:** All exceptions are treated identically.
|
|
268
258
|
|
|
269
|
-
**Impact:** Business
|
|
259
|
+
**Impact:** Business errors are retried and system errors are not appropriately retried.
|
|
270
260
|
|
|
271
|
-
**Detection:** Grep
|
|
261
|
+
**Detection:** Grep `.xaml` and `.cs` for `BusinessRuleException`; inspect REFramework status handling.
|
|
272
262
|
|
|
273
|
-
**Fix:** Throw `BusinessRuleException` for data/validation issues
|
|
263
|
+
**Fix:** Throw `BusinessRuleException` for data/validation issues, such as `Throw New BusinessRuleException("Invoice amount is negative")`; let system exceptions propagate for transient retry.
|
|
274
264
|
|
|
275
265
|
### ContinueOnError Overuse
|
|
276
266
|
|
|
277
|
-
**Symptom:** `ContinueOnError=True`
|
|
267
|
+
**Symptom:** Multiple activities use `ContinueOnError=True` or `ContinueOnError="{x:Null}"` as blanket suppression.
|
|
278
268
|
|
|
279
|
-
**Impact:**
|
|
269
|
+
**Impact:** Invalid state continues downstream.
|
|
280
270
|
|
|
281
271
|
**Detection:** Grep XAML for `ContinueOnError="True"` or `ContinueOnError="{x:Null}"`.
|
|
282
272
|
|
|
283
|
-
**Fix:** Remove
|
|
273
|
+
**Fix:** Remove it and use Try-Catch. Retain only with an explicit reason annotation.
|
|
284
274
|
|
|
285
275
|
### Missing Finally Blocks for Resource Cleanup
|
|
286
276
|
|
|
287
|
-
**Symptom:** Try-Catch
|
|
277
|
+
**Symptom:** Resource-wrapping Try-Catch lacks Finally cleanup.
|
|
288
278
|
|
|
289
|
-
**Impact:**
|
|
279
|
+
**Impact:** Files, database connections, and applications leak across retries and Init cycles.
|
|
290
280
|
|
|
291
|
-
**Detection:**
|
|
281
|
+
**Detection:** Inspect Try-Catch around file I/O, database, and application scopes for a cleanup-containing Finally.
|
|
292
282
|
|
|
293
|
-
**Fix:**
|
|
283
|
+
**Fix:** Close/dispose resources in Finally: `Close Application`, `Kill Process`, or `Close Workbook`. This is critical in REFramework `Process.xaml` and `SetTransactionStatus`.
|
|
294
284
|
|
|
295
285
|
### Generic Exception Catching
|
|
296
286
|
|
|
297
|
-
**Symptom:**
|
|
287
|
+
**Symptom:** Every Catch handles only `System.Exception`.
|
|
298
288
|
|
|
299
|
-
**Impact:**
|
|
289
|
+
**Impact:** Transient, business, and application failures receive inappropriate handling.
|
|
300
290
|
|
|
301
|
-
**Detection:**
|
|
291
|
+
**Detection:** Inspect Catch types; generic-only handling is a code smell.
|
|
302
292
|
|
|
303
|
-
**Fix:** Catch specific
|
|
293
|
+
**Fix:** Catch specific types first, such as `TimeoutException`, `SelectorNotFoundException`, and `BusinessRuleException`. Add a final `System.Exception` safety catch that logs full details and rethrows.
|
|
304
294
|
|
|
305
295
|
### Missing Retry Logic for External Calls
|
|
306
296
|
|
|
307
|
-
**Symptom:** HTTP
|
|
297
|
+
**Symptom:** HTTP, API, or database operations are outside Retry Scope.
|
|
308
298
|
|
|
309
|
-
**Impact:** Transient
|
|
299
|
+
**Impact:** Transient failures become permanent failures.
|
|
310
300
|
|
|
311
|
-
**Detection:**
|
|
301
|
+
**Detection:** Inspect HTTP Request, Invoke Method, and database activities.
|
|
312
302
|
|
|
313
|
-
**Fix:**
|
|
303
|
+
**Fix:** Use Retry Scope with suitable count and interval; use exponential backoff for API rate limiting.
|
|
314
304
|
|
|
315
305
|
## Queue and Transaction Issues
|
|
316
306
|
|
|
317
307
|
### No Queue for High-Volume Processing
|
|
318
308
|
|
|
319
|
-
**Symptom:**
|
|
309
|
+
**Symptom:** More than 50 independent items are processed sequentially without Orchestrator queues.
|
|
320
310
|
|
|
321
|
-
**Impact:** No per-item retry,
|
|
311
|
+
**Impact:** No per-item retry, audit trail, or distributed processing.
|
|
322
312
|
|
|
323
|
-
**Detection:** Check
|
|
313
|
+
**Detection:** Check whether a dataset is read and looped without queue use.
|
|
324
314
|
|
|
325
|
-
**Recommendation:**
|
|
315
|
+
**Recommendation:** For volume >50 items/run AND independent items, recommend Dispatcher-Performer with queues. Flag **Info** because low-volume or dependent processing may be intentional.
|
|
326
316
|
|
|
327
317
|
### Hardcoded Queue Names
|
|
328
318
|
|
|
329
|
-
**Symptom:** Queue
|
|
319
|
+
**Symptom:** Queue names are literal strings in `Add Queue Item` or `Get Transaction Item`.
|
|
330
320
|
|
|
331
|
-
**Impact:**
|
|
321
|
+
**Impact:** Environment changes require republishing.
|
|
332
322
|
|
|
333
|
-
**Detection:**
|
|
323
|
+
**Detection:** Inspect those activities for literal names.
|
|
334
324
|
|
|
335
|
-
**Fix:** Store
|
|
325
|
+
**Fix:** Store names in `Config.xlsx` or Orchestrator assets and use `Config("QueueName")`.
|
|
336
326
|
|
|
337
327
|
### Missing Transaction Status Updates
|
|
338
328
|
|
|
339
|
-
**Symptom:**
|
|
329
|
+
**Symptom:** `Set Transaction Status` is absent on success or failure paths.
|
|
340
330
|
|
|
341
|
-
**Impact:** Items remain
|
|
331
|
+
**Impact:** Items remain In Progress for ~24 hours before abandonment.
|
|
342
332
|
|
|
343
|
-
**Detection:**
|
|
333
|
+
**Detection:** Inspect every `ProcessTransaction` path.
|
|
344
334
|
|
|
345
|
-
**Fix:**
|
|
335
|
+
**Fix:** Set status on success and failure/catch paths, using Finally where appropriate.
|
|
346
336
|
|
|
347
337
|
### Queue Items Stuck "In Progress" After Bot Crash
|
|
348
338
|
|
|
349
|
-
**Symptom:**
|
|
350
|
-
|
|
351
|
-
**Impact:** During the 24-hour window, the item cannot be retried. No built-in auto-reset mechanism. For HITL workflows, this is worse — if the human takes >24 hours, the item is abandoned even though the workflow is legitimately waiting.
|
|
339
|
+
**Symptom:** A crash leaves an item In Progress for 24 hours; HITL work may be abandoned while legitimately waiting.
|
|
352
340
|
|
|
353
|
-
**Detection:** Check
|
|
341
|
+
**Detection:** Check Init for orphan cleanup querying old In Progress items and resetting them; check long-running/HITL workflows for the long-running workflow template.
|
|
354
342
|
|
|
355
|
-
**Fix:**
|
|
343
|
+
**Fix:** In Init, run `Get Queue Items` filtered by `InProgress` and age >2 hours, then set stale items to Failed for retry. Use the long-running workflow framework for HITL.
|
|
356
344
|
|
|
357
345
|
## REFramework-Specific Issues
|
|
358
346
|
|
|
359
347
|
### Double-Retry Configuration
|
|
360
348
|
|
|
361
|
-
**Symptom:**
|
|
349
|
+
**Symptom:** `MaxRetryNumber > 0` in `Config.xlsx` and `Max # of Retries > 0` on the Orchestrator Queue.
|
|
362
350
|
|
|
363
|
-
**Impact:** Retries multiply
|
|
351
|
+
**Impact:** Retries multiply; values of 3 and 3 allow up to 9 attempts.
|
|
364
352
|
|
|
365
|
-
**Detection:** Read Config.xlsx Constants
|
|
353
|
+
**Detection:** Read `Config.xlsx` Constants and the queue configuration.
|
|
366
354
|
|
|
367
|
-
**Fix:** Use one mechanism
|
|
355
|
+
**Fix:** Use one mechanism. For queue-based processing set `MaxRetryNumber=0` and configure queue retries; otherwise use `MaxRetryNumber`.
|
|
368
356
|
|
|
369
357
|
### Transaction Shape: One-to-Many (Bulk-in-Transaction / Thick Transaction)
|
|
370
358
|
|
|
371
|
-
**
|
|
372
|
-
|
|
373
|
-
This shape applies to **any project type**:
|
|
374
|
-
- **RPA queue:** queue item = company, execution body loops employees
|
|
375
|
-
- **Flow:** flow input = one request, body fans out to N downstream calls
|
|
376
|
-
- **Agent:** one agent invocation produces N tool calls that should be separate sessions
|
|
377
|
-
- **API workflow:** one request triggers N writes
|
|
378
|
-
|
|
379
|
-
**Shape detection (mechanical — this is classification, not a verdict):**
|
|
359
|
+
**Definition:** A declared input represents one entity, but the execution body iterates over a collection of business entities and performs external effects per sub-item. This applies to RPA queues, flows, agents, and API workflows.
|
|
380
360
|
|
|
381
|
-
|
|
382
|
-
1. The
|
|
383
|
-
2. The loop body performs
|
|
361
|
+
**Mechanical classification:** Both conditions must hold:
|
|
362
|
+
1. The body uses `ForEach`, `While`, `for`, or `foreach` over a collection field of the declared input.
|
|
363
|
+
2. The loop body performs an external effect: side-effecting workflow invocation, HTTP call, queue operation, DB write, persistent UI action, file write outside Temp, or email send.
|
|
384
364
|
|
|
385
|
-
Session scope, shared credentials,
|
|
386
|
-
|
|
387
|
-
**Remediation depends on two independent questions:**
|
|
365
|
+
Session scope, shared credentials, one-portal framing, and PDD wording do not change the shape.
|
|
388
366
|
|
|
389
367
|
**Question A — Are sub-units independently splittable?**
|
|
368
|
+
- **Yes:** Invoices, orders, records, and files are free-standing; use dispatcher/performer so each is one atomic item.
|
|
369
|
+
- **No:** Sequential domains such as carrier group-plan enrollment, SAP multi-step transactions, or bank wire setup require in-place partial-failure hardening.
|
|
370
|
+
- If unclear, default to “yes, probably splittable” and recommend investigation.
|
|
390
371
|
|
|
391
|
-
|
|
392
|
-
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
372
|
+
**Question B — What recovery exists?** Count any of these as an idempotency or progress guard:
|
|
373
|
+
- Read-check-before-write: `Get X`, SELECT, HTTP GET, or `File Exists` immediately before the corresponding write.
|
|
374
|
+
- Conditional skip based on already exists/processed state.
|
|
375
|
+
- Queue dedup with `UniqueReference`.
|
|
376
|
+
- SQL `MERGE`, `INSERT ... ON CONFLICT`, `UPSERT`, or `INSERT ... WHERE NOT EXISTS`.
|
|
377
|
+
- HTTP `Idempotency-Key`, `If-Match`, or `If-None-Match` ETag.
|
|
378
|
+
- Status filter such as `WHERE Status != 'Processed'`.
|
|
379
|
+
- Pre-check workflow invocation whose display name or purpose contains, case-insensitively, `check`, `verify`, `exists`, `processed`, `already`, `idempoten`, or `skip`.
|
|
380
|
+
- Persistent per-sub-item progress written to queue `Output`, Data Service, or external state.
|
|
399
381
|
|
|
400
|
-
|
|
401
|
-
|---|---|
|
|
402
|
-
| Read-check-before-write | `Get X` / SELECT / HTTP GET / `File Exists` immediately before each write for the same entity |
|
|
403
|
-
| Conditional skip | `If` / `Switch` skipping the write based on "already exists / processed" |
|
|
404
|
-
| Queue dedup | `Add Queue Item` with `UniqueReference` populated |
|
|
405
|
-
| SQL idempotency | `MERGE`, `INSERT ... ON CONFLICT`, `UPSERT`, `INSERT ... WHERE NOT EXISTS` |
|
|
406
|
-
| HTTP idempotency | `Idempotency-Key` header, `If-Match` / `If-None-Match` ETag |
|
|
407
|
-
| Status filter on reads | `WHERE Status != 'Processed'` |
|
|
408
|
-
| Pre-check workflow invocation | Workflow invoked before writes whose display name or purpose contains (case-insensitive) `check`, `verify`, `exists`, `processed`, `already`, `idempoten`, `skip` — one common form, not the only form |
|
|
409
|
-
| Per-sub-item progress writes | Writing to queue `Output` / Data Service / external state after each sub-unit |
|
|
382
|
+
Look semantically, not by filename. A filename like `CheckIfEmployeeExists.xaml` is one manifestation, not the signal itself — inline checks, SQL patterns, HTTP headers, queue `UniqueReference`s, and conditional branches all count.
|
|
410
383
|
|
|
411
|
-
|
|
384
|
+
**Severity and finding framing:**
|
|
412
385
|
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
| A: Splittable? | B: Recovery posture | Severity | Finding framing |
|
|
386
|
+
| Splittable? | Recovery posture | Severity | Finding framing |
|
|
416
387
|
|---|---|---|---|
|
|
417
|
-
| Yes | No guards + `MaxRetryNumber` < 2 | **Critical** |
|
|
418
|
-
| Yes | Guards
|
|
419
|
-
| No | No guards, no progress tracking | **Warning** |
|
|
420
|
-
| No | Guards + adequate retry but no per-sub-item progress output | **Info** |
|
|
421
|
-
| Yes | Guards + retry + per-sub-item output | **Info** |
|
|
388
|
+
| Yes | No guards + `MaxRetryNumber` < 2 | **Critical** | Split into dispatcher/performer; current architecture risks partial-state corruption on transient failure. |
|
|
389
|
+
| Yes | Guards + weak progress output | **Warning** | Consider dispatcher/performer for better analytics and retry isolation. |
|
|
390
|
+
| No | No guards, no progress tracking | **Warning** | Add idempotency guards and per-sub-item progress markers; replay currently repeats prior work. |
|
|
391
|
+
| No | Guards + adequate retry but no per-sub-item progress output | **Info** | Add per-sub-item progress markers to queue Output for observability. |
|
|
392
|
+
| Yes | Guards + retry + per-sub-item output | **Info** | Working with compensation; consider dispatcher/performer if volume grows. |
|
|
422
393
|
|
|
423
394
|
#### When it cannot be split — hardening checklist
|
|
424
395
|
|
|
425
|
-
|
|
396
|
+
Verify every safeguard below. Report each missing safeguard as a separate numbered finding:
|
|
426
397
|
|
|
427
|
-
| # | Safeguard |
|
|
398
|
+
| # | Safeguard | Verification | Severity if missing |
|
|
428
399
|
|---|---|---|---|
|
|
429
|
-
| 1 | **Per-sub-item try-catch** |
|
|
430
|
-
| 2 | **Per-sub-item status tracking** |
|
|
431
|
-
| 3 | **Resumability after crash** |
|
|
432
|
-
| 4 | **Idempotency on each sub-item write** | Re-
|
|
433
|
-
| 5 | **Error classification per sub-item** |
|
|
434
|
-
| 6 | **Bounded retry per sub-item** | Failed sub-items have a
|
|
435
|
-
| 7 | **Screenshot/evidence on sub-item failure** |
|
|
436
|
-
| 8 | **Summary logging after loop** |
|
|
437
|
-
| 9 | **Application state recovery between sub-items** |
|
|
438
|
-
| 10 | **Timeout per sub-item** | Each
|
|
439
|
-
|
|
440
|
-
|
|
400
|
+
| 1 | **Per-sub-item try-catch** | Each sub-item write has its own Try-Catch, not one Try-Catch around the loop. | Critical |
|
|
401
|
+
| 2 | **Per-sub-item status tracking** | Each success/failure is persisted in queue Output, Data Service, database, status column, or equivalent. | Warning |
|
|
402
|
+
| 3 | **Resumability after crash** | Retry resumes after the last completed sub-item rather than replaying from the beginning. | Warning |
|
|
403
|
+
| 4 | **Idempotency on each sub-item write** | Re-execution cannot create duplicates: check-before-write, UPSERT, UniqueReference, or conditional skip. | Critical |
|
|
404
|
+
| 5 | **Error classification per sub-item** | Business errors skip/move on; system errors retry or abort; they are not treated identically. | Warning |
|
|
405
|
+
| 6 | **Bounded retry per sub-item** | Failed sub-items have a maximum retry count; no infinite inner retry. | Warning |
|
|
406
|
+
| 7 | **Screenshot/evidence on sub-item failure** | Capture screenshot and error details before moving to the next item. | Info |
|
|
407
|
+
| 8 | **Summary logging after loop** | Report total, succeeded, failed, and skipped counts. | Warning |
|
|
408
|
+
| 9 | **Application state recovery between sub-items** | Return the application to a known state after failure before processing the next item. | Critical |
|
|
409
|
+
| 10 | **Timeout per sub-item** | Each item has a reasonable timeout independent of only the global job timeout. | Info |
|
|
410
|
+
|
|
411
|
+
Anchor findings on activity display names, never XAML line numbers. Use formats such as:
|
|
441
412
|
- `[W-005] One-to-many loop in Process.xaml (For Each 'Process Employees'): no per-sub-item status tracking — partial progress invisible after crash`
|
|
442
413
|
- `[C-003] One-to-many loop in Process.xaml (For Each 'Process Employees'): no idempotency guard on sub-item write — retry creates duplicate records`
|
|
443
414
|
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
**Why this shape is a real problem (when remediation is weak):**
|
|
447
|
-
|
|
448
|
-
1. Non-atomic — sub-item #15 of 50 fails and the whole invocation is marked failed despite 14 succeeded
|
|
449
|
-
2. Retry replays everything — one transient failure re-executes every prior sub-item (wasted time, duplicate risk without guards)
|
|
450
|
-
3. Analytics lie — Orchestrator reports "1 processed" when N sub-operations ran
|
|
451
|
-
4. Partial-success invisibility — `SetTransactionStatus` captures only the first inner failure
|
|
452
|
-
5. Blocking runtime — long single transactions tie up a robot; host crash loses in-progress work
|
|
415
|
+
**Why weak remediation matters:** One failure makes the invocation non-atomic; retries replay prior work; Orchestrator analytics report one transaction instead of N operations; `SetTransactionStatus` captures only the first inner failure; and long transactions lose work on host failure while occupying a robot.
|
|
453
416
|
|
|
454
|
-
**
|
|
455
|
-
|
|
456
|
-
- "The portal models this as one transaction" — UX framing ≠ atomicity
|
|
457
|
-
- "It's all in one `Use Application/Browser`" — session ≠ atomicity
|
|
458
|
-
- "They share one credential / connection" — auth reuse ≠ atomicity
|
|
459
|
-
- "The PDD calls this one transaction" — declared intent ≠ execution reality
|
|
460
|
-
- "Guards exist, so it's fine" — guards are a *remediation* signal (affect severity); they do not re-shape a one-to-many into a one-to-one
|
|
461
|
-
|
|
462
|
-
The shape is what the execution body does. Remediation posture and business constraints govern severity and the recommended fix — not the shape label.
|
|
417
|
+
**Misreadings that do not change the shape:** Portal transaction framing, one `Use Application/Browser`, shared credentials or connections, PDD terminology, and the existence of guards. Guards affect severity and remediation, not classification.
|
|
463
418
|
|
|
464
419
|
### System Exception Swallowed by Try-Catch in ProcessTransaction
|
|
465
420
|
|
|
466
|
-
**Symptom:**
|
|
421
|
+
**Symptom:** A Try-Catch in `Process.xaml` catches `System.Exception` without rethrowing.
|
|
467
422
|
|
|
468
|
-
**Impact:**
|
|
423
|
+
**Impact:** REFramework marks the transaction Success instead of retrying; this is a common production failure.
|
|
469
424
|
|
|
470
|
-
**Detection:**
|
|
425
|
+
**Detection:** Inspect every Catch in `Process.xaml`.
|
|
471
426
|
|
|
472
|
-
**Fix:**
|
|
427
|
+
**Fix:** Rethrow system exceptions so they reach the state machine, or catch only `BusinessRuleException` without rethrowing.
|
|
473
428
|
|
|
474
429
|
### Config.xlsx Environment-Specific Values in Wrong Sheet
|
|
475
430
|
|
|
476
|
-
**Symptom:**
|
|
431
|
+
**Symptom:** URLs, paths, queue names, or credentials are in Settings or Constants instead of Assets.
|
|
477
432
|
|
|
478
|
-
**Impact:**
|
|
433
|
+
**Impact:** Environment deployment requires editing and republishing; secrets may enter source control.
|
|
479
434
|
|
|
480
|
-
**Detection:**
|
|
435
|
+
**Detection:** Verify Constants contains only true constants such as `MaxRetryNumber` and timeouts; Settings contains environment-agnostic settings; Assets contains environment-specific values referencing Orchestrator asset names.
|
|
481
436
|
|
|
482
|
-
**Fix:** Move environment-specific values to
|
|
437
|
+
**Fix:** Move environment-specific values to Assets, create assets per environment, and use `Config("AssetName")`.
|
|
483
438
|
|
|
484
439
|
### MaxConsecutiveSystemExceptions Disabled
|
|
485
440
|
|
|
486
|
-
**Symptom:** `MaxConsecutiveSystemExceptions`
|
|
441
|
+
**Symptom:** `MaxConsecutiveSystemExceptions` is `0` in `Config.xlsx` Constants.
|
|
487
442
|
|
|
488
|
-
**Impact:** The bot
|
|
443
|
+
**Impact:** The bot can process indefinitely while every transaction fails.
|
|
489
444
|
|
|
490
|
-
**Detection:** Read
|
|
445
|
+
**Detection:** Read the Constants sheet.
|
|
491
446
|
|
|
492
|
-
**Fix:** Set
|
|
447
|
+
**Fix:** Set a circuit-breaker value, typically 3-5.
|
|
493
448
|
|
|
494
449
|
### Empty CloseAllApplications and KillAllProcesses
|
|
495
450
|
|
|
496
|
-
**Symptom:**
|
|
451
|
+
**Symptom:** `Framework/CloseAllApplications.xaml` or `Framework/KillAllProcesses.xaml` contains only the default empty Sequence.
|
|
497
452
|
|
|
498
|
-
**Impact:** Applications accumulate
|
|
453
|
+
**Impact:** Applications accumulate, causing leaks, session conflicts, and stale selectors.
|
|
499
454
|
|
|
500
|
-
**Detection:** Read
|
|
455
|
+
**Detection:** Read both files.
|
|
501
456
|
|
|
502
|
-
**Fix:** Implement
|
|
457
|
+
**Fix:** Implement graceful `Close Application` activities and `Kill Process` for each required application process.
|
|
503
458
|
|
|
504
459
|
### Business Logic in Framework Folder
|
|
505
460
|
|
|
506
|
-
**Symptom:** Custom
|
|
461
|
+
**Symptom:** Custom logic is added to `Framework/` files such as `InitAllSettings.xaml`, framework-level `GetTransactionData.xaml`, or similar.
|
|
507
462
|
|
|
508
|
-
**Impact:**
|
|
463
|
+
**Impact:** Template upgrades can overwrite it and the project becomes non-standard.
|
|
509
464
|
|
|
510
|
-
**Detection:** Compare Framework
|
|
465
|
+
**Detection:** Compare Framework files with the original REFramework template on GitHub.
|
|
511
466
|
|
|
512
|
-
**Fix:** Move customizations to root-level
|
|
467
|
+
**Fix:** Move customizations to root-level `Process.xaml`, root `GetTransactionData.xaml`, or root `SetTransactionStatus.xaml`.
|
|
513
468
|
|
|
514
469
|
## Production Environment Issues
|
|
515
470
|
|
|
516
471
|
### Unattended Robot Session Failures
|
|
517
472
|
|
|
518
|
-
**Symptom:**
|
|
473
|
+
**Symptom:** Production-only desktop, selector, or foreground errors.
|
|
519
474
|
|
|
520
|
-
**
|
|
521
|
-
- Different screen resolution or DPI scaling between dev and production machines
|
|
522
|
-
- RDP session disconnect due to network issues or Group Policy timeouts
|
|
523
|
-
- UAC prompts blocking robot UI interaction
|
|
524
|
-
- Windows "Display information about previous logons" policy preventing session creation
|
|
475
|
+
**Causes:** Screen resolution/DPI differences, RDP disconnects or Group Policy timeouts, UAC prompts, or the Windows “Display information about previous logons” policy.
|
|
525
476
|
|
|
526
|
-
**Detection:**
|
|
477
|
+
**Detection:** Inspect production logs and compare development/production resolution and DPI.
|
|
527
478
|
|
|
528
|
-
**Fix:** Develop at
|
|
479
|
+
**Fix:** Develop at production resolution; disable idle session timeouts through Group Policy; prevent UAC-triggering auto-start programs; align RDP settings.
|
|
529
480
|
|
|
530
481
|
### Excel Process Hanging
|
|
531
482
|
|
|
532
|
-
**Symptom:** Excel
|
|
483
|
+
**Symptom:** Excel scope completes but `EXCEL.EXE` remains and the robot hangs.
|
|
533
484
|
|
|
534
|
-
**Detection:** Check for orphaned EXCEL.EXE
|
|
485
|
+
**Detection:** Check for orphaned `EXCEL.EXE` and Excel activity timeouts.
|
|
535
486
|
|
|
536
|
-
**Fix:** Add Kill Process for EXCEL.EXE in KillAllProcesses.xaml
|
|
487
|
+
**Fix:** Add `Kill Process` for `EXCEL.EXE` in `KillAllProcesses.xaml` and Finally blocks. In coded workflows use `System.Diagnostics.Process.GetProcessesByName("EXCEL")` to force-kill.
|
|
537
488
|
|
|
538
489
|
### Selector Breakage After Deployment
|
|
539
490
|
|
|
540
|
-
**Symptom:**
|
|
491
|
+
**Symptom:** Development selectors fail in production.
|
|
541
492
|
|
|
542
|
-
**
|
|
543
|
-
- Browser version differences (Chrome upgrades frequently break selectors)
|
|
544
|
-
- Screen resolution / DPI scaling differences
|
|
545
|
-
- OS version differences (Windows Server vs Windows 10/11)
|
|
546
|
-
- Application version differences (SAP GUI versions, web app deployments)
|
|
493
|
+
**Causes:** Browser, OS, application-version, resolution, or DPI differences.
|
|
547
494
|
|
|
548
|
-
**Detection:** Compare
|
|
495
|
+
**Detection:** Compare all those versions and settings.
|
|
549
496
|
|
|
550
|
-
**Fix:** Validate
|
|
497
|
+
**Fix:** Validate on production machines; use automationId, name, and role; avoid idx; use Object Repository and consider Healing Agent.
|
|
551
498
|
|
|
552
499
|
### Large Output Data Failures
|
|
553
500
|
|
|
554
|
-
**Symptom:**
|
|
501
|
+
**Symptom:** Large DataTables or JSON outputs cause message-size failures.
|
|
555
502
|
|
|
556
|
-
**Impact:** Output arguments
|
|
503
|
+
**Impact:** Output arguments exceed `maxMessageSizeInMegabytes`.
|
|
557
504
|
|
|
558
|
-
**Detection:**
|
|
505
|
+
**Detection:** Inspect large output arguments.
|
|
559
506
|
|
|
560
|
-
**Fix:** Store large outputs in Storage Buckets or Data Service
|
|
507
|
+
**Fix:** Store large outputs in Storage Buckets or Data Service and process in batches.
|
|
561
508
|
|
|
562
509
|
### Browser Auto-Update Breaking Selectors
|
|
563
510
|
|
|
564
|
-
**Symptom:**
|
|
511
|
+
**Symptom:** Browser updates break AA-mode selectors, including known Chrome v114 and v117 failures involving iFrames and PDFs.
|
|
565
512
|
|
|
566
|
-
**
|
|
513
|
+
**Detection:** Check whether browser updates are controlled and inspect browser selectors for `aaname` or `role`.
|
|
567
514
|
|
|
568
|
-
**
|
|
569
|
-
|
|
570
|
-
**Fix:** Pin browser versions in production (disable auto-update). Use UIA mode instead of AA where possible. Consider `--force-renderer-accessibility=complete` browser flag as workaround. Configure Unified Target Method (Strict + Fuzzy + Image + Anchor) for resilience.
|
|
515
|
+
**Fix:** Pin production browser versions by disabling auto-update; prefer UIA over AA; consider `--force-renderer-accessibility=complete`; configure Unified Target Method (Strict + Fuzzy + Image + Anchor).
|
|
571
516
|
|
|
572
517
|
## Silent Failure Patterns
|
|
573
518
|
|
|
574
|
-
Issues where the bot reports success but the outcome is wrong. These are the costliest production issues because they are discovered hours or days later.
|
|
575
|
-
|
|
576
519
|
### No Output Verification After Data Writes
|
|
577
520
|
|
|
578
|
-
**Symptom:**
|
|
521
|
+
**Symptom:** Excel, database, web-form, or API writes are not verified.
|
|
579
522
|
|
|
580
|
-
**Impact:**
|
|
523
|
+
**Impact:** The bot reports success despite missing or duplicate records.
|
|
581
524
|
|
|
582
|
-
**Detection:** After every
|
|
525
|
+
**Detection:** After every `Write Range`, `Submit Form`, HTTP POST, or database INSERT, check for read-back, count, or status-code validation. APIs require specific success-code validation, not merely 2xx.
|
|
583
526
|
|
|
584
|
-
**Fix:** Add verification
|
|
527
|
+
**Fix:** Add verification; read back Excel and compare row counts, validate API response codes, and verify database affected-row counts.
|
|
585
528
|
|
|
586
529
|
### No Record Count Validation After Data Processing
|
|
587
530
|
|
|
588
|
-
**Symptom:**
|
|
531
|
+
**Symptom:** Filters, LINQ, or DataTable transformations do not compare input and output counts.
|
|
589
532
|
|
|
590
|
-
**Impact:**
|
|
533
|
+
**Impact:** Dropped rows are reported as complete.
|
|
591
534
|
|
|
592
|
-
**Detection:**
|
|
535
|
+
**Detection:** Check for count comparison after `Filter Data Table`, LINQ `.Where()`, and other transformations.
|
|
593
536
|
|
|
594
|
-
**Fix:** Log input and output counts after every
|
|
537
|
+
**Fix:** Log input and output counts after every transformation and flag unexplained output < input.
|
|
595
538
|
|
|
596
539
|
## Coded Workflow Pitfalls (C#)
|
|
597
540
|
|
|
598
|
-
Issues specific to coded workflows that differ from XAML patterns.
|
|
599
|
-
|
|
600
541
|
### Namespace Clashes with Activity Packages
|
|
601
542
|
|
|
602
|
-
**Symptom:**
|
|
543
|
+
**Symptom:** Classes are named `Mail`, `Excel`, `Http`, `Browser`, `SAP`, or `PDF` and conflict with package namespaces.
|
|
603
544
|
|
|
604
|
-
**Impact:** Cryptic compilation errors
|
|
545
|
+
**Impact:** Cryptic compilation errors.
|
|
605
546
|
|
|
606
|
-
**Detection:** Check
|
|
547
|
+
**Detection:** Check class names and run:
|
|
548
|
+
```bash
|
|
549
|
+
grep -r "class (Mail|Excel|Http|Browser|SAP|PDF)[\\s{]" --include="*.cs" .
|
|
550
|
+
```
|
|
607
551
|
|
|
608
|
-
**Fix:** Use project-specific prefixes
|
|
552
|
+
**Fix:** Use project-specific prefixes and avoid single-word package names.
|
|
609
553
|
|
|
610
554
|
### Global Using Directives Break Publishing
|
|
611
555
|
|
|
612
|
-
**Symptom:** C# 10 global using directives
|
|
556
|
+
**Symptom:** C# 10 `global using` directives reference complex types.
|
|
613
557
|
|
|
614
|
-
**Impact:**
|
|
558
|
+
**Impact:** Local compilation succeeds but NuGet packaging/publishing fails.
|
|
615
559
|
|
|
616
|
-
**Detection:** Grep `*.cs`
|
|
560
|
+
**Detection:** Grep `*.cs` for `global using` statements referencing non-primitive types.
|
|
617
561
|
|
|
618
|
-
**Fix:** Remove global
|
|
562
|
+
**Fix:** Remove such global directives and use regular `using` statements per file; primitive `System` and `System.Linq` imports are acceptable.
|
|
619
563
|
|
|
620
564
|
### Library Invocation NullReferenceException
|
|
621
565
|
|
|
622
|
-
**Symptom:**
|
|
566
|
+
**Symptom:** A coded workflow works internally but fails from an external library consumer because `CodedWorkflow` accessors such as `system` or `uiAutomation` are uninitialized.
|
|
623
567
|
|
|
624
|
-
**
|
|
568
|
+
**Detection:** Test external invocation and inspect service accessor use.
|
|
625
569
|
|
|
626
|
-
**
|
|
627
|
-
|
|
628
|
-
**Fix:** Ensure library workflows are properly bootstrapped. Invoke via the generated strongly-typed `workflows.<NAME>()` accessors instead of direct class instantiation.
|
|
570
|
+
**Fix:** Bootstrap the library correctly and invoke through generated strongly typed `workflows.<NAME>()` accessors, not direct class instantiation.
|
|
629
571
|
|
|
630
572
|
## Concurrency Issues
|
|
631
573
|
|
|
632
574
|
### Parallel Activity With Shared UI Resources
|
|
633
575
|
|
|
634
|
-
**Symptom:** `Parallel`
|
|
635
|
-
|
|
636
|
-
**Impact:** UiPath's Parallel activity executes branches cooperatively on the same thread, but branches share the same desktop session. Clicks land on wrong elements, Type Into targets wrong fields. One branch can monopolize the UI while others block. `Isolated = True` does not fix this.
|
|
576
|
+
**Symptom:** `Parallel` branches interact with the same UI, keyboard, mouse, or application.
|
|
637
577
|
|
|
638
|
-
**
|
|
578
|
+
**Impact:** Branches share one desktop session; clicks and typing target incorrectly. `Isolated = True` does not fix this. **Severity: Warning.**
|
|
639
579
|
|
|
640
|
-
**
|
|
580
|
+
**Detection:** Inspect `Parallel` children for `Click`, `TypeInto`, or `UseApplicationBrowser` targeting the same application.
|
|
641
581
|
|
|
642
|
-
**
|
|
582
|
+
**Fix:** Use `Parallel` for I/O-bound work such as HTTP or independent file operations. Use multiple robots with queue distribution for UI parallelism.
|
|
643
583
|
|
|
644
584
|
## Deployment Issues
|
|
645
585
|
|
|
646
586
|
### NuGet Feed Unreachable in Production (Offline Robots)
|
|
647
587
|
|
|
648
|
-
**Symptom:** Production
|
|
588
|
+
**Symptom:** Production robots cannot reach required NuGet feeds.
|
|
649
589
|
|
|
650
|
-
**Impact:**
|
|
590
|
+
**Impact:** Package restore fails at process start. **Severity: Warning.**
|
|
651
591
|
|
|
652
|
-
**Detection:**
|
|
592
|
+
**Detection:** Inspect `project.json` custom feed references. Verify network access to every feed, OR verify `NUGET_FALLBACK_PACKAGES` points to pre-downloaded packages.
|
|
653
593
|
|
|
654
|
-
**Fix:** Configure fallback
|
|
655
|
-
|
|
656
|
-
**Severity:** Warning
|
|
594
|
+
**Fix:** Configure fallback packages or make the Orchestrator feed reachable from all robots.
|
|
657
595
|
|
|
658
596
|
### NuGet NU1107 Assembly Version Conflict
|
|
659
597
|
|
|
660
|
-
**Symptom:**
|
|
661
|
-
|
|
662
|
-
**Impact:** Silent in development (Studio's cache masks it), breaks in production. CI/CD pipelines without full package restore don't catch it.
|
|
598
|
+
**Symptom:** Transitive dependencies require conflicting assembly versions, producing `NU1107: Version conflict detected` on a clean robot restore.
|
|
663
599
|
|
|
664
|
-
**
|
|
600
|
+
**Impact:** Studio cache hides the issue; production and CI/CD fail. **Severity: Warning.**
|
|
665
601
|
|
|
666
|
-
**
|
|
602
|
+
**Detection:** Projects with >15 direct dependencies are high risk. Run a clean package restore.
|
|
667
603
|
|
|
668
|
-
**
|
|
604
|
+
**Fix:** Pin the conflicting transitive dependency to a compatible version or remove the causing package.
|
|
669
605
|
|
|
670
606
|
### Invoke Workflow Argument Drift
|
|
671
607
|
|
|
672
|
-
**Symptom:** Workflow arguments
|
|
608
|
+
**Symptom:** Workflow arguments changed but `Invoke Workflow File` call sites retain stale bindings.
|
|
673
609
|
|
|
674
|
-
**Impact:** No XAML compile-time error
|
|
610
|
+
**Impact:** No XAML compile-time error; runtime null or missing-argument errors occur. **Severity: Warning.**
|
|
675
611
|
|
|
676
|
-
**Detection:**
|
|
612
|
+
**Detection:** Extract each workflow's arguments and compare them with every `InvokeWorkflowFile` binding. Flag missing or extra names.
|
|
677
613
|
|
|
678
|
-
**Fix:** Re-import
|
|
679
|
-
|
|
680
|
-
**Severity:** Warning
|
|
614
|
+
**Fix:** Re-import arguments in Studio after every argument change.
|
|
681
615
|
|
|
682
616
|
### Get Asset Used for Credential Type (Wrong Activity)
|
|
683
617
|
|
|
684
|
-
**Symptom:** `Get Asset`
|
|
685
|
-
|
|
686
|
-
**Impact:** `Get Asset` cannot retrieve credential-type assets — depending on Orchestrator version it errors at runtime or yields no usable password. Either way the downstream login fails.
|
|
618
|
+
**Symptom:** `Get Asset` retrieves a Credential-type Orchestrator asset instead of `Get Credential`.
|
|
687
619
|
|
|
688
|
-
**
|
|
620
|
+
**Impact:** Runtime failure or unusable password. **Severity: Warning.**
|
|
689
621
|
|
|
690
|
-
**
|
|
622
|
+
**Detection:** Identify credential assets in Config.xlsx and inspect XAML `GetAsset` use for those names.
|
|
691
623
|
|
|
692
|
-
**
|
|
624
|
+
**Fix:** Replace with `Get Credential`. In REFramework, put credential asset names in the Settings sheet for `Get Credential`, not the Assets sheet for `Get Asset`.
|
|
693
625
|
|
|
694
626
|
### Per-Robot Asset Values Missing for Production Robots
|
|
695
627
|
|
|
696
|
-
**Symptom:**
|
|
697
|
-
|
|
698
|
-
**Impact:** Robots without a per-robot value either fall back to the global default (if defined) or get Nothing — surfacing as "asset does not have a value associated with this robot" errors. Works in dev (developer's robot has value), fails in production.
|
|
628
|
+
**Symptom:** Per-robot/per-user assets lack values for one or more production robots.
|
|
699
629
|
|
|
700
|
-
**
|
|
630
|
+
**Impact:** Robots receive a global fallback or Nothing and fail with “asset does not have a value associated with this robot.” **Severity: Warning.**
|
|
701
631
|
|
|
702
|
-
**
|
|
632
|
+
**Detection:** Verify every per-robot asset has values for all robots/machines assigned to the deployment folder.
|
|
703
633
|
|
|
704
|
-
**
|
|
634
|
+
**Fix:** Assign all production values or use a global asset when every robot needs the same value.
|