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
@@ -1031,6 +1031,25 @@ describe("workspace message schemas", () => {
expect(newWorktree.type).toBe("workspace.create.request");
expect(newWorktree.source.kind).toBe("worktree");
const branchOff = WorkspaceCreateRequestSchema.parse({
type: "workspace.create.request",
requestId: "req-branch-off",
source: {
kind: "worktree",
cwd: "/tmp/repo",
action: "branch-off",
branchName: "feature/auth",
worktreeSlug: "feature-auth",
},
});
expect(branchOff.source).toEqual({
kind: "worktree",
cwd: "/tmp/repo",
action: "branch-off",
branchName: "feature/auth",
worktreeSlug: "feature-auth",
});
// Directory source must also be accepted.
const newDirectory = WorkspaceCreateRequestSchema.parse({
type: "workspace.create.request",