Skip to content

[aw-failures] Fix: seed memory/git-simulator via signed commit — orphan first-push is blocked by GH013, not an accidental deleti [Content truncated due to length] #39036

Closed as not planned

Description

@github-actions

Recommendation

Seed the memory/git-simulator branch with a signed/verified commit via the GitHub Contents API or web UI (not a plain local git push) — the workflow cannot self-create the branch because orphan first-commit pushes are rejected by the Require signed commits ruleset (GH013). This corrects the remediation in parent #39024, whose suggested bare git push origin memory/git-simulator of an empty orphan would hit the exact same rejection.

Problem statement

The push_repo_memory job of Daily Safe Outputs Git Simulator fails on every run. The agent, detection, and safe_outputs jobs all succeed; only the memory-branch push fails, marking the whole run failure. 5+ day streak (Jun 9–13, 2026).

Affected workflow & run IDs

Probable root cause (corrects #39024)

#39024 attributes this to the branch being "deleted accidentally or never initialized." Fresh evidence shows the deeper cause: the branch cannot be created by the automated push path at all under the signed-commit ruleset.

  • Verified: GET repos/github/gh-aw/branches/memory/git-simulator → 404; there are zero memory/* branches in the repo.
  • The push job does attempt to seed the orphan branch, and the remote rejects the first commit.
push_repo_memory rejection log (run 27458229377)
remote: error: GH013: Repository rule violations found for refs/heads/memory/git-simulator.
 ! [remote rejected] memory/git-simulator -> memory/git-simulator (push declined due to repository rule violations)
##[warning]Push failed (attempt 1/4): pushSignedCommits: failed to push orphan branch 'memory/git-simulator' (first commit). If the repository requires signed commits, the branch must be seeded manually with a signed commit before this workflow can push to it.
##[error]Failed to push changes after 4 attempts

This is the known orphan-branch-first-commit-cannot-be-signed class previously seen in #29301, #31489, #31876, #36934. Because the branch can never self-seed, the failure is permanent until a verified seed commit exists. This affects any repo-memory workflow creating its branch for the first time under this ruleset, not just git-simulator.

Proposed remediation

Seed the branch once with a commit that is verified without needing a local GPG key — use the GitHub Contents API (server-side commits are auto-verified and satisfy the ruleset):

gh api -X PUT repos/github/gh-aw/contents/.gitkeep \
  -f message='seed memory/git-simulator branch' \
  -f branch='memory/git-simulator' \
  -f content="$(printf '' | base64)"

Alternative: a maintainer with GPG signing configured pushes a signed orphan commit locally (the path #39024 suggests — but it only works with GPG signing, which is why the bare git push there is insufficient).

Longer-term: teach push_repo_memory to create first-commit orphan branches through the signed-commit API path so first-time memory branches self-seed under the ruleset.

Success criteria / verification

  1. gh api repos/github/gh-aw/branches/memory/git-simulator returns 200 with a verified head commit.
  2. The next scheduled Daily Safe Outputs Git Simulator run completes with push_repo_memory = success and overall success.
  3. No GH013 rejection appears in the push_repo_memory job log.

References

Generated by 🔍 [aw] Failure Investigator (6h) · 233.2 AIC · ⌖ 14.2 AIC · ⊞ 5.1K · ◷

  • expires on Jun 20, 2026, 12:10 AM UTC-08:00


🔁 Recurrence confirmed — 2026-06-14 (Failure Investigator, 6h window)

Still failing — keep open. Root cause unchanged; the memory/git-simulator orphan branch still has no signed seed commit.

  • New failure: §27490036102 (Daily Safe Outputs Git Simulator, 2026-06-14T05:56Z). Streak now 6/6 consecutive failures in recent history.
  • Agent job SUCCEEDED; only the push_repo_memory job → step "Push repo-memory changes (default)" failed.
  • Confirmed error: remote: error: GH013: Repository rule violations found for refs/heads/memory/git-simulator — 'Commits must have verified signatures.' → ! [remote rejected] memory/git-simulator (push declined due to repository rule violations) → ##[error]Failed to push changes after 4 attempts.
  • pushSignedCommits detected "empty baseRef (orphan branch first push)" and fell back to a plain unsigned git push, which the ruleset rejects. All 4 retries (1s/2s/4s backoff) hit the identical deterministic rejection — the retry loop is futile here.

Additional observability gap (new): the push failure is NOT propagated into the structured classifier — the conclusion job reported GH_AW_CODE_PUSH_FAILURE_COUNT: 0 with empty GH_AW_CODE_PUSH_FAILURE_ERRORS, so this surfaces only as a raw job-step error. Consider wiring orphan-first-push GH013 rejections into the code-push-failure classifier so they are categorized rather than appearing as generic step failures.

Evidence: run 27490036102 (representative), 27458229377 (prior failure).

Generated by 🔍 [aw] Failure Investigator (6h) · 343.9 AIC · ⌖ 12.7 AIC · ⊞ 4.5K · ◷


Still 100% failing — reprioritize: seed memory/git-simulator with a signed commit to clear the 8-day outage.

Fresh recurrence (6h failure sweep, 2026-06-16):

  • Run §27597997688 — push_repo_memory job, agent job ✅ succeeded.
  • Confirmed signature: remote: error: GH013: Repository rule violations found for refs/heads/memory/git-simulator → ! [remote rejected] ... (push declined due to repository rule violations) ×4 attempts, then ##[error]Failed to push changes after 4 attempts: pushSignedCommits: failed to push orphan branch 'memory/git-simulator' (first commit).
  • Patch additions were only 5 KB (4307 bytes), well under the 10 KB cap → this is NOT the patch-size cap ([aw-failures] P2: repo-memory push hard-fails run on 10 KB patch cap (Sergo) — agent succeeds, run marked failure #39345); root cause is the unsigned orphan first-push being blocked by the signed-commit branch rule, exactly as this issue describes.
  • Outage span: failed every day 06-09 → 06-16 (8 consecutive scheduled runs, 100%).

Remediation unchanged: seed the branch once locally with a GPG-signed commit, or exempt memory/* orphan first-pushes from the signed-commit rule.

Generated by 🔍 [aw] Failure Investigator (6h) · 263.8 AIC · ⌖ 12.1 AIC · ⊞ 4.5K · ◷

Activity

  1. Copilot commented on Jun 13, 2026

    Copilot
    Contributor

    The agent encountered an error and was unable to start working on this issue: Please try again later, or contact support if the problem persists. (Request id: 1B00:A01B2:D5086C:31810F4:6A2D2669)

  2. github-actions commented on Jun 13, 2026

    @github-actions
    ContributorAuthor

    🍪 Issue Monster selected this for Copilot

    I've identified this issue as a good candidate for automated resolution and requested assignment to the Copilot coding agent.

    If assignment succeeds, the Copilot coding agent will analyze the issue and create a pull request with the fix.

    Om nom nom! 🍪

    🍪 Om nom nom by Issue Monster · 22 AIC · ⌖ 4.38 AIC · ⊞ 22.3K · ◷

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

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions