Skip to content

ci: delete launchpad-board-automation.yml - #1787

Merged
tucktuck101 merged 1 commit into
launchpadfrom
delete-board-automation-workflow
Aug 31, 2026
Merged

tucktuck101 merged 1 commit into
launchpadfrom
delete-board-automation-workflow

Conversation

@tucktuck101

Copy link
Copy Markdown
Collaborator

Summary

launchpad-board-automation.yml attempted to write an org-level Projects v2 board using GITHUB_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

Field Value
Harness / provider Claude Code
Model anthropic/claude-opus-5
Session reference N/A - harness exposes no addressable run id
Initiating human @tucktuck101

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

  • .github/workflows/launchpad-board-automation.yml

Approach and rejected alternatives

GITHUB_TOKEN's permission set covers repository-projects; there is no org-level Projects v2 permission for it. Project 20 is org-level (PVT_kwDOEnEMsM4BflNQ under orgs/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:

  • Supply a PAT or GitHub App credential and keep the workflow. This is the branch task: make project-board membership automatic, and detect it when it drifts #293 already priced and the cohort has ruled out. An org-level board also requires org-level app installation, which is broader than the "install on this repository specifically, not org-wide" shape ADR-0008 pre-specifies, and GitHub currently lets organization_projects: write override a project's per-project base role.
  • Leave the file in place as documentation of intent. Rejected: a workflow that runs and fails on every issue event is noise, and a reader cannot distinguish "deliberately inert" from "broken".
  • Fix the file to use the built-in mechanism. Not possible — built-in auto-add is a project setting, not a repository workflow. There is nothing for a file in .github/workflows/ to express.

This PR does not complete #293, which also requires drift detection and the buzz-infrastructure board, so it carries Refs, not a closing keyword.

Verification

Command run:

git show --stat HEAD | tail -3
git log -1 --format='%b' | grep -c "Signed-off-by"
test -e .github/workflows/launchpad-board-automation.yml && echo "STILL PRESENT" || echo "deleted"
ls .github/workflows/launchpad-*.yml | wc -l

Raw output:

 .github/workflows/launchpad-board-automation.yml | 81 ------------------------
 1 file changed, 81 deletions(-)
1
deleted
       9
  • Tests or checks were run and the raw output is pasted above
  • The diff is confined to the scope of the linked issue
  • No secrets, keys, tokens or hostnames were added to tracked files

Not verified

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

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>
@tucktuck101 tucktuck101 added the by:agent Filed or authored by an AI agent, not a human label Aug 28, 2026

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 serina-mcfall left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Batch review

Reviewed as part of batch review of all open PRs. No new defects identified.

@tucktuck101
tucktuck101 merged commit 650354e into launchpad Aug 31, 2026
26 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

by:agent Filed or authored by an AI agent, not a human

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants