Repository navigation
feat: private visibility for PRs, commits, and shipped files - #401
Merged
danielhanold merged 13 commits intoOct 6, 2026
Merged
danielhanold merged 13 commits into
danielhanold merged 13 commits into
Conversation
…nd leak-detected halt
…the net diff Review finding: ReadOutgoing took added lines and paths only from the three-dot diff base...head, so a fingerprint one outgoing commit adds and a later commit removes was pushed (and visible in the PR's commits, carried by a rebase-merge) yet never scanned. ReadOutgoing now also reads the added paths and lines of every non-merge commit in base..head (diff-tree against its parent, with the same pinned diff options), attributing each to its commit. The three-dot diff stays, so merge-introduced content is still scanned and merged-in upstream content is still excluded; a three-dot entry a commit already adds is reported once. The commit rides through leakscan into each leak hit and the refusal message.
Review finding: the feature branch name (<type>/<slug>, slug from the change title) is shown on origin and the PR but was never scanned, so a trivial private change titled "Fix the dckt alias" pushed fix/fix-the-dckt-alias unrefused. runLeakCheck now feeds the target's short feature branch to leakscan as a branch-name input, covering workspace.publish, pr.publish, and finalize.publish, which all scan through it.
…y and private writing rule Review finding: finalize's integration-repair worker commits on the feature branch without the repository visibility or the private-repository writing rule, so a habitual repair commit could trip leak-detected at publish. Both finalize gate dispatches now carry the Visibility payload line, both agents state the rule, and the guard derives the writer set from the feature-scoped inventory instead of a hand list.
danielhanold
deleted the
feat/private-visibility-keep-docket-out-of-prs-commits-and-shippe
branch
October 6, 2026 17:13
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.
In a private-visibility repository, docket no longer leaves traces on the shared remote:
internal/leakscan,internal/app/leak_check.go) runs beforeworkspace publish,finalize publishandpr publish. It scans every outgoing non-merge commit (message, added lines, added paths), the merge-base diff, the feature branch name, and the PR title/body, and refuses withleak-detectedand a per-hit list. Shared repositories never run it. ADR-0144 records the deliberate exception to report-only checks.leak_check.match_wordkey (defaulttrue) to let the bare word through.repository check/prepare/workspace publishreportdocket/dcktbranches andrefs/docket/refs on origin (report only).PushLease/PushCreateLeaserefuse any ref outsiderefs/heads/.Visibility:dispatch field for every feature-branch writer, theleak-detectedhalt path, and a repoguard test deriving the writer set.Build gate green at 62d525b (
go run ./cmd/docket development test).Review (deep tier)
base...headdiff, so text added then removed across commits shipped unscanned