Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 28 additions & 4 deletions .github/workflows/doc-gardening-nightly.yml
Original file line number Diff line number Diff line change
Expand Up @@ -105,10 +105,18 @@ jobs:
# Bot identity for commits. Set via env vars instead of
# `git config` so Claude doesn't need Bash(git config:*) in its
# allowlist.
GIT_AUTHOR_NAME: wavelength-doc-bot
GIT_AUTHOR_EMAIL: bot@lightning.engineering
GIT_COMMITTER_NAME: wavelength-doc-bot
GIT_COMMITTER_EMAIL: bot@lightning.engineering
# Use the deploy bot's GitHub noreply address, not a vanity
# domain. GitHub attributes a commit to an account by matching
# the author email against that account's verified addresses, so
# `bot@lightning.engineering` matched nothing and every sweep
# commit rendered as an unlinked plain-text name with a default
# avatar. The `<id>+<login>@users.noreply.github.com` form is the
# account's canonical address and is what links the commit to
# lightninglabs-deploy.
GIT_AUTHOR_NAME: lightninglabs-deploy
GIT_AUTHOR_EMAIL: 58193817+lightninglabs-deploy@users.noreply.github.com
GIT_COMMITTER_NAME: lightninglabs-deploy
GIT_COMMITTER_EMAIL: 58193817+lightninglabs-deploy@users.noreply.github.com
# Surface GitHub Actions context into Claude's env so the prompt
# can interpolate via shell $VAR expansion instead of templating.
REPO_NAME: ${{ github.repository }}
Expand Down Expand Up @@ -142,6 +150,15 @@ jobs:
# by keeping BOT_GITHUB_TOKEN a fine-grained PAT scoped to only
# these repos; log readers are first-party. Accepted on that
# basis.
# Suppress the `Co-Authored-By: Claude` trailer so sweep commits
# are attributed to the deploy bot alone. This must be done here
# rather than by telling the model not to write the trailer: the
# CLI appends it as a post-processing step AFTER the model writes
# the message file, so a prompt constraint cannot prevent it.
# Note this is the action's `settings` input, which takes inline
# JSON or a file path — there is no `--settings` CLI flag to pass
# through claude_args.
settings: '{"includeCoAuthoredBy": false}'
show_full_output: "true"
prompt: |
You are running in a nightly GitHub Actions cron job. Your job
Expand Down Expand Up @@ -268,6 +285,13 @@ jobs:
- Never push to `main` directly.
- Never modify files outside this repo.
- Never add reviewers or assignees to the PR.
- The commit message must be exactly the template above and
nothing else. Do not append a `Co-Authored-By:` trailer, a
`Generated with Claude Code` line, or any other attribution
footer, to either the commit message or the PR body. A
`Co-Authored-By` trailer makes GitHub render the sweep as
"lightninglabs-deploy and claude committed"; these commits
should be attributed to the deploy bot alone.
- This sweep is docs-only. Never run `go build`, `go test`, or
anything that compiles the tree — those drop stray binaries
(`accounting`, etc.) into package dirs that then get swept
Expand Down
Loading