What
main's required status checks are:
- Detect Changed Paths
- Dependency Review
- Validate Shipwright Manifest
- Analyze (actions), Analyze (csharp), Analyze (javascript-typescript), Analyze (rust)
That is CodeQL, the dependency scanner, and the manifest validator. No test job is required. Not .NET / Sidecars, not Rust / Shard 1/2 or 2/2, not VS Code / Full Suite + Coverage, not any of the seven VS Code (Windows) chunks, not Lint / All Languages.
Why it matters
A PR whose entire test suite is red is still mergeable through the GitHub UI or gh pr merge — nothing blocks it. The coverage ratchet in particular runs inside .NET / Sidecars and Rust / Coverage Gate, so a coverage regression is likewise unenforced at the merge boundary. The gates exist and work; they just are not wired to branch protection.
This surfaced while merging #200: the coverage gate was failing and GitHub still reported the PR as blocked only on its draft status.
Suggested fix
Add to the required set at minimum:
Lint / All Languages
.NET / Sidecars
Rust / Shard 1/2, Rust / Shard 2/2, Rust / Coverage Gate
VS Code / Full Suite + Coverage
- the
VS Code (Windows) chunk jobs
Note that jobs gated on detect-changes report as skipped rather than passing when their paths are untouched; required checks need to tolerate that (GitHub treats a skipped required check as passing, so this is generally safe, but worth confirming per job).
Also worth deciding whether enforce_admins should be on — it is currently false.
What
main's required status checks are:That is CodeQL, the dependency scanner, and the manifest validator. No test job is required. Not
.NET / Sidecars, notRust / Shard 1/2or2/2, notVS Code / Full Suite + Coverage, not any of the sevenVS Code (Windows)chunks, notLint / All Languages.Why it matters
A PR whose entire test suite is red is still mergeable through the GitHub UI or
gh pr merge— nothing blocks it. The coverage ratchet in particular runs inside.NET / SidecarsandRust / Coverage Gate, so a coverage regression is likewise unenforced at the merge boundary. The gates exist and work; they just are not wired to branch protection.This surfaced while merging #200: the coverage gate was failing and GitHub still reported the PR as blocked only on its draft status.
Suggested fix
Add to the required set at minimum:
Lint / All Languages.NET / SidecarsRust / Shard 1/2,Rust / Shard 2/2,Rust / Coverage GateVS Code / Full Suite + CoverageVS Code (Windows)chunk jobsNote that jobs gated on
detect-changesreport as skipped rather than passing when their paths are untouched; required checks need to tolerate that (GitHub treats a skipped required check as passing, so this is generally safe, but worth confirming per job).Also worth deciding whether
enforce_adminsshould be on — it is currentlyfalse.