Skip to content

Remove the frozen merge-pr shell callers after the N-2 window #1006

Open

Description

@tbhb-agent

Problem

After #324 ports the merge-pr skill to Go and its activation ships, the frozen merge-pr shell scripts and their generated copies remain as the fallback for older binaries. They still source lib.sh, so #997 can't delete the library. #324 leaves deleting the frozen shell to a later cutover, and no issue tracks it for merge-pr.

Acceptance criteria

  1. AC1: Given the retirement release recorded in AC3, each merge-pr entry script contains only the probe and exec of the Go command, with one actionable stderr message and one documented non-zero status when the binary or subcommand is absent. No script of the skill sources lib.sh.
  2. AC2: The frozen fallback bodies and their comparison fixtures are removed from the canonical source, packages/agents/claude/.apm/skills, packages/agents/codex/.apm/skills, and the deployed .claude/skills and .agents/skills. Each Bats case that exercised the removed shell maps to a named Go test that runs and passes.
  3. AC3: Before implementation, docs/compatibility.md and docs/agent-skills-migration.md record the release that first shipped the Move the merge-pr, merge policy and agent-merge-pr scripts into agentrepo merge #324 wrapper (the warning start), the retirement release (at least two releases later), and the evidence: git tag --contains <#324 merge commit> and the tag list.
  4. AC4: Non-functional: the regenerated skills, token records and lock are committed in the order mise run generate-skills, mise run skill-tokens, apm install. mise run check, mise run cover-go-check and mise run cover-py-check pass, no gate is loosened, and the diff stays under 800 code lines.

Scope and non-goals

In scope: removing the frozen merge-pr shell and its fixtures. Non-goals: changing the Go command, deleting lib.sh (#997), and shortening the window.

Approach

Resolve the retirement release from the AC3 procedure first, and stop if the current release is earlier. List the frozen paths from the merged #324 change, then delete them together and regenerate.

Dependencies

Blocked (native links) by #324, by the activation change for merge-pr, and by the end of the window per AC3. Blocks #997. Native parent: #588. Part of #588.

Size

S.

Verify plan

  • AC1: with stand-in binaries, assert pass-through of arguments, stdout, stderr and status for a supporting binary, and the refusal status and stderr message for none and for one lacking the subcommand; git grep -n 'lib\.sh' -- <skill source> prints nothing.
  • AC2: take the path list from the merged Move the merge-pr, merge policy and agent-merge-pr scripts into agentrepo merge #324 change, assert none exists, and run the mapped Go tests.
  • AC3: read both documents and assert the release evidence and that the current release is not earlier than the retirement release.
  • AC4: run the named tasks and the generation sequence, then assert exit 0 and no uncommitted change.

Risks

Removing the fallback early breaks consumers on an older binary, so the change waits for the AC3 evidence. Reverting the commit restores the fallback.

Operator authority

None.

Metadata

Metadata

Assignees

No one assigned

    Labels

    refinement:activeA refinement round is open; not ready for implementation

    Type

    Fields

    Priority

    None yet

    Work type

    None yet

    Projects

    • Status
      Backlog

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions