fix(uipath-agents): forbid switching an existing coded agent's framework - #2883
Conversation
The coded quickstart only stated framework selection for greenfield
projects; for existing projects the "keep it" intent lived solely in a
step-skip gate. An agent fixing an OpenAI Agents project that misused
LangGraph's interrupt() read the OpenAI note ("use LangGraph instead for
HITL") as a remediation and migrated the whole project, failing
antipattern_openai_agents_hitl in CI.
Add an explicit Critical Rule: when a <framework>.json is present the
framework is fixed — work within its capabilities and surface
limitations to the user instead of migrating. Also drop the checker's
"or migrate to LangGraph" hint, which contradicted the task's criteria.
Local runs on this state: 3/3 codex (gpt-5.6-terra), 3/3 claude-code.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
Claude finished @andreibalas-uipath's task in 1m 37s —— View job PR Review: fix(uipath-agents): forbid switching an existing coded agent's framework
SummaryAdds a new Critical Rule to Change-by-Change Review1.
|
| Area | Status | Notes |
|---|---|---|
| Frontmatter | OK | Not modified |
| E2E Tests | OK | Existing test updated to align with the new rule; task YAML unchanged |
| Skill Body | OK | New critical rule is well-positioned and prescriptive |
| References & Assets | OK | No broken links; rule references existing detection variables |
| Repo Hygiene | OK | No secrets, no cross-skill deps, changes scoped to one skill |
Issues for Manual Review
None found. The PR description includes passing local coder-eval runs (3/3 on two harness/model combos), confirming the fix prevents migration behavior.
Conclusion
Clean, well-scoped fix. The new rule closes a real gap (the "framework is fixed" intent existed only as a step-skip gate, not as an explicit prohibition), and the test change removes the contradictory advice that caused the CI failure. Approve.
3fa6fa4 to
752f8dc
Compare
Why
skill-agent-coded-antipattern-openai-agents-hitlfailed in CI (codex / gpt-5.6-terra, score 0.125). The seed is an OpenAI Agents project that misuses LangGraph'sinterrupt(...). The agent correctly diagnosed the mismatch, then read the OpenAI integration note ("does not support HITL … use LangGraph or LlamaIndex instead") as a remediation and migrated the whole project to LangGraph — deletingopenai_agents.json, swapping deps, rewritingmain.pyas aStateGraph.The coded quickstart only stated framework selection for greenfield projects; for existing projects the "keep it" intent lived solely in a step-skip gate (
Framework — skip if framework != none), not as a rule.What
skills/uipath-agents/references/coded/quickstart.md§ Critical Rules — new rule:Deliberately generic — no worked example — so the agent pairs the rule with the capability facts already stated in the framework/capability references.
tests/.../check_antipattern_openai_agents_hitl.py— dropped the failure hint "or, if HITL is essential, migrate the project to LangGraph", which contradicted the task's own criteria.Verification
npm run skills:validateOK (default + studioweb; rule sits outside all flavor markers).Local coder-eval runs on this state,
experiments/default.yaml, 3 replicates each:CI brownfield sweep (Run Coder Eval, all 8
lifecycle:editcoded tasks × codex + claude): target task passes on both harnesses; 15/16 agent-graded runs pass with 0 framework migrations. The one non-pass (claudeguardrails/byog_middleware) is a missing tenant fixture —byog-smoke-agent-pinisn't registered on the alphacoderevaltenant and the agent correctly refused to fabricate it (skill Rule 18); separate follow-up.The greenfield strict-input flake (
strict_input_no_messages) seen on this PR's smoke run is addressed separately in #2888.🤖 Generated with Claude Code