Skip to content

feat(maestro-case): delegate HITL action task authoring#2116

Draft
song-zhao-25 wants to merge 3 commits into
mainfrom
feat/case-create-missing-hitl
Draft

feat(maestro-case): delegate HITL action task authoring#2116
song-zhao-25 wants to merge 3 commits into
mainfrom
feat/case-create-missing-hitl

Conversation

@song-zhao-25

@song-zhao-25 song-zhao-25 commented Jul 17, 2026

Copy link
Copy Markdown
Contributor

What

Refactors the uipath-maestro-case action path so Case owns orchestration intent and delegates HITL resource authoring to uipath-human-in-the-loop.

Every approved, non-placeholder action task is handed to the HITL skill during Phase 2. Case no longer carries a private QuickForm/App JSON recipe or constructs action sidecars, context, resource bindings, recipients, or runtime I/O itself.

Ownership boundary

Case owns uipath-human-in-the-loop owns
target stage/lane and task ordering QuickForm/App-specific schema representation
required/run-once flags and task-entry conditions action JSON and HITL-owned artifacts
approved business input/output/outcome rows action-internal bindings and runtime I/O
Case variables and cross-task producer/xref contract recipient/App encoding and HITL validation
Action App registry selection and persisted I/O contract optional App contract re-verification
downstream Case bindings and final Case validation returning the written task/artifact identifiers

Delegations run sequentially against the shared caseplan.json. Case re-reads and verifies target placement, IDs, non-empty action data, and returned artifacts after each delegation. If the skill is unavailable or the result cannot be verified, Case writes the standard structural action placeholder with data: {} and records a build issue. It never improvises HITL JSON.

This follows the repository isolation rule: there is no structural cross-skill dependency and Case never reads or copies sibling skill files. The dependency is a runtime handoff with a graceful placeholder fallback.

Planning and I/O handoff

The approved SDD remains the business contract. tasks.md preserves:

  • the requested QuickForm or deployed Action App path;
  • title, priority, typed recipient, labels, and app actionType;
  • exact Input Schema, Output Schema, and outcomes;
  • Case-normalized outputs: producer rows for lineage and cross-task references;
  • selected Action App registry metadata plus its persisted tasks describe I/O contract.

That information is passed to the HITL delegate as a self-contained brief. Case does not translate it into field directions, native HITL types, sidecar properties, context entries, or runtime arrays.

Relationship to #2056

This PR has a strong behavioral/runtime dependency on #2056, but no file-level dependency.

#2056 is intentionally out of scope for this PR and will be fixed by its owning team. Keep #2116 draft/held until the compatible #2056 fix is available in the integration base.

Regression coverage

The existing quickform_runtime_io integration task now verifies both halves of the contract:

  • skill_triggered requires uipath-human-in-the-loop to be invoked by the Case build;
  • the deterministic checker verifies QuickForm sidecar/task I/O parity;
  • solution packing must retain HitlTaskArguments input and output mappings in BPMN;
  • QuickForm still has no deployed-app binding or registry audit entry.

Verification

Passed locally:

  • git diff --check
  • skill-creator quick_validate.py skills/uipath-maestro-case
  • npm run version:check
  • python3 scripts/check-skill-status.py --check-readme
  • coder-eval plan for quickform_runtime_io.yaml
  • task CLI-verb lint
  • checker script parse/help smoke

A full local coder-eval execution still requires an authenticated Claude CLI and the compatible #2056 implementation. The existing maestro-case checker unit tests CI failure is an unrelated pytest collection collision between two pre-existing test_checkers.py modules; this PR does not modify either module.

song-zhao-25 and others added 3 commits July 17, 2026 14:10
When a HITL action task has no resolvable deployed Action Center app, the case skill now authors an inline QuickForm (a <Label>.hitl.json schema + data.context[hitlType]="quick") instead of a placeholder. App-based tasks (a named app that resolves in action-apps-index.json) are unchanged; a named-but-missing app prompts QuickForm-or-placeholder. No coded-app sibling is built: QuickForm creates no tenant resource, no root bindings, and no sibling project.

Interface matches uipath-human-in-the-loop's Case surface (PR #2056 Path 1).

Core: action/planning.md (Path Selection + field derivation from wired I/O), action/impl-json.md (QuickForm task + .hitl.json shapes, case-vocab type map). Parity: SKILL.md, sdd-generation-rules.md, sdd-template.md, phase-0-interview.md, implementation.md, bindings/impl-json.md, registry-discovery.md — action leaves the placeholder-only category, QuickForm sits outside the agent/api sibling-create gate, with producer-scan and closure-audit exemptions.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@song-zhao-25 song-zhao-25 changed the title feat(maestro-case): author missing HITL action tasks as inline QuickForm feat(maestro-case): delegate HITL action task authoring Jul 18, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant