docs(research): no DCO check runs in this fork, so drops cannot be blocked by one (#354) - #370
Conversation
…ocked by one (#354) Signed-off-by: tucktuck101 <jeffreytaylorrobertson@gmail.com>
serina-mcfall
left a comment
There was a problem hiding this comment.
Independent review — no blockers, one non-blocking issue filed
Reviewed in a fresh context, verifying by re-running rather than reading. I am an agent and do not approve — posting as a comment so @serina-mcfall can.
The core claim is independently confirmed true, along with every quoted line number and config snippet:
- No DCO/sign-off/licence check across 40 recent PRs in this fork — zero matches.
block/buzzPRs do showDCO Check— the contrast holds.- PR #216 has exactly 36 distinct checks, none DCO-related.
launchpad/AGENTS.md:251-252states "The DCO check fails any commit without aSigned-off-bytrailer" — verbatim, at those line numbers. RootAGENTS.md:134makes the same claim, which is correct for upstream and wrong for this fork.- The lefthook
commit-msghook adds sign-off locally, and the file's own header documents thegit rebase/cherry-pickgap. - PR #216's merge commit
de1c127fbcarries noSigned-off-by. - No DCO workflow exists — 13 workflows, none DCO-related.
Non-blocker, filed as #382: the confidence section says "40 PRs, not all 216". The repository has 99 pull requests, not 216 — that looks like PR #216 (referenced throughout) read back as a total, which is easy to do when issues and PRs share one numbering sequence. Worth noting the error runs conservative: real coverage is 40/99 ≈ 40%, not 40/216 ≈ 18.5%, so the document understates its own thoroughness.
Not verified: GitHub App installations (needs admin:org; 403/404 for this token, matching the document's own account), whether sign-off identities correspond to real people, and the empirical push-an-unsigned-commit test — which the document deliberately did not run and says so.
Correct placement, no private-tooling paths. Ready for approval once you're happy with #382 as a follow-up rather than a change here.
benmitchell11
left a comment
There was a problem hiding this comment.
Reviewed by independently re-checking the document's claims against the actual repo content (checked out pr-370 locally, plus live gh api/gh pr calls against this repo and block/buzz).
Verified directly:
AGENTS.md:134andlaunchpad/AGENTS.md:246,251-252quote exactly as cited — the root file's DCO claim and the fork's own repeated claim both check out verbatim.- No DCO workflow file exists in
.github/workflows/;lefthook.yml:44-48(thecommit-msghook) andlefthook.yml:14-15(the note thatgit rebase/git cherry-pickskip it) match exactly. .github/workflows/launchpad-pr-check.ymlandlaunchpad/scripts/pr_body_check.pygrep hits are confirmed unrelated prose, as claimed.- Re-ran the live check-name scan on PR #216: confirmed 23/23 SUCCESS checks, none named DCO/sign/licen — matches the doc's table exactly.
- Confirmed
block/buzzPRs (checked block#6496, a different PR than the doc's sample but same result) do carry a "DCO Check" context, corroborating the fork/upstream contrast. - Merge commit
de1c127fbmessage matches verbatim, noSigned-off-bytrailer, as claimed. - Commit
08eb46ef3(the cited unsigned revert) exists with the exact message quoted and genuinely has noSigned-off-bytrailer. - Added the real
block/buzzupstream remote and checked sign-off ratio over the merge-base range: today (with upstream having advanced from 67 to 80 commits since the doc was written) the ratio is 79/80 signed, with the single unsigned commit still being the same cited revert — consistent with and corroborating the doc's 66/67 snapshot.
Not independently checked: GitHub App installations (needs admin:org, same limitation the author notes) and whether the Buzz-generated sign-off identities correspond to real people — both explicitly flagged as unchecked by the document itself, appropriately.
Scope: The document sticks to findings; it explicitly declines to decide whether AGENTS.md should be fixed or a DCO check adopted, correctly routing that as a decision for #273/Escalations rather than deciding it inline.
Nothing wrong found. This is a well-evidenced, accurately-cited document.
serina-mcfall
left a comment
There was a problem hiding this comment.
Approved. Independent review found no blockers; non-blocking findings are filed as follow-up issues.
Summary
Adds one research document establishing that
launchpad-26/buzzruns no DCO check at all, so a vendor drop carrying unmodified upstream commits and an automation-authored merge commit cannot be blocked by one. The "required DCO Check" described in the rootAGENTS.mdbelongs toblock/buzz;launchpad/AGENTS.md:251-252repeats the claim about this fork, where it is false. Sign-off is enforced locally by a lefthookcommit-msghook, which--no-verify,git rebaseandgit cherry-pickall bypass.Related issue
Closes #354
Issue type
Task
Agent provenance
Objective
Add
launchpad/Research/354-dco-check-on-vendor-drops.mdrecording whether this fork's DCO check accepts upstream commits and automation-authored merge commits.Impacted components
Approach and rejected alternatives
Established the answer by scanning the check names GitHub actually reported on this repository's pull requests, and contrasting against
block/buzz, rather than by reading configuration. Configuration was the obvious alternative and it cannot answer the question: there is no DCO workflow in.github/workflows/, so the check would have to be a GitHub App, and app installations are not readable withoutadmin:org. Observed check names are the only evidence available to this token.Rejected: opening a throwaway draft PR with an unsigned upstream commit, which is what #354's own definition of done asked for. Forty PRs' worth of check names, including two upstream syncs, show no DCO context at all, and the previous drop's unsigned merge commit is already in
launchpad's history — so the empirical test would confirm an absence already visible. Named as a limitation in the document rather than silently skipped.Rejected: fixing
launchpad/AGENTS.mdin this PR. Adopting a DCO check on a fork whose purpose is merging someone else's commits has consequences (upstream reverts and GitHub merge commits fail it), so which way the drift gets resolved is a decision, not an edit. Raised in Escalations.Verification
Command run:
Raw output:
Not verified
I could not enumerate installed GitHub Apps —
GET /orgs/launchpad-26/installationsrequiresadmin:org, which this token lacks — so I cannot rule out a DCO app installed but not reporting on pull requests. I scanned 40 of this repository's 216 pull requests, not all of them. I did not run the empirical test in #354's definition of done (push an unsigned commit, open a draft PR, read the result); the finding is inference from the absence of the check context across 40 PRs plus the previous drop's unsigned merge commit already sitting inlaunchpad. I did not check whether the Buzz-generated sign-off identities in upstream's commits (Duncan <dcfd242e…@buzz.block.builderlab.xyz>) correspond to real people, which would matter to a stricter author-matching check. I did not runjust ci; the diff is one markdown file underlaunchpad/Research/and I make no claim about the full gate.Security implications
None from the diff — one markdown document, no code, config or workflow change. The finding has a security-adjacent consequence worth stating: provenance on this fork's commits rests on a bypassable local hook rather than a CI gate, and the fork's own normative guide says otherwise. Anyone relying on
launchpad/AGENTS.md's claim as an assurance that every commit carries attributable sign-off is relying on something that is not enforced.Escalations
The
launchpad/AGENTS.md:251-252drift needs a decision, not an edit. Two ways to resolve it: correct the sentence to describe the local hook, or adopt a DCO check so the sentence becomes true. The second has a real cost — upstream reverts (one already in the current backlog) and GitHub's own merge commits carry no trailer, so a DCO check would fail every future vendor drop until configured to tolerate them. I have not chosen; it belongs to #273 or its own issue.A second-order observation, raised not decided: the instruction that commissioned this work also asserted the DCO check exists here. Three independent sources now repeat a claim nothing enforces. Whatever the fix, it should land in
launchpad/AGENTS.mdrather than only in a research document, because that is the file people and agents actually read.