Skip to content

[Governance] Make protected-PR review policy solo-maintainer compatible without weakening deterministic gates #772

Open

Description

@seonghobae

Current decision

ContextualWisdomLab is operated by one human maintainer. The current organization ruleset 18156473 applies required_approving_review_count: 1 to ~DEFAULT_BRANCH while required_reviewers is empty, code-owner review is disabled, and no independent eligible human reviewer/team exists. Self-approval is forbidden and model/bot reviews are advisory rather than human approvals.

This is a central governance defect, not a user staffing decision and not a leaf-repository blocker to be worked around. The central .github owner must make the rule structurally satisfiable for a solo-maintainer organization while preserving or strengthening deterministic evidence gates.

Required causal repair

  1. Re-read the live organization ruleset and affected repositories before mutation; do not rely on remembered review counts or branch names.
  2. If no real eligible independent human authority exists, remove or replace only the structurally impossible generic approving-review-count requirement for the affected solo-maintainer repositories/default branches.
  3. Keep self-approval forbidden. Do not represent CodeRabbit, OpenCode, Noema, GHAS, Dependabot, or another model/bot as a human approval.
  4. Preserve required workflow/security/SAST/coverage/package/SBOM/provenance/exact-head binding, unresolved-thread resolution, deletion protection, non-fast-forward protection, and routine bypass prohibition.
  5. Keep stale/predecessor/queued/skipped/cancelled/absent/model-only evidence non-passing.
  6. Use guarded administrator bypass only for a separately proven chicken-and-egg control-plane repair that meets the organization emergency policy; ordinary product PRs and ordinary approval waits are not bypass cases.
  7. After the ruleset mutation, re-read the effective policy from each affected live default branch and prove an unchanged exact-head PR can become mergeable through deterministic gates alone without self-approval or fabricated reviewers.
  8. Record the before/after ruleset JSON, affected repository/default-branch identities, exact validation PR/head, required check set, and resulting protected merge evidence.

RED acceptance

A current protected repository owned solely by the maintainer has an unchanged exact-head PR for which all applicable deterministic repository/security gates and review threads are clean, yet merge remains impossible solely because the live ruleset demands one approving review and there is no eligible independent human authority.

Wardnet currently provides this class of evidence: live default/protected branch is main, organization ruleset 18156473 targets ~DEFAULT_BRANCH, and the rule still reports required_approving_review_count: 1, required_reviewers: [], require_code_owner_review: false, require_last_push_approval: false.

GREEN acceptance

  • The impossible approval-count deadlock is removed or replaced at the central governance layer.
  • Deterministic CI/security/SAST/coverage/package/SBOM/provenance/thread/branch-integrity gates remain enforced.
  • Self-approval remains impossible/unused and bots/models are not counted as humans.
  • An unchanged exact-head validation PR becomes mergeable only after all then-live deterministic gates are terminal successful.
  • The same policy is documented as the current solo-maintainer governance model and no owner automation asks the user to provision fictional reviewers.

Non-goals

  • Weakening deterministic security or quality gates.
  • Enabling routine administrator bypass.
  • Fabricating a second identity or reviewer team.
  • Treating model review as human approval.
  • Changing product repository source code to work around a central governance defect.

