Make workspace, agent, and schedule automation consistent (#2186)

* feat(workspaces): align agent and schedule automation

Make workspace identity the shared placement boundary for MCP and CLI, while caller identity determines parentage. Keep heartbeats minimal and cron-based without changing legacy rolling interval semantics.

* test(cli): expect canonical schedule cadence

* fix(automation): preserve workspace and schedule compatibility

* fix(automation): preserve compatibility edges

* fix(workspaces): align MCP lifecycle resolution

* fix(workspaces): preserve creation intent

* fix(workspaces): preserve branch and schedule identity
This commit is contained in:
Mohamed Boudra
2026-07-18 14:04:48 +02:00
committed by GitHub
parent 98f6611362
commit ffe76a7e57
66 changed files with 2791 additions and 924 deletions
+5 -3
View File
@@ -723,7 +723,7 @@ test("sends new-agent run options when creating schedules", async () => {
const createPromise = client.scheduleCreate({
requestId: "request-1",
prompt: "Run the task",
cadence: { type: "every", everyMs: 60_000 },
cadence: { type: "cron", expression: "* * * * *" },
target: {
type: "new-agent",
config: {
@@ -741,7 +741,7 @@ test("sends new-agent run options when creating schedules", async () => {
type: "schedule/create",
requestId: "request-1",
prompt: "Run the task",
cadence: { type: "every", everyMs: 60_000 },
cadence: { type: "cron", expression: "* * * * *" },
target: {
type: "new-agent",
config: {
@@ -1991,7 +1991,7 @@ test("normalizes workspace_setup_progress into a workspace-scoped daemon event",
});
});
test("sends create_agent_request with string workspace ids", async () => {
test("sends create_agent_request with workspace and caller identity", async () => {
const logger = createMockLogger();
const mock = createMockTransport();
@@ -2012,6 +2012,7 @@ test("sends create_agent_request with string workspace ids", async () => {
provider: "codex",
cwd: "/tmp/project/.paseo/worktrees/feature-a",
workspaceId: "ws-feature-a",
callerAgentId: "parent-agent",
title: "Compat agent",
modeId: "default",
});
@@ -2022,6 +2023,7 @@ test("sends create_agent_request with string workspace ids", async () => {
expect.objectContaining({
type: "create_agent_request",
workspaceId: "ws-feature-a",
callerAgentId: "parent-agent",
}),
);