Story: Fix nightly clang-format CI: permissions and formatting drift

Table of Contents

This page documents a story in Sprint 20. It captures the goal, current status, acceptance criteria, and the tasks that compose it.

Goal

The nightly-format CI workflow runs end-to-end cleanly: it formats the codebase with the distro-default clang-format and raises a bot PR when drift is detected.

Status

Field Value
State DONE
Parent sprint Sprint 20
Now Nothing.
Waiting on Nothing.
Next Nothing — story complete.
Last touched 2026-06-08

Acceptance

  • nightly-format workflow completes without permission error. ✓
  • Zero files differ from clang-format output after the fix PR lands. ✓
  • Bot PR creation succeeds on the next nightly run. (verified on next nightly)

Tasks

Task State Start End Description
Fix nightly-format workflow and apply formatting drift DONE 2026-06-08 2026-06-08 Enable GitHub Actions PR creation permission; run clang-format over 181 drifted files and commit the result.

Decisions

  • Unpin clang-format-18 → distro default to track the same major version as local development and prevent perpetual drift.
  • Bot-PR approach retained over fail-on-drift: keeps main green and lets the team review format changes before they land.

Out of scope

  • Flaky IAM tests exposed during canary run (separate story C1BBE8C8).
  • CDash build visibility improvements (separate story 545DCC1B).

Emacs 29.1 (Org mode 9.6.6)