Skip to content

[Fleet incident] Resolve independent-review bootstrap deadlock for sole-collaborator repositories #948

Description

@seonghobae

Live policy deadlock

Fresh protected-branch rule evidence for ContextualWisdomLab/.github/main requires:

  • 2 approving reviews;
  • stale approvals dismissed on push;
  • approval after the last push;
  • all review threads resolved.

The live collaborators API returns exactly one human collaborator, seonghobae, who is also the author of the current central repair pull requests. Self-approval is not a qualifying independent review.

PR #835 at exact head 6a1acb1559755c27d7267e39fd6275bb9db74dc9 has every observed exact-head quality/security/supply-chain workflow successful, all review threads resolved, auto-merge enabled, and one formal OpenCode APPROVED review. GitHub still reports mergeable_state=blocked, which is consistent with the unsatisfied second approval.

PR #834 repairs the Noema OIDC response-envelope consumer that is intended to supply a second independent review identity, but #834 is governed by the same two-approval rule and currently has no qualifying approval. Therefore the broken second-review path cannot bootstrap its own repair.

The same condition appears in sole-collaborator product repositories such as EmbedRelay: exact-head code/security evidence can be green, but the standard reviewer-request API cannot request a non-collaborator App identity, and the central mention/OIDC route remains the only scalable independent-review path.

Root cause

The repository ruleset assumes at least two simultaneously operational independent reviewer identities, while organization access and reviewer control-plane deployment currently provide only one functioning formal reviewer identity (opencode-agent) in addition to the author. The second reviewer (cwl-noema-review) is itself impaired by the unmerged OIDC envelope and mention-concurrency repairs.

This is not a code-quality failure in #834/#835 and not a reason to reduce the required approval count. It is an identity/bootstrap architecture gap between branch policy and installed reviewer capacity.

Feasible remedies

Revalidate live organization policy and use one of these normal-policy options:

  1. Independent human bootstrap reviewer — immediate and least architectural change

  2. Second review-only GitHub App identity — durable option

  3. Organization team reviewer capacity

    • grant a trusted non-author team read/triage review access and use normal GitHub review requests;
    • preserve the two-approval rule and last-push approval requirement.

Rejected non-remedies

  • lowering required_approving_review_count from 2;
  • administrator bypass or direct merge;
  • self-approval;
  • counting CodeRabbit COMMENTED, status checks, mention acknowledgements, or resolved threads as approval;
  • reusing predecessor-head approvals;
  • granting contents: write, merge, release, or deployment authority to a reviewer merely to satisfy the count;
  • inventing a PAT or using COPILOT_GITHUB_TOKEN;
  • asking the broken Noema path to approve the PR that must first repair that path.

Acceptance criteria

  1. at least two independent non-author reviewer identities are demonstrably operational under the protected-main policy;
  2. fix(noema): replay OIDC envelope repair on current main #834 and fix(automation): replay isolated review-agent queues on current main #835 each receive the required exact-current-head approvals without bypass;
  3. both integrate through normal protected-main policy;
  4. post-merge Noema OIDC and mention-concurrency canaries produce formal reviews on sole-collaborator repository PRs;
  5. reviewer identities remain review-only and cannot write code, merge, release, deploy, or access unrelated secrets;
  6. a documented onboarding/offboarding and outage fallback exists so loss of one reviewer does not deadlock the organization again;
  7. no approval-count reduction or temporary bypass remains after bootstrap.

This issue is part of the organization-wide Hourly Product Development fleet incident. The central .github owner loop retains all implementation and merge authority. The fleet audit remains read-only and reports this because an external independent identity or permission grant is genuinely required to break the bootstrap deadlock.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Status
    Todo

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions