Skip to content

[BUG][P2] validate CLI falsely warns Missing tool: set_output / ask_user #28

Description

@mishrapravin114

Summary

./engine validate reports Missing tool implementations: set_output (and sometimes ask_user) for many templates, even though these are built-in EventLoopNode tools and work at runtime.

Evidence

./engine validate examples/templates/support_triage
# WARNING: Missing tool implementations: set_output

Affected templates include: support_triage, invoice_review, hourly_tracking, deep_research, meeting_scheduler, all supervisors/*, supervised_agreement_analysis.

Built-in registration lives in core/engine/graph/event_loop/node.py — not in per-agent tools.py.

Validator logic: core/engine/runner/runner.pyvalidate() checks self._tool_registry.has_tool(tool_name) only.

Expected behavior

  • set_output and ask_user should not appear in missing-tool warnings
  • Validate should still catch genuinely missing custom tools (e.g. fetch_broker_transactions without tools.py)

Proposed fix

File: core/engine/runner/runner.py (or shared constant)

BUILTIN_NODE_TOOLS = frozenset({"set_output", "ask_user"})
# skip these when building missing_tools list

Add/update test in core/tests/ for validate on an agent that only uses set_output.

Acceptance criteria

  • ./engine validate examples/templates/support_triage — no missing-tool warning for set_output
  • Agents with actually missing custom tools still warn/error correctly
  • Unit test added

Effort

~1 hour

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingphase-1Phase 1 — pilot / GTMpriority-p1P1 — high / next after P0type-platformPlatform / infrastructure

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions