Skip to content

ci: let the wiki refresh push the GitHub wiki - #7

Merged
kingdomseed merged 19 commits into
mainfrom
claude/clever-meitner-iyop54
Oct 23, 2026
Merged

kingdomseed merged 19 commits into
mainfrom
claude/clever-meitner-iyop54

Conversation

@kingdomseed

@kingdomseed kingdomseed commented Oct 23, 2026 •

Copy link
Copy Markdown
Contributor

/wiki pushes {repo}.wiki.git itself from inside the Droid job, so with a read-only job the GitHub wiki never syncs. The first manual run on mythic-dice-parser printed "GitHub sync failed because Git author identity is not configured".

  • The wiki-refresh job gets contents: write (approved by Jason). The workflow-level default stays contents: read.
  • A new step before Droid sets a github-actions[bot] identity and a store credential helper with the job token. I used a helper instead of a global extraheader on purpose: inside the checkout that would send a second Authorization header, and /wiki then reported the wiki as uninitialized. A test run showed exactly that.
  • OPERATIONS.md and PROVENANCE.md no longer describe the generation job as read-only. A new test checks the permission and the setup step. node --test tests/*.cjs: 105 pass.

Verified: a run from this workflow on the mythic-dice-parser branch pushed 34 pages, with Home and _Sidebar, to its GitHub wiki.


Generated by Claude Code


View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need.

claude added 19 commits October 23, 2026 10:07
The legacy Droid Tag and Droid Auto Review workflows ran
Factory-AI/droid-action@main, unpinned, on every PR or @droid mention.
The opt-in factory-review and factory-mentions workflows replace them;
keeping both would give two reviews per PR and two replies per mention
once the replacements are enabled.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017U3iFTj2nxsbhbdBRHKFzi
Factory Review now runs when a PR opens ready for review or a draft is
marked ready, not on every push. A successful review adds the
droid-reviewed label, and a labelled PR is skipped; comment
`@droid review` to ask for another review. The review checks out the
live PR head, so a push between the event and the run is still covered.

Droid Wiki Refresh runs at 06:17 UTC on the 1st of each month instead of
on every push to main, and can still be started by hand.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017U3iFTj2nxsbhbdBRHKFzi
Adding a label that does not exist yet can fail, so the review job now
creates droid-reviewed when the repository lacks it. A manual wiki run
started from another branch would document unmerged code, so generation
runs only on the default branch.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017U3iFTj2nxsbhbdBRHKFzi
…head

Without the synchronize trigger, a push during the first review left the
new commits labelled as reviewed but unseen. Pushes now cancel and restart
the review until the droid-reviewed label exists, and the label step skips
when the head moved. The base-ref check is dropped so a retarget before the
run still gets reviewed. The operations doc now describes the monthly wiki
schedule, manual runs and GitHub's 60-day inactivity pause.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017U3iFTj2nxsbhbdBRHKFzi
The droid-reviewed label skipped Steward fix commits, breaking the CI
Steward promise that every fix push is reviewed. A push from
factory-droid[bot] now bypasses the label. Document that @droid review
needs JHD_FACTORY_MENTIONS_ENABLED.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017U3iFTj2nxsbhbdBRHKFzi
Removing droid-reviewed sends an unlabeled event, which the workflow
does not listen to, so the removal alone starts no review.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017U3iFTj2nxsbhbdBRHKFzi
Two first reviews finishing together can both see the label missing;
the second createLabel returns 422 and used to stop the step before
addLabels, leaving a reviewed PR unmarked.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017U3iFTj2nxsbhbdBRHKFzi
A 422 can also mean an invalid request, so look the label up again and
let that lookup fail if the label is still missing.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017U3iFTj2nxsbhbdBRHKFzi
Restore main's review workflow and add only the droid-reviewed skip
(with the CI Steward exception) and one addLabels call, which creates
the label when missing. Drop the label bookkeeping, head-move guard,
trigger rewrite and tag check that came from bot review rounds.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017U3iFTj2nxsbhbdBRHKFzi
GitHub's add-labels docs do not promise that a missing label is created,
so create it first and treat 422 (already exists) as success.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017U3iFTj2nxsbhbdBRHKFzi
Each run is a paid Droid session; drop the monthly schedule. Note that
GitHub wiki sync needs the repository wiki initialized once.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017U3iFTj2nxsbhbdBRHKFzi
/wiki pushes {repo}.wiki.git itself, so the generation job needs
contents: write, a Git author and credentials a fresh clone can see.
The first test run failed with "Git author identity is not configured".

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017U3iFTj2nxsbhbdBRHKFzi
The global extraheader duplicated checkout's Authorization header inside
the repository, so /wiki saw the GitHub wiki as uninitialized.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017U3iFTj2nxsbhbdBRHKFzi
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 23, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-23T11:56:20.482456Z 7ba7ca5 PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@coderabbitai

coderabbitai Bot commented Oct 23, 2026

Copy link
Copy Markdown

Review in Change Stack →

Note

Currently processing new changes in this PR. This may take a few minutes, please wait...

⚙️ Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: defaults
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 5ba7e068-95d7-45c8-a28b-93a0a990e8a5
📥 Commits

Reviewing files that changed from the base of the PR and between eded122 and 7ba7ca5.

📒 Files selected for processing: 4
  • .github/workflows/droid-wiki-refresh.yml
  • docs/OPERATIONS.md
  • docs/PROVENANCE.md
  • tests/test_workflow_authorization.cjs
+----------------------------------------------------------+
| Keep your friends close, but your code reviewers closer. |
+----------------------------------------------------------+
  \
   \     /)/)
        ( '')
        /  |
      o(___)
✨ Finishing Touches
📝 Generate docstrings
  • Commit to this branch
  • Create a new PR
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Comment @coderabbitai help to get the list of available commands.

@kingdomseed
kingdomseed merged commit 4880c3e into main Oct 23, 2026
5 of 6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants