feat(maestro-case): build missing API workflows inline during planning#1802
Draft
song-zhao-25 wants to merge 2 commits into
Draft
feat(maestro-case): build missing API workflows inline during planning#1802song-zhao-25 wants to merge 2 commits into
song-zhao-25 wants to merge 2 commits into
Conversation
Third creatable kind at the Rule 17 gate (after agent #1622, agentic #1723): a missing api-workflow can now be built as an in-solution sibling by a sub-agent invoking uipath-api-workflow, then registered, rediscovered via --type api --local, and bound (resource process / resourceSubType Api / resourceKey solution_folder.<name> / runtime folderPath ""). api-workflow specifics vs the agent leg: no build-kind choice; builder brief mandates back-filling entry-points.json entryPoints[0].input/output.properties consistently with the Workflow.json root schemas (init scaffolds them null, no CLI verb syncs them); uip api-workflow run forbidden (vendor side effects) — offline validate is the completion bar; compute-only (no IS connectors). Runtime contract (e2e-verified on alpha 2026-07-01): full solution pack/publish/deploy run provisions the Api sibling as a runnable process and the case invokes it successfully; case debug does NOT provision Api siblings — the task faults incident 170007 by design. Caveat carried in the plugin, phased-execution debug notes, and implementation Step 13a triage. Independent of PR #1723 by design — agentic processes stay non-creatable here; whichever merges second resolves ~15 one-line enum conflicts. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
C1 brief now declares the entry-points back-fill a sanctioned exception to
uipath-api-workflow rule 19a ('Then edit Workflow.json only' / 'input/output
may be null') — without it a rule-abiding builder skips the back-fill and the
warn-only verify binds an empty contract that only surfaces post-deploy.
F1 null-guard when reading a USER-built sibling's entry-points.json (pre-gate
check + placeholder upgrade path): fall back to Workflow.json root schemas
and warn — nothing CLI-syncs that file for Api projects.
F2 both 170007 debug notes now route the full-deploy verification through
AskUserQuestion (Orchestrator install; Phase 6 no-deploy default), else
report debug-unverifiable and continue — no autonomous deploy.
F5 cross-kind name collisions: kind-check (registry list --local Category)
before the 'already exists' adopt path in BOTH residuals; §1 rename check
extended to existing siblings of any kind.
F3/F6/F8 dedup: sibling-check body and already-exists blockquote compressed to
pointer+api-specifics; planning.md §3.1 trimmed to identity+links.
F9 split the double 'step 4/5' referent in both match-priority ladders; no-match
flow ordered: in-solution check → Rule 17 gate → sdd-folder fallback.
F10/F12/F13/F14 get --local example --type <agent|api>; restore --output json
at registry-discovery §3; text language tags on both briefs; 'the one case'.
F7 skipped — reviewer's materiality judge ruled the impl-json point-of-use
repetition deliberate (mirrors merged agent baseline).
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
e9c1bf7 to
4c9800b
Compare
song-zhao-25
added a commit
that referenced
this pull request
Jul 2, 2026
…adopt contract; fix two live-run gaps Surfaced by the api-workflow L4 suite (T2b, on-disk-unregistered residual) and verified live on CLI 1.198; both gaps also affect the merged agent leg: 1. registry list --local enumerates only .uipx-registered projects — an unregistered on-disk residual is invisible to it, so the adopt path's kind-check is now two-step (registered name -> list --local Category; unregistered dir -> on-disk project.uiproj ProjectType). 2. uip solution project add refuses 'Project name already exists' even when the name is absent from .uipx Projects[] — the collision check keys on stale resource declaration files left by a prior registration. Remediation: delete resources/solution_folder/package/<Name>.json + the kind's process/<category>/<Name>.json, re-run project add (verified: 'Added successfully'), then resources refresh regenerates them. The corrected contract now lives ONCE, kind-agnostically, in registry-discovery.md § Create-on-Missing 3b; agent/planning.md's residual blockquote shrinks to a pointer + agent-specific tokens. Open create-on-missing legs (#1802 api-workflow, #1803 rpa, #1723 agentic) inherit on their next rebase and should slim their per-type blockquotes to the same pointer shape. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
song-zhao-25
added a commit
that referenced
this pull request
Jul 2, 2026
…adopt contract; fix two live-run gaps Surfaced by the api-workflow L4 suite (T2b, on-disk-unregistered residual) and verified live on CLI 1.198; both gaps also affect the merged agent leg: 1. registry list --local enumerates only .uipx-registered projects — an unregistered on-disk residual is invisible to it, so the adopt path's kind-check is now two-step (registered name -> list --local Category; unregistered dir -> on-disk project.uiproj ProjectType). 2. uip solution project add refuses 'Project name already exists' even when the name is absent from .uipx Projects[] — the collision check keys on stale resource declaration files left by a prior registration. Remediation: delete resources/solution_folder/package/<Name>.json + the kind's process/<category>/<Name>.json, re-run project add (verified: 'Added successfully'), then resources refresh regenerates them. The corrected contract now lives ONCE, kind-agnostically, in registry-discovery.md § Create-on-Missing 3b; agent/planning.md's residual blockquote shrinks to a pointer + agent-specific tokens. Open create-on-missing legs (#1802 api-workflow, #1803 rpa, #1723 agentic) inherit on their next rebase and should slim their per-type blockquotes to the same pointer shape. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Third creatable kind at the Rule 17 empty-lookup gate (after agent #1622, agentic process #1723): a missing API workflow can now be built inline as an in-solution sibling by a sub-agent invoking
uipath-api-workflow, then registered (uip solution project add), rediscovered offline (registry search --type api --local), I/O-verified from the sibling'sentry-points.json, and bound (resource:"process"/resourceSubType:"Api"/resourceKey="solution_folder.<name>"/ runtimefolderPath:"").Docs-only: 2 commits, 13+9 files. All shared Create-on-Missing machinery ships with #1622 (merged) — this PR adds only the per-type surface + enum widenings, the same delta shape as the agentic leg.
What changed
plugins/tasks/api-workflow/planning.md— match-priority ladder, pre-gate in-solution sibling check (--type api --local), and a full## Creating an API workflow inlinesection: pinned-I/O contract, SDD-composed Purpose, the builder brief, binding ("Api",folderPath:""), runtime blockquote, failure contract.plugins/tasks/api-workflow/impl-json.md— Built-inline sibling notes (skip tenanttasks describe; I/O from rawentry-points.json; folderPath exception).agent | api-workflow, routing,--type <agent|api>unions, report shapes, anti-pattern carve-out).api-workflow-specific contract (vs the agent leg)
uip api-workflow initleavesentryPoints[0].input/outputasnulland no CLI verb fills them; the brief mandates back-filling consistently with theWorkflow.jsonroot schemas and explicitly overridesuipath-api-workflowrule 19a ("Then edit Workflow.json only") for this deliverable — otherwise a rule-abiding builder skips it and the warn-only verify binds an empty contract.uip api-workflow run(real vendor side effects with auth); offlinevalidateis the completion bar. Compute-only in v1 (no IS connector activities).Runtime evidence (e2e on alpha, 2026-07-01)
solution pack → publish → deploy run(DeploymentSucceeded+SuccessfulActivate) provisioned the Api sibling as a runnable process (<Pkg>.Api.ClassifyApi) in the case's folder; starting the case viaor jobs startran the api-workflow child job toSuccessfulthrough thefolderPath:""binding. Tenant cleaned after (uninstall + package delete).case debugdoes NOT provision Api siblings (agents do): the task faults incident170007by design. Documented in the plugin,phased-execution.md§ Debug notes, andimplementation.mdStep 13a (consent-gated deploy alternative; declined → report debug-unverifiable and continue).Relationship to #1723
Independent by design (no stacking): agentic processes stay non-creatable here. Textual overlap only — ~15 one-line enum widenings touch the same lines #1723 widens; whichever merges second resolves mechanical conflicts.
Tests
External L4 suite (manual/interactive — the gate is an
AskUserQuestionand the build spawns anAgent-tool sub-agent, which the default coder-eval experiment cannot drive; same rationale as #1622/#1723):case_coding_agent_tests/create-on-missing-api-workflow-test/— T1 single build/bind/validate (incl. the rule-19a-override back-fill proof), T2/T2b idempotency + on-disk-unregistered residual, T3 mixed agent+api-workflow select-and-skip routing, T4 I/O reconcile mismatch warn-not-block. Draft until the suite is recorded. In-repo coder-eval task deferred, matching both prior legs.🤖 Generated with Claude Code