Skip to content

fix(governance): drop the human-review requirement entirely - #35

Merged
joeshull merged 1 commit into
internal/mainfrom
relax-reconcile
Aug 22, 2026
Merged

fix(governance): drop the human-review requirement entirely#35
joeshull merged 1 commit into
internal/mainfrom
relax-reconcile

Conversation

@joeshull

Copy link
Copy Markdown

Downstream governance: true

Summary

PR #34 made self-approval count toward the downstream-feature exception's required review, on the assumption a solo maintainer could approve their own PR. GitHub blocks that at the platform level (Can not approve your own pull request — not a repo setting, not bypassable). With reconcile also a required status check on internal/main's ruleset, that left downstream-feature PRs permanently deadlocked: no review can ever be produced, so the required check can never pass, so the merge button never unlocks.

Change

  • Removed resolveApproval, mergedApproval, effectiveApproval, and approvalSummary from scripts/check-upstream-provenance.mjs — no exception mode fetches or requires a GitHub review anymore.
  • downstream-feature now only needs the exact Downstream feature: true marker, a non-empty Downstream rationale:, and the existing changed-path restriction (no governance/workflow files). Same shape as downstream-governance, just without the changed-path allowlist.
  • upstream-import (direct/reconciled) modes are untouched — they never called the approval functions to begin with; the doc's old claim that reconciled imports "retain one human approval" was aspirational, not code-enforced.
  • Updated scripts/check-upstream-provenance.test.mjs and scripts/ci-workflow.test.mjs (a separate meta-test that regex-checks this script's source) to match.
  • Updated docs/fork-governance.md and .claude/skills/ship/SKILL.md to stop describing a review requirement that no longer exists.

Verification

  • node --test scripts/ci-workflow.test.mjs scripts/daemon-launch-contract.test.mjs scripts/check-upstream-provenance.test.mjs scripts/check-upstream-port.test.mjs — 31/31 passed
  • npm run lint / npm run format / npm run typecheck

GitHub refuses to let a PR author approve their own pull request, so
the self-approval fix in #34 was necessary but not sufficient: a
solo-maintainer PR could still never produce an APPROVED review,
which permanently deadlocked the required reconcile status check.
Provenance metadata is the audit trail now; no mode asserts a review.
@joeshull
joeshull merged commit d201610 into internal/main Aug 22, 2026
20 checks passed
@joeshull
joeshull deleted the relax-reconcile branch August 22, 2026 17:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant