Skip to content

Comments

feat: channel-to-workspace routing control plane (rebased)#40

Open
drpedapati wants to merge 6 commits intodevelopmentfrom
feature/epic30-routing-control-plane-rb
Open

feat: channel-to-workspace routing control plane (rebased)#40
drpedapati wants to merge 6 commits intodevelopmentfrom
feature/epic30-routing-control-plane-rb

Conversation

@drpedapati
Copy link
Owner

Rebased continuation of #39 on latest development.\n\nIncludes the same routing feature set, now replayed cleanly on current origin/development to simplify merge.\n\nVerification:\n- go test ./pkg/config ./pkg/routing ./pkg/agent ./cmd/picoclaw\n\nSupersedes #39.

@cloudflare-workers-and-pages
Copy link

Deploying sciclaw with  Cloudflare Pages  Cloudflare Pages

Latest commit: 8da3b4d
Status: ✅  Deploy successful!
Preview URL: https://4661127d.sciclaw.pages.dev
Branch Preview URL: https://feature-epic30-routing-contr-lhiy.sciclaw.pages.dev

View logs

@drpedapati
Copy link
Owner Author

Superseded by #41, which is rebased on latest development including commit 57be3f4.

Copy link

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

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: 8da3b4d69f

ℹ️ 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 on lines +378 to +379
if err := ValidateRoutingConfig(cfg.Routing); err != nil {
return nil, err

Choose a reason for hiding this comment

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

P1 Badge Avoid hard-failing config load on transient routing paths

Calling ValidateRoutingConfig during LoadConfig makes every CLI command fail when any mapped workspace is temporarily missing or unreadable, because validation checks os.Stat/os.ReadDir for each mapping. This blocks recovery workflows too (for example, you cannot run routing remove to fix the bad entry because config loading already aborts), and it happens even when routing is disabled.

Useful? React with 👍 / 👎.

Comment on lines +37 to +44
func NewAgentLoopPool(cfg *config.Config, msgBus *bus.MessageBus, provider providers.LLMProvider) *AgentLoopPool {
return NewAgentLoopPoolWithFactory(func(workspace string) (inboundHandler, error) {
cloned, err := cloneConfigForWorkspace(cfg, workspace)
if err != nil {
return nil, err
}
return agent.NewAgentLoop(cloned, msgBus, provider), nil
})

Choose a reason for hiding this comment

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

P2 Badge Register cron-capable loops for routed workspaces

This pool factory creates routed handlers with plain agent.NewAgentLoop only, but routed traffic is sent to these per-workspace loops instead of the primary loop in routing mode. Since setupCronTool is only wired onto the primary loop, users in mapped chats lose the cron tool behavior once routing is enabled.

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