feat(uipath-troubleshoot): add IPC Activities package + Broadcast Message exception playbooks#1788
feat(uipath-troubleshoot): add IPC Activities package + Broadcast Message exception playbooks#1788Stefan-Virgil wants to merge 6 commits into
Conversation
…playbooks + tests Covers InvalidOperation, Argument, IO.DirectoryNotFound, IndexOutOfRange, KeyNotFound, and ArgumentOutOfRange exceptions thrown from Assign expressions. Each ships a per-exception playbook (Context/Investigation/Resolution) plus a faithful-replay e2e diagnose scenario (mock OR job/logs + process snapshot). Registered in runtime-exceptions overview/summary. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
… manifests Neutralize manifest _doc and expected_calls descriptions so the agent-visible fixtures no longer name the exception type or fault location (Assign / Main.xaml). Mock dispatch is unaffected (rules unchanged); validated scores stand. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…ks coverage + tests Extend null-reference-exception and key-not-found-exception playbooks to name the If/While Condition as a fault origin (condition resolves before either branch runs). Add two faithful-replay e2e diagnose scenarios where an If Condition expression throws NullReferenceException / KeyNotFoundException. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…ifests Neutralize manifest _doc and expected_calls descriptions so the agent-visible fixtures no longer name the exception type or fault location (If / Main.xaml). Mock dispatch is unaffected (rules unchanged); validated scores stand. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
… If Condition) The two If task.yaml description fields said the fault was "thrown from an Assign expression" — a copy-paste artifact from the Assign-based siblings. Both scenarios model an If Condition fault; README/RESOLUTION/fixtures already say so. Addresses the advisory lint finding on PR #1782. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…sage exception playbooks
Add a new ipc-activities activity package covering UiPath.IPC.Activities
inter-process communication failures. Two playbooks for Broadcast Message /
Send Message faults:
- System.TimeoutException ("no channel was found") — no live Message Receiver
Trigger on the channel within the timeout: receiver not running in parallel,
case-sensitive channel-name mismatch, or too-low Timeout (Timeout=0 drops
silently). Fix: launch receiver in parallel first, match channel, raise
Timeout to 5000-10000ms.
- System.UnauthorizedAccessException ("Access to the path is denied") — the
local named-pipe ACL rejects a peer across a session / user / elevation
boundary. Fix: co-locate sender and receiver on the same robot, user,
session, and elevation.
Package ships overview / summary / investigation_guide / presentation and is
registered in references/summary.md (with a redirect distinguishing it from the
internal UiPath.Ipc / UiPath.CoreIpc transport behind Integration Service).
Add two faithful-replay e2e diagnose scenarios (broadcast-message-timeout,
broadcast-message-unauthorized). Validated with 3 parallel runs each: 6/6 pass
(scores 1.0 / 0.925 / 1.0 and 1.0 / 1.0 / 1.0). Agent-visible fixtures carry
only the genuine runtime exceptions + stack traces; no diagnosis hints.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
Claude finished @Stefan-Virgil's task in 8m 35s —— View job PR Review: IPC Activities + Broadcast Message Exception Playbooks
SummaryAdds the Change-by-Change Review1. IPC Activities playbook package (
|
| Area | Status | Notes |
|---|---|---|
| Frontmatter | OK | Playbooks have correct confidence: medium YAML frontmatter |
| E2E Tests | OK | 10 e2e tasks total, all following canonical lean contract; no smoke needed per suite rules |
| Skill Body | OK | No SKILL.md changes; playbooks and references are additions only |
| References & Assets | OK | All links resolve; proper registration in summary.md and overview.md |
| Repo Hygiene | OK | CODEOWNERS already covers /skills/uipath-troubleshoot/ and /tests/tasks/uipath-troubleshoot/; no secrets; no cross-skill deps |
Issues for Manual Review
- Domain accuracy of IPC playbooks: The
Timeout=0silent-drop behavior described inbroadcast-message-timeout.md:35("Timeout = 0 drops the message immediately with no exception") should be verified against the actualUiPath.IPC.Activitiesruntime — this is a behavioral claim the reviewer cannot verify from documentation alone. - IPC named-pipe ACL model: The
broadcast-message-unauthorized-access.mdplaybook's claim that IPC is confined to "same robot, same Windows user, same session, same machine" is plausible but the exact ACL boundaries (particularly session vs elevation) should be verified by someone with access to the runtime.
Conclusion
Clean PR. The IPC Activities package is well-structured with proper IS disambiguation, and the runtime-exception playbooks are consistent and thorough. All 10 test tasks follow the canonical lean contract. No blocking issues found — approve.
|
Claude finished @Stefan-Virgil's task in 4m 7s —— View job Coder-eval task lint (advisory)11 task YAMLs changed; verdicts: 0 Critical, 0 High, 0 Medium, 0 Low, 11 OK. Rubric: .claude/commands/lint-task.md. This check is advisory and never blocks merge. Evidence of passing run
Per-task lint
|
What
Adds a new
ipc-activitiesactivity package touipath-troubleshoot, coveringUiPath.IPC.Activitiesinter-process communication failures, plus two faithful-replay diagnose tests forBroadcast Message.Playbooks (Broadcast Message / Send Message)
System.TimeoutException—Timeout of <N> ms has passed and no channel was found to send the message to.No live Message Receiver Trigger on the channel before the timeout: receiver not running in parallel, case-sensitive channel-name mismatch, or too-lowTimeout(Timeout=0drops silently). Fix: launch the receiver in parallel first, match the channel string exactly, raiseTimeoutto 5000–10000 ms.System.UnauthorizedAccessException—Access to the path is denied.on the channel's named-pipe endpoint. IPC is confined to the same robot / user / session / machine; the pipe ACL rejects a peer across a session, user-account, or elevation boundary. Fix: co-locate sender and receiver on the same robot, user, session, and elevation.Package structure
overview.md,summary.md,investigation_guide.md,presentation.md, and the two playbooks. Registered inreferences/summary.mdwith a→redirect distinguishingUiPath.IPC.Activitiesfrom the internalUiPath.Ipc/UiPath.CoreIpctransport behind Integration Service connectors.Tests
Two faithful-replay e2e diagnose scenarios under
tests/tasks/uipath-troubleshoot/activity-packages/ipc-activities/:broadcast-message-timeoutbroadcast-message-unauthorizedAgent-visible fixtures (
process/*+fixtures/*) carry only the genuine runtime exceptions + stack traces — no diagnosis hints; the root cause lives only in the (un-staged)RESOLUTION.md.Validation — 3 parallel runs per task, 6/6 pass
broadcast-message-timeoutbroadcast-message-unauthorizedAll above the 0.7 threshold. In every run the agent triggered
uipath-troubleshoot, routed to the new package, matched the right playbook, and reached the RESOLUTION root cause + fix. (The 0.925 was a fully-correct diagnosis the judge scored 0.9 on style.)New tag values
Follows the existing troubleshoot activity-package test convention with new package/activity tags:
ipc-activities,broadcast-message(extends the same dimension asword-activities,database-activities, etc.).🤖 Generated with Claude Code