Activity

  1. seonghobae commented on Aug 6, 2026

    @seonghobae
    ContributorAuthor

    Additional protected-branch evidence — mightyETL, 2026-08-06

    ContextualWisdomLab/mightyETL#121 is another reproducible instance of the counted-review deadlock described here.

    • Exact head: ed88fc8d97bb46dca7cda4c947532b688dcda08a
    • Mergeability: GitHub reports mergeable
    • Exact-head repository gates: Ubuntu/macOS/Windows CI, Dependency Review, CycloneDX SBOM, SAST Semgrep, Security Scan, and CodeRabbit status all succeed
    • Review state: zero unresolved current threads and zero requested-change reviews
    • Automation hardening: the OpenCode model job has pull-requests: read; a non-checkout deterministic publisher is the sole pull-requests: write holder; a second non-checkout job is the sole actions: write holder; workflow-run authorization binds both exact PR number and exact SHA
    • Review request path: Draft → Ready was retriggered and exact-head requests were posted to OpenCode and Noema
    • Remaining blocker: no non-author APPROVED review that GitHub counts is anchored to the exact head

    The downstream dependency chain is also prepared and green on its stacked targets:

    1. ContextualWisdomLab/mightyETL#122 — f57256bcfb89c443415709a4af30ce7b190684e1
    2. ContextualWisdomLab/mightyETL#129 — 349afe7f0e9c77279806f13b2d156e4bcd43bab1
    3. ContextualWisdomLab/mightyETL#130 — 1cd1dbda288f57906ef00669f5de78393a29e16f
    4. ContextualWisdomLab/mightyETL#131 — aa7bb331faf8e7b3be439a17c36bafed9fc9638d

    Each passes cross-platform CI, Dependency Review, and SBOM on its current stacked base. CodeRabbit completed exact-head static reviews of ContextualWisdomLab/mightyETL#122, ContextualWisdomLab/mightyETL#129, ContextualWisdomLab/mightyETL#130, and ContextualWisdomLab/mightyETL#131 with no actionable or blocking findings. They remain intentionally unmerged and will require direct-develop SAST/Security reruns and fresh counted approvals after predecessor integration.

    This evidence supports the issue's proposed remedy: provision at least two genuinely independent human reviewer identities with the minimum counted permission and team-based rotation. Do not solve this by self-approval, administrator bypass, broad bot contents-write access, a second credential representing the author, or weakening required review count.

  2. seonghobae commented on Aug 6, 2026

    @seonghobae
    ContributorAuthor

    Current blocking evidence — mightyETL, 2026-08-07

    The complete linear stack is technically green on every check that materializes for its current target, but the root remains unable to satisfy the counted-review rule:

    1. mightyETL#121 — 2f374446b0e0dc180c53736787a2a7a9b331503f → develop
    2. mightyETL#122 — 2516c3f945df8fee7ad451319a20b63dd28fb3d8
    3. mightyETL#129 — 683e1a8b132772236b561b28d5d204c866a08034
    4. mightyETL#130 — e7495b4fe558f543fe5fc1a1834e2f87542263a1
    5. mightyETL#131 — addfe57e8948a8e274b297cf629582895fb760fc
    6. mightyETL#133 — ee50859d654b89fdba5b14424fe7b8afc3b6c99d
    7. mightyETL#135 — 839fa54cdc0c302c053842b26f3c36a16764d8ae

    For root PR #121, exact-head CI on Ubuntu/macOS/Windows, Dependency Review, CycloneDX SBOM, SAST Semgrep, Security Scan, and CodeRabbit status are successful. GitHub reports it mergeable, all visible inline review threads are resolved, and no requested-change review remains. The formal review inventory still contains no qualifying non-author APPROVED review.

    I attempted the available reviewer-assignment paths without changing code, permissions, or protection rules:

    • individual requests to cwl-noema-review and opencode-agent returned GitHub 422: they are not repository collaborators;
    • a team request to independent-reviewers returned GitHub 422: that team is not a collaborator on ContextualWisdomLab/mightyETL.

    The six downstream exact heads each have successful current stacked-target CI, Dependency Review, CycloneDX SBOM, CodeRabbit status, mergeability, and zero unresolved threads, but no formal approval. Their non-default bases intentionally do not materialize Semgrep/Security Scan; those gates must rerun after each predecessor merges and the next PR is retargeted to develop.

    No approval was synthesized, no author identity was reused, no manual-merge hold was removed, and no branch/ruleset bypass was attempted. The actionable organization-level prerequisite is therefore exactly this issue’s acceptance criterion: provision a genuine non-author human reviewer team with counted repository permission, then request an exact-head review of #121. Once #121 merges, the remaining stack can be retargeted, fully revalidated, independently approved, and merged in order.

  3. seonghobae commented on Aug 7, 2026

    @seonghobae
    ContributorAuthor

    Additional blocked stack — mightyETL

    ContextualWisdomLab/mightyETL#121 remains the dependency-eligible root of a seven-PR durable-job stack. Its exact head recorded by the repository is 2f374446b0e0dc180c53736787a2a7a9b331503f; current technical evidence includes successful multi-platform CI, Dependency Review, CycloneDX SBOM, SAST Semgrep, Security Scan, CodeRabbit status, mergeability, and zero unresolved review threads. The remaining merge gate is a GitHub-counted non-author APPROVED review anchored to that unchanged SHA.

    The unavailable counted-review path blocks #122, #129, #130, #131, #133, and the Draft replay PR #135 in dependency order. No bot, second credential for the author, administrator bypass, reduced review count, stale approval, or predecessor-head evidence is an acceptable substitute.

    Please include mightyETL in the independent-reviewer-team dry run and evidence record: reviewer identity and current counted permission, exact head SHA, required-check set, review timestamp, merge SHA, stale-review invalidation after a later commit, and fail-closed behavior when reviewer permission is removed. The existing OpenCode, Noema, CodeRabbit, GHAS, and repository-specific review credentials must remain advisory and unchanged.

  4. seonghobae commented on Aug 8, 2026

    @seonghobae
    ContributorAuthor

    Current central bootstrap evidence — .github#823

    The counted-review deadlock now reproduces on the organization control-plane repository itself.

    • Pull request: ContextualWisdomLab/.github#823
    • Exact unchanged head: a3876dffb3669e6187d5c20af6ecf64f41faf11a
    • Protected main: 1131b1bbafb24e455fc8619cdf316813e8721861
    • GitHub reports the PR open, non-draft, and mergeable.
    • Exact-head Strix Changed Path Quality CI, CodeQL, Python Security, Security Scan, Semgrep, Secret Scan, OSV, Scorecard, and SBOM evidence is terminal successful; the current-head OpenCode review reports APPROVED, but it is advisory and does not replace the required counted independent approval.
    • A direct review request to team independent-reviewers was attempted on the unchanged exact head and GitHub returned HTTP 422: Reviews may only be requested from collaborators. One or more of the teams you specified is not a collaborator of the ContextualWisdomLab/.github repository.

    No approval was synthesized, no author identity was reused, and no branch/ruleset bypass was attempted. The actionable organization prerequisite is unchanged but is now confirmed for the central source repository as well: grant a genuinely independent human reviewer team the minimum permission GitHub counts on ContextualWisdomLab/.github (and the other protected CWL repositories), then request a fresh exact-head review. This is especially blocking because #823 repairs the required Strix quality timeout budget that currently leaves multiple downstream central PRs cancelled despite otherwise successful exact-head gates.

  5. seonghobae commented on Aug 8, 2026

    @seonghobae
    ContributorAuthor

    Current governance reproduction on .github#790: exact head 28a878f205002ba458c1be476353a3680637cf69 is Ready/mergeable, protected main 6eb06cdd08c79a06f7b390069d4ffa49e2eb7dba is an ancestor, exact-head Trusted uv Materializer Quality CI and Strix Changed Path Quality CI are terminal-success, all current security/supply-chain workflows are terminal-success, CodeRabbit status is success, and review threads are resolved. No qualifying independent non-author formal APPROVED review is present. A fresh review request to team independent-reviewers returned GitHub HTTP 422: Reviews may only be requested from collaborators because the team is not a collaborator of ContextualWisdomLab/.github. This reproduces the issue #772 governance deadlock without changing branch protection or reviewer credentials. Required external action remains granting a real independent human reviewer/team the minimum permission GitHub counts for protected approval; do not substitute author self-review, advisory bots, or bypass.

  6. seonghobae commented on Aug 8, 2026

    @seonghobae
    ContributorAuthor

    Fresh feasibility evidence (2026-08-08): repository collaborator-permission lookup on ContextualWisdomLab/.github reports opencode-agent=none, coderabbitai=none, and no standard collaborator permission for cwl-noema-review. Protected-main .github/CODEOWNERS is still owned only by @seonghobae. This confirms the current deadlock is governance/authority, not a missing PR-side repair. Granting advisory bots broad write merely so GitHub counts their approvals would expand autonomous authority and defeat the intended separation of duties, so that candidate is rejected. The realistic durable path remains at least two independent human reviewers (team/custom role with the minimum permission GitHub counts), exact-head/stale-review enforcement, rotation/offboarding, and a dry-run proving author/advisory-bot approval does not count while a genuinely independent reviewer does. Until that governance prerequisite exists, PR-side automation must continue to treat bot reviews as advisory evidence only and must not bypass the counted approval rule.

  7. seonghobae commented on Aug 8, 2026

    @seonghobae
    ContributorAuthor

    Fresh counted-approval deadlock evidence — central PR #834

    Revalidated on exact current head 7e3c9e581f981bd2ceaa37c7b9bde16b452b899b over protected main 6eb06cdd08c79a06f7b390069d4ffa49e2eb7dba.

    RCA: #834's repository-side Noema OIDC repair is no longer blocked by a source, test, security, supply-chain, or unresolved-review defect. After the latest test-contract hardening, exact-head Scorecard, SBOM, OSV, Secret Scan, Security Scan, Semgrep, CodeQL, Python Security, and Strix Changed Path Quality CI all completed successfully. CodeRabbit's current-head incremental review reports no actionable comments, its exact-head commit status is success, and both prior actionable inline threads are resolved/outdated. GitHub reports the PR Ready and mergeable.

    Approval feasibility was rechecked rather than inferred:

    • protected-main .github/CODEOWNERS still assigns *, .github/workflows/*, and scripts/ci/* only to @seonghobae;
    • the PR initially had no requested reviewer or requested team;
    • a fresh request for team independent-reviewers on this exact head returned GitHub HTTP 422: Reviews may only be requested from collaborators; the team is not currently a collaborator of ContextualWisdomLab/.github;
    • the formal review inventory contains no qualifying non-author APPROVED review on the exact current head;
    • opencode-agent collaborator permission is none;
    • coderabbitai collaborator permission is none;
    • cwl-noema-review has no returned counted repository permission.

    Rejected remedies: author self-approval, a second author credential, treating COMMENTED/status/model output as approval, granting a bot broad write solely to manufacture approval, reducing the review gate, or bypassing branch protection. None preserves separation of duties.

    The smallest realistic remaining prerequisite is therefore external organization governance: provision a genuine non-author human reviewer/team with the minimum permission GitHub counts, add that team as a collaborator on this repository, then obtain an exact-current-head approval. After that approval, normal protected merge may proceed; #834 still requires its separately defined protected-main real OIDC exchange as post-merge operational acceptance. No bot review is being promoted to the counted gate.

  8. seonghobae commented on Aug 12, 2026

    @seonghobae
    ContributorAuthor

    Fresh governance evidence at protected main 6eb06cdd08c79a06f7b390069d4ffa49e2eb7dba (2026-08-12):

    • GitHub's current indexed open-PR search returned 47 PRs; 28 are Ready and mergeable.
    • A separate current review:approved search returned zero open PRs.
    • Protected-main .github/CODEOWNERS assigns *, workflows, and scripts/ci/* only to @seonghobae, who is also the author of the blocked PRs.
    • Automated CodeRabbit/OpenCode/Noema evidence remains advisory and cannot satisfy the required independent human approval.

    This re-proves the first failing boundary as reviewer eligibility/permission, not source, CI, or mergeability. The smallest safe remedy still requires organization authority: create and permission a real non-author human review team (at least two active people), then prove counted exact-head approval on a dry-run PR. No bot authority, approval count, protection, or bypass setting was changed.

  9. seonghobae commented on Aug 16, 2026

    @seonghobae
    ContributorAuthor

    Additional counted-review deadlock evidence — OriginWeave, 2026-08-16

    Fresh live repository evidence reproduces this governance deadlock in ContextualWisdomLab/OriginWeave without a source/test/security blocker.

    Ready technical roots

    • OriginWeave#37 exact head fe324f71ccd154f7759f009d8c34fb6247c7d070 targets protected main 0c376acf059be9ddddddfbde1d0189e4f39ef014, is mergeable, and is ahead 96 / behind 0. Its current-head Rust contracts, production coverage, central coverage-evidence, OpenCode, Noema, Strix, SAST/Semgrep, Trivy, OSV, Scorecard and dependency-review evidence are successful; current inline review findings are resolved. No counted independent/latest-push APPROVED review is present.
    • OriginWeave#40 exact head 90227c5dd6c62839d4ccfe86640f08984011e207 targets the same protected main, is mergeable, and is ahead 38 / behind 0. Exact-head CI, SAST/Semgrep, Security Scan, Manifest V3 compatibility, OpenCode and coverage-evidence are successful; current inline review findings are resolved. No counted independent/latest-push APPROVED review is present.

    Live reviewer authority

    A fresh collaborator inventory returns only the author/administrator identity seonghobae; the direct-collaborator inventory is empty. The live ruleset CWL Central required workflows requires one approving review, dismisses stale approvals, and requires approval after the latest push, with no bypass actor configured. Protected-main AGENTS.md also forbids scheduled agents from manufacturing/self-approving or weakening the gate.

    This is therefore another concrete acceptance case for #772: provision a genuinely independent non-author human reviewer path with the minimum permission GitHub counts, then obtain an approval anchored to each unchanged exact head. Do not solve it by administrator bypass, author identity reuse, bot privilege expansion, or reducing the required review count.

  10. seonghobae commented on Aug 16, 2026

    @seonghobae
    ContributorAuthor

    Fresh OriginWeave evidence shows the same counted-independent-review deadlock remains active and is now blocking technically clean direct-main roots.

    • ContextualWisdomLab/OriginWeave#47 exact head 79cf275686e2376a51783a2d03128eca21e7c0e5: mergeable against protected main 0c376acf059be9ddddddfbde1d0189e4f39ef014; native CI, exact production coverage, Security Scan, SAST, central opencode-review, coverage-evidence, noema-review, and strix are all current-head success; no qualifying counted independent/latest-push approval is present.
    • ContextualWisdomLab/OriginWeave#40 exact head 90227c5dd6c62839d4ccfe86640f08984011e207: mergeable against the same protected-main tip; current-head CI, Security Scan, SAST, Manifest V3, opencode-review, and coverage-evidence are success; no counted independent/latest-push approval is present.

    This is not a request to weaken protection or treat advisory/model evidence as approval. Acceptance remains the issue's stated least-privilege non-author human path: a GitHub-counted reviewer/team must be able to approve the exact latest head while existing CI/security/review gates remain intact. These OriginWeave roots are useful dry-run candidates once that path exists.

  11. seonghobae commented on Aug 18, 2026

    @seonghobae
    ContributorAuthor

    Fresh Context Fabric governance evidence, 2026-08-18:

    ContextualWisdomLab/enterprise-architecture-core#14 is the dependency-root synchronization lane (main@ca6889497728e1a3f09d68790a9096576e13a3ff -> develop@1c0fa8b15ceb9e72186274aeb255d6777eb84ef4, merge candidate 30ef39d345bb00fac57a511732a6dd4ddbdf2361). Fresh Reviews API inventory is empty and review-thread inventory is empty. Repository-native exact-head runs visible for the current head are terminal success for CI 32036458553, runtime-readiness 32036458460, supply-chain 32036458383, SAST Semgrep 32036458430, and Security Scan 32036458455; CodeRabbit is only a success commit status, not a counted approval.

    I attempted the issue's intended least-privilege team path directly: requesting team independent-reviewers on EA Core #14 returned GitHub 422 — Reviews may only be requested from collaborators. One or more of the teams you specified is not a collaborator of the ContextualWisdomLab/enterprise-architecture-core repository. Fresh collaborator-permission lookup for opencode-agent returns none, so that identity cannot substitute for the counted human path either.

    This is now an exact current reproduction of this issue's organization-level acceptance gap on Context Fabric. Required administrative action remains narrow: grant the genuine non-author human reviewer team the minimum repository permission GitHub counts on enterprise-architecture-core (and the relevant protected CWL repositories), then request review on the unchanged exact head. Do not solve it by self-approval, author-equivalent credentials, bot contents-write broadening, ruleset bypass, or lowering the approval requirement. After any head/base movement, discard this approval attempt and re-evaluate the fresh candidate.

  12. seonghobae commented on Aug 18, 2026

    @seonghobae
    ContributorAuthor

    Additional exact Context Fabric reproduction after repository-owned repair: ContextualWisdomLab/enterprise-architecture-core#21 is now Ready, mergeable, and exact-head GREEN at ddeacbf37847b21f874e13e463f2abc5ca9d5c0a on main@ca6889497728e1a3f09d68790a9096576e13a3ff. CI 32095741536, runtime-readiness 32095741531, and supply-chain 32095741493 are terminal success; the exact patch is only a workflow-contract regression plus three one-line Git Flow trigger corrections.

    A fresh request for team independent-reviewers on #21 again returns GitHub 422: the team is not a collaborator of enterprise-architecture-core. I did not exploit the non-default main target, self-approve, or merge without a counted independent reviewer. This repair is therefore technically ready but blocked exactly on this issue's administrative acceptance criterion. Once the genuine reviewer team has minimum counted permission, #21 can receive an exact-head independent review; if it integrates, synchronization PR #14 must then consume the new main head and regenerate all candidate evidence.

  13. seonghobae commented on Aug 18, 2026

    @seonghobae
    ContributorAuthor

    Fresh Context Fabric governance reproduction: ContextualWisdomLab/enterprise-architecture-core#21 remains Ready and mergeable at exact head ddeacbf37847b21f874e13e463f2abc5ca9d5c0a, with repository-native ci 32095741536, runtime-readiness 32095741531, and supply-chain 32095741493 terminal success. A fresh request for team independent-reviewers was rejected by GitHub with HTTP 422: Reviews may only be requested from collaborators. One or more of the teams you specified is not a collaborator of the ContextualWisdomLab/enterprise-architecture-core repository.

    This is the exact acceptance gap tracked here: grant the human independent-review team the minimum repository permission GitHub counts for protected-branch approval (or an approved custom role that is demonstrably counted), then request a review on the unchanged current head. Do not reduce approval count, self-approve, grant autonomous writers approval authority, or use bypass. After #21 receives a counted non-author current-head approval and integrates, enterprise-architecture-core#14 must rebuild from the resulting new main tip before any main -> develop synchronization evidence is accepted.

  14. seonghobae commented on Aug 18, 2026

    @seonghobae
    ContributorAuthor

    Additional Context Fabric governance reproduction on ContextualWisdomLab/context-graph-contracts#4: exact current head 8c5653ea2d7728b6b193d99466bf7f6de6d1d0da targets protected default develop@99cb5468ba3c15c5e79688f53dee74724fae2d13. A fresh request for team independent-reviewers was rejected with GitHub HTTP 422: Reviews may only be requested from collaborators. One or more of the teams you specified is not a collaborator of the ContextualWisdomLab/context-graph-contracts repository.

    This is distinct from the PR's current repository-owned SAST false-positive lane and survives independently of it: even after exact-head SAST is repaired, GitHub cannot assign the intended counted independent-review team until that team has the minimum repository permission GitHub accepts. Keep the remedy at this governance boundary—grant genuine non-author human reviewers the minimum counted permission on context-graph-contracts—without self-approval, bot approval substitution, bypass, or lowering review requirements. Any later head/base movement requires a fresh approval on the new exact candidate.

  15. seonghobae commented on Aug 18, 2026

    @seonghobae
    ContributorAuthor

    Context Fabric follow-up after the local repair lane completed: ContextualWisdomLab/context-graph-contracts#4 has advanced to exact head bf873f0926721f9540427513fd1304a31c35af01 on unchanged protected default develop@99cb5468ba3c15c5e79688f53dee74724fae2d13. Repository/scanner evidence on this exact head is terminal success: ci 32107482658, supply-chain 32107482644, Security Scan 32107482645, and SAST Semgrep 32107482634. The prior Python-<3.7 compatibility findings were adjudicated against the package's explicit Python >=3.11 contract and locally suppressed at only the four affected imports; the four GHAS threads are resolved.

    The governance acceptance gap from the earlier 422 reproduction is therefore now the sole non-product blocker on this root: fresh formal review inventory still has no qualifying independent current-head APPROVED review, and the independent-reviewers team was not a collaborator when requested. Provision the genuine non-author human reviewer team with the minimum GitHub permission that produces a counted protected-branch approval, then request/review this exact head (or whatever newer exact head exists at that time). Do not use the older 8c5653... evidence after this head movement, and do not substitute status/model success for a formal review.

  16. 238 remaining items

  17. seonghobae commented on Sep 8, 2026

    @seonghobae
    ContributorAuthor

    Fresh Context Fabric ruleset revalidation on 2026-09-08 confirms the defect is unchanged: organization ruleset 18156473 still targets ~DEFAULT_BRANCH with required_approving_review_count=1, required_reviewers=[], require_code_owner_review=false, require_last_push_approval=false; thread resolution, central required workflows, deletion and non-fast-forward remain enabled, while OrganizationAdmin/always remains a routine bypass actor. This is still a bare impossible approval count for the declared solo-maintainer model, not a named independent-human/code-owner requirement. Central owner PR .github#1644@e35cdc5d6527dfa8634654719a6c3681f16ed82a now has its current Ruleset Governance Reconcile, CodeQL PR, SAST Semgrep, Python Security and Security Scan all terminal SUCCESS. The next causal action remains owner-plane reconciliation of the live ruleset: remove/replace only the impossible count and routine bypass while preserving deterministic gates. Do not request synthetic reviewers or treat model/bot review as human approval.

  18. seonghobae commented on Sep 8, 2026

    @seonghobae
    ContributorAuthor

    Fresh solo-maintainer ruleset specimen from Wardnet — 2026-09-08 KST. ContextualWisdomLab/wardnet PR #130 exact de182e2f0d6ab620f183963a63ddccd921c47570 is Ready, mergeable, changes exactly one documentation file (docs/product-technical-gap-baseline.md), and has no unresolved review thread in a fresh inventory. Exact-head repository gates are now terminal SUCCESS: Security Scan 34246806247, SAST Semgrep 34246806231, CodeQL PR 34246806228, and CI 34246806729.

    Fresh Wardnet ruleset 18156473 still requires required_approving_review_count=1 while required_reviewers=[], require_code_owner_review=false, and require_last_push_approval=false; it simultaneously exposes OrganizationAdmin/always bypass. Under the declared solo-maintainer model, self/model-as-human approval is prohibited, so this clean exact-head PR cannot enter the ordinary merge state while the only mechanical escape is the deliberately prohibited routine admin bypass.

    Owner-path GREEN acceptance remains the minimum governance repair: make ordinary solo-maintainer admission satisfiable without fabricating human approval or relying on administrator bypass, while retaining required thread resolution, central deterministic workflows, deletion/non-fast-forward protection, and existing security/coverage/branch-integrity semantics. After the owner repair lands, Wardnet will reacquire live ruleset/exact-head evidence before merge; no current PR is using bypass as a substitute.

  19. seonghobae commented on Sep 8, 2026

    @seonghobae
    ContributorAuthor

    Fresh Wardnet validation specimen for the central owner (2026-09-09 KST): ContextualWisdomLab/wardnet still inherits active org ruleset 18156473 (updated_at=2026-09-04T21:34:39.804+09:00) on ~DEFAULT_BRANCH. Live pull-request parameters remain exactly required_approving_review_count=1, required_reviewers=[], require_code_owner_review=false, require_last_push_approval=false, required_review_thread_resolution=true; workflow, deletion and non-fast-forward rules remain present, and OrganizationAdmin/always is the only bypass actor.

    Wardnet root prerequisite #140@93a51f9706cf8a9704f69aed4a69df5be16c84e4 remains Draft/mergeable against protected main@a52ccd0a24a727d9349bb32def7713882d8cad1e with no qualifying independent human authority. This reproduces the issue's structural RED without treating bot/model review as human approval.

    GREEN acceptance remains narrow: repair only the impossible generic approval-count requirement at the central governance layer; preserve required central workflows, unresolved-thread resolution, deletion/non-fast-forward protection and routine-bypass prohibition; then re-read the effective Wardnet ruleset and validate an unchanged exact-head PR through deterministic gates alone. Wardnet will not patch central policy locally or self-approve.

  20. seonghobae commented on Sep 9, 2026

    @seonghobae
    ContributorAuthor

    Fresh Wardnet unchanged-head validation specimen (2026-09-09): wardnet#130@ae311703a96aa45983b4194e9b6a63d6ea3723f9, base protected/default main@a52ccd0a24a727d9349bb32def7713882d8cad1e, mergeable according to PR ancestry metadata, one documentation path only. Exact repository/security gates are terminal SUCCESS on this unchanged source: CI 34302251577, SAST Semgrep 34302251609, Security Scan 34302251631, CodeQL PR 34302251639. No predecessor gate is being transferred.

    Live effective ruleset 18156473 was re-read this run and still requires generic required_approving_review_count=1 with no required reviewer/team, code-owner approval disabled and last-push approval disabled; self/model approval and routine OrganizationAdmin/always bypass remain prohibited by the declared solo-maintainer governance model. This is therefore a current GREEN-side validation candidate for the #772 owner repair once the central deterministic required-workflow set and thread/review inventory are also checked on the same exact source.

    Acceptance remains narrow: change only the structurally impossible generic approval requirement/routine bypass defect, preserve deterministic workflows/security/coverage/package/SBOM/provenance/thread/deletion/non-fast-forward controls, then re-read the effective ruleset and prove this or another unchanged exact Wardnet head can integrate without fabricated human approval. Wardnet source is not being changed to work around the owner-plane defect.

  21. seonghobae commented on Sep 9, 2026

    @seonghobae
    ContributorAuthor

    Wardnet fresh governance evidence (2026-09-09), corrected after full pull_request_target inventory: live org ruleset 18156473 remains active on ~DEFAULT_BRANCH with required_approving_review_count: 1, required_reviewers: [], require_code_owner_review: false, require_last_push_approval: false, thread resolution required, and the seven central required workflows preserved. It also still exposes OrganizationAdmin/always; routine bypass remains out of scope.

    Leaf evidence: ContextualWisdomLab/wardnet#130 is Ready/mergeable at exact head f3f8576a8529d550e5303eee97d90f44b2ba3cdc on protected main@a52ccd0a24a727d9349bb32def7713882d8cad1e. Exact-current repository/security lanes CI 34338947104, Security Scan 34338947082, SAST Semgrep 34338947074, and CodeQL PR 34338947080 are terminal SUCCESS. This is not yet a pure approval-only merge specimen: full required-workflow inventory also found Required Noema Review 34338945072 terminal FAILURE. Exact job 102425213837 reached a healthy contextual-orchestrator sidecar and three ready free-pool routes, then the single orchestrator/free verdict request terminated HTTP 429 after 52.3 s on served deepseek-ai/deepseek-v4-pro-0813; gateway-side failover/owner repair is being handed to contextual-orchestrator separately. OpenCode therefore correctly left CHANGES_REQUESTED on this head.

    The ruleset configuration itself still demonstrates the structural solo-maintainer defect, but do not use #130 as GREEN proof for .github#772 until its independent required-workflow defect is repaired and the exact unchanged/new head is fully terminal-clean.

    GREEN acceptance for this issue remains: minimally remove/replace only the impossible generic approval-count requirement for the declared solo-maintainer policy, preserve all workflow/security/thread/deletion/non-fast-forward protections, then prove an unchanged exact-head PR with every required workflow terminal-valid becomes ordinarily mergeable without administrator bypass or fabricated human review.

  22. seonghobae commented on Sep 9, 2026

    @seonghobae
    ContributorAuthor

    Wardnet owner-path handoff — fresh validation candidate, 2026-09-10 KST.

    Live ContextualWisdomLab/wardnet still inherits organization ruleset 18156473 on ~DEFAULT_BRANCH; fresh ruleset read reports required_approving_review_count: 1, required_reviewers: [], require_code_owner_review: false, require_last_push_approval: false, and required review-thread resolution. This remains the exact solo-maintainer deadlock described here; Wardnet source must not work around it.

    Current Wardnet validation candidate is Ready for review PR #130 at unchanged exact head d44a36fc6b19f56ce5ce358c24642019b265d96c, base main@a52ccd0a24a727d9349bb32def7713882d8cad1e; the Ready transition changed no source/head SHA. Fresh same-head evidence is terminal successful for repository CI/Rust, CodeQL, SAST workflow, Security Scan workflow, coverage evidence/source-tree, OpenCode required workflow, Noema required workflow (run 34400450731, noema-review completed SUCCESS at 2026-09-09T20:27:01Z), and Strix required workflow (run 34400450781 completed SUCCESS; docs-only scan job intentionally skipped after scope admission). Inline review threads are all resolved. Historical bot/model approvals or change requests are not promoted to human approval and predecessor-head evidence does not transfer.

    RED acceptance remains: despite a deterministic-clean, non-Draft exact candidate, the live central rule structurally requires one generic human approval when no eligible independent human reviewer is declared. Do not use routine admin bypass, self-approval, or bot/model-as-human approval.

    GREEN acceptance for canonical #1644 / successor owner automation: converge the live organization policy to the accepted solo-maintainer contract (generic approval count 0 only where that contract applies), preserve required workflows/security/SAST/coverage/package/SBOM/provenance/thread/deletion/non-fast-forward controls, then re-read Wardnet's effective ruleset and prove this unchanged exact-head candidate can enter the ordinary protected merge path using deterministic gates alone. If protected main or #130 head advances, discard this receipt and revalidate the successor exact pair.

  23. seonghobae commented on Sep 9, 2026

    @seonghobae
    ContributorAuthor

    Wardnet evidence correction / owner-path refresh — 2026-09-10 KST.

    Fresh exact-head re-read keeps the canonical owner state unchanged: .github#1644 is still Draft/mergeable at e35cdc5d6527dfa8634654719a6c3681f16ed82a directly on protected .github/main@7fd571dbcdbae6acf29d8f4ee704d7ba6297e4db; current review-thread inventory has 0 unresolved threads. Current exact-head noema-review (101928208599), opencode-review (101936741636), and coverage-evidence (101936741601) are terminal SUCCESS, and the newer scan-pr-queue instance 101926133703 is terminal SUCCESS. Commit status is aggregate SUCCESS, including current CodeQL dispatch status for both actions and python.

    Correction to the 2026-09-08 Wardnet handoff: the exact-head check history does contain an older cancelled scan-pr-queue instance (101925929139) superseded by the later SUCCESS above. Therefore the defensible statement is not “no cancelled result exists anywhere in history”; it is that the current required gate has a newer exact-head SUCCESS. No predecessor/cancelled run is promoted as acceptance evidence.

    The live inherited organization ruleset 18156473 was re-read again and remains RED: generic approval count 1 with required_reviewers=[], CODEOWNER/last-push approval disabled, thread resolution + seven required workflows + deletion/non-fast-forward retained, and OrganizationAdmin/always still exposed. Wardnet will not mutate .github#1644 state. Canonical owner acceptance remains: owner lane promotes/revalidates #1644, integrates the exact protected source normally (or uses only the already-declared guarded control-plane transition if ordinary convergence is structurally impossible), applies the separately credentialed reconciler from protected truth, then re-reads 18156473 and proves the unchanged Wardnet canary can use the ordinary protected merge path.

  24. seonghobae commented on Sep 9, 2026

    @seonghobae
    ContributorAuthor

    2026-09-10 fresh LifeOS consumer canary confirms the generic approval-count deadlock remains distinct from code-review quality. ContextualWisdomLab/life-os#249 exact 2e773d8a65725a5c8bc34135087461ccebcb018f is open Draft/mergeable; fresh CodeRabbit findings were independently reproduced, repaired, and their inline threads are resolved, but returned reviews remain COMMENTED rather than an admissible human APPROVED. Live organization ruleset 18156473 still applies to ~DEFAULT_BRANCH with required_approving_review_count: 1, stale-review dismissal, all-thread resolution, and the central required workflows. LifeOS is not using the available administrator bypass, self-approval, or treating bot/model review as a human approval. Keep this as a current downstream acceptance canary once the central policy becomes structurally satisfiable.

  25. seonghobae commented on Sep 10, 2026

    @seonghobae
    ContributorAuthor

    Wardnet foreign-owner inventory refresh — 2026-09-10 KST. Canonical governance PR .github#1644 remains Draft at exact head e35cdc5d6527dfa8634654719a6c3681f16ed82a. Fresh GitHub PR metadata currently reports it mechanically mergeable=true; that does not supersede the central owner gate. The same PR metadata still records base SHA 7fd571dbcdbae6acf29d8f4ee704d7ba6297e4db, while a separate fresh protected-branch read has .github/main@f578d8d960177ff113c25fd740619b4a483df300 via #2053. Treat that mismatch as intervening-delta/revalidation evidence, not as a user decision and not as a reason to close #1644. Owner lane acceptance: inspect the protected delta 7fd571d..f578d8d, confirm whether the normalized PR base SHA is stale metadata or the candidate genuinely needs adoption/restack, preserve the canonical ruleset-reconciliation delta/tests, then reacquire exact-head required workflows/coverage/security/reviews/threads before any governance apply. Wardnet ruleset 18156473 is still live RED at generic approval count 1, so Wardnet continues without leaf workarounds, self/model approval or routine bypass.

  26. seonghobae commented on Sep 10, 2026

    @seonghobae
    ContributorAuthor

    Fresh Wardnet owner-path handoff, 2026-09-10 KST. Live Wardnet ruleset 18156473 still has the exact solo-incompatible shape: required_approving_review_count=1, required_reviewers=[], require_code_owner_review=false, require_last_push_approval=false, while thread resolution, central required workflows, deletion and non-fast-forward protection remain active. No leaf workaround or routine bypass is justified.

    The canonical reconciler remains Draft .github#1644@e35cdc5d6527dfa8634654719a6c3681f16ed82a, but protected .github/main is now f578d8d960177ff113c25fd740619b4a483df300. Fresh compare is diverged, ahead 248 / behind 11, with merge base 7fd571dbcdbae6acf29d8f4ee704d7ba6297e4db (the PR's recorded base). Therefore #1644's current hosted/local receipt cannot be promoted as current-main integration evidence. Owner action remains non-force adopt/adapt of those 11 protected-main commits while preserving the 21-path governance delta, then exact-head deterministic/security/review revalidation and privileged owner-plane apply only after protected source and the least-privilege Administration-write environment are available.

    Wardnet will continue to treat the live one-approval rule as a central governance defect, keep self/model approval forbidden, and preserve all deterministic gates.

  27. seonghobae commented on Sep 10, 2026

    @seonghobae
    ContributorAuthor

    Fresh Wardnet solo-maintainer canary on 2026-09-10: ContextualWisdomLab/wardnet#130@2a72c9951fd796634c740e9663204bef0f9eb655 is Ready/non-Draft, mechanically mergeable against unchanged protected main@a52ccd0a24a727d9349bb32def7713882d8cad1e, with exact-head CI 34442596701, Security Scan 34442596574, SAST Semgrep 34442596571, and CodeQL PR 34442596655 all terminal SUCCESS. Current review-thread inventory is resolved/outdated only; pulls/130/reviews?per_page=100 contains no APPROVED review. The live inherited ruleset still requires one generic approving review while specifying no required reviewer/team/CODEOWNER/last-push reviewer. This is a deterministic green leaf showing the structural approval deadlock; do not synthesize human approval or use routine admin bypass. Owner acceptance remains the #772 contract: reconcile only the impossible generic approval requirement while preserving thread resolution and deterministic/security/SBOM/provenance/branch-integrity workflows, then prove an unchanged green canary can take the ordinary protected merge path.

  28. seonghobae commented on Sep 10, 2026

    @seonghobae
    ContributorAuthor

    Fresh governance canary from ContextualWisdomLab/Orgmetra#293@ae0f0e9398f5e8788ca323f3a97813618f6774a0: the central OpenCode producer run 34464299160 completed FAILURE after the model-review path itself ran. In job 102829563538, metadata/merge-tree/changed-path/coverage/config/sidecar/model-review-pool stages succeeded, but outcome publication failed. The terminal GitHub API error is POST .../pulls/293/reviews: 422 Review Can not approve your own pull request.

    This is direct evidence for #772's current decision: model/bot review must not be represented as a counted human approval, and self-approval remains forbidden. The correct repair is not to bypass the ruleset, fabricate a second identity, or retry the same author identity. Keep the machine review/verdict as deterministic/advisory exact-head evidence, and make the solo-maintainer protected-branch policy structurally satisfiable at the central governance layer without requiring an impossible author approval. Orgmetra will keep #293 unmerged until the live policy/gates are satisfiable through the normal protected path.

  29. seonghobae commented on Sep 10, 2026

    @seonghobae
    ContributorAuthor

    Wardnet fresh owner-path delta, 2026-09-10 KST. Live Wardnet ruleset 18156473 remains unchanged and solo-incompatible (required_approving_review_count=1, no required reviewer/team, code-owner/last-push approval disabled) while deterministic required workflows, thread resolution, deletion and non-fast-forward protections remain active.

    The canonical reconciler is still Draft .github#1644@e35cdc5d6527dfa8634654719a6c3681f16ed82a, but protected .github/main has advanced again to cb0872c9a20d5584703dffacca65c096fc034c6c after #1938. Fresh compare of protected main -> #1644 head is diverged, ahead 248 / behind 32, merge base 7fd571dbcdbae6acf29d8f4ee704d7ba6297e4db. This supersedes the earlier behind-11 snapshot; no #1644 predecessor receipt can be promoted as current-main integration evidence.

    Owner acceptance remains: read/adopt/adapt the 32 intervening protected commits without force/destructive rebase, preserve the 21-path governance reconciler delta and deterministic security/coverage/review contracts, then reacquire exact-head checks/reviews/threads against current protected truth before any owner-plane apply. Wardnet will not use leaf source workarounds, self/model approval, or routine administrator bypass.

  30. seonghobae commented on Sep 10, 2026

    @seonghobae
    ContributorAuthor

    Fresh 2026-09-11 consumer re-read from ContextualWisdomLab/fast-mlsirm confirms this governance RED is still live and clarifies a local-doc ambiguity. Repository AGENTS.md says CODEOWNERS/code-owner review requirements are disabled/on hold for the solo maintainer, but inherited organization ruleset 18156473 remains active on ~DEFAULT_BRANCH and independently requires required_approving_review_count: 1, with required_reviewers: [], require_code_owner_review: false, require_last_push_approval: false, thread resolution required, and OrganizationAdmin bypass_mode=always (current_user_can_bypass=always).

    Current fast-mlsirm canary #1742 cannot therefore treat the absence of CODEOWNERS as removal of the generic approval gate. Self-approval is not valid and routine admin bypass is prohibited. Please keep #772 as the canonical owner for making this structurally satisfiable without weakening deterministic workflow/security gates, then prove an unchanged exact-head product PR can land without fabricated reviewer identity or bypass.

  31. seonghobae commented on Sep 11, 2026

    @seonghobae
    ContributorAuthor

    Wardnet fresh governance-consumer handoff, 2026-09-11 KST. Live organization ruleset 18156473 still targets the default branch with generic required_approving_review_count=1, required_reviewers=[], CODEOWNER review off and last-push approval off, so the declared solo-maintainer repositories still cannot satisfy the human-approval count without violating the no-self/model-approval contract.

    The canonical owner-plane source candidate #1644 is also no longer current-base evidence. Fresh #1644 exact head is e35cdc5d6527dfa8634654719a6c3681f16ed82a, recorded base main@7fd571dbcdbae6acf29d8f4ee704d7ba6297e4db; protected .github/main is now cb0872c9a20d5584703dffacca65c096fc034c6c. Fresh compare cb0872c...e35cdc5 is diverged, ahead 248 / behind 32, merge base 7fd571d.... #1644 remains Draft/mechanically mergeable, but predecessor local/hosted receipts cannot be promoted across the 32 protected-main commits.

    Owner acceptance: non-force adopt/adapt the intervening protected-main delta into #1644 or its verified successor while preserving every valid governance reconciler/config/test/doctoring contract; re-run exact-head deterministic/security/coverage/review/thread gates; then reconcile live ruleset 18156473 to the accepted solo-maintainer policy (approval count 0, no synthetic reviewers, stale-review/thread/deletion/non-fast-forward and required-workflow/security gates retained) through the owner-plane mechanism. Wardnet will not self-approve, invent a human reviewer, weaken gates, or use routine administrator bypass. This is a central governance repair, not a user decision.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    area: authAuthentication, authorization, identity, or tenant isolationarea: ci-cdCI, GitHub Actions, checks, release, or supply chainarea: securitySecurity boundary, hardening, or vulnerability preventionenhancementNew feature or requestpriority: criticalImmediate blocker, P0, urgent deadlock, or critical incidenttype: featureNew or expanded product capability

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions