test: verify plan-to-git push#418
Conversation
Agent Plan UpdateBranch: 1. PlanSource: claude - Captured: 2026-06-17T14:10:22Z Plan: No-Op Verification for plan-to-git git pushContextThe git wrapper at
The wrapper exposes two opt-out env vars:
The test file Gap
if [[ "${DOCKER_GIT_SKIP_POST_PUSH_ACTION:-}" == "1" ]]; then
return 0
fiThis guard is the only mechanism that makes a successful push a complete no-op. ImplementationAdd one it.effect("skips all post-push actions when DOCKER_GIT_SKIP_POST_PUSH_ACTION is set", () =>
withHarness((harness) =>
Effect.gen(function*(_) {
yield* _(
runWrapper(harness, harness.repoDir, ["push", "origin", "HEAD"], {
env: { DOCKER_GIT_SKIP_POST_PUSH_ACTION: "1" }
})
)
const nodeScript = yield* _(readLogLines(harness.nodeScriptLogPath))
const planToGit = yield* _(readLogLines(harness.planToGitLogPath))
const gh = yield* _(readLogLines(harness.ghLogPath))
// Invariant: DOCKER_GIT_SKIP_POST_PUSH_ACTION=1 is a complete no-op —
// no PR creation, no plan import/sync, no session backup.
expect(nodeScript).toEqual([])
expect(planToGit).toEqual([])
expect(gh).toEqual([])
})
).pipe(Effect.provide(NodeContext.layer)))No new files, no new helpers, no new dependencies. The test reuses:
Verification# Run only this test file
npm test -- --filter "git post-push wrapper"
# Or run the full suite
npm testExpected: new test passes; all existing 11 tests continue to pass. Invariant proven: |
AI Session BackupCommit: d053d8c
|
No description provided.