Merge pull request #44 from madhura68/fix/attach-worktree-writes-branch

fix(attachWorktreeToJob): schrijf branch naar claudeJob.branch in DB
This commit is contained in:
Janpeter Visser 2026-05-09 14:07:32 +02:00 committed by GitHub
commit 7d217cf443
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 14 additions and 8 deletions

View file

@ -6,7 +6,7 @@ import * as fs from 'node:fs/promises'
vi.mock('../src/prisma.js', () => ({
prisma: {
$executeRaw: vi.fn(),
claudeJob: { findFirst: vi.fn(), findUnique: vi.fn() },
claudeJob: { findFirst: vi.fn(), findUnique: vi.fn(), update: vi.fn() },
product: { findUnique: vi.fn() },
},
}))
@ -21,7 +21,7 @@ import { resolveRepoRoot, rollbackClaim, attachWorktreeToJob } from '../src/tool
const mockPrisma = prisma as unknown as {
$executeRaw: ReturnType<typeof vi.fn>
claudeJob: { findFirst: ReturnType<typeof vi.fn>; findUnique: ReturnType<typeof vi.fn> }
claudeJob: { findFirst: ReturnType<typeof vi.fn>; findUnique: ReturnType<typeof vi.fn>; update: ReturnType<typeof vi.fn> }
product: { findUnique: ReturnType<typeof vi.fn> }
}
const mockCreateWorktree = createWorktreeForJob as ReturnType<typeof vi.fn>

View file

@ -202,12 +202,18 @@ export async function attachWorktreeToJob(
} catch (err) {
console.warn(`[attachWorktreeToJob] failed to resolve base_sha for ${jobId}:`, err)
}
if (baseSha) {
// Persist branch + base_sha. update_job_status (prepareDoneUpdate)
// leest claudeJob.branch om naar de juiste ref te pushen — zonder deze
// update valt 'ie terug op het legacy `feat/job-<8>` patroon en faalt
// de push met "src refspec ... does not match any" voor sprint/story
// strategy branches.
await prisma.claudeJob.update({
where: { id: jobId },
data: { base_sha: baseSha },
data: {
branch: actualBranch,
...(baseSha ? { base_sha: baseSha } : {}),
},
})
}
return { worktree_path: worktreePath, branch_name: actualBranch, reused_branch: reused }
} catch (err) {