cd /news/ai-agents/i-added-sub-agents-to-ragleap-agents… · home › topics › ai-agents › article
[ARTICLE · art-155129] src=dev.to ↗ pub= topic=ai-agents verified=true sentiment=↑ positive

I Added Sub-Agents to ragleap-agents Without Breaking Anything — Here's How

The ragleap-agents project released version 0.5.0, adding a make_delegate_tool that lets a parent agent delegate tasks to child agents while propagating taint in both directions and enforcing hard limits such as MAX_DEPTH_CEILING and per-run budgets. The release is opt-in only, with Agent.run gaining a keyword-only tainted=False parameter that preserves existing behavior, and the project reports 208 tests, 8 live runs and zero breaking changes. Child answers are fenced so a delegated agent's output cannot become the parent's instructions, blocking prompt injection and privilege escalation from child to parent approval queue.

by read1 min views4 publishedOct 22, 2026

ragleap-agents 0.5.0: Sub-agents — 208 tests, 8 live runs, 0 breaking changes

Tag: ragleap-agents-v0.5.0 (332b4c0) — 2 commits to main since. TL;DR: make_delegate_tool lets a parent delegate to children, with taint flowing both ways and hard limits. Opt-in only.

The design goal

No breaking changes. Every addition is opt-in.

agent.run("do X")

agent.run("do X", tainted=True) # #828

Agent.run gained only *, tainted=False — keyword-only, defaults to old behavior.

from ragleap_agents import make_delegate_tool, delegate_policy, Budget, MAX_DEPTH_CEILING

delegate = make_delegate_tool(

    children={

        "researcher": researcher_agent,

        "analyst": analyst_agent

    },


)

parent = Agent(tools=[delegate, send_message, ...])

result = parent.run("Research competitor pricing and draft a note")

Implementation in #827, #843, #849:

Why fenced? To prevent prompt injection via child answer becoming parent's instructions.

This is intentional for safety. No privilege escalation from child to parent approval queue.

Future: explicit child approval queue with owner confirmation on host (Phase 2 permission system).

from ragleap_agents.context import current_run

def my_tool(x: str):

    ctx = current_run()

    print(ctx.run_id, ctx.taint)

    return x

Useful for custom logging / policy.

Verified (with numbers) Wheel: exposes make_delegate_tool, delegate_policy, Budget, MAX_DEPTH_CEILING, Agent.run(..., tainted=False)

Live: scripts/live_delegate.py #890

Not verified — honest

We ship honest limits, not marketing.

Install & Provenance

pip install ragleap-agents==0.5.0 Digests:

Release PR #892, workflow 39653944931, 2026-10-21 18:35 UTC. Trusted publishing with Sigstore.

What's next

This unlocks Phase 3 of RagLeap roadmap:

Code: github.com/ragleap/ragleap-core

If you build multi-agent, try the delegation API and tell me where it breaks.
── more in #ai-agents 4 stories · sorted by recency
── more on @ragleap-agents 3 stories trending now
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain — perfect for shipping the agent you just read about.

$git push zahid main
→ Live at https://your-agent.zahid.host ✓
Get free account → Pricing
from €0/mo · no card required
LIVE [news/i-added-sub-agents-t…] indexed:0 read:1min 2026-10-22 · —