feat(schema): Task.repo_url — cross-repo override for agent worktree

When a task targets a different repo than its parent product (e.g. an
MCP-server task tracked under the main product's PBI), product.repo_url
points to the wrong place. Result observed in story 'Verify-gate'
batch (2 May): agent's gate-task work failed to push because product
was Scrum4Me but the code lives in scrum4me-mcp.

Add optional `Task.repo_url` (TEXT, nullable). scrum4me-mcp's
`resolveRepoRoot` will read this in a follow-up PR — null falls back
to product.repo_url, preserving current behaviour for the 99% case.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Janpeter Visser 2026-05-02 18:01:08 +02:00
parent e02c6ff9d9
commit c82a7b1c06
2 changed files with 9 additions and 0 deletions

View file

@ -0,0 +1,4 @@
-- AlterTable: optional repo_url override on Task. Used when an MCP-server
-- task is tracked under a different product's PBI (cross-repo support).
-- Falls back to product.repo_url when NULL.
ALTER TABLE "tasks" ADD COLUMN "repo_url" TEXT;

View file

@ -254,6 +254,11 @@ model Task {
status TaskStatus @default(TO_DO)
verify_only Boolean @default(false)
verify_required VerifyRequired @default(ALIGNED_OR_PARTIAL)
// Override product.repo_url for branch/worktree/push purposes. Set when
// a task targets a different repo than its parent product (e.g. an
// MCP-server task tracked under the main product's PBI). Falls back to
// product.repo_url when null.
repo_url String?
created_at DateTime @default(now())
updated_at DateTime @updatedAt
claude_questions ClaudeQuestion[]