Skip to content

main is red: world-at-ruin's live merge settings drift from the declared squash-only policyΒ #188

Description

@devantler

πŸ€– Generated by the Agentic Engineer

Blocker: maintainer authority β€” two-field repository settings change on world-at-ruin | authority | last-verified 2026-09-08: still required; the GitOps alternative is independently blocked (see #189), provider-upjet-github v0.19.1 is the latest release and embeds terraform-provider-github v6.6.0 | asked pr 2026-09-08

Evidence

main is red on πŸ” Repository drift check, and it stayed red after #187 merged. Run 34214240250 executed at 2026-09-08T10:12:54Z against head a8ccdb3bd1 β€” which is #187's own merge commit β€” and failed:

DRIFT world-at-ruin.allowMergeCommit: declared=false live=true
DRIFT world-at-ruin.allowRebaseMerge: declared=false live=true
repository-drift: declared and live GitHub state disagree

This is the third consecutive failure of that workflow. #187 restored the drift check's schedule; it did not resolve the drift the check reports, and those are separate things. The check is working exactly as intended β€” it is reporting a real divergence.

Why the declared side is the correct one

Every repository in the portfolio squash-merges, and the squash subject is the PR title, which feeds Conventional Commits into the changelog and the release version. A merge-commit or rebase merge on world-at-ruin bypasses that: the release notes lose the curated subject and the version bump is computed from whatever the branch's commits happened to say. So declared=false is the policy, and the live setting is the defect.

Fixing this the other way β€” editing the declaration to true so the check goes green β€” would codify the drift and quietly remove world-at-ruin from the release contract the rest of the portfolio relies on. It would turn a red check into a silent capability loss, which is worse than the red check.

Why this is not being fixed autonomously

The remedy is a mutation of world-at-ruin's repository settings, not a code change: scripts/check-repository-drift.sh is detect-only and has no apply mode. An unattended agent run changes repository configuration only with explicit authorization, so this is being recorded rather than applied. It is a small, reversible action for someone with settings access.

Acceptance criteria

  • world-at-ruin has allowMergeCommit=false and allowRebaseMerge=false, matching the declaration (gh api -X PATCH repos/devantler-tech/world-at-ruin -F allow_merge_commit=false -F allow_rebase_merge=false).
  • πŸ” Repository drift check is green on .github's main.
  • Confirm no other repository carries the same divergence β€” the check reports every drifting repo, and only world-at-ruin appeared in this run.

Rough size: XS. Whether the drift check should also apply the declared state rather than only report it is a separate question worth its own issue.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions