Repository navigation
docs(policy): keep the ci-gate contract in this repository - #20
Conversation
The README pointed at TanksterAI/.github for the ci-gate job to copy, so a personal-account policy depended on an organisation's docs. The contract now lives next to the ruleset that enforces it: the job, and why each part is there, per GitHub's documented behaviour for required checks (a skipped job reports Success; a job whose dependency failed is skipped; a workflow skipped by a path or branch filter never reports). The snippet passes actionlint and the reconciler's own publish test. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016kyusa9AMWHzJmRs2buJX3
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info
📜 Recent review details
📝 Summary
Merge Risk: ⚪ Minimal · up to
|
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016kyusa9AMWHzJmRs2buJX3
What changed
README only. The "Repository policy" section gains a "The
ci-gatecontract" subsection: the job a repository adds to opt into theci-gateruleset, and why each part of it is there. The pointer to TanksterAI/.github's README for "the job to copy" now points at this subsection.Why
The policy for this personal account is enforced from this repository, but the one piece every repository must copy lived in an organisation's README. The contract now sits next to the ruleset that enforces it and the reconciler that detects it.
The rules it states come from GitHub's documented behaviour for required checks, in the GitHub Docs page "Troubleshooting required status checks":
if: always();ci-gatefor such a workflow.How it was verified
tests/reconcile/test.sh60/60,tests/auto-merge-sweep/test.sh25/25 (yq v4.44.3).on: pull_request+push) and checked that it passes actionlint, and that the reconciler's ownpublishes()logic (the job-name query andPR_REACHES) counts it as published formain. I also ran its step againstsuccess success(passes) andsuccess failure,success skipped,cancelled success(each fails).Risk
Docs only; nothing executes differently. If the snippet were wrong, a repository copying it could fail to gate or never activate the ruleset; the checks above cover both.
🤖 Generated with Claude Code
https://claude.ai/code/session_016kyusa9AMWHzJmRs2buJX3