fix(git): honor Git-Protocol v2 header; ci: skip pullfrog on bots; add conformance harness
What
Three independent changes:
1. Git-Protocol v2 header (snapshots.rs)
The snapshot http-backend read git-protocol lowercase only; the official runner sends Git-Protocol: version=2, so the header was dropped, the kitchen served protocol v0, and git-upload-pack failed with expected packfile / bad line length character: '?'. Now falls back to the canonical Git-Protocol header, and logs a debug trace of the request body prefix so protocol mismatches are diagnosable.
2. Skip pullfrog on bot PRs (pullfrog.yml)
renovate[bot]/dependabot[bot] synchronize events re-queue the gpt-5.6-terra review on every bump with no new diff to assess (PR #196 paid 2× on a single versions.toml bump). The job now skips bot actors.
3. Conformance harness
benchmarks/real-world/conformance-new5repos.sh — 6-repo campaign (zoxide/fzf/golangci-lint/jq/starship/cobra) with isolated PRELOOP_HOME, configurable POOL_SIZE/port, plus fixtures/env-diag.yml and the run report.
Verification
just test-ci: all pass- conformance runs on MacStudio: golangci 6/6 linux, jq 16/18 linux, starship 6/8 linux; git-protocol fix confirmed in server logs (
git_protocol=Some("version=2"))
Summary by cubic
Fixes snapshot git fetches that failed under Git protocol v2 and stops pullfrog from re-queuing reviews on bot PRs. Adds a conformance harness that runs six real-world repos' workflows against preloop runners.
Bug Fixes
- The snapshot http-backend only read the lowercase
git-protocolheader, dropping the official runner'sGit-Protocol: version=2and causinggit-upload-packto fail withexpected packfile/bad line length character: '?'. - It now falls back to the canonical
Git-Protocolheader and debug-logs the request body prefix for diagnosing mismatches. - The pullfrog workflow now skips
renovate[bot],dependabot[bot], andpullfrog[bot]actors, which previously triggered duplicate reviews on dependency bumps with no new diff.
New Features
benchmarks/real-world/conformance-new5repos.shruns zoxide, fzf, golangci-lint, jq, starship, and cobra workflows against preloop runners with isolatedPRELOOP_HOMEand configurable pool size and port.- Adds the
fixtures/env-diag.ymlenvironment-diagnostics workflow and the first run report.
[!NOTE]
Honor Git-Protocol header, skip pullfrog for bots, add conformance harness
snapshot_git_http in snapshots.rs now checks for the Git-Protocol header casing if git-protocol is missing, and logs a 200-byte request body prefix.
- Adds conformance-new5repos.sh and an env-diag.yml fixture to run conformance tests against public GitHub repositories.
- pullfrog.yml now skips the pullfrog job when triggered by
renovate[bot], dependabot[bot], or pullfrog[bot].
Macroscope summarized e098e14.
Summary by CodeRabbit
-
New Features
- Added a real-world conformance campaign covering six additional repositories, with workflow submission, monitoring, result collection, retries, and failure reporting.
- Added an environment diagnostics workflow to report runtime tools, permissions, and platform configuration.
-
Documentation
- Added a comprehensive benchmark report detailing results, timings, environment findings, and known execution gaps across 13 repositories.
-
Bug Fixes
- Improved Git request compatibility by recognizing alternate protocol-header capitalization and enhanced request diagnostics for troubleshooting.