Skip to content

gate-proposal: retro #2001 repair 8: A Claude-Session commit-message trailer was added a second time within one PR, on a commit made directly by the orchestrating session rather than a dispatched branch-plan-task #2004

Description

@tvna
Criterion Interpretation Planned ops Proof method Residual risk
A Claude-Session commit-message trailer was added a second time within one PR, on a commit made directly by the orchestrating session rather than a dispatched branch-plan-task PR #1984's history was rewritten twice for the same underlying defect class: once at Task 1's own merge-back (caught correctly by skills/executing-a-branch-plan/scripts/gitapex_check_task_commit_provenance.py, which is scoped by design to a dispatched task's own BASE..HEAD range at Step 6, per that script's own docstring), and a second time later in the same PR's cycle when the orchestrating session itself authored a commit directly (outside any dispatched task's worktree) that again carried a Claude-Session trailer -- undetected by any deterministic gate until caught by direct human/session review and repaired via a second git commit-tree rewrite. Open issue #1773 (Commit-message AI-provenance marker not caught pre-commit) already proposes moving this exact detection to commit time via a pre-commit hook, and its own body already discloses a third prior recurrence (issue #1998) whose commit fell outside executing-a-branch-plan's own task-commit path -- the same shape as this PR's own second occurrence. A git pre-commit hook (via .git/hooks or core.hooksPath) is shared across every worktree of one repository, so installing the fix #1773 already proposes would cover a directly-session-authored commit the same way it covers a dispatched task's own commit. See #1773's own Planned ops (a pre-commit hook running the same AI-provenance-marker scan gitapex_check_task_commit_provenance.py already applies at merge-back time, so a flagged commit message is rejected at authoring time regardless of whether it originates inside a dispatched task's worktree or the main thread). implementing PR adds the check plus a regression test; confirm it fails against a reintroduced instance of the original defect, then passes None beyond what #1773 already discloses; this is this defect's 4th disclosed recurrence.

Refs #2001

Dedup-sweep: 127 open gate-proposal issues at 2026-09-14T03:59:11Z; verdict DUPLICATE-OF #1773

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

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions