M2: process-family tools — capabilities/process.md + 8 tasks migrated to the flow file - #2433
Conversation
… to the flow file
Docs: mirror lowcode/capabilities/process/process.md into
plugins/inline-agent/capabilities/process.md (discovery verbatim; authoring
swapped to the uipath.agent.resource.tool.<family>.<key> node — full inputs
incl. per-argument ValueSourceField modes, properties, schemas from manifest
inputDefaults, top-level bindings[] rows, derived-fields-never-author list).
Extend impl.md §8 worked example with an RPA tool (variable-mode argument);
link the capability doc from impl.md §7 and planning.md.
Probes resolve two M0 leftovers: the registry get --local bindings
object-vs-array divergence is fixed in uip 1.200.0 (no repair recipe
needed), and flow validate enforces missing bindings[] rows, so the
validate criterion covers them.
Tests: inline_{solution,external}_{rpa,agent,apiworkflow,maestro}_tool →
inline_agent/tool_{rpa,agent,api,maestro}_{solution,external}
(skill-flow-inline-tool-*), graded on the .flow via new flow_inline_wiring
helpers (find_wired_resource, assert_resource_source_uuid,
assert_resource_inputs, assert_tool_type_key_uuid, assert_cluster_vars_ref);
pytest 64/64; checkers verified against synthetic pass/fail flows. External
tasks' resources-list gate downgraded to advisory — outcome-invisible in the
flow-file architecture (registry manifest bindings carry name+folder); per
tests rule 'grade the outcome, not the literal flag'.
Gate (claude-sonnet-5, 3 reps): 7/8 tasks 3/3; tool_agent_solution 2/3 in
the main run (expired-auth window) then 3/3 on a dedicated rerun after doc
hardening (folderPath never-empty vs bindings-default-verbatim separation).
M1 regression 1-rep: 3/3 at 1.000. No sidecar directories authored in any
of the 27 run artifacts.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
Claude finished @andreibalas-uipath's task in 4m 13s —— View job PR Review: M2 process-family tools
SummaryM2 of the inline-agent flow-file rewrite: adds Change-by-Change Review1.
|
| Area | Status | Notes |
|---|---|---|
| Frontmatter | N/A | No skill SKILL.md changes — this is a references + tests PR |
| E2E Tests | OK | 8 tasks, all e2e tagged, all with comprehensive outcome-based checks |
| Skill Body | N/A | No SKILL.md changes |
| References & Assets | OK | capabilities/process.md is well-structured; impl.md/planning.md updates are minimal and correct |
| Repo Hygiene | OK | No secrets, no cross-skill deps, all links resolve, clean deletions, no env_packages |
Issues for Manual Review
- Domain accuracy: The reviewer cannot verify that the CLI commands (
uip solution resources list/get,uip maestro flow registry search/get), themodel.bindingsmirroring contract, and the per-argument ValueSourceField shape (mode: prompt|variable|text-builder) match the actual current behavior of@uipath/cli@latestand the flow-workbench runtime. The PR's gate evidence (3/3 across 8 tasks withflow validatepassing) provides strong indirect evidence of correctness, but the specific field names and semantics should be verified by a domain expert. - Expected
folderPathvalues in external checkers (e.g.Shared/uipath-agents/FibonacciRPA,Shared/uipath-agents/EmailDrafter,Shared/uipath-agents/WeatherAPI,Shared/uipath-agents/ProcurementProcess): These are hardcoded to match the tenant's deployed resources. If the tenant layout changes, all external checkers would need updating. This is inherent to e2e tests against a live tenant — not an issue per se, but worth noting.
Conclusion
Clean, well-executed milestone delivery. The capability doc is comprehensive and prescriptive. Test migration is thorough with good shared helper reuse. The resources list gate downgrade is well-reasoned and documented per the test-writing rules. The code is consistent, follows all repo conventions, and the gate evidence is strong (7/8 tasks at 3/3, with the 8th explained by an auth expiry and confirmed at 3/3 on rerun). No blocking issues found.
|
Claude finished @andreibalas-uipath's task in 3m 48s —— View job Coder-eval task lint (advisory)8 task YAMLs changed; verdicts: 0 Critical, 0 High, 0 Medium, 8 Low, 0 OK. Rubric: .claude/commands/lint-task.md. This check is advisory and never blocks merge. Evidence of passing run✅ Author confirms passing run: "Gate evidence (claude-sonnet-5, Per-task lint
|
coder-eval milestone gate runs only with explicit owner approval — interactive uip login (alpha/codereval/DefaultTenant) and time-consuming. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- process.md discovery: '--kind Process covers all four families' clause (agents/API/agentic list as Kind Process; family is in Type) - process.md gotcha 6: never wire a conversational agent as a tool (twin anti-pattern 24, lost in the mirror) - roadmap M2 notes: record the referenceKey not-authored spec deviation and the early-M3 checker-hardening + Low-triage item Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
7d5067c
into
feat/inline-agent-flow-file
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Roadmap milestone M2 of the inline-agent flow-file rewrite (roadmap § M2). Targets the long-lived
feat/inline-agent-flow-filebranch (rebased onmainat milestone start — no upstream twin changes to fold).Docs
plugins/inline-agent/capabilities/process.md— class-B mirror ofuipath-agents/references/lowcode/capabilities/process/process.md: discovery (uip solution resources list/get) kept verbatim; the "author resource.json" half replaced by the flow-node contract —uipath.agent.resource.tool.<process|agent|api|processorchestration>.<key>node with fullinputs(per-argument ValueSourceField{mode: prompt|variable|text-builder},properties {processName, folderPath},inputSchema/outputSchemafrom the manifest'sinputDefaults), top-levelbindings[]rows mirroringmodel.bindings, name authority, and the derived-fields-never-author list (type/location/argumentProperties/guardrail.policies).Probes (resolve two M0 leftovers)
registry get --localdivergence (bindings values object-vs-array) is fixed in uip 1.200.0 — proper array both local and remote; no repair recipe needed.flow validateenforces missingbindings[]rows with an actionable error, so the w3.0 validate criterion covers them and the checkers don't duplicate.Tests
inline_{solution,external}_{rpa,agent,apiworkflow,maestro}_tool→inline_agent/tool_{rpa,agent,api,maestro}_{solution,external}(skill-flow-inline-tool-*), graded on the.flow(sidecar neither required nor forbidden); fixturesgit mved; old task dirs deleted (global transforms per roadmap §7)._shared/flow_inline_wiring.pygainsfind_wired_resource,assert_resource_source_uuid,assert_resource_inputs,assert_tool_type_key_uuid,assert_cluster_vars_ref; pytest suite 64/64; every checker verified against a synthetic passing flow + 4 negative variants.resources listgate is downgraded to advisory — in the flow-file architecture the registry manifest's bindings defaults carry name+folder, so the gate is outcome-invisible (a gate-failing replicate produced a fully correct artifact). Registrysearch/getgates stay enforced. Per.claude/rules/test-writing.md"grade the outcome, not the literal flag"./lint-task: 0 Critical/High; one Medium theme (validate-only e2e) with the rationale documented in every description — same accepted posture as M1 (flow debugcannot yet run flow-only inline agents; M0 CLI gap).Gate evidence (claude-sonnet-5,
experiments/default.yaml, 3 replicates)resources listgate; artifact fully correct)properties.folderPath: ""during a window where the machine's uip token had expired andsolution resources listfailed tenant-wide) → 3/3 on a dedicated rerun after re-auth + doc hardening (§ In-Solution now separates "bindings default: copy verbatim" from "properties.folderPath: never empty")M1 regression (base / robust / eval, 1 rep): 3/3 at 1.000. Artifact audit: 27/27 authored flows carry
bindings[]; zero sidecar directories created; nouip agent init/refresh/validateinvocations.Reviewers: plugin dir = agents team; flow-skill refs = Maestro team; tests = agents team (per roadmap review coordination).
🤖 Generated with Claude Code