Skip to content

[limen FORCE-route-all-services] Router fans across ALL paid services, not just the 6 vendors#41

Open
4444J99 wants to merge 1 commit into
mainfrom
limen/force-route-all-services-e40f
Open

[limen FORCE-route-all-services] Router fans across ALL paid services, not just the 6 vendors#41
4444J99 wants to merge 1 commit into
mainfrom
limen/force-route-all-services-e40f

Conversation

@4444J99

@4444J99 4444J99 commented Jun 21, 2026

Copy link
Copy Markdown
Collaborator

Autonomous limen dispatch of task FORCE-route-all-services.

Extend route.py/dispatch so work fans across EVERY available paid agent: codex, claude, opencode, agy, gemini, jules, + copilot (FORCE-copilot-lane), + warp/oz (FORCE-warp-oz-lane), + GitHub Actions runners. Principle: no paid subscription/service sits idle while work exists. Add a 'capacity census' that lists every reachable agent each cycle.

Produced in an isolated worktree off origin — review before merge.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: c3fdd5b86a

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread cli/src/limen/dispatch.py
Comment on lines +598 to +603
total += dispatch_tasks(
limen,
tasks_path,
agent=paid_agent,
budget=budget,
dry_run=dry_run,

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Avoid failing any-task on first incapable fleet lane

When limen dispatch --agent fleet --live is run against an unrouted board with a target_agent: any task, this loop hands that task to the first reachable paid lane in PAID_AGENT_ORDER before checking whether that lane can actually handle it. For example, if codex is installed but the task repo has no local checkout, _call_local_agent returns false and dispatch_tasks marks the task failed, so later capable lanes such as Jules or GitHub Actions never get a chance. The fleet path should filter by task capability or treat capability skips as still open rather than consuming the task as a failed dispatch.

Useful? React with 👍 / 👎.

Comment thread scripts/metabolize.sh
echo "── 4b. dispatch jules (within daily budget) ──"
python3 -m limen dispatch --agent jules --live --limit "${LIMEN_JULES_LIMIT:-10}" || true
echo "── 4. dispatch paid fleet (capacity-census gated, per-lane bounded) ──"
python3 -m limen dispatch --agent fleet --live --limit "${LIMEN_FLEET_LIMIT:-${LIMEN_LOCAL_LIMIT:-3}}" || true

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Gate GitHub Actions lane on workflow availability

With LIMEN_DISPATCH=1, this now live-dispatches the github_actions lane whenever the fleet census sees gh, but the router can assign any repo-backed task to that lane without proving the target repo has the configured limen-agent.yml workflow. In environments where gh is installed but most target repos lack that workflow, _call_github_actions returns false and dispatch_tasks marks those tasks failed; before this change metabolize did not dispatch the GitHub Actions lane at all, so these tasks were not converted into failures.

Useful? React with 👍 / 👎.

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