Repository navigation
Remove the v7 GitHub-side knowledge gate machinery (design v8) - #231
Merged
Merged
Conversation
With the publisher as the only thing that merges knowledge PRs, and its local gate checking the exact merge result, the repository-side machinery of v7 has no job left. This removes it. - Deleted: the kb-gate workflow, the .github/kb-gate/ verifier bundle and tools/build_kb_gate_bundle.py (plus its CI check), .github/CODEOWNERS, and the hold list (publish_holds, verify_holds, holds_server, `kb holds-server`, the kb-holds signing purpose). - The human-approved path is gone. There are no maintainer approvals, no kb:human-approved label and no approval_withdrawn. Verdicts are always auto and no longer carry review_ids/reviewers. An external PR that changes paths outside the governed pages is never merged: its author is told in the findings comment to split it. - Outbox kinds post_verdict, enqueue, pause and update_branch are removed, along with their publisher actions. So are pause confirmation (pause_open_prs, pause_unconfirmed, resume_paused_prs, and the pause_unconfirmed field of `kb status`) and the v7 states verdict_posted, queued and paused. v7 never auto-merged in production, so no records need migrating. - A pause is the new generation alone. The service signs no merge while a repository is paused, and the publisher refuses old-generation items both before running and right before merging. While paused, the service still follows merges, closes and reverts; after resume, the same head is signed again. `kb pause`/`kb resume` only change the ledger and the signed control record. - gate_verifier keeps only verify_change and the tree checks the local gate uses. The vendoring import fallbacks in l1/ops are removed. - The publisher refuses a companion PR before looking at the verdict. It never readies or merges a draft PR (a transient refusal). Docs: the feature doc and the kb_service/knowledge_service SPECs describe v8 only, and a new SPEC section lists what was removed. Tests: test_kb_local_gate_verifier.py replaces test_kb_gate_verifier.py and runs the same adversarial cases through the local gate. A pause stops merges without touching the PR, and a resumed PR is signed again and merged. Draft PRs are never merged. A failed close is retried, not acknowledged. Paths outside the governed pages are never merged, whatever the labels. test_kb_pause_confirm.py and test_kb_holds_server.py are removed. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
Their sources changed in the v7 removal (vendoring fallbacks and wording only); the pages needed no content change. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Item 6 of the approved v8 plan: remove the GitHub-side machinery of v7. The publisher is now the only thing that merges knowledge PRs, and its local gate checks the exact merge result (#227). Provenance audit and revert catch anything that bypasses it (#230).
Removed
kb-gateworkflow, the.github/kb-gate/verifier bundle,tools/build_kb_gate_bundle.pyand its CI check..github/CODEOWNERS.publish_holds,verify_holds,holds_server,kb holds-server;kb-holdssigning purpose.kb:human-approved,approval_withdrawn;review_ids/reviewersin verdicts. Verdicts are alwaysauto.post_verdict,enqueue,pauseandupdate_branch, with their publisher actions.pause_open_prs,pause_unconfirmed,resume_paused_prs;kb status→pause_unconfirmed.verdict_posted,queuedandpaused. v7 never auto-merged in production, so no records need migrating.Behaviour now
mergewhile a repository is paused.Tests
test_kb_local_gate_verifier.pyreplacestest_kb_gate_verifier.pyand runs the same adversarial cases through the local gate.closeis retried;test_mcp.pytests that fail the same way onorigin/main(missingmcpmodule in this environment).check_spec_freshness: clean.🤖 Generated with Claude Code