test(integration): real-hook push A-group (A1-A4, A6 queue drain)

Commit

Soph2mo ago

Exercise the git-invoked pre-push hook end to end for both checkpoint backends, closing the "real hook is never asserted" blind spot from the git-remote test plan.

  • A1: extend the seed test to assert the user branch itself arrives (the user push is unaffected by the checkpoint sync).
  • A2: a push carrying only a non-checkpointed commit is a fast no-op (RemoteCheckpointState digest unchanged).
  • A3: git push --delete (zero-sha stdin) and a tag-only push run through the real hook without crashing and exit 0.
  • A4: checkpoints routed to a genuinely unreachable target (a missing repo on the in-process HTTPS server) degrade gracefully; the user push still lands the feature branch. Local-path origins can't express this (URL derivation falls back to origin), hence the HTTPS setup.
  • A6 (git-refs slice): a real push drains the per-checkpoint push queue; the v1 alternates rebase scenario has no git-refs equivalent.

Adds GitPushArgsWithHooks, GitTag, PushQueueRefs, and SetGitConfig helpers.

Co-Authored-By: Claude Fable 5 noreply@anthropic.com Claude-Session: https://claude.ai/code/session_012yi3hHGAGepwfrfjPETjGq Entire-Checkpoint: 0d5ed27f5bb0

Checkpoints

Real Git-invoked Pre-push Hook Integration Tests

Claude Code
View session
Checkpoint 1