docs(uipath-troubleshoot): Python Activities package + RunScript playbooks (+3 scenarios)#1640
docs(uipath-troubleshoot): Python Activities package + RunScript playbooks (+3 scenarios)#1640Stefan-Virgil wants to merge 3 commits into
Conversation
…failure playbooks
Add a python-activities reference package so investigations into
UiPath.Python.Activities failures match dedicated playbooks instead of
falling back to the low-confidence runtime-exceptions pointer.
UiPath.Python.Activities runs Python out-of-process and marshals objects
over an IPC pipe, so most failures are environment/config mismatches the
job log hides rather than workflow-logic bugs. The package's overview
documents the out-of-process pipe model (Path = install folder, Target
bitness, Version, Library path, WorkingFolder) and four playbooks cover
the error matrix:
- invoke-python-method-pipe-is-broken (Medium): the host process died —
a pip module missing from the scope's interpreter, an unhandled
exception, a hard sys.exit, or stdout flooding. The Python traceback is
swallowed; decisive evidence is the script import line + "runs in my IDE".
- python-path-not-valid (High): Path points at python.exe (the file) or the
WindowsApps Store alias instead of the install folder.
- python-scope-architecture-version-mismatch (Medium): Target/Version/
Library-path bitness mismatch or a missing .NET Desktop Runtime
(One or more errors occurred / BadImageFormatException).
- working-folder-relative-path (Medium): relative paths resolving against
the robot's per-package WorkingFolder CWD.
- references/activity-packages/python-activities/{overview,summary,investigation_guide,presentation}.md
- references/activity-packages/python-activities/playbooks/*.md (4 playbooks)
- references/summary.md: register Python Activities in the router (UiPath.Python.Activities)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…t playbooks Faithful-replay coder-eval scenarios covering the first three rows of the python-activities error matrix. Each replays a faulted unattended job against the uip CLI mock and grades the agent against a known-good RESOLUTION.md (skill_triggered + RESOLUTION-anchored llm_judge, per the skill's tests/tasks CLAUDE.md contract). - python-pipe-broken-missing-module: Invoke Python Method faults with "Pipe is broken"; parse_invoice.py imports pandas, absent from the robot interpreter the scope resolves. The Python traceback is hidden, so the decisive evidence is the import line + "runs in my IDE" framing. - python-scope-path-is-file (High): Python Scope Path set to ...\Python311\python.exe instead of the install folder. - python-scope-arch-mismatch: Python Scope Target=x86 against a 64-bit Python 3.11 install (One or more errors occurred / BadImageFormatException). All three validated locally under experiments/default.yaml: 3/3 SUCCESS, weighted_score 1.000, with judge rationales confirming each agent matched the correct playbook and converged on the reference root cause + fix. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
Claude finished @Stefan-Virgil's task in 3m 35s —— View job Coder-eval task lint (advisory)3 task YAMLs changed; verdict counts: 0 Critical, 0 High, 0 Medium, 0 Low, 3 OK. Rubric: .claude/commands/lint-task.md. This check is advisory and never blocks merge. Evidence of passing run✅ Author confirms passing run: "Passing-run claim: all 3 run under Per-task lint
|
| Task | Error signature | Root cause |
|---|---|---|
python-pipe-broken-missing-module |
Pipe is broken at Invoke Python Method |
Missing pip module in robot interpreter → out-of-process host dies |
python-scope-path-is-file |
The specified Python path is not valid |
Path set to python.exe (file) instead of install folder |
python-scope-arch-mismatch |
One or more errors occurred / BadImageFormatException |
Target=x86 vs 64-bit Python install → bitness mismatch |
This is scaffold reuse, not duplication.
Conclusion
✅ All changed tasks pass the rubric. Evidence of passing run confirmed.
Notes:
- All three tasks correctly follow the
uipath-troubleshootCLAUDE.md contract: exactlyskill_triggered+llm_judgecriteria, no brittlecommand_executed/file_existschecks. llm_judgecriteria are backed by ground truth (include_reference: true→ RESOLUTION.md), with detailed multi-level scoring rubrics.- Run limits are in the canonical
run_limits:block (not deprecatedagent:location). - No
env_packages/ no redundant@uipath/cliinstalls. - Tags follow closed vocabulary and match established sibling patterns (
mode:diagnose,lifecycle:discover,faulted-jobs,orchestrator,python-activities,rpa). allowed_toolscorrectly extends experiment defaults withAskUserQuestion+TodoWrite.
|
Claude finished @Stefan-Virgil's task in 3m 33s —— View job PR Review: Python Activities RunScript Playbooks
SummaryAdds a complete Change-by-Change Review1.
|
| Area | Status | Notes |
|---|---|---|
| Frontmatter | OK | N/A — this PR adds reference files and tests, not a new skill. No SKILL.md frontmatter changes. |
| E2E Tests | OK | 3 e2e tasks, all tagged correctly (skill + tier + mode:diagnose + lifecycle:discover), lean success criteria (skill_triggered + llm_judge only), proper run_limits, no env_packages. Passing-run claim in PR body with 3/3 score 1.000. |
| Skill Body | OK | N/A — no SKILL.md changes. |
| References & Assets | OK | 8 new reference files form a complete package: overview, investigation guide, presentation rules, summary, 4 playbooks. All internally consistent, well-structured, and following the terse documentation style. |
| Repo Hygiene | OK | CODEOWNERS already covers paths. No secrets. No cross-skill refs. No binary files. Changes scoped to uipath-troubleshoot. |
Issues for Manual Review
- Domain accuracy of playbook content — the out-of-process IPC model,
Path-is-a-folder semantics,Targetbitness behavior, andWorkingFolderCWD defaults are all specific to theUiPath.Python.Activitiespackage. A domain expert should confirm these match the actual package behavior, particularly the assertion thatLibrary pathis required for Python > 3.9 on Windows. - Mock fixture realism — the synthetic job/log fixtures use plausible UiPath API response shapes, but a reviewer familiar with the current
uip or jobs get/logsoutput schema should verify that the fields and structure match the real CLI output (e.g.,JobErrorsubobject shape,TraceIdfield presence).
Conclusion
Clean PR. The reference package is thorough, internally consistent, and follows the established troubleshoot skill patterns. The 3 test scenarios are well-crafted with clear differential-diagnosis rubrics. No issues requiring changes.
Recommendation: Approve.
…s-runscript-playbook
What
Adds a
python-activitiesreference package touipath-troubleshootso investigations intoUiPath.Python.Activitiesfailures match dedicated playbooks instead of falling back to the low-confidence runtime-exceptions pointer, plus 3 faithful-replay coder-eval scenarios.UiPath.Python.Activitiesruns Python out-of-process and marshals objects over an IPC pipe, so most failures are environment/config mismatches the job log hides rather than workflow-logic bugs. The package overview documents that model (Path= install folder,Targetbitness,Version,Library path,WorkingFolder).Playbooks (cover the error matrix)
invoke-python-method-pipe-is-brokenPipe is broken— out-of-process host died (missing pip module / unhandled exception / hardsys.exit/ stdout flood). Python traceback is swallowed.python-path-not-validThe specified Python path is not valid—Pathpoints atpython.exe(the file) or theWindowsApps\pythonStore alias instead of the install folder.python-scope-architecture-version-mismatchOne or more errors occurred/BadImageFormatException—Target/Version/Library pathbitness mismatch or missing .NET Desktop Runtime.working-folder-relative-pathWorkingFolderCWD.Router updated in
references/summary.md(namespaceUiPath.Python.Activities).Tests — 3 scenarios, validated locally
Each replays a faulted unattended job against the
uipCLI mock and grades against a known-goodRESOLUTION.md(skill_triggered+ RESOLUTION-anchoredllm_judge, per the skill'stests/tasksCLAUDE.md contract).python-pipe-broken-missing-module(pandas absent from robot interpreter)python-scope-path-is-file(Path=...\python.exe)python-scope-arch-mismatch(Target=x86vs 64-bit install)Passing-run claim: all 3 run under
experiments/default.yaml(tempdir), 3/3 SUCCESS, weighted_score 1.000, judge rationales confirm each agent matched the correct playbook and converged on the reference root cause + fix./lint-task: 3/3 OK.coder-eval plan: all valid.🤖 Generated with Claude Code