ci: delete launchpad-board-automation.yml - #1787
Merged
Merged
Conversation
GITHUB_TOKEN cannot write org-level Projects v2 -- its permission set covers repository-projects only. The workflow's own comment conceded it would fail and directed the reader to a PAT. Task #293 offered two mechanisms for automatic board membership and priced both. The Actions option it describes 'needs a PAT or GitHub App credential in secrets'. Neither is available: ADR-0008 rejects a person-held PAT as 'a standing liability on a public repo', and the cohort has ruled out creating a GitHub App. That leaves #293's other mechanism, the project's built-in auto-add workflow, which needs no credential. Auto-add is now enabled on Project 20 for launchpad-26/buzz, so this file is a non-functional implementation of a rejected branch. Signed-off-by: tucktuck101 <jeffreytaylorrobertson@gmail.com>
There was a problem hiding this comment.
Reviewed commit 976f1a4a10556e94307c087b10e933bd0622251b against merge base 87abbed795ee32f60363cf10495831b04804acab.
Incomplete
This review is INCOMPLETE and must not be read as a full pass:
- no dimension was actually reviewed: the pipeline ran the 'default_reviewer' stub reviewer, which reports every dimension clean without reading it (a real dimension reviewer is #116)
Containment
No containment findings.
Fetched and empty: linked_issue, pr_issue_comments, pr_review_bodies, pr_review_comments.
Automated containment covers the delimiter boundary and unambiguous injection tells only. It does not cover injection phrased as ordinary, unremarkable prose. The absence of a containment finding is not evidence that this pull request contains no injection attempt.
serina-mcfall
left a comment
There was a problem hiding this comment.
Batch review
Reviewed as part of batch review of all open PRs. No new defects identified.
serina-mcfall
approved these changes
Aug 31, 2026
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.
Summary
launchpad-board-automation.ymlattempted to write an org-level Projects v2 board usingGITHUB_TOKEN, which cannot do that under any configuration. This deletes it and records the built-in auto-add workflow — already enabled on Project 20 — as the mechanism that replaces it, which is the one option in #293 that needs no credential.Feature
N/A - single-issue PR
Related issue
Refs #293
Issue type
Task
Agent provenance
Objective
Delete
.github/workflows/launchpad-board-automation.yml, a workflow whose stated mechanism cannot work with the only credential this repository is permitted to use.Impacted components
Approach and rejected alternatives
GITHUB_TOKEN's permission set coversrepository-projects; there is no org-level Projects v2 permission for it. Project 20 is org-level (PVT_kwDOEnEMsM4BflNQunderorgs/launchpad-26), so the workflow could not have worked as written. Its own header comment conceded this and directed the reader to "swap the token for a project-scoped PAT secret".#293 set out two mechanisms for automatic board membership and priced both. The Actions mechanism it describes "needs a PAT or GitHub App credential in secrets, with the expiry and rotation that implies". Neither is available here: ADR-0008 rejects a person-held PAT because "a PAT held by a person outlives that person and is a standing liability on a public repo", and the cohort has ruled out creating a GitHub App for this. That leaves #293's other mechanism — the project's built-in auto-add workflow — which runs on GitHub's own infrastructure and needs no credential at all.
Rejected alternatives:
organization_projects: writeoverride a project's per-project base role..github/workflows/to express.This PR does not complete #293, which also requires drift detection and the
buzz-infrastructureboard, so it carriesRefs, not a closing keyword.Verification
Command run:
Raw output:
Not verified
is:issuefilter and then adding pull requests. This cannot be verified from outside: task: make project-board membership automatic, and detect it when it drifts #293 records that "project-level workflows are not exposed by the API or CLI, so that needs a person to look at the project's settings". That opacity is the reason task: make project-board membership automatic, and detect it when it drifts #293's drift-detection half matters and is why this PR does not close it.buzz-infrastructure) has the same arrangement. Not checked; task: make project-board membership automatic, and detect it when it drifts #293's definition of done covers both boards.git push --no-verify, and itsmobile-testlane is currently failing. Four Flutter tests inmobile/test/shared/widgets/keyboard_dismiss_on_drag_test.dartfail. They are not caused by this branch and were not fixed by it. Evidence that they pre-exist: this branch differs fromlaunchpadby exactly one deleted Actions YAML (git diff --stat refs/heads/launchpad..HEAD->1 file changed, 81 deletions(-)), and the test file's last commit7634fe745("fix(mobile): settle hydrated threads on latest reply (fix(mobile): settle hydrated threads on latest reply block/buzz#4702)", 2026-08-12, Logan Johnson) is already an ancestor oflaunchpad. A deleted workflow file cannot affect Flutter widget tests. The bypass is of a local hook only: branch protection, required review and PR CI are untouched and still apply to this PR.Authority
N/A - approved by a human directly
Deferred blockers
none
Security implications
Reduces exposure. The deleted file was the only thing in this repository asking for a project-scoped PAT to be added to Actions secrets; removing it removes that standing invitation. The replacement mechanism holds no credential. No secret, key, token or hostname is added or removed by this diff.
One consequence worth naming rather than burying: board membership now depends on a setting that is invisible to review and can be switched off without leaving a trace in git history. #293 identifies exactly that property as the likely cause of the original silent failure. This PR accepts that tradeoff because the alternative is a credential the cohort has ruled out — it does not resolve it, and the drift check #293 asks for is what would.
Escalations
Objective,Impacted componentsandOut of scope, and has four identical bot comments saying so. Fixing it means editing an issue authored by @tucktuck101, so it is raised here rather than done unasked.Parent PRD: nonebut is a child of feature: hygiene checks run in ci, boards run the sprints #521, whose acceptance criterion "Project-board membership is automatic for new issues/PRs" this work serves. The parent link and the body disagree; not reconciled here.mobile-testis red onlaunchpaditself and nothing appears to be tracking it. Four failures inkeyboard_dismiss_on_drag_test.dart, pre-dating this branch. Under section 1 this fork operates Buzz rather than developing it andmobile/is upstream-owned, so whether this is an upstream bug forblock/buzzor fork breakage introduced by a vendor drop is a call for a human. Raised, not decided, and not filed anywhere yet. Its practical effect is that every contributor's pre-push hook is red, which trains people to reach for--no-verifyby habit -- the failure mode worth fixing quickly.