Skip to content

Commit 81a58a4

Browse files
tmatupclaude
andcommitted
docs(uipath-maestro-flow): replace fragile line-number pointers; trim impl note
Address PR #517 review: - Replace `editing-operations-cli.md:158` line-number references with anchor links to the section heading (3 sites: investigation report, json reference, inline-agent impl) so they survive future reorganization. - Trim dense paragraph at inline-agent/impl.md following `node add` block: drop internal source-code citation and Jira ticket reference; surface the agent-actionable canonical-vs-legacy choice. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent d6a3034 commit 81a58a4

3 files changed

Lines changed: 4 additions & 4 deletions

File tree

docs/investigations/maestro-flow-python-script-gap.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
The skill activated correctly and the agent loaded the right references. **The pivot at L137 to bulk-`Write` the `.flow` was sanctioned by the skill** — Direct JSON is the documented default for everything except connector / connector-trigger / inline-agent nodes. The Python heredoc scripts are a downstream consequence of two real gaps:
1010

1111
1. **A documented vs. enforced contradiction inside the inline-agent contract.** The `inline-agent/impl.md` says *don't* set `inputs.systemPrompt` / `inputs.userPrompt`, but `uip maestro flow validate` rejects the flow with `REQUIRED_FIELD` on those exact two paths. Faced with the contradiction, the agent had to satisfy *one* of them — it picked the validator.
12-
2. **No edit-tooling guidance for Direct JSON.** "Direct JSON" is the strategy; the skill never tells the agent *how* to do non-trivial structural edits (replace a definition entry, insert nested fields). The agent invented `python3 <<'EOF'` heredocs because Edit is brittle for nested JSON and Write-the-whole-file rewrites the layout. There is also **no `node update` CLI** (editing-operations-cli.md:158 explicitly confirms this).
12+
2. **No edit-tooling guidance for Direct JSON.** "Direct JSON" is the strategy; the skill never tells the agent *how* to do non-trivial structural edits (replace a definition entry, insert nested fields). The agent invented `python3 <<'EOF'` heredocs because Edit is brittle for nested JSON and Write-the-whole-file rewrites the layout. There is also **no `node update` CLI** (`editing-operations-cli.md` § "Update node inputs" explicitly confirms this).
1313

1414
The mock data, the registry-definition replacement, and the upload-result parsing all use Python for the same reason: small, correct, hard to do safely with `Edit`.
1515

skills/uipath-maestro-flow/references/author/references/editing-operations-json.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ Before editing the `.flow` file, ensure each of the following is handled. These
4040

4141
## Edit Tooling
4242

43-
Direct JSON edits use four mechanics. Pick by operation class — same pattern, different tool. The CLI has no `node update` command (see [editing-operations-cli.md](editing-operations-cli.md) line 158), so structural mutations of node `inputs`, definition swaps, and array splices are all done with the tools below.
43+
Direct JSON edits use four mechanics. Pick by operation class — same pattern, different tool. The CLI has no `node update` command (see [editing-operations-cli.md § Update node inputs](editing-operations-cli.md#update-node-inputs-expression-script-body-label-etc)), so structural mutations of node `inputs`, definition swaps, and array splices are all done with the tools below.
4444

4545
| Operation class | Mechanic | When to use |
4646
|----|----|----|

skills/uipath-maestro-flow/references/author/references/plugins/inline-agent/impl.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ uip maestro flow node add <FlowName>.flow uipath.agent.autonomous \
7373
--output json
7474
```
7575

76-
`--source` populates the inline-agent's `projectId` UUID on the node. The current `node add` implementation writes the UUID to `model.source` (the legacy shape — governed by `node-service.ts:535-545` which still keys off the manifest's `model.source: true` flag); the canvas writes to `inputs.source` (canonical post-flow-core-0.2.50). Both keys are accepted by `flow validate` for backwards compatibility. The dual-key inconsistency between `node add` and the canvas is tracked in MST-9308. For directly hand-authored flows, prefer `inputs.source`. The command automatically:
76+
`--source` populates the inline-agent's `projectId` UUID on the node. The current `node add` writes the UUID to `model.source` (legacy shape); the canvas writes to `inputs.source` (canonical post-flow-core-0.2.50). `flow validate` accepts both for backwards compatibility. **For directly hand-authored flows, write `inputs.source`** — match the canvas, not the CLI's legacy shape. The command automatically:
7777

7878
- Adds the node to `nodes` with a generated `id`
7979
- Adds the definition to `definitions` (if not already present)
@@ -197,7 +197,7 @@ The agent validate step checks `agent.json`, `contentTokens`, schemas, and resou
197197

198198
## Repair Recipes
199199

200-
Direct JSON repairs for scenarios that don't have a CLI shortcut (`uip maestro flow node update` does not exist — see [editing-operations-cli.md](../../editing-operations-cli.md) line 158). Recipes use the `python3` heredoc pattern from [editing-operations-json.md — Edit Tooling](../../editing-operations-json.md#edit-tooling); copy verbatim and substitute `<FILE>.flow`.
200+
Direct JSON repairs for scenarios that don't have a CLI shortcut (`uip maestro flow node update` does not exist — see [editing-operations-cli.md § Update node inputs](../../editing-operations-cli.md#update-node-inputs-expression-script-body-label-etc)). Recipes use the `python3` heredoc pattern from [editing-operations-json.md — Edit Tooling](../../editing-operations-json.md#edit-tooling); copy verbatim and substitute `<FILE>.flow`.
201201

202202
### Replace a definition entry
203203

0 commit comments

Comments
 (0)