test(e2e): rely on the real pre-push hook for remote clone tests (G1) · Entire
test(e2e): rely on the real pre-push hook for remote clone tests (G1)
9454abf·
Soph·1w ago·2 files·+7 added/-3 removed
The remote clone tests pushed checkpoints explicitly via PushCheckpointRefs right after the user push, which would mask a broken pre-push hook. Replace those calls with AssertCheckpointsOnRemote so a plain git push must sync checkpoints through the installed hook end to end (A5/G1 in spirit).
No prompt text changed, so the vogon canary parser is unaffected. Verified green under both E2E_CHECKPOINT_STORE values.
Co-Authored-By: Claude Fable 5 noreply@anthropic.com
Claude-Session: https://claude.ai/code/session_012yi3hHGAGepwfrfjPETjGq
Sessions
cfbc41e5de4bView transcript
?\ Comprehensive Checkpoint Testing CoverageCodex·GPT-5.5·2 steps
Changes
2
e2e/tests
Mexplain_test.go+3/-1
Mresume_remote_test.go+4/-2
65 unmodified lines
66
67
68
69
70
71
70
72
73
74
75
65 unmodified lines
testutil.WaitForCheckpoint(t, s, 30*time.Second)
checkpointID := testutil.AssertHasCheckpointTrailer(t, s.Dir, "HEAD")
// Plain push runs the installed pre-push hook, which syncs checkpoints —
// no explicit PushCheckpointRefs. This exercises the real hook end to end.
s.Git(t, "push", "-u", "origin", "feature")
testutil.PushCheckpointRefs(t, s.Dir)
testutil.AssertCheckpointsOnRemote(t, s, bareDir)
cloneDir := t.TempDir()
if resolved, symErr := filepath.EvalSymlinks(cloneDir); symErr == nil {
Me2e/tests/explain_test.go+3/-1
43 unmodified lines
44
45
46
47
47
48
49
50
49
51
52
53
54
43 unmodified lines
checkpointID := testutil.AssertHasCheckpointTrailer(t, s.Dir, "HEAD")
sessionMeta := testutil.WaitForSessionMetadata(t, s.Dir, checkpointID, 0, 30*time.Second)
// Push feature branch and checkpoint refs to the bare remote.
// Push the feature branch. The installed pre-push hook syncs checkpoints as
// part of the plain push — no explicit PushCheckpointRefs — so this covers
// the real hook end to end (A5/G1).
s.Git(t, "push", "-u", "origin", "feature")
testutil.PushCheckpointRefs(t, s.Dir)
testutil.AssertCheckpointsOnRemote(t, s, bareDir)
// Clone the repo to a new directory (simulating a teammate).
cloneDir := t.TempDir()
Me2e/tests/resume_remote_test.go+4/-2