2 months ago
39a542copen-git installation tokens can now comment, review and post checks, so the actions half of ForgeAdapter is real. The worker resolved every non-github forge to null, which meant a normalized open-git event reached the engine and died there; buildResolveForge now carries a per-forge record and open-git resolves with an adapter. The check is the WHOLE gate, and that is open-git's own design: mergePullRequestForActor blocks on getPullRequestCheckGate and consults no reviews, so a failing tripwire check is a dead merge button on every repo with no branch protection to opt into. POST /commits/:sha/checks upserts by name, so it cannot double-post and clears itself on the next write. Therefore block does NOT file a changes-requested review here: it would gate nothing, and open-git has no dismissal endpoint, so it would sit on the change request forever after the block cleared. comment, label and request-review throw for the same reason — open-git's comments endpoint is create-only, and upsert-never-append (7) cannot be honoured without a list or patch. reads: null, and the four read methods throw rather than return empty. An empty diff is a claim that would make max-files-changed pass and honeypot find nothing; throwing degrades so the affected rules skip (6). needs_review maps to a blocking status. open-git's gate is binary with no advisory state, so parking for a human means holding the merge — fail-closed, and a deliberate divergence from GitHub's non-blocking neutral.
Parentbccfb77