Skip to content

The commit author of pr #50 is still loop #56

Closed

Description

@Alex1990

Commit id: 35c7312

Activity

  1. github-actions commented on Sep 17, 2026

    @github-actions
    Contributor

    Loop triage — bug / ready-for-agent (confidence: high)

    Confirmed: the false attribution is still on main's current HEAD.

    • gh api repos/Alex1990/tiny-oss/commits/35c731221ef4c177548344f74e0a81e7fd9ed1cc → author tiny-oss loop <loop@users.noreply.github.com>, committer Alex Chao <Alex1990@users.noreply.github.com>. That commit is the rebase-merged form of PR docs: add conventional status badges to the READMEs #55 (loop/54-readme-badges), and it is main's HEAD.
    • gh api users/loop → {"id":1519971,"login":"loop","type":"User"} — a real, unrelated account, so GitHub links the commit to it.
    • PR chore(ci): run the Azure signer oracle in CI #50's commit 8ec1b1e… carries the same author email and gh_author: loop; that is the instance the title mentions. The PR object is already correct (app/github-actions) — only the local commit identity is wrong.

    Cause is unchanged since #52 (scripts/loop/shared/agent.mjs, agentEnv()):

    env.GIT_AUTHOR_NAME = env.GIT_AUTHOR_NAME ?? 'tiny-oss loop';
    env.GIT_AUTHOR_EMAIL = env.GIT_AUTHOR_EMAIL ?? 'loop@users.noreply.github.com';

    This is loop work now. docs/agents/ops.md ("Quick rules") and .github/CODEOWNERS explicitly allow host changes (scripts/loop/**) to arrive as loop PRs; the owner's required review is the checker, so the loop is never both maker and checker. #52's cannot-handle predates that norm, so this goes to ready-for-agent rather than needs-triage.

    For the implementing stage

    • In agentEnv(), use the bot GitHub already uses for the PR: name github-actions[bot], email 41898282+github-actions[bot]@users.noreply.github.com (gh api 'users/github-actions%5Bbot%5D' → id 41898282, type Bot). Update the git identity row in scripts/loop/README.md. A non-existent tiny-oss-loop@users.noreply.github.com is the alternative if a distinct identity is preferred.
    • Commit as chore(loop): … — this is host maintenance, not package behaviour, so it must not use fix/feat or enter CHANGELOG.md.
    • Optional bootstrap: override GIT_AUTHOR_NAME/GIT_AUTHOR_EMAIL inline when committing the fix, so this PR's own commit already carries the corrected author.
    • No .github/workflows/** change is involved, so the job token's missing workflows permission is not a blocker.

    Caveat: 8ec1b1e, 4d2735a/35c7312 are already in history; a fix only affects future commits (re-attribution would need a force-push the ruleset forbids).

  2. added
    ready-for-humanRequires a human: implementation, merge of a loop PR, or a release call
    and removed
    ready-for-agentFully specified, an AFK agent may handle it unattended
    on Sep 17, 2026
  3. github-actions commented on Sep 17, 2026

    @github-actions
    Contributor

    Loop feature — fixed the false commit attribution (#52, #56).

    The cause was agentEnv() in scripts/loop/shared/agent.mjs hard-coding GIT_AUTHOR_EMAIL/GIT_COMMITTER_EMAIL to loop@users.noreply.github.com under auto. That address belongs to the real, unrelated user @loop (id 1519971), so every loop commit — 8ec1b1e (PR #50, the instance in the title) and 4d2735a/35c7312 (PR #55, the commit in the body) — was attributed to a stranger.

    It now uses GitHub Actions' own bot, github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> — the same identity the host's PR comes from — and the git identity row in scripts/loop/README.md documents it. A PR is open on loop/56-git-identity as a chore(loop) change; no workflow file is touched.

    Caveat: only future commits change. The historical commits are already on main, and re-attributing them would need a force-push the Main branch ruleset forbids.

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

    ready-for-humanRequires a human: implementation, merge of a loop PR, or a release call

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions