Skip to content

Commit 8236dc9

Browse files
author
ddx-checkpoint
committed
fix: initialize lifecycle scratch git workdirs
1 parent 0fd5f90 commit 8236dc9

2 files changed

Lines changed: 18 additions & 2 deletions

File tree

cli/internal/agent/lifecycle_dispatch.go

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,15 @@ func newLifecycleScratchDir(projectRoot string) (string, error) {
6161
if err := os.MkdirAll(base, 0o755); err != nil {
6262
return "", err
6363
}
64-
return os.MkdirTemp(base, lifecycleScratchDirPrefix)
64+
dir, err := os.MkdirTemp(base, lifecycleScratchDirPrefix)
65+
if err != nil {
66+
return "", err
67+
}
68+
if out, err := internalgit.Command(context.Background(), dir, "init", "-q").CombinedOutput(); err != nil {
69+
_ = os.RemoveAll(dir)
70+
return "", fmt.Errorf("initialize lifecycle scratch git repo: %s: %w", strings.TrimSpace(string(out)), err)
71+
}
72+
return dir, nil
6573
}
6674

6775
func captureLifecycleProjectStatus(projectRoot string) (lifecycleProjectStatusSnapshot, error) {

cli/internal/agent/preclaim_intake_hook_test.go

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -200,7 +200,15 @@ func TestPreClaimIntakeHookDispatchesOutsideProjectRoot(t *testing.T) {
200200
store, b := newPreClaimIntakeHookTestStore(t, root)
201201

202202
svc := &preClaimIntakeHookServiceStub{
203-
finalText: `{"classification":"atomic","confidence":0.99,"reasoning":"single-slice"}`,
203+
executeFunc: func(req agentlib.ServiceExecuteRequest) (<-chan agentlib.ServiceEvent, error) {
204+
out, err := runGitIntegOutput(req.WorkDir, "rev-parse", "--is-inside-work-tree")
205+
require.NoError(t, err)
206+
assert.Equal(t, "true", out)
207+
ch := make(chan agentlib.ServiceEvent, 1)
208+
ch <- agentlib.ServiceEvent{Type: "final", Data: []byte(`{"status":"success","final_text":"{\"classification\":\"atomic\",\"confidence\":0.99,\"reasoning\":\"single-slice\"}"}`)}
209+
close(ch)
210+
return ch, nil
211+
},
204212
}
205213

206214
hook := NewPreClaimIntakeHook(root, store, intakeHookTestConfig(), svc, nil)

0 commit comments

Comments
 (0